@arcgis/core 6.0.0-next.1 → 6.0.0-next.11

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 (703) hide show
  1. package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
  2. package/analysis/DimensionSimpleStyle.js +1 -1
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
  4. package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
  5. package/arcade/featureSetUtils.js +1 -1
  6. package/arcade/functions/knowledgegraph.js +1 -1
  7. package/arcade/geometry/unitConversion.js +1 -1
  8. package/arcgisGlobal.d.ts +5 -5
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
  11. package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 037a8cc19debbaaa4e10.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
  15. package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → 0dc66b03ff55d0ea5a09.js} +1 -1
  16. package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
  17. package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
  18. package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
  19. package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
  20. package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
  21. package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
  23. package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
  24. package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
  25. package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
  26. package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
  27. package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
  28. package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
  30. package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
  33. package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
  34. package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
  35. package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
  36. package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
  37. package/assets/esri/core/workers/chunks/3f7d583b676b23b3fadb.js +1 -0
  38. package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
  39. package/assets/esri/core/workers/chunks/40a584cb952e94326e9e.js +1 -0
  40. package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
  42. package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
  43. package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
  44. package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
  45. package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
  46. package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
  47. package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
  48. package/assets/esri/core/workers/chunks/46b4fb6a7fe4877b0efc.js +1120 -0
  49. package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
  50. package/assets/esri/core/workers/chunks/4911ce62421a6c3320b0.js +1 -0
  51. package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
  52. package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
  53. package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
  54. package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
  55. package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
  56. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
  57. package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
  58. package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
  59. package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
  60. package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
  61. package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
  62. package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
  63. package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
  64. package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 612104dff305ff062dfa.js} +2 -2
  66. package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
  67. package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
  68. package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
  69. package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
  70. package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
  71. package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +1 -0
  72. package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
  73. package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
  74. package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
  75. package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
  76. package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
  77. package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
  78. package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
  79. package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
  80. package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
  81. package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
  82. package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
  83. package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
  84. package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
  85. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
  86. package/assets/esri/core/workers/chunks/814751e705c05099f864.js +1 -0
  87. package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
  88. package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
  89. package/assets/esri/core/workers/chunks/88e54449261ef94e390d.js +1 -0
  90. package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
  91. package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
  92. package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
  93. package/assets/esri/core/workers/chunks/917f53833b853898facc.js +1 -0
  94. package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
  95. package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
  96. package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
  97. package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
  100. package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
  101. package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
  102. package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +1 -0
  103. package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
  104. package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
  105. package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
  106. package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
  107. package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
  108. package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
  109. package/assets/esri/core/workers/chunks/af75747b06d79446a855.js +1 -0
  110. package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
  111. package/assets/esri/core/workers/chunks/b5fdcc80d5973b6e26d1.js +1 -0
  112. package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
  113. package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
  114. package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
  115. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
  116. package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
  117. package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
  118. package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
  119. package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
  120. package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
  121. package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
  122. package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +1 -0
  123. package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
  124. package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
  125. package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
  126. package/assets/esri/core/workers/chunks/{e1ba915dae7747932c0f.js → eb04e1717a1002cda3ab.js} +1 -1
  127. package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
  128. package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
  129. package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
  130. package/assets/esri/core/workers/chunks/f46d9a19f79d4a4bd354.js +1 -0
  131. package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
  132. package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
  133. package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
  134. package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
  135. package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
  136. package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
  137. package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
  138. package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
  139. package/assets/esri/themes/base/_mixins.scss +2 -2
  140. package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
  141. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
  142. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
  143. package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
  144. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
  145. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
  146. package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
  147. package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
  148. package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
  149. package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
  150. package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
  151. package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
  152. package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
  153. package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
  154. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
  155. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
  156. package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +4 -4
  157. package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
  158. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
  159. package/assets/esri/themes/base/widgets/_Features.scss +6 -6
  160. package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
  161. package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
  162. package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
  163. package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
  164. package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
  165. package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
  166. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
  167. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +23 -28
  168. package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
  169. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
  170. package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
  171. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +3 -5
  172. package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
  173. package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
  174. package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
  175. package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
  176. package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
  177. package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
  178. package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
  179. package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
  180. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
  181. package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
  182. package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
  183. package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
  184. package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
  185. package/assets/esri/themes/dark/main.css +1 -1
  186. package/assets/esri/themes/light/main.css +1 -1
  187. package/assets/esri/themes/light/view.css +1 -1
  188. package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
  189. package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
  190. package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
  191. package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
  192. package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
  193. package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
  194. package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
  195. package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
  196. package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
  197. package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
  198. package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
  199. package/{basemaps → basemapGallery}/types.d.ts +2 -2
  200. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  201. package/chunks/ChapmanAtmosphere.glsl.js +3 -3
  202. package/chunks/CloudsComposition.glsl.js +1 -1
  203. package/chunks/Component.glsl.js +41 -41
  204. package/chunks/DefaultMaterial.glsl.js +2 -2
  205. package/chunks/EdgeShader.glsl.js +9 -9
  206. package/chunks/Fog.glsl.js +5 -5
  207. package/chunks/GaussianSplat.glsl.js +2 -2
  208. package/chunks/GlobalIllumination.glsl.js +13 -11
  209. package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
  210. package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
  211. package/chunks/HUDMaterial.glsl.js +13 -13
  212. package/chunks/Haze.glsl.js +6 -6
  213. package/chunks/HazeCompositing.glsl.js +1 -1
  214. package/chunks/LaserlinePath.glsl.js +6 -6
  215. package/chunks/LineCallout.glsl.js +1 -1
  216. package/chunks/LineMarker.glsl.js +5 -5
  217. package/chunks/NavigationDepth.glsl.js +2 -2
  218. package/chunks/Path.glsl.js +1 -1
  219. package/chunks/Pattern.glsl.js +26 -26
  220. package/chunks/Precipitation.glsl.js +7 -7
  221. package/chunks/RealisticTree.glsl.js +2 -2
  222. package/chunks/RibbonLine.glsl.js +80 -73
  223. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  224. package/chunks/ShadowHighlight.glsl.js +5 -5
  225. package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
  226. package/chunks/SimpleAtmosphere.glsl.js +4 -4
  227. package/chunks/Terrain.glsl.js +29 -32
  228. package/chunks/Viewshed.glsl.js +2 -2
  229. package/chunks/Water.glsl.js +2 -2
  230. package/config.js +1 -1
  231. package/core/Loadable.js +1 -1
  232. package/core/arrayUtils.js +1 -1
  233. package/core/colorUtils.js +1 -1
  234. package/core/has.js +1 -1
  235. package/core/screenUtils.js +1 -1
  236. package/core/units.js +1 -1
  237. package/core/workers/workerFactory.js +1 -1
  238. package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
  239. package/geometry/HeightModelInfo.js +1 -1
  240. package/geometry/operators/proximityOperator.js +1 -1
  241. package/geometry/projectionUtils.js +1 -1
  242. package/geometry/support/meshUtils.d.ts +1 -1
  243. package/geometry/support/scaleUtils.js +1 -1
  244. package/geometry/support/wkt.js +2 -0
  245. package/kernel.js +1 -1
  246. package/layers/BaseDynamicLayer.d.ts +1 -0
  247. package/layers/BaseElevationLayer.d.ts +2 -0
  248. package/layers/BaseTileLayer.d.ts +12 -9
  249. package/layers/CSVLayer.d.ts +0 -15
  250. package/layers/FeatureLayer.d.ts +2 -15
  251. package/layers/GeoJSONLayer.d.ts +0 -52
  252. package/layers/GeoRSSLayer.d.ts +0 -44
  253. package/layers/GeospatialPDFLayer.d.ts +2 -5
  254. package/layers/GeospatialPDFLayer.js +1 -1
  255. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  256. package/layers/OrientedImageryLayer.js +1 -1
  257. package/layers/ParquetLayer.d.ts +100 -12
  258. package/layers/ParquetLayer.js +1 -1
  259. package/layers/SketchLayer.d.ts +0 -1
  260. package/layers/VectorTileLayer.d.ts +2 -12
  261. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  262. package/layers/graphics/data/FeatureStore.js +1 -1
  263. package/layers/graphics/data/QueryEngineResult.js +1 -1
  264. package/layers/graphics/data/geometryUtils.js +1 -1
  265. package/layers/graphics/data/projectionSupport.js +1 -1
  266. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  267. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  268. package/layers/graphics/transferFeatures.js +1 -1
  269. package/layers/knowledgeGraph/layerUtils.js +1 -1
  270. package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
  271. package/layers/mixins/PortalLayer.js +1 -1
  272. package/layers/mixins/RefreshableLayer.d.ts +1 -3
  273. package/layers/mixins/ScaleRangeLayer.js +1 -1
  274. package/layers/mixins/SublayersOwner.js +1 -1
  275. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  276. package/layers/orientedImagery/core/utils.js +1 -1
  277. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  278. package/layers/raster/datasets/TIFFRaster.js +1 -1
  279. package/layers/raster/datasets/byteStreamUtils.js +1 -1
  280. package/layers/raster/formats/tiffParser.js +1 -1
  281. package/layers/support/ParquetPortalItemData.d.ts +2 -0
  282. package/layers/support/ParquetPortalItemData.js +1 -1
  283. package/layers/support/PortalItemData.d.ts +21 -0
  284. package/layers/support/PortalItemData.js +1 -1
  285. package/layers/support/Sublayer.js +1 -1
  286. package/layers/support/SubtypeSublayer.js +1 -1
  287. package/layers/support/layersLoader.js +1 -1
  288. package/layers/support/parquetUtils.d.ts +1 -1
  289. package/layers/support/types.d.ts +1 -1
  290. package/package.json +3 -3
  291. package/popup/FeaturesModel.d.ts +27 -6
  292. package/popup/FeaturesModel.js +1 -1
  293. package/portal/support/layersLoader.js +1 -1
  294. package/portal/support/portalLayers.js +1 -1
  295. package/renderers/VectorFieldRenderer.d.ts +4 -4
  296. package/rest/print.d.ts +49 -3
  297. package/rest/print.js +1 -1
  298. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  299. package/rest/support/printTaskUtils.js +1 -1
  300. package/smartMapping/renderers/color.js +1 -1
  301. package/smartMapping/renderers/dotDensity.js +1 -1
  302. package/smartMapping/renderers/heatmap.js +1 -1
  303. package/smartMapping/renderers/pieChart.js +1 -1
  304. package/smartMapping/renderers/support/spikeUtils.js +3 -3
  305. package/smartMapping/renderers/type.js +1 -1
  306. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  307. package/smartMapping/statistics/histogram.js +1 -1
  308. package/smartMapping/statistics/summaryStatistics.js +1 -1
  309. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  310. package/smartMapping/statistics/uniqueValues.js +1 -1
  311. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  312. package/smartMapping/types.d.ts +3 -1
  313. package/symbols/LineSymbol3DLayer.js +1 -1
  314. package/symbols/callouts/LineCallout3D.js +1 -1
  315. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  316. package/symbols/cim/CIMSymbolHelper.js +1 -1
  317. package/symbols/cim/cimAnalyzer.js +1 -1
  318. package/symbols/edges/Edges3D.js +1 -1
  319. package/symbols/support/Symbol3DIconOutline.js +1 -1
  320. package/symbols/support/Symbol3DOutline.js +1 -1
  321. package/symbols/support/Symbol3DTextBorder.js +1 -1
  322. package/symbols/support/defaults3D.js +1 -1
  323. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  324. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +6 -4
  325. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  326. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  327. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +6 -4
  328. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  330. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  331. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  332. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  333. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  334. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  335. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  336. package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
  337. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  338. package/views/2d/layers/LayerView2D.js +1 -1
  339. package/views/2d/layers/features/FeatureContainer.js +1 -1
  340. package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
  341. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  342. package/views/2d/layers/features/processor/tracks/TrackAdapter.js +1 -1
  343. package/views/2d/layers/features/sources/FeatureSource.js +1 -1
  344. package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
  345. package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
  346. package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
  347. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  348. package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
  349. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  350. package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
  351. package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
  352. package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
  353. package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
  354. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  355. package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
  356. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  357. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  358. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  359. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  360. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  361. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  362. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  363. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  364. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  365. package/views/3d/analysis/Viewshed/types.d.ts +3 -1
  366. package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
  367. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
  368. package/views/3d/environment/Environment.d.ts +2 -2
  369. package/views/3d/environment/Environment.js +1 -1
  370. package/views/3d/environment/EnvironmentView.js +2 -0
  371. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  372. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  373. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  374. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  375. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  376. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  377. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  378. package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
  379. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  380. package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
  381. package/views/3d/layers/FlowSubView3D.js +1 -1
  382. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  383. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  384. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  385. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  386. package/views/3d/layers/MediaLayerView3D.js +1 -1
  387. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  388. package/views/3d/layers/RouteLayerView3D.js +1 -1
  389. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  390. package/views/3d/layers/SceneLayerView3D.js +1 -1
  391. package/views/3d/layers/TiledLayerView3D.js +1 -1
  392. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  393. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  394. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  395. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
  396. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  397. package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
  398. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  399. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
  400. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  401. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  402. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  403. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  404. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  405. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
  406. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  407. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  408. package/views/3d/layers/graphics/Labeler.js +1 -1
  409. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  410. package/views/3d/layers/graphics/pointUtils.js +1 -1
  411. package/views/3d/layers/support/FeatureMemory.js +1 -1
  412. package/views/3d/layers/support/FeatureTile.js +1 -1
  413. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  414. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  415. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  416. package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
  417. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  418. package/views/3d/support/PBFDecoder.js +1 -1
  419. package/views/3d/support/elevationUpdateUtils.js +1 -1
  420. package/views/3d/support/popupHitTest.js +1 -1
  421. package/views/3d/terrain/OverlayManager.js +1 -1
  422. package/views/3d/terrain/OverlayRenderer.js +1 -1
  423. package/views/3d/terrain/TerrainRenderer.js +1 -1
  424. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  425. package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
  426. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
  427. package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
  428. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
  429. package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
  430. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
  431. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +31 -29
  432. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +26 -12
  433. package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
  434. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
  435. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
  436. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
  437. package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
  438. package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
  439. package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
  440. package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
  441. package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
  442. package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
  443. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
  444. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
  445. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  446. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  447. package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
  448. package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
  449. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
  450. package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
  451. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  452. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
  453. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  454. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  455. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  456. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  457. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  458. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
  459. package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
  460. package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
  461. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  462. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
  463. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
  464. package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
  465. package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
  466. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
  467. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  468. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  469. package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
  470. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  471. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  472. package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
  473. package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
  474. package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
  475. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
  476. package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
  477. package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
  478. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  479. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  480. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  481. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  482. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  483. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  484. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  485. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  486. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  487. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  488. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  489. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  490. package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
  491. package/views/DOMContainer.d.ts +28 -9
  492. package/views/DOMContainer.js +1 -1
  493. package/views/PopupView.d.ts +6 -0
  494. package/views/SceneView.d.ts +4 -10
  495. package/views/SceneView.js +1 -1
  496. package/views/VideoView.d.ts +27 -9
  497. package/views/View.d.ts +20 -19
  498. package/views/View.js +1 -1
  499. package/views/View2D.d.ts +13 -13
  500. package/views/draw/Draw.d.ts +1 -1
  501. package/views/draw/support/InteractiveHandle.js +1 -1
  502. package/views/draw/support/PluginContext.js +1 -1
  503. package/views/draw/support/managers/TooltipManager.js +1 -1
  504. package/views/interactive/options/SnappingOptions.d.ts +29 -12
  505. package/views/interactive/options/TooltipOptions.d.ts +9 -1
  506. package/views/interactive/options/ValueOptions.d.ts +9 -2
  507. package/views/interactive/options/ViewOptions.d.ts +82 -6
  508. package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
  509. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  510. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  511. package/views/interactive/snapping/SnappingVisualizer.js +1 -1
  512. package/views/interactive/support/Units.d.ts +1 -0
  513. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  514. package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
  515. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  516. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  517. package/views/layers/FeatureLikeLayerView.d.ts +2 -2
  518. package/views/layers/GraphicsLayerView.d.ts +1 -0
  519. package/views/layers/ImageryLayerView.d.ts +1 -0
  520. package/views/layers/LayerView.js +1 -1
  521. package/views/layers/LineOfSightLayerView.d.ts +3 -4
  522. package/views/layers/ParquetLayerView.d.ts +15 -0
  523. package/views/layers/ParquetLayerView.js +1 -1
  524. package/views/layers/ViewshedLayerView.d.ts +5 -6
  525. package/views/support/layerViewUtils.js +1 -1
  526. package/views/support/projectionUtils.js +1 -1
  527. package/views/types.d.ts +3 -1
  528. package/webdoc/support/saveUtils.js +1 -1
  529. package/webdoc/support/unsupportedErrors.js +1 -1
  530. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
  531. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  532. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
  533. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
  534. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
  535. package/widgets/BasemapGallery/types.d.ts +3 -3
  536. package/widgets/BasemapLayerList.js +1 -1
  537. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  538. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  539. package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
  540. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
  541. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  542. package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
  543. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  544. package/widgets/BatchAttributeForm.js +1 -1
  545. package/widgets/DirectionalPad.js +1 -1
  546. package/widgets/Editor/EditorViewModel.d.ts +13 -8
  547. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  548. package/widgets/Editor/workflowUtils.js +1 -1
  549. package/widgets/Editor.d.ts +19 -9
  550. package/widgets/Expand.js +1 -1
  551. package/widgets/FeatureForm.d.ts +2 -2
  552. package/widgets/FeatureForm.js +1 -1
  553. package/widgets/FeatureTable/FieldColumn.js +1 -1
  554. package/widgets/FeatureTable.js +1 -1
  555. package/widgets/Features/FeaturesDrillIn.js +1 -1
  556. package/widgets/Features.js +1 -1
  557. package/widgets/Legend.d.ts +1 -0
  558. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  559. package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
  560. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  561. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  562. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  563. package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
  564. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  565. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  566. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  567. package/widgets/OrientedImageryViewer/types.d.ts +20 -0
  568. package/widgets/OrientedImageryViewer.d.ts +9 -1
  569. package/widgets/PanoramicVideoViewer.js +1 -1
  570. package/widgets/Print/PrintViewModel.d.ts +3 -2
  571. package/widgets/Print/PrintViewModel.js +1 -1
  572. package/widgets/Print.js +1 -1
  573. package/widgets/ScaleRangeSlider.js +1 -1
  574. package/widgets/Search/SearchResultRenderer.js +1 -1
  575. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  576. package/widgets/Sketch/SketchViewModel.d.ts +14 -9
  577. package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
  578. package/widgets/Sketch.d.ts +10 -10
  579. package/widgets/Track/TrackViewModel.d.ts +1 -1
  580. package/widgets/UtilityNetworkAssociations.js +1 -1
  581. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  582. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  583. package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
  584. package/widgets/UtilityNetworkTrace.js +1 -1
  585. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  586. package/widgets/ValuePicker.js +1 -1
  587. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  588. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  589. package/widgets/support/GridControls.js +1 -1
  590. package/widgets/support/PluginSettingsControls.js +1 -1
  591. package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
  592. package/widgets/support/SelectionToolbar.js +1 -1
  593. package/widgets/support/SnappingControls.d.ts +1 -1
  594. package/widgets/support/SnappingControls.js +1 -1
  595. package/widgets/support/componentsUtils.js +1 -1
  596. package/arcade/geometry/wkt.js +0 -2
  597. package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
  598. package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
  599. package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
  600. package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
  601. package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
  602. package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
  603. package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
  604. package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
  605. package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
  606. package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
  607. package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
  608. package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
  609. package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
  610. package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
  611. package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
  612. package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
  613. package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
  614. package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
  615. package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
  616. package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
  617. package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
  618. package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
  619. package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
  620. package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
  621. package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
  622. package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
  623. package/assets/esri/core/workers/chunks/32d08b571bbd996d4e6d.js +0 -1
  624. package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
  625. package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
  626. package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
  627. package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
  628. package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
  629. package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
  630. package/assets/esri/core/workers/chunks/40fb1910f780e78c128c.js +0 -1
  631. package/assets/esri/core/workers/chunks/4310c8d2b40ae69c3681.js +0 -1
  632. package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
  633. package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
  634. package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
  635. package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
  636. package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
  637. package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
  638. package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
  639. package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
  640. package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
  641. package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
  642. package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
  643. package/assets/esri/core/workers/chunks/61ad8306ab79aca79505.js +0 -1
  644. package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
  645. package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
  646. package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
  647. package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
  648. package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
  649. package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
  650. package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
  651. package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
  652. package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
  653. package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
  654. package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
  655. package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
  656. package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
  657. package/assets/esri/core/workers/chunks/8af92bcc075e03e3e902.js +0 -1742
  658. package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
  659. package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
  660. package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
  661. package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
  662. package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
  663. package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
  664. package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
  665. package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
  666. package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
  667. package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
  668. package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
  669. package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
  670. package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
  671. package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
  672. package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
  673. package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
  674. package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
  675. package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
  676. package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
  677. package/assets/esri/core/workers/chunks/b0cfec11c758eed8095f.js +0 -1
  678. package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
  679. package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
  680. package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
  681. package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
  682. package/assets/esri/core/workers/chunks/cbe6c0f32608cb504695.js +0 -1
  683. package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
  684. package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
  685. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
  686. package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
  687. package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
  688. package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
  689. package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
  690. package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
  691. package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
  692. package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
  693. package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
  694. package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
  695. package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
  696. package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
  697. package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
  698. package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
  699. package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
  700. package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
  701. package/assets/esri/core/workers/chunks/ffb3728e6ac428f62af1.js +0 -1
  702. package/views/3d/environment/EnvironmentManager.js +0 -2
  703. /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
@@ -3,6 +3,7 @@ import type { Clonable } from "../../core/Clonable.js";
3
3
  import type { JSONSupportMixin } from "../../core/JSONSupport.js";
4
4
  import type { PortalItemProperties } from "../../portal/PortalItem.js";
5
5
 
6
+ /** @deprecated since 5.2. Use [PortalItemDataProperties](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/#PortalItemDataProperties) instead. */
6
7
  export interface ParquetPortalItemDataProperties {
7
8
  /** The portal item containing the Parquet data. */
8
9
  portalItem?: PortalItemProperties;
@@ -12,6 +13,7 @@ export interface ParquetPortalItemDataProperties {
12
13
  * Sets an ArcGIS Online [portalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) as the [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
13
14
  * source for a [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/).
14
15
  *
16
+ * @deprecated since 5.2. Use [PortalItemData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/) instead.
15
17
  * @example
16
18
  * // Create a parquet layer from arcgis online portal item
17
19
  * const layer = new ParquetLayer({
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as n}from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import a from"../../portal/PortalItem.js";import{reader as o}from"../../core/accessorSupport/decorators/reader.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";let c=class extends n(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new a({id:t.itemId,portal:n?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}};e([r({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],c.prototype,`type`,void 0),e([r({type:a,json:{write:{isRequired:!0}}})],c.prototype,`portalItem`,void 0),e([o(`portalItem`,[`itemId`])],c.prototype,`readPortalItem`,null),e([s(`portalItem`,{itemId:{type:String}})],c.prototype,`writePortalItem`,null),c=e([i(`esri.layers.support.ParquetPortalItemData`)],c);export{c as default};
2
+ import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import n from"../../core/Error.js";import{JSONSupportMixin as r}from"../../core/JSONSupport.js";import{property as i}from"../../core/accessorSupport/decorators.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"../../portal/PortalItem.js";import{isCrossPortalWrite as s}from"../../webdoc/support/saveUtils.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{writer as l}from"../../core/accessorSupport/decorators/writer.js";let u=class extends r(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new o({id:t.itemId,portal:n?.portal})}writePortalItem(e,t,r,i){s(e,i)?i.messages?.push(new n(`portal-item-data:cross-portal`,`Data cannot be persisted because it refers to an item on a different portal ('${e?.portal?.url}') than the one being saved to ('${i?.portal?.url}').`,{layer:this,itemId:e?.id})):e?.id&&(t.itemId=e.id)}};e([i({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],u.prototype,`type`,void 0),e([i({type:o,json:{write:{isRequired:!0}}})],u.prototype,`portalItem`,void 0),e([c(`portalItem`,[`itemId`])],u.prototype,`readPortalItem`,null),e([l(`portalItem`,{itemId:{type:String}})],u.prototype,`writePortalItem`,null),u=e([a(`esri.layers.support.ParquetPortalItemData`)],u);const d=u;export{d as default};
@@ -9,8 +9,29 @@ export interface PortalItemDataProperties {
9
9
  }
10
10
 
11
11
  /**
12
+ * Sets an ArcGIS Online [portalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) as the [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
13
+ * source for a [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) or a [GeospatialPDFLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeospatialPDFLayer/).
14
+ *
12
15
  * @since 5.2
13
16
  * @beta
17
+ * @example
18
+ * // Create a parquet layer from arcgis online portal item
19
+ * const layer = new ParquetLayer({
20
+ * data: new PortalItemData({
21
+ * portalItem: {
22
+ * id: "parquet-layer-item-id",
23
+ * },
24
+ * }),
25
+ * });
26
+ * @example
27
+ * // Create a geospatial PDF layer from an ArcGIS portal item
28
+ * const layer = new GeospatialPDFLayer({
29
+ * data: new PortalItemData({
30
+ * portalItem: {
31
+ * id: "geospatial-pdf-layer-item-id",
32
+ * },
33
+ * }),
34
+ * });
14
35
  */
15
36
  export default class PortalItemData extends PortalItemDataSuperclass {
16
37
  constructor(properties?: PortalItemDataProperties);
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as n}from"../../core/JSONSupport.js";import{property as r}from"../../core/accessorSupport/decorators.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";import a from"../../portal/PortalItem.js";import{reader as o}from"../../core/accessorSupport/decorators/reader.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";let c=class extends n(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new a({id:t.itemId,portal:n?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}};e([r({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],c.prototype,`type`,void 0),e([r({type:a,json:{write:{isRequired:!0}}})],c.prototype,`portalItem`,void 0),e([o(`portalItem`,[`itemId`])],c.prototype,`readPortalItem`,null),e([s(`portalItem`,{itemId:{type:String}})],c.prototype,`writePortalItem`,null),c=e([i(`esri.layers.support.PortalItemData`)],c);export{c as default};
2
+ import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import n from"../../core/Error.js";import{JSONSupportMixin as r}from"../../core/JSONSupport.js";import{property as i}from"../../core/accessorSupport/decorators.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"../../portal/PortalItem.js";import{isCrossPortalWrite as s}from"../../webdoc/support/saveUtils.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{writer as l}from"../../core/accessorSupport/decorators/writer.js";let u=class extends r(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new o({id:t.itemId,portal:n?.portal})}writePortalItem(e,t,r,i){s(e,i)?i.messages?.push(new n(`portal-item-data:cross-portal`,`Data cannot be persisted because it refers to an item on a different portal ('${e?.portal?.url}') than the one being saved to ('${i?.portal?.url}').`,{layer:this,itemId:e?.id})):e?.id&&(t.itemId=e.id)}};e([i({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],u.prototype,`type`,void 0),e([i({type:o,json:{write:{isRequired:!0}}})],u.prototype,`portalItem`,void 0),e([c(`portalItem`,[`itemId`])],u.prototype,`readPortalItem`,null),e([l(`portalItem`,{itemId:{type:String}})],u.prototype,`writePortalItem`,null),u=e([a(`esri.layers.support.PortalItemData`)],u);export{u as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as h,ensureType as g,Integer as _,ensureClass as v}from"../../core/accessorSupport/ensureType.js";import{nameToId as y}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as b}from"../../core/accessorSupport/utils.js";import x from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as C}from"../../geometry/support/typeUtils.js";import ee from"../../graphic/MapImageGraphicOrigin.js";import te from"../../graphic/TileGraphicOrigin.js";import ne from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import w from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as E}from"./fieldUtils.js";import D from"./LabelClass.js";import{validateLabelingInfo as O}from"./labelingInfo.js";import k from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import j from"./Relationship.js";import{getFeatureLayerCapabilities as M}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as N,rendererTypes as P}from"../../renderers/support/typeUtils.js";import{parseUrl as F}from"../../rest/utils.js";import I from"../../rest/layerSources/DynamicDataLayer.js";import L from"../../rest/layerSources/DynamicMapLayer.js";import R from"../../rest/support/AttachmentQuery.js";import z from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=y(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let se=0;const ce=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type=`sublayer`,this.types=null,this.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=M(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new te(this.layer,this);case`map-image`:return new ee(this.layer,this)}}get id(){return this._get(`id`)??se++}set id(e){this._get(`id`)!==e&&(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1?this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`):this._set(`id`,e))}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:h(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new ne({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(E(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new L({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return g(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=b(this),t=new G;return b(t).store=e.clone(ce),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new z({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=R.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:F(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let t=this.labelingInfo;this.geometryType!=null&&(t=O(this.labelingInfo,C.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=b(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}e===`source`&&this.loadStatus!==`not-loaded`?this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`):(this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this}))}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this.layer}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null}),e.on(`before-changes`,e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??!0)||(c.getLogger(this).error(new i(`sublayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[w],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:k,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:x,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:C.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:C.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:_,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[D],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[A],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:_,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[j],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:P,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:N,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L}},cast(e){if(e){if(`mapLayerId`in e)return v(L,e);if(`dataSource`in e)return v(I,e)}return e},json:{name:`layerDefinition.source`,write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:S,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[_],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
2
+ import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as h,ensureType as g,Integer as _,ensureClass as v}from"../../core/accessorSupport/ensureType.js";import{nameToId as y}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as b}from"../../core/accessorSupport/utils.js";import x from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";import{joinScaleRanges as C}from"../../geometry/support/scaleUtils.js";import{featureGeometryTypeKebabDictionary as w}from"../../geometry/support/typeUtils.js";import ee from"../../graphic/MapImageGraphicOrigin.js";import te from"../../graphic/TileGraphicOrigin.js";import ne from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import T from"./Field.js";import E from"./FieldsIndex.js";import{fixRendererFields as D}from"./fieldUtils.js";import O from"./LabelClass.js";import{validateLabelingInfo as k}from"./labelingInfo.js";import A from"./LayerFloorInfo.js";import j from"./OrderByInfo.js";import M from"./Relationship.js";import{getFeatureLayerCapabilities as N}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as P,rendererTypes as F}from"../../renderers/support/typeUtils.js";import{parseUrl as I}from"../../rest/utils.js";import L from"../../rest/layerSources/DynamicDataLayer.js";import R from"../../rest/layerSources/DynamicMapLayer.js";import z from"../../rest/support/AttachmentQuery.js";import se from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=y(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let ce=0;const le=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type=`sublayer`,this.types=null,this.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=N(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&C(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new E(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new te(this.layer,this);case`map-image`:return new ee(this.layer,this)}}get id(){return this._get(`id`)??ce++}set id(e){this._get(`id`)!==e&&(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1?this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`):this._set(`id`,e))}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:h(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new ne({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(D(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new R({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return g(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=b(this),t=new G;return b(t).store=e.clone(le),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new se({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=z.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:I(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let t=this.labelingInfo;this.geometryType!=null&&(t=k(this.labelingInfo,w.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=b(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}e===`source`&&this.loadStatus!==`not-loaded`?this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`):(this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this}))}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this.layer}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null}),e.on(`before-changes`,e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??!0)||(c.getLogger(this).error(new i(`sublayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[T],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:A,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:x,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:w.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:w.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:_,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[O],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[j],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:_,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[M],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:F,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:P,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":L,"map-layer":R}},cast(e){if(e){if(`mapLayerId`in e)return v(R,e);if(`dataSource`in e)return v(L,e)}return e},json:{name:`layerDefinition.source`,write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:S,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[_],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import{ClonableMixin as n}from"../../core/Clonable.js";import r from"../../core/Error.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import{Loadable as o}from"../../core/Loadable.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as u}from"../../core/object.js";import{sqlAnd as d}from"../../core/sql.js";import{property as f,subclass as p}from"../../core/accessorSupport/decorators.js";import{excludeTables as m}from"../../core/accessorSupport/layerContainerType.js";import h from"../../form/FormTemplate.js";import g from"../../geometry/SpatialReference.js";import ee from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as te,legendEnabled as ne,minScale as re,maxScale as ie,popupEnabled as ae}from"./commonProperties.js";import{createQuery as _,computeDomainFromSubtypes as v}from"./featureLayerUtils.js";import y from"./FeatureTemplate.js";import b from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as x,fieldConfigurationsFromPopupTemplate as S,fieldConfigurationsFromFields as C}from"./fieldConfigUtils.js";import{defineFieldProperties as w}from"./fieldProperties.js";import{fixRendererFields as T}from"./fieldUtils.js";import oe from"./LabelClass.js";import{reader as se}from"./labelingInfo.js";import{rendererReader as E,supportedRendererTypes as D}from"./subtypeGroupLayerUtils.js";import O from"./TitleCreator.js";import k from"../../renderers/SimpleRenderer.js";import A from"../../rest/support/AttachmentQuery.js";import j from"../../rest/support/Query.js";import{createPopupTemplate as M}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as N,defaultPolylineSymbol2D as P,defaultPointSymbol2D as F}from"../../symbols/support/defaults.js";import I from"../../tables/AttributeTableTemplate.js";import{writer as L}from"../../core/accessorSupport/decorators/writer.js";import{reader as R}from"../../core/accessorSupport/decorators/reader.js";const z=w();let B=0;function V(e,t){let n=e.json.write;return typeof n!=`object`&&(n=e.json.write={}),n.ignoreOrigin=!0,t?.spatialOnly&&(n.layerContainerTypes=m),e}function H(e){let t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),typeof t.write==`object`&&(e?.spatialOnly&&(t.write.layerContainerTypes=m),e?.target&&(t.write.target=e.target)),t}function U(e){return new k({symbol:W(e)})}function W(e){switch(e){case`point`:case`multipoint`:return F.clone();case`polyline`:return P.clone();case`polygon`:case`multipatch`:return N.clone();default:return null}}function G(e,t){return t?e?.type===`unique-value`&&e.field!=null&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression:!1}function K(e){return J(e,`user`)===e}function q(e){return J(e,`service`)}function ce(e){return J(e,`portal-item`)}function J(e,t){return(e.parent?.getAtOrigin(`sublayers`,t))?.find(({subtypeCode:t})=>t===e.subtypeCode)}function Y(e,t){return e==null?null:t.subtypes?.find(t=>t.code===e)}function le(e,t){let n=t.geometryType,r=null;switch(n){case`esriGeometryPoint`:case`esriGeometryMultipoint`:r=`point`;break;case`esriGeometryPolyline`:r=`line`;break;case`esriGeometryPolygon`:case`esriGeometryMultiPatch`:r=`polygon`;break;default:t.type,r=null}let i={},a=Y(e,t);if(a!=null){let{defaultValues:e}=a;for(let t in e)i[t]=e[t]}return i[t.subtypeField]=e,new y({name:`New Feature`,drawingTool:r,prototype:{attributes:i}})}let X=class extends l(n(i(o))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new ee(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${B++}`,this.type=`subtype-sublayer`,this.labelsVisible=!0,this.labelingInfo=null,this.layerType=`ArcGISFeatureLayer`,this.legendEnabled=!0,this.listMode=`show`,this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return T(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){let e=this._get(`_titleCreator`);return c(e),new O({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??``,fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){let{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override(`fieldConfigurations`,e),!this.parent?.loaded)return;let t=x(this,e);t&&this._set(`popupTemplate`,t)}get fieldConfigurations(){return this._isOverridden(`fieldConfigurations`)?this._get(`fieldConfigurations`):S(this)||null}writeFieldOverrides(e,t,n){let{fields:r,parent:i}=this,o;if(r){o=[];let e=0;r.forEach(({name:t,alias:n,editable:r,visible:a})=>{if(!a)return;let s=i?.fields?.find(e=>e.name===t);if(!s)return;let c={name:t},l=!1;n!==s.alias&&(c.alias=n,l=!0),r!==s.editable&&(c.editable=r,l=!0),o.push(c),l&&e++}),e===0&&o.length===r.length&&(o=null)}else o=a(e);o?.length&&u(n,o,t)}get fields(){let{parent:e,fieldOverrides:t,subtypeCode:n}=this,r=e?.fields;if(!e||!r?.length)return null;let{subtypes:i,subtypeField:a}=e,o=i?.find(e=>e.code===n),s=o?.defaultValues,c=o?.domains,l=[];for(let e of r){let r=e.clone(),{name:i}=r,o=t?.find(e=>e.name===i);if(r.visible=!t?.length||!!o,o){let{alias:e,editable:t}=o;e&&(r.alias=e),t===!1&&(r.editable=!1)}let u=s?.[i]??null;r.defaultValue=i===a?n:u;let d=c?.[i]??null;r.domain=i===a?null:d?d.type===`inherited`?r.domain:d.clone():null,l.push(r)}return l}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(s.getLogger(this).error($(`globalIdField`)),null)}get effectiveScaleRange(){let{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get objectIdField(){return this.parent||s.getLogger(this).error($(`objectIdField`)),this.parent?.objectIdField}writePopupTemplate(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){T(e,this.fieldsIndex),this._override(`renderer`,e)}get renderer(){if(this._isOverridden(`renderer`))return this._get(`renderer`);let{parent:e}=this;return e&&!e.isTable&&e.geometryType!==`mesh`?(K(this)?a(q(this)?.renderer):null)??U(e.geometryType):null}readRendererFromService(e,t,n){if(t.type===`Table`)return null;let r=t.drawingInfo?.renderer,i=E(r,t,n),a,{subtypeCode:o}=this;if(o!=null&&G(i,t.subtypeField)){let e=i.uniqueValueInfos?.find(({value:e})=>(e=typeof e==`number`?String(e):e,e===String(o)));e&&(a=new k({symbol:e.symbol}))}else i?.type===`simple`&&!i.visualVariables?.length&&(a=i);return a}readRenderer(e,t,n){let r=t?.layerDefinition?.drawingInfo?.renderer;if(r)return E(r,t,n)||void 0}get spatialReference(){return this.parent?.spatialReference??g.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden(`templates`)?this._get(`templates`):a(K(this)?q(this)?.templates:ce(this)?.templates||q(this)?.templates)}set templates(e){this._override(`templates`,e)}readTemplatesFromService(e,t){return[le(this.subtypeCode,t)]}get title(){return this._isOverridden(`title`)?this._get(`title`):(K(this)?q(this):null)?.title}set title(e){this._override(`title`,e)}readTitleFromService(e,t){let n=Y(this.subtypeCode,t);return n==null?null:n.name}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t,n){let{parent:i}=this;if(!i)throw $(`addAttachment`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:addAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return i.addAttachment(e,t,n)}async updateAttachment(e,t,n,i){let{parent:a}=this;if(!a)throw $(`updateAttachment`);if(e.getAttribute(a.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:updateAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return a.updateAttachment(e,t,n,i)}async deleteAttachments(e,t,n){let{parent:i}=this;if(!i)throw $(`deleteAttachments`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:deleteAttachments`,`The feature provided does not belong to this SubtypeSublayer`);return i.deleteAttachments(e,t,n)}async applyEdits(e,t){if(!this.parent)throw $(`applyEdits`);return this.parent.applyEdits(e,t)}createFieldConfigurations(){return C(this)}createPopupTemplate(e){let t=this,{parent:n,fields:r,title:i}=this;if(n){let{displayField:e,editFieldsInfo:a,objectIdField:o}=n;t={displayField:e,editFieldsInfo:a,fields:r,objectIdField:o,title:i}}return M(t,e)}createQuery(){if(!this.parent)throw $(`createQuery`);let e=_(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=d(t,this.parent.definitionExpression),e}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){let t=v(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){let n=await this.load();if(!n.parent)throw $(`queryAttachments`);let r=e instanceof A?e.clone():new A(e);return r.where=Q(r.where,n.parent.subtypeField,n.subtypeCode),n.parent.queryAttachments(r,t)}async queryFeatureCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatureCount`);return n.parent.queryFeatureCount(Z(n.parent,n,e),t)}async queryFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatures`);return n.parent.queryFeatures(Z(n.parent,n,e),t)}async queryObjectIds(e,t){let n=await this.load();if(!n.parent)throw $(`queryObjectIds`);return n.parent.queryObjectIds(Z(n.parent,n,e),t)}async queryRelatedFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeatures`);return n.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeaturesCount`);return n.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){let t=this.fieldsIndex.get(e);return t?t.domain:null}};e([f({clonable:!1,readOnly:!0})],X.prototype,`_titleCreator`,null),e([f({type:I,json:H({name:`attributeTableInfo`})})],X.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`capabilities`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`effectiveCapabilities`,null),e([f({json:H()})],X.prototype,`charts`,void 0),e([f({type:Boolean,nonNullable:!0,json:H({name:`enableEditing`})})],X.prototype,`editingEnabled`,void 0),e([f({type:Boolean,readOnly:!0})],X.prototype,`effectiveEditingEnabled`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`elevationInfo`,null),e([f({clonable:!1,readOnly:!0})],X.prototype,`featureTitleFields`,null),e([f({type:[b],json:{name:`layerDefinition.fieldConfigurations`,write:{ignoreOrigin:!0}}})],X.prototype,`fieldConfigurations`,null),e([f({json:{name:`layerDefinition.fieldOverrides`,origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],X.prototype,`fieldOverrides`,void 0),e([L(`fieldOverrides`)],X.prototype,`writeFieldOverrides`,null),e([f({...z.fields,readOnly:!0,json:{read:!1}})],X.prototype,`fields`,null),e([f(z.fieldsIndex)],X.prototype,`fieldsIndex`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`floorInfo`,null),e([f({type:h,json:H({name:`formInfo`})})],X.prototype,`formTemplate`,void 0),e([f({readOnly:!0,clonable:!1})],X.prototype,`graphicOrigin`,void 0),e([f({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`id`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`isTable`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`geometryType`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`globalIdField`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`type`,void 0),e([f(V(a(te)))],X.prototype,`labelsVisible`,void 0),e([f({type:[oe],json:{name:`layerDefinition.drawingInfo.labelingInfo`,origins:{service:{read:!1}},read:{reader:se},write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`labelingInfo`,void 0),e([f({type:[`ArcGISFeatureLayer`],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`layerType`,void 0),e([f(V(a(ne)))],X.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`]})],X.prototype,`listMode`,void 0),e([f((()=>{let e=a(re);return e.json.origins.service.read=!1,V(e,{spatialOnly:!0})})())],X.prototype,`minScale`,void 0),e([f((()=>{let e=a(ie);return e.json.origins.service.read=!1,V(e,{spatialOnly:!0})})())],X.prototype,`maxScale`,void 0),e([f({readOnly:!0})],X.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`objectIdField`,null),e([f({type:Number,range:{min:0,max:1},nonNullable:!0,json:H({spatialOnly:!0})})],X.prototype,`opacity`,void 0),e([f({clonable:!1})],X.prototype,`parent`,void 0),e([f(V(a(ae)))],X.prototype,`popupEnabled`,void 0),e([f({type:t,json:H({name:`popupInfo`})})],X.prototype,`popupTemplate`,void 0),e([L(`popupTemplate`)],X.prototype,`writePopupTemplate`,null),e([f({readOnly:!0})],X.prototype,`defaultPopupTemplate`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`relationships`,null),e([f({types:D,json:H({target:`layerDefinition.drawingInfo.renderer`,spatialOnly:!0})})],X.prototype,`renderer`,null),e([R(`service`,`renderer`,[`drawingInfo.renderer`,`subtypeField`,`type`])],X.prototype,`readRendererFromService`,null),e([R(`renderer`,[`layerDefinition.drawingInfo.renderer`])],X.prototype,`readRenderer`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`spatialReference`,null),e([f({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`subtypeCode`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`subtypeField`,null),e([f({type:[y],json:H({name:`layerDefinition.templates`})})],X.prototype,`templates`,null),e([R(`service`,`templates`,[`geometryType`,`subtypeField`,`subtypes`,`type`])],X.prototype,`readTemplatesFromService`,null),e([f({type:String,json:H()})],X.prototype,`title`,null),e([R(`service`,`title`,[`subtypes`])],X.prototype,`readTitleFromService`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`url`,null),e([f({readOnly:!0})],X.prototype,`userHasUpdateItemPrivileges`,null),e([f({type:Boolean,nonNullable:!0,json:H({name:`visibility`,spatialOnly:!0})})],X.prototype,`visible`,void 0),X=e([p(`esri.layers.support.SubtypeSublayer`)],X);const Z=(e,t,n)=>{if(!n)return t.createQuery();let r=j.from(n);return r.where=Q(r.where,e.subtypeField,t.subtypeCode),r},Q=(e,t,n)=>{let r=RegExp(`${t}\\s*=\\s*\\d+`),i=`${t}=${n}`,a=e??``;return r.test(a)?a.replace(r,i):d(i,a)},$=e=>new r(`subtype-sublayer:parent-missing`,`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{X 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/Error.js";import{IdentifiableMixin as i}from"../../core/Identifiable.js";import{clone as a}from"../../core/lang.js";import{Loadable as o}from"../../core/Loadable.js";import s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as u}from"../../core/object.js";import{sqlAnd as d}from"../../core/sql.js";import{property as f,subclass as p}from"../../core/accessorSupport/decorators.js";import{excludeTables as m}from"../../core/accessorSupport/layerContainerType.js";import h from"../../form/FormTemplate.js";import ee from"../../geometry/SpatialReference.js";import{joinScaleRanges as te}from"../../geometry/support/scaleUtils.js";import ne from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as re,legendEnabled as ie,minScale as ae,maxScale as oe,popupEnabled as g}from"./commonProperties.js";import{createQuery as _,computeDomainFromSubtypes as v}from"./featureLayerUtils.js";import y from"./FeatureTemplate.js";import b from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as x,fieldConfigurationsFromPopupTemplate as S,fieldConfigurationsFromFields as C}from"./fieldConfigUtils.js";import{defineFieldProperties as w}from"./fieldProperties.js";import{fixRendererFields as T}from"./fieldUtils.js";import se from"./LabelClass.js";import{reader as E}from"./labelingInfo.js";import{rendererReader as D,supportedRendererTypes as O}from"./subtypeGroupLayerUtils.js";import k from"./TitleCreator.js";import A from"../../renderers/SimpleRenderer.js";import j from"../../rest/support/AttachmentQuery.js";import M from"../../rest/support/Query.js";import{createPopupTemplate as N}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as P,defaultPolylineSymbol2D as F,defaultPointSymbol2D as I}from"../../symbols/support/defaults.js";import L from"../../tables/AttributeTableTemplate.js";import{writer as R}from"../../core/accessorSupport/decorators/writer.js";import{reader as z}from"../../core/accessorSupport/decorators/reader.js";const B=w();let V=0;function H(e,t){let n=e.json.write;return typeof n!=`object`&&(n=e.json.write={}),n.ignoreOrigin=!0,t?.spatialOnly&&(n.layerContainerTypes=m),e}function U(e){let t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),typeof t.write==`object`&&(e?.spatialOnly&&(t.write.layerContainerTypes=m),e?.target&&(t.write.target=e.target)),t}function W(e){return new A({symbol:G(e)})}function G(e){switch(e){case`point`:case`multipoint`:return I.clone();case`polyline`:return F.clone();case`polygon`:case`multipatch`:return P.clone();default:return null}}function ce(e,t){return t?e?.type===`unique-value`&&e.field!=null&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression:!1}function K(e){return J(e,`user`)===e}function q(e){return J(e,`service`)}function le(e){return J(e,`portal-item`)}function J(e,t){return(e.parent?.getAtOrigin(`sublayers`,t))?.find(({subtypeCode:t})=>t===e.subtypeCode)}function Y(e,t){return e==null?null:t.subtypes?.find(t=>t.code===e)}function ue(e,t){let n=t.geometryType,r=null;switch(n){case`esriGeometryPoint`:case`esriGeometryMultipoint`:r=`point`;break;case`esriGeometryPolyline`:r=`line`;break;case`esriGeometryPolygon`:case`esriGeometryMultiPatch`:r=`polygon`;break;default:t.type,r=null}let i={},a=Y(e,t);if(a!=null){let{defaultValues:e}=a;for(let t in e)i[t]=e[t]}return i[t.subtypeField]=e,new y({name:`New Feature`,drawingTool:r,prototype:{attributes:i}})}let X=class extends l(n(i(o))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new ne(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${V++}`,this.type=`subtype-sublayer`,this.labelsVisible=!0,this.labelingInfo=null,this.layerType=`ArcGISFeatureLayer`,this.legendEnabled=!0,this.listMode=`show`,this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return T(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){let e=this._get(`_titleCreator`);return c(e),new k({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??``,fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){let{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override(`fieldConfigurations`,e),!this.parent?.loaded)return;let t=x(this,e);t&&this._set(`popupTemplate`,t)}get fieldConfigurations(){return this._isOverridden(`fieldConfigurations`)?this._get(`fieldConfigurations`):S(this)||null}writeFieldOverrides(e,t,n){let{fields:r,parent:i}=this,o;if(r){o=[];let e=0;r.forEach(({name:t,alias:n,editable:r,visible:a})=>{if(!a)return;let s=i?.fields?.find(e=>e.name===t);if(!s)return;let c={name:t},l=!1;n!==s.alias&&(c.alias=n,l=!0),r!==s.editable&&(c.editable=r,l=!0),o.push(c),l&&e++}),e===0&&o.length===r.length&&(o=null)}else o=a(e);o?.length&&u(n,o,t)}get fields(){let{parent:e,fieldOverrides:t,subtypeCode:n}=this,r=e?.fields;if(!e||!r?.length)return null;let{subtypes:i,subtypeField:a}=e,o=i?.find(e=>e.code===n),s=o?.defaultValues,c=o?.domains,l=[];for(let e of r){let r=e.clone(),{name:i}=r,o=t?.find(e=>e.name===i);if(r.visible=!t?.length||!!o,o){let{alias:e,editable:t}=o;e&&(r.alias=e),t===!1&&(r.editable=!1)}let u=s?.[i]??null;r.defaultValue=i===a?n:u;let d=c?.[i]??null;r.domain=i===a?null:d?d.type===`inherited`?r.domain:d.clone():null,l.push(r)}return l}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(s.getLogger(this).error($(`globalIdField`)),null)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&te(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get objectIdField(){return this.parent||s.getLogger(this).error($(`objectIdField`)),this.parent?.objectIdField}writePopupTemplate(e,t,n,r){e&&(t[n]=e.toJSON({...r,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){T(e,this.fieldsIndex),this._override(`renderer`,e)}get renderer(){if(this._isOverridden(`renderer`))return this._get(`renderer`);let{parent:e}=this;return e&&!e.isTable&&e.geometryType!==`mesh`?(K(this)?a(q(this)?.renderer):null)??W(e.geometryType):null}readRendererFromService(e,t,n){if(t.type===`Table`)return null;let r=t.drawingInfo?.renderer,i=D(r,t,n),a,{subtypeCode:o}=this;if(o!=null&&ce(i,t.subtypeField)){let e=i.uniqueValueInfos?.find(({value:e})=>(e=typeof e==`number`?String(e):e,e===String(o)));e&&(a=new A({symbol:e.symbol}))}else i?.type===`simple`&&!i.visualVariables?.length&&(a=i);return a}readRenderer(e,t,n){let r=t?.layerDefinition?.drawingInfo?.renderer;if(r)return D(r,t,n)||void 0}get spatialReference(){return this.parent?.spatialReference??ee.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden(`templates`)?this._get(`templates`):a(K(this)?q(this)?.templates:le(this)?.templates||q(this)?.templates)}set templates(e){this._override(`templates`,e)}readTemplatesFromService(e,t){return[ue(this.subtypeCode,t)]}get title(){return this._isOverridden(`title`)?this._get(`title`):(K(this)?q(this):null)?.title}set title(e){this._override(`title`,e)}readTitleFromService(e,t){let n=Y(this.subtypeCode,t);return n==null?null:n.name}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t,n){let{parent:i}=this;if(!i)throw $(`addAttachment`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:addAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return i.addAttachment(e,t,n)}async updateAttachment(e,t,n,i){let{parent:a}=this;if(!a)throw $(`updateAttachment`);if(e.getAttribute(a.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:updateAttachment`,`The feature provided does not belong to this SubtypeSublayer`);return a.updateAttachment(e,t,n,i)}async deleteAttachments(e,t,n){let{parent:i}=this;if(!i)throw $(`deleteAttachments`);if(e.getAttribute(i.subtypeField)!==this.subtypeCode)throw new r(`subtype-sublayer:deleteAttachments`,`The feature provided does not belong to this SubtypeSublayer`);return i.deleteAttachments(e,t,n)}async applyEdits(e,t){if(!this.parent)throw $(`applyEdits`);return this.parent.applyEdits(e,t)}createFieldConfigurations(){return C(this)}createPopupTemplate(e){let t=this,{parent:n,fields:r,title:i}=this;if(n){let{displayField:e,editFieldsInfo:a,objectIdField:o}=n;t={displayField:e,editFieldsInfo:a,fields:r,objectIdField:o,title:i}}return N(t,e)}createQuery(){if(!this.parent)throw $(`createQuery`);let e=_(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=d(t,this.parent.definitionExpression),e}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){let t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){let t=v(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){let n=await this.load();if(!n.parent)throw $(`queryAttachments`);let r=e instanceof j?e.clone():new j(e);return r.where=Q(r.where,n.parent.subtypeField,n.subtypeCode),n.parent.queryAttachments(r,t)}async queryFeatureCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatureCount`);return n.parent.queryFeatureCount(Z(n.parent,n,e),t)}async queryFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryFeatures`);return n.parent.queryFeatures(Z(n.parent,n,e),t)}async queryObjectIds(e,t){let n=await this.load();if(!n.parent)throw $(`queryObjectIds`);return n.parent.queryObjectIds(Z(n.parent,n,e),t)}async queryRelatedFeatures(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeatures`);return n.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){let n=await this.load();if(!n.parent)throw $(`queryRelatedFeaturesCount`);return n.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){let t=this.fieldsIndex.get(e);return t?t.domain:null}};e([f({clonable:!1,readOnly:!0})],X.prototype,`_titleCreator`,null),e([f({type:L,json:U({name:`attributeTableInfo`})})],X.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`capabilities`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`effectiveCapabilities`,null),e([f({json:U()})],X.prototype,`charts`,void 0),e([f({type:Boolean,nonNullable:!0,json:U({name:`enableEditing`})})],X.prototype,`editingEnabled`,void 0),e([f({type:Boolean,readOnly:!0})],X.prototype,`effectiveEditingEnabled`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`elevationInfo`,null),e([f({clonable:!1,readOnly:!0})],X.prototype,`featureTitleFields`,null),e([f({type:[b],json:{name:`layerDefinition.fieldConfigurations`,write:{ignoreOrigin:!0}}})],X.prototype,`fieldConfigurations`,null),e([f({json:{name:`layerDefinition.fieldOverrides`,origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],X.prototype,`fieldOverrides`,void 0),e([R(`fieldOverrides`)],X.prototype,`writeFieldOverrides`,null),e([f({...B.fields,readOnly:!0,json:{read:!1}})],X.prototype,`fields`,null),e([f(B.fieldsIndex)],X.prototype,`fieldsIndex`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`floorInfo`,null),e([f({type:h,json:U({name:`formInfo`})})],X.prototype,`formTemplate`,void 0),e([f({readOnly:!0,clonable:!1})],X.prototype,`graphicOrigin`,void 0),e([f({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`id`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`isTable`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`geometryType`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`globalIdField`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`type`,void 0),e([f(H(a(re)))],X.prototype,`labelsVisible`,void 0),e([f({type:[se],json:{name:`layerDefinition.drawingInfo.labelingInfo`,origins:{service:{read:!1}},read:{reader:E},write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`labelingInfo`,void 0),e([f({type:[`ArcGISFeatureLayer`],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:m}}})],X.prototype,`layerType`,void 0),e([f(H(a(ie)))],X.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`]})],X.prototype,`listMode`,void 0),e([f((()=>{let e=a(ae);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`minScale`,void 0),e([f((()=>{let e=a(oe);return e.json.origins.service.read=!1,H(e,{spatialOnly:!0})})())],X.prototype,`maxScale`,void 0),e([f({readOnly:!0})],X.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`objectIdField`,null),e([f({type:Number,range:{min:0,max:1},nonNullable:!0,json:U({spatialOnly:!0})})],X.prototype,`opacity`,void 0),e([f({clonable:!1})],X.prototype,`parent`,void 0),e([f(H(a(g)))],X.prototype,`popupEnabled`,void 0),e([f({type:t,json:U({name:`popupInfo`})})],X.prototype,`popupTemplate`,void 0),e([R(`popupTemplate`)],X.prototype,`writePopupTemplate`,null),e([f({readOnly:!0})],X.prototype,`defaultPopupTemplate`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`relationships`,null),e([f({types:O,json:U({target:`layerDefinition.drawingInfo.renderer`,spatialOnly:!0})})],X.prototype,`renderer`,null),e([z(`service`,`renderer`,[`drawingInfo.renderer`,`subtypeField`,`type`])],X.prototype,`readRendererFromService`,null),e([z(`renderer`,[`layerDefinition.drawingInfo.renderer`])],X.prototype,`readRenderer`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`spatialReference`,null),e([f({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],X.prototype,`subtypeCode`,void 0),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`subtypeField`,null),e([f({type:[y],json:U({name:`layerDefinition.templates`})})],X.prototype,`templates`,null),e([z(`service`,`templates`,[`geometryType`,`subtypeField`,`subtypes`,`type`])],X.prototype,`readTemplatesFromService`,null),e([f({type:String,json:U()})],X.prototype,`title`,null),e([z(`service`,`title`,[`subtypes`])],X.prototype,`readTitleFromService`,null),e([f({readOnly:!0,json:{read:!1}})],X.prototype,`url`,null),e([f({readOnly:!0})],X.prototype,`userHasUpdateItemPrivileges`,null),e([f({type:Boolean,nonNullable:!0,json:U({name:`visibility`,spatialOnly:!0})})],X.prototype,`visible`,void 0),X=e([p(`esri.layers.support.SubtypeSublayer`)],X);const Z=(e,t,n)=>{if(!n)return t.createQuery();let r=M.from(n);return r.where=Q(r.where,e.subtypeField,t.subtypeCode),r},Q=(e,t,n)=>{let r=RegExp(`${t}\\s*=\\s*\\d+`),i=`${t}=${n}`,a=e??``;return r.test(a)?a.replace(r,i):d(i,a)},$=e=>new r(`subtype-sublayer:parent-missing`,`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{X as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- const e={AnnotationFeatureLayer:async()=>(await import(`../AnnotationFeatureLayer.js`)).default,BingMapsLayer:async()=>(await import(`../BingMapsLayer.js`)).default,BuildingSceneLayer:async()=>(await import(`../BuildingSceneLayer.js`)).default,CSVLayer:async()=>(await import(`../CSVLayer.js`)).default,CatalogLayer:async()=>(await import(`../CatalogLayer.js`)).default,DimensionFeatureLayer:async()=>(await import(`../DimensionFeatureLayer.js`)).default,DimensionLayer:async()=>(await import(`../DimensionLayer.js`)).default,ElevationLayer:async()=>(await import(`../ElevationLayer.js`)).default,FeatureLayer:async()=>(await import(`../FeatureLayer.js`)).default,GaussianSplatLayer:async()=>(await import(`../GaussianSplatLayer.js`)).default,GeoJSONLayer:async()=>(await import(`../GeoJSONLayer.js`)).default,GeoRSSLayer:async()=>(await import(`../GeoRSSLayer.js`)).default,GeospatialPDFLayer:async()=>(await import(`../GeospatialPDFLayer.js`)).default,GroupLayer:async()=>(await import(`../GroupLayer.js`)).default,ImageryLayer:async()=>(await import(`../ImageryLayer.js`)).default,ImageryTileLayer:async()=>(await import(`../ImageryTileLayer.js`)).default,IntegratedMesh3DTilesLayer:async()=>(await import(`../IntegratedMesh3DTilesLayer.js`)).default,IntegratedMeshLayer:async()=>(await import(`../IntegratedMeshLayer.js`)).default,KMLLayer:async()=>(await import(`../KMLLayer.js`)).default,KnowledgeGraphLayer:async()=>(await import(`../KnowledgeGraphLayer.js`)).default,LineOfSightLayer:async()=>(await import(`../LineOfSightLayer.js`)).default,LinkChartLayer:async()=>(await import(`../LinkChartLayer.js`)).default,MapImageLayer:async()=>(await import(`../MapImageLayer.js`)).default,MapNotesLayer:async()=>(await import(`../MapNotesLayer.js`)).default,MediaLayer:async()=>(await import(`../MediaLayer.js`)).default,OGCFeatureLayer:async()=>(await import(`../OGCFeatureLayer.js`)).default,OpenStreetMapLayer:async()=>(await import(`../OpenStreetMapLayer.js`)).default,OrientedImageryLayer:async()=>(await import(`../OrientedImageryLayer.js`)).default,ParquetLayer:async()=>(await import(`../ParquetLayer.js`)).default,PointCloudLayer:async()=>(await import(`../PointCloudLayer.js`)).default,RouteLayer:async()=>(await import(`../RouteLayer.js`)).default,SceneLayer:async()=>(await import(`../SceneLayer.js`)).default,SketchLayer:async()=>(await import(`../SketchLayer.js`)).default,StreamLayer:async()=>(await import(`../StreamLayer.js`)).default,SubtypeGroupLayer:async()=>(await import(`../SubtypeGroupLayer.js`)).default,TileLayer:async()=>(await import(`../TileLayer.js`)).default,UnknownLayer:async()=>(await import(`../UnknownLayer.js`)).default,UnsupportedLayer:async()=>(await import(`../UnsupportedLayer.js`)).default,VectorTileLayer:async()=>(await import(`../VectorTileLayer.js`)).default,VideoLayer:async()=>(await import(`../VideoLayer.js`)).default,ViewshedLayer:async()=>(await import(`../ViewshedLayer.js`)).default,VoxelLayer:async()=>(await import(`../VoxelLayer.js`)).default,WCSLayer:async()=>(await import(`../WCSLayer.js`)).default,WFSLayer:async()=>(await import(`../WFSLayer.js`)).default,WMSLayer:async()=>(await import(`../WMSLayer.js`)).default,WMTSLayer:async()=>(await import(`../WMTSLayer.js`)).default,WebTileLayer:async()=>(await import(`../WebTileLayer.js`)).default};export{e as layersLoaderMap};
2
+ const e={AnnotationFeatureLayer:async()=>(await import(`../AnnotationFeatureLayer.js`)).default,BingMapsLayer:async()=>(await import(`../BingMapsLayer.js`)).default,BuildingSceneLayer:async()=>(await import(`../BuildingSceneLayer.js`)).default,CSVLayer:async()=>(await import(`../CSVLayer.js`)).default,CatalogLayer:async()=>(await import(`../CatalogLayer.js`)).default,DimensionFeatureLayer:async()=>(await import(`../DimensionFeatureLayer.js`)).default,DimensionLayer:async()=>(await import(`../DimensionLayer.js`)).default,ElevationLayer:async()=>(await import(`../ElevationLayer.js`)).default,FeatureLayer:async()=>(await import(`../FeatureLayer.js`)).default,GaussianSplatLayer:async()=>(await import(`../GaussianSplatLayer.js`)).default,GeoJSONLayer:async()=>(await import(`../GeoJSONLayer.js`)).default,GeoRSSLayer:async()=>(await import(`../GeoRSSLayer.js`)).default,GroupLayer:async()=>(await import(`../GroupLayer.js`)).default,ImageryLayer:async()=>(await import(`../ImageryLayer.js`)).default,ImageryTileLayer:async()=>(await import(`../ImageryTileLayer.js`)).default,IntegratedMesh3DTilesLayer:async()=>(await import(`../IntegratedMesh3DTilesLayer.js`)).default,IntegratedMeshLayer:async()=>(await import(`../IntegratedMeshLayer.js`)).default,KMLLayer:async()=>(await import(`../KMLLayer.js`)).default,KnowledgeGraphLayer:async()=>(await import(`../KnowledgeGraphLayer.js`)).default,LineOfSightLayer:async()=>(await import(`../LineOfSightLayer.js`)).default,LinkChartLayer:async()=>(await import(`../LinkChartLayer.js`)).default,MapImageLayer:async()=>(await import(`../MapImageLayer.js`)).default,MapNotesLayer:async()=>(await import(`../MapNotesLayer.js`)).default,MediaLayer:async()=>(await import(`../MediaLayer.js`)).default,OGCFeatureLayer:async()=>(await import(`../OGCFeatureLayer.js`)).default,OpenStreetMapLayer:async()=>(await import(`../OpenStreetMapLayer.js`)).default,OrientedImageryLayer:async()=>(await import(`../OrientedImageryLayer.js`)).default,ParquetLayer:async()=>(await import(`../ParquetLayer.js`)).default,PointCloudLayer:async()=>(await import(`../PointCloudLayer.js`)).default,RouteLayer:async()=>(await import(`../RouteLayer.js`)).default,SceneLayer:async()=>(await import(`../SceneLayer.js`)).default,SketchLayer:async()=>(await import(`../SketchLayer.js`)).default,StreamLayer:async()=>(await import(`../StreamLayer.js`)).default,SubtypeGroupLayer:async()=>(await import(`../SubtypeGroupLayer.js`)).default,TileLayer:async()=>(await import(`../TileLayer.js`)).default,UnknownLayer:async()=>(await import(`../UnknownLayer.js`)).default,UnsupportedLayer:async()=>(await import(`../UnsupportedLayer.js`)).default,VectorTileLayer:async()=>(await import(`../VectorTileLayer.js`)).default,VideoLayer:async()=>(await import(`../VideoLayer.js`)).default,ViewshedLayer:async()=>(await import(`../ViewshedLayer.js`)).default,VoxelLayer:async()=>(await import(`../VoxelLayer.js`)).default,WCSLayer:async()=>(await import(`../WCSLayer.js`)).default,WFSLayer:async()=>(await import(`../WFSLayer.js`)).default,WMSLayer:async()=>(await import(`../WMSLayer.js`)).default,WMTSLayer:async()=>(await import(`../WMTSLayer.js`)).default,WebTileLayer:async()=>(await import(`../WebTileLayer.js`)).default};export{e as layersLoaderMap};
@@ -75,7 +75,7 @@ export interface ParquetLayerInfoOptions extends AbortOptions {
75
75
  * Throws an error if the parquet file is empty or if the information cannot be determined.
76
76
  *
77
77
  * @param data - The data source for the parquet layer. Pass a [ParquetFilesData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/), a
78
- * [ParquetPortalItemData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetPortalItemData/), or an array of URLs pointing to parquet files for backward compatibility.
78
+ * [PortalItemData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/PortalItemData/), or an array of URLs pointing to parquet files for backward compatibility.
79
79
  * @param options - An object specifying additional options. See [ParquetLayerInfoOptions](https://developers.arcgis.com/javascript/latest/references/core/layers/support/parquetUtils/#ParquetLayerInfoOptions) for details.
80
80
  * @returns A promise that resolves to the parquet layer information.
81
81
  * @example
@@ -645,7 +645,7 @@ export type ParquetGeometryEncodingUnion = GeometryEncodingWkb | GeometryEncodin
645
645
  *
646
646
  * @since 5.1
647
647
  */
648
- export type ParquetDataUnion = ParquetFilesData | ParquetPortalItemData;
648
+ export type ParquetDataUnion = ParquetFilesData | ParquetPortalItemData | PortalItemData;
649
649
 
650
650
  /**
651
651
  * Supported GeospatialPDF data source types.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcgis/core",
3
- "version": "6.0.0-next.1",
3
+ "version": "6.0.0-next.11",
4
4
  "description": "ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API",
5
5
  "keywords": [
6
6
  "ArcGIS",
@@ -19,8 +19,8 @@
19
19
  "type": "module",
20
20
  "license": "SEE LICENSE IN LICENSE.md",
21
21
  "dependencies": {
22
- "@amcharts/amcharts5": "~5.20.8",
23
- "@arcgis/toolkit": "6.0.0-next.1",
22
+ "@amcharts/amcharts5": "~5.21.0",
23
+ "@arcgis/toolkit": "6.0.0-next.11",
24
24
  "@esri/arcgis-html-sanitizer": "~4.2.0-next.2",
25
25
  "@esri/calcite-components": "^5.2.0-next.89",
26
26
  "@vaadin/grid": "~25.3.2",
@@ -20,7 +20,7 @@ import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
20
20
  import type { FeatureAbilitiesProperties } from "./support/FeatureAbilities.js";
21
21
  import type { PointProperties } from "../geometry/Point.js";
22
22
 
23
- export interface FeaturesModelProperties extends GoToProperties, Partial<Pick<FeaturesModel, "activeFeature" | "aggregatedFeaturesEnabled" | "content" | "defaultPopupTemplateEnabled" | "featurePage" | "features" | "featuresPerPage" | "featureStream" | "heading" | "highlightEnabled" | "includeDefaultActions" | "initialDisplayMode" | "map" | "open" | "selectedFeatureIndex" | "updateLocationEnabled" | "view" | "zoomFactor">> {
23
+ export interface FeaturesModelProperties extends GoToProperties, Partial<Pick<FeaturesModel, "activeFeature" | "aggregatedFeaturesEnabled" | "content" | "defaultPopupTemplateEnabled" | "featureMenuOpen" | "featurePage" | "features" | "featuresPerPage" | "featureStream" | "heading" | "highlightEnabled" | "includeDefaultActions" | "initialDisplayMode" | "map" | "open" | "selectedFeatureIndex" | "updateLocationEnabled" | "view" | "zoomFactor">> {
24
24
  /**
25
25
  * [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of [action](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionButton/) or [action toggle](https://developers.arcgis.com/javascript/latest/references/core/support/actions/ActionToggle/) objects.
26
26
  * Each action may be executed by clicking the icon or image symbolizing them.
@@ -191,9 +191,28 @@ export default class FeaturesModel extends FeaturesModelSuperclass {
191
191
  /** Defines the specific [FeatureAbilities](https://developers.arcgis.com/javascript/latest/references/core/popup/support/FeatureAbilities/) that can be used when querying and displaying content. */
192
192
  get featureItemAbilities(): FeatureAbilities | null | undefined;
193
193
  set featureItemAbilities(value: FeatureAbilitiesProperties | null | undefined);
194
- /** An array of [FeatureModel](https://developers.arcgis.com/javascript/latest/references/core/popup/FeatureModel/) items. */
195
- get featureItems(): FeatureModel[];
196
- /** The current page number in the feature browsing menu. If the feature menu is not open, this value is `null`. This value is dependent on the [featuresPerPage](https://developers.arcgis.com/javascript/latest/references/core/popup/FeaturesModel/#featuresPerPage). */
194
+ /**
195
+ * This property enables showing the list of features.
196
+ * Setting this to `true` allows the user to scroll through the list of features.
197
+ * This value will only be honored if [initialDisplayMode](https://developers.arcgis.com/javascript/latest/references/core/popup/FeaturesModel/#initialDisplayMode) is set to `feature`.
198
+ *
199
+ * @default false
200
+ * @internal
201
+ */
202
+ accessor featureMenuOpen: boolean;
203
+ /**
204
+ * Lazily created models indexed by their position in features.
205
+ *
206
+ * @internal
207
+ */
208
+ get featureModels(): FeatureModel[];
209
+ /**
210
+ * The number of feature batches prepared for browsing. Each batch contains up to [featuresPerPage](https://developers.arcgis.com/javascript/latest/references/core/popup/FeaturesModel/#featuresPerPage) features. This value is `null` when there are no features.
211
+ *
212
+ * Set this value to `1` to reset browsing, or increment it by one to prepare the next batch. Other assignments are ignored. Selecting a feature does not change this value; use [selectedFeatureIndex](https://developers.arcgis.com/javascript/latest/references/core/popup/FeaturesModel/#selectedFeatureIndex) to select any feature independently of browsing.
213
+ *
214
+ * @default null
215
+ */
197
216
  accessor featurePage: number | null | undefined;
198
217
  /**
199
218
  * An array of features. Each [Graphic](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) in this array must have a valid [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) set. They may share the same [PopupTemplate](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) or have unique [PopupTemplates](https://developers.arcgis.com/javascript/latest/references/core/PopupTemplate/) depending on their attributes.
@@ -246,6 +265,8 @@ export default class FeaturesModel extends FeaturesModelSuperclass {
246
265
  /**
247
266
  * Streams features into the component as they become available.
248
267
  *
268
+ * The first feature is published immediately. Subsequent features are published in short batches, with remaining results published when the stream completes or fails. Clearing or replacing the stream discards its unpublished results.
269
+ *
249
270
  * @internal
250
271
  */
251
272
  accessor featureStream: AsyncGenerator<Graphic> | null | undefined;
@@ -281,7 +302,7 @@ export default class FeaturesModel extends FeaturesModelSuperclass {
281
302
  accessor includeDefaultActions: boolean;
282
303
  /**
283
304
  * Indicates whether to initially display a list of features, or the content for one feature.
284
- * By default, a list is displayed when the associated view has `focusRegionEnabled` enabled; otherwise, the content for one feature is displayed.
305
+ * By default, a list is displayed when the associated view has `focusRegionVisible` enabled; otherwise, the content for one feature is displayed.
285
306
  */
286
307
  accessor initialDisplayMode: InitialDisplayOptions;
287
308
  /**
@@ -384,7 +405,7 @@ export default class FeaturesModel extends FeaturesModelSuperclass {
384
405
  * > - Values from `date` and `timestamp-offset` [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#type) should respect the associated [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone) or [SceneView](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#timeZone).
385
406
  */
386
407
  accessor view: MapViewOrSceneView | null | undefined;
387
- /** Indicates whether the FeaturesModel is waiting for content to be generated for any of the [feature items](https://developers.arcgis.com/javascript/latest/references/core/popup/FeaturesModel/#featureItems). This property is `true` when at least one feature item is waiting for content to be generated. When all feature items have content, this property becomes `false`. */
408
+ /** Indicates whether content is being generated for any currently loaded feature models. */
388
409
  get waitingForContents(): boolean;
389
410
  /**
390
411
  * Indicates whether the current feature stream is waiting to yield its first feature. Previously displayed features remain available while this property is `true`. It becomes `false` when the current stream yields a feature or completes.
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Error.js";import{EventedAccessor as n}from"../core/Evented.js";import r from"../core/Logger.js";import{abortMaybe as i}from"../core/maybe.js";import{debounce as a,logOnError as o,isAbortError as s}from"../core/promiseUtils.js";import{watch as c,when as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import f from"../geometry/Point.js";import{project as p}from"../geometry/projectionUtils.js";import m from"../geometry/SpatialReference.js";import{geographicToWebMercator as h}from"../geometry/support/webMercatorUtils.js";import{getGraphicLayer as g}from"../graphic/graphicOriginUtils.js";import{fallbackObjectIDAttribute as _}from"../layers/LayerConstants.js";import{ActionsCollection as v,createDefaultActions as y}from"./actions.js";import{getSelectedTarget as b}from"./actionUtils.js";import x from"./FeatureModel.js";import S from"./support/FeatureAbilities.js";import{getDisplayedSymbol as C}from"../symbols/support/symbolUtils.js";import{system as w}from"../time/constants.js";import{highlightsSupported as T}from"../views/support/layerViewUtils.js";import{GoTo as E}from"../widgets/support/GoTo.js";let D=null;function O(e,t){switch(e){case`building-scene`:case`map-image`:case`tile`:case`imagery`:return!0;case`imagery-tile`:return t===`2d`;default:return!1}}let k=class extends E(n){constructor(e){super(e),this._centerAtLocationController=null,this._locationUpdateController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._defaultFeatureAbilities=new S,this._activeFeatureStream=null,this._featureStreamHasYielded=!1,this.actions=new v,this.activeFeature=null,this.aggregatedFeaturesEnabled=!1,this.defaultPopupTemplateEnabled=!1,this.diagnostics=null,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureItemAbilities=null,this.featureItems=[],this.heading=null,this.highlightEnabled=!0,this.includeDefaultActions=!0,this.open=!1,this.updateLocationEnabled=!1,this.view=null,this.zoomFactor=4,this._debouncedLocationUpdate=a(async()=>{this._cancelLocationUpdate();let e=new AbortController,{signal:t}=e;this._locationUpdateController=e,await this._locationUpdate({signal:t}).catch(()=>{}).finally(()=>{this._locationUpdateController===e&&(this._locationUpdateController=null)})})}initialize(){this.addHandles([c(()=>this.view?.scale,()=>{this.open&&o(this._debouncedLocationUpdate(),r.getLogger(this))}),c(()=>[this.highlightEnabled,this.selectedFeature,this.open,this.view],()=>this._highlightSelectedFeature()),c(()=>[this.highlightEnabled,this.activeFeature,this.open,this.view],()=>this._highlightActiveFeature()),c(()=>this.location,e=>this._locationChange(e)),c(()=>this.selectedFeature,e=>this._selectedFeatureChange(e)),c(()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage],()=>this._selectedFeatureIndexChange()),c(()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureItems],()=>this._setGraphicOnFeatureItems()),c(()=>this.featureItems,()=>this._featureItemsChange()),c(()=>[this.featureItemAbilities?.attachmentsContent,this.featureItemAbilities?.chartAnimation,this.featureItemAbilities?.customContent,this.featureItemAbilities?.expressionContent,this.featureItemAbilities?.fieldsContent,this.featureItemAbilities?.mediaContent,this.featureItemAbilities?.relationshipContent,this.featureItemAbilities?.textContent,this.featureItemAbilities?.utilityNetworkAssociationsContent,this.actions,this.includeDefaultActions,this.features,this.map,this.spatialReference,this.timeZone],()=>this._updateFeatureItems()),l(()=>!this.open,()=>this.aggregatedFeaturesEnabled=!1)])}destroy(){this._cancelLocationUpdate(),this._cancelCenterAtLocation(),this._cancelFeatureStream(),this.aggregatedFeaturesEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get defaultActions(){let e=this._get(`defaultActions`)||new v;return e.removeAll(),e.addMany(this.selectedFeatureItem?.defaultActions.toArray()??y()),e}get active(){return this.open&&!this.waitingForResult}set content(e){this.featureStream=null,this._set(`diagnostics`,null),this.features=[],this._set(`content`,e)}get effectiveHeading(){return this.selectedFeatureItem?.heading??this.heading}get featureCount(){return this.features.length}set features(e){if(this._get(`features`)===e)return;let t=e||[];this._set(`features`,t),this._syncSelectedFeatureIndex(t)}get featureStream(){return this._get(`featureStream`)||null}set featureStream(e){this._setFeatureStream(e)}_setFeatureStream(e,t,n){this._set(`diagnostics`,n??null),this._get(`featureStream`)!==e&&(this._set(`featureStream`,e),this._cancelFeatureStream(),e&&(this._featureStreamHasYielded=!1,this._set(`pendingLocation`,t??null),this._activeFeatureStream=e,this._consumeFeatureStream(e,t).catch(()=>{})))}get initialDisplayMode(){return this._initialDisplayMode??(this.view?.focusRegionEnabled?`list`:`feature`)}set initialDisplayMode(e){this._initialDisplayMode=e,this._syncSelectedFeatureIndex(this.features)}set location(e){let t=e?.spatialReference?.isWGS84&&this.spatialReference?.isWebMercator?h(e):e;this._set(`location`,t)}get map(){return this.view?.map??null}set map(e){this._override(`map`,e)}get pendingLocation(){return this._get(`pendingLocation`)??null}get streamingFeatures(){return this._activeFeatureStream!=null}get selectedFeature(){return this.selectedFeatureIndex===-1?null:this.features[this.selectedFeatureIndex]??null}get selectedFeatureIndex(){let e=this._get(`selectedFeatureIndex`);return typeof e==`number`?e:-1}set selectedFeatureIndex(e){let{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set(`selectedFeatureIndex`,e)}get selectedFeatureItem(){return this.featureItems[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override(`spatialReference`,e)}get state(){return this.view?this.view.ready?`ready`:`disabled`:this.map?`ready`:`disabled`}get timeZone(){return this.view?.timeZone??w}set timeZone(e){this._overrideIfSome(`timeZone`,e)}get waitingForContents(){return this.featureItems.some(e=>e.waitingForContent)}get waitingForResult(){return this.streamingFeatures&&!this._featureStreamHasYielded}zoomTo(e){return this.callGoTo(e)}clear(){this._cancelFeatureStream(),this._set(`diagnostics`,null),this.set({featureStream:null,features:[],content:null,heading:null,location:null,activeFeature:null})}openFeatureStream(e){this._setFeatureStream(e.featureStream,e.location??null,e.diagnostics),this.open=!0}async fetchFeatures(e,n){let{view:r}=this;if(!r||!e)throw new t(`fetch-features:invalid-screenpoint-or-view`,`Cannot fetch features without a screen point/screen area and view.`,{screenPoint:e,view:r});let i={},a=r.fetchPopupFeatures(e,{diagnostics:i,pointerType:n?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:n?.signal});this._setFeatureStream(a,void 0,i)}next(){this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount)}previous(){this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount)}_syncSelectedFeatureIndex(e){let{selectedFeatureIndex:t}=this,n=this._activeFeatureStream!=null&&e.length>0;this.initialDisplayMode===`list`?n||(this.selectedFeatureIndex=-1):n&&t===-1?this.selectedFeatureIndex=0:n&&t!==-1||(this.selectedFeatureIndex=e.length?0:-1)}_centerAtLocation(){let{view:e}=this,n=b(this);this._cancelCenterAtLocation();let i=new AbortController,{signal:a}=i;return this._centerAtLocationController=i,!n||!e?Promise.reject(new t(`center-at-location:invalid-target-or-view`,`Cannot center at a location without a target and view.`,{target:n,view:e})):this.callGoTo({target:{target:n,scale:e.scale},options:{signal:a}}).catch(e=>{s(e)||r.getLogger(this).error(e)})}_getRoundRobinIndex(e,t){return(e+t)%t}_locationChange(e){let{selectedFeature:t,updateLocationEnabled:n,view:r}=this;r&&!this._locationUpdateController&&n&&e&&(!t||t.geometry)&&this._centerAtLocation()}_selectedFeatureIndexChange(){this.selectedFeatureIndex!==-1&&(this.featurePage=this.featureCount>0?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null)}_featureItemsChange(){this.featurePage=this.featureCount>0?1:null}_setGraphicOnFeatureItems(){let{features:e,featureCount:t,featurePage:n,featuresPerPage:r,featureItems:i}=this;if(n==null)return;let a=((n-1)*r+t)%t,o=Math.min(a+r,i.length);for(let t=a;t<o;t++){let n=i[t];n&&(n.graphic??=e[t])}}async _selectedFeatureChange(e){let{location:t,updateLocationEnabled:n,view:r}=this;if(this.aggregatedFeaturesEnabled=!1,!e||!r)return;let i=g(e)?.type;if((i===`map-image`||i===`imagery`||i===`imagery-tile`)&&(e.symbol=await C(e)),(n||!t)&&e.geometry){if(e.geometry.type===`point`){this.location=e.geometry;return}let{labelPointExecute:t}=await import(`../geometry/operators/labelPointOperator.js`);this.location=t(e.geometry)}else if(n&&!e.geometry){await this._centerAtLocation();let e=r.center?.clone();e&&(this.location=e)}}_waitingForResultChange(){!this.featureCount&&this.featureStream&&(this.open=!1)}_destroyFeatureItems(){this.featureItems.forEach(e=>e&&!e.destroyed&&e.destroy()),this._set(`featureItems`,[])}_updateFeatureItems(){let e=this.selectedFeature,t=this.features,n=this.featureItems,r=this.view,i=this.spatialReference,a=this.map,o=this.timeZone,s=this.location,c=this.actions,l=this.includeDefaultActions,u=this.featureItemAbilities??this._defaultFeatureAbilities;if(!t?.length){this._destroyFeatureItems();return}let d=[],f=new Map,p=new Set;n.forEach(e=>{let t=e?.graphic;e&&t&&f.set(t,e)}),t.forEach((t,m)=>{if(!t)return;let h=n[m];if(h&&!p.has(h)&&(h.graphic==null||h.graphic===t)){h.abilities=u,h.actions=c,h.includeDefaultActions=l,d[m]=h,p.add(h);return}let g=f.get(t);if(g&&!p.has(g)){g.abilities=u,g.actions=c,g.includeDefaultActions=l,d[m]=g,p.add(g);return}let _=new x({actions:c,abilities:u,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,includeDefaultActions:l,spatialReference:i,graphic:t===e?t:null,location:s,map:a,view:r,timeZone:o});d[m]=_,p.add(_)}),n.forEach(e=>{e&&!p.has(e)&&!e.destroyed&&e.destroy()}),this._set(`featureItems`,d)}_cancelCenterAtLocation(){this._centerAtLocationController=i(this._centerAtLocationController)}_cancelFeatureStream(){let e=this._activeFeatureStream;this._activeFeatureStream=null,this._set(`pendingLocation`,null),this._get(`featureStream`)===e&&this._set(`featureStream`,null),e?.return&&e.return(void 0).catch(()=>{})}async _locationUpdate(e){let{spatialReference:t}=this,n=this.selectedFeature,i=n?.geometry?.type,a=this.location;if(i&&i!==`mesh`&&t&&a&&n){if(i===`point`){let{labelPointExecute:t}=await import(`../geometry/operators/labelPointOperator.js`);if(e?.signal?.aborted||this.selectedFeature!==n||!n.geometry)return;this.location=t(n.geometry)}else try{let r=n.geometry,i=this._getHighlightLayer(n),o=n.getObjectId();if(!i||!this.view)return;if(o!=null){let n=this.view?.allLayerViews.find(e=>e.layer.uid===i.uid);if(!n||!(`queryFeatures`in n))return;let a=n.createQuery();a.outSpatialReference=t,a.objectIds=[o],a.returnGeometry=!0;let{features:s}=await n.queryFeatures(a,e);if(e?.signal?.aborted)return;r=s[0]?.geometry}if(!r||r.type===`mesh`)return;r=p(r,t),D??=await Promise.all([import(`../geometry/operators/intersectsOperator.js`),import(`../geometry/operators/proximityOperator.js`)]);let[{intersectsExecute:s},{proximityGetNearestCoordinate:c}]=D;if(!s(r,a)){let e=c(r,a).coordinate??a;this.selectedFeature===n&&(this.location=e)}}catch(e){s(e)||r.getLogger(this).error(e)}}}_cancelLocationUpdate(){this._locationUpdateController=i(this._locationUpdateController)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){let t=g(e),{layer:n}=e;return t&&`layer`in t&&t.layer?t.layer:t?.type===`map-notes`||t?.type===`sketch`||t?.type===`subtype-group`?t:n??t}_getHighlightLayerView(e,t){return t.type===`subtype-sublayer`&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,n){if(O(t.type,n))return e;let r=e.getObjectId();if(r!=null)return r;let i=t.type===`imagery`?void 0:`objectIdField`in t?t.objectIdField||_:null,a=e.attributes;return a&&i&&a[i]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);let n=this[t];if(!n)return;let{highlightEnabled:r,view:i,open:a}=this;if(!i||!r||!a)return;let o=this._getHighlightLayer(n);if(!o)return;let s=this._getHighlightLayerView(i,o);if(!s)return;this._highlightPromises[e]=s;let c=await s;if(!c||!T(c)||this._highlightPromises[e]!==s||!this[t]||!this.highlightEnabled)return;let l=c.highlight(this._getHighlightTarget(n,o,i.type));this.addHandles(l,e)}async _highlightActiveFeature(){return this._highlightFeature(`highlight-active-feature`,`activeFeature`)}async _highlightSelectedFeature(){return this._highlightFeature(`highlight-selected-feature`,`selectedFeature`)}async _consumeFeatureStream(e,t){try{for await(let n of e){if(e!==this._activeFeatureStream)return;let r=!this._featureStreamHasYielded;r&&(this.features=[]),t!==void 0&&(this.location=t,t=void 0),this._set(`pendingLocation`,null),this._addFeature(n),r&&(this._featureStreamHasYielded=!0)}}finally{this._activeFeatureStream===e&&(this._featureStreamHasYielded||(this.features=[]),this._activeFeatureStream=null,this._set(`pendingLocation`,null),this._waitingForResultChange())}}_addFeature(e){let{features:t}=this;t.includes(e)||(this.features=t.concat(e))}};e([u()],k.prototype,`_initialDisplayMode`,void 0),e([u()],k.prototype,`_activeFeatureStream`,void 0),e([u()],k.prototype,`_featureStreamHasYielded`,void 0),e([u({type:v})],k.prototype,`actions`,void 0),e([u({type:v,readOnly:!0})],k.prototype,`defaultActions`,null),e([u({readOnly:!0})],k.prototype,`active`,null),e([u()],k.prototype,`activeFeature`,void 0),e([u()],k.prototype,`aggregatedFeaturesEnabled`,void 0),e([u({value:null})],k.prototype,`content`,null),e([u({type:Boolean})],k.prototype,`defaultPopupTemplateEnabled`,void 0),e([u({readOnly:!0})],k.prototype,`diagnostics`,void 0),e([u({readOnly:!0})],k.prototype,`effectiveHeading`,null),e([u({readOnly:!0})],k.prototype,`featureCount`,null),e([u()],k.prototype,`featurePage`,void 0),e([u({value:[]})],k.prototype,`features`,null),e([u()],k.prototype,`featureStream`,null),e([u()],k.prototype,`featuresPerPage`,void 0),e([u()],k.prototype,`featureMenuOpen`,void 0),e([u({type:S})],k.prototype,`featureItemAbilities`,void 0),e([u({readOnly:!0})],k.prototype,`featureItems`,void 0),e([u()],k.prototype,`heading`,void 0),e([u()],k.prototype,`highlightEnabled`,void 0),e([u()],k.prototype,`includeDefaultActions`,void 0),e([u()],k.prototype,`initialDisplayMode`,null),e([u({type:f})],k.prototype,`location`,null),e([u()],k.prototype,`map`,null),e([u()],k.prototype,`open`,void 0),e([u({readOnly:!0})],k.prototype,`pendingLocation`,null),e([u({readOnly:!0})],k.prototype,`streamingFeatures`,null),e([u({value:null,readOnly:!0})],k.prototype,`selectedFeature`,null),e([u({value:-1})],k.prototype,`selectedFeatureIndex`,null),e([u({readOnly:!0})],k.prototype,`selectedFeatureItem`,null),e([u({type:m})],k.prototype,`spatialReference`,null),e([u({readOnly:!0})],k.prototype,`state`,null),e([u()],k.prototype,`timeZone`,null),e([u()],k.prototype,`updateLocationEnabled`,void 0),e([u()],k.prototype,`view`,void 0),e([u({readOnly:!0})],k.prototype,`waitingForContents`,null),e([u({readOnly:!0})],k.prototype,`waitingForResult`,null),e([u()],k.prototype,`zoomFactor`,void 0),k=e([d(`esri.popup.FeaturesModel`)],k);const A=k;export{A as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Error.js";import{EventedAccessor as n}from"../core/Evented.js";import r from"../core/Logger.js";import{abortMaybe as i}from"../core/maybe.js";import{debounce as a,logOnError as o,isAbortError as s}from"../core/promiseUtils.js";import{watch as c,when as l}from"../core/reactiveUtils.js";import{throttle as u}from"../core/throttle.js";import{property as d,subclass as f}from"../core/accessorSupport/decorators.js";import p from"../geometry/Point.js";import{project as m}from"../geometry/projectionUtils.js";import h from"../geometry/SpatialReference.js";import{geographicToWebMercator as g}from"../geometry/support/webMercatorUtils.js";import{getGraphicLayer as _}from"../graphic/graphicOriginUtils.js";import{fallbackObjectIDAttribute as v}from"../layers/LayerConstants.js";import{ActionsCollection as y,createDefaultActions as b}from"./actions.js";import{getSelectedTarget as x}from"./actionUtils.js";import S from"./FeatureModel.js";import C from"./support/FeatureAbilities.js";import{getDisplayedSymbol as w}from"../symbols/support/symbolUtils.js";import{system as T}from"../time/constants.js";import{highlightsSupported as E}from"../views/support/layerViewUtils.js";import{GoTo as D}from"../widgets/support/GoTo.js";const O=Symbol(`feature-stream-flush`);let k=null;function A(e,t){switch(e){case`building-scene`:case`map-image`:case`tile`:case`imagery`:return!0;case`imagery-tile`:return t===`2d`;default:return!1}}let j=class extends D(n){constructor(e){super(e),this._centerAtLocationController=null,this._locationUpdateController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._defaultFeatureAbilities=new C,this._activeFeatureStream=null,this._featureStreamHasYielded=!1,this.actions=new y,this.activeFeature=null,this.aggregatedFeaturesEnabled=!1,this.defaultPopupTemplateEnabled=!1,this.diagnostics=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureItemAbilities=null,this.featureModels=[],this.heading=null,this.highlightEnabled=!0,this.includeDefaultActions=!0,this.open=!1,this.updateLocationEnabled=!1,this.view=null,this.zoomFactor=4,this._debouncedLocationUpdate=a(async()=>{this._cancelLocationUpdate();let e=new AbortController,{signal:t}=e;this._locationUpdateController=e,await this._locationUpdate({signal:t}).catch(()=>{}).finally(()=>{this._locationUpdateController===e&&(this._locationUpdateController=null)})})}initialize(){this.addHandles([c(()=>this.view?.scale,()=>{this.open&&o(this._debouncedLocationUpdate(),r.getLogger(this))}),c(()=>[this.highlightEnabled,this.selectedFeature,this.open,this.view],()=>this._highlightSelectedFeature()),c(()=>[this.highlightEnabled,this.activeFeature,this.open,this.view],()=>this._highlightActiveFeature()),c(()=>this.location,e=>this._locationChange(e)),c(()=>this.selectedFeature,e=>this._selectedFeatureChange(e)),c(()=>[this.featurePage,this.selectedFeatureIndex,this.featuresPerPage,this.featureMenuOpen,this.open,this.initialDisplayMode,this.featureItemAbilities?.attachmentsContent,this.featureItemAbilities?.chartAnimation,this.featureItemAbilities?.customContent,this.featureItemAbilities?.expressionContent,this.featureItemAbilities?.fieldsContent,this.featureItemAbilities?.mediaContent,this.featureItemAbilities?.relationshipContent,this.featureItemAbilities?.textContent,this.featureItemAbilities?.utilityNetworkAssociationsContent,this.actions,this.defaultPopupTemplateEnabled,this.includeDefaultActions,this.features,this.map,this.spatialReference,this.timeZone],()=>this._updateFeatureModels(),{initial:!0}),l(()=>!this.open,()=>this.aggregatedFeaturesEnabled=!1)])}destroy(){this._cancelLocationUpdate(),this._cancelCenterAtLocation(),this._cancelFeatureStream(),this._destroyFeatureModels(),this.aggregatedFeaturesEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get defaultActions(){let e=this._get(`defaultActions`)||new y;return e.removeAll(),e.addMany(this.selectedFeatureItem?.defaultActions.toArray()??b()),e}get active(){return this.open&&!this.waitingForResult}set content(e){this.featureStream=null,this._set(`diagnostics`,null),this.features=[],this._set(`content`,e)}get effectiveHeading(){return this.selectedFeatureItem?.heading??this.heading}get featureCount(){return this.features.length}get featurePage(){return this._get(`featurePage`)}set featurePage(e){e==null?this.featureCount||this._set(`featurePage`,null):!Number.isInteger(e)||e<1||e>Math.ceil(this.featureCount/this.featuresPerPage)||e!==1&&e!==(this.featurePage??0)+1||this._set(`featurePage`,e)}set features(e){if(this._get(`features`)===e)return;let t=e||[];this._set(`features`,t),(!this._activeFeatureStream||!t.length||this.featurePage==null)&&(this.featurePage=t.length?1:null),this._syncSelectedFeatureIndex(t)}get featureStream(){return this._get(`featureStream`)||null}set featureStream(e){this._setFeatureStream(e)}_setFeatureStream(e,t,n){this._set(`diagnostics`,n??null),this._get(`featureStream`)!==e&&(this._set(`featureStream`,e),this._cancelFeatureStream(),e&&(this._featureStreamHasYielded=!1,this._set(`pendingLocation`,t??null),this._activeFeatureStream=e,this._consumeFeatureStream(e,t).catch(()=>{})))}get initialDisplayMode(){return this._initialDisplayMode??(this.view?.focusRegionVisible?`list`:`feature`)}set initialDisplayMode(e){this._initialDisplayMode=e,this._syncSelectedFeatureIndex(this.features)}set location(e){let t=e?.spatialReference?.isWGS84&&this.spatialReference?.isWebMercator?g(e):e;this._set(`location`,t)}get map(){return this.view?.map??null}set map(e){this._override(`map`,e)}get pendingLocation(){return this._get(`pendingLocation`)??null}get streamingFeatures(){return this._activeFeatureStream!=null}get selectedFeature(){return this.selectedFeatureIndex===-1?null:this.features[this.selectedFeatureIndex]??null}get selectedFeatureIndex(){let e=this._get(`selectedFeatureIndex`);return typeof e==`number`?e:-1}set selectedFeatureIndex(e){let{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set(`selectedFeatureIndex`,e)}get selectedFeatureItem(){return this.featureModels[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override(`spatialReference`,e)}get state(){return this.view?this.view.ready?`ready`:`disabled`:this.map?`ready`:`disabled`}get timeZone(){return this.view?.timeZone??T}set timeZone(e){this._overrideIfSome(`timeZone`,e)}get waitingForContents(){return this.featureModels.some(e=>e.waitingForContent)}get waitingForResult(){return this.streamingFeatures&&!this._featureStreamHasYielded}zoomTo(e){return this.callGoTo(e)}clear(){this._cancelFeatureStream(),this._set(`diagnostics`,null),this.set({featureStream:null,features:[],content:null,heading:null,location:null,activeFeature:null})}openFeatureStream(e){this._setFeatureStream(e.featureStream,e.location??null,e.diagnostics),this.open=!0}async fetchFeatures(e,n){let{view:r}=this;if(!r||!e)throw new t(`fetch-features:invalid-screenpoint-or-view`,`Cannot fetch features without a screen point/screen area and view.`,{screenPoint:e,view:r});let i={},a=r.fetchPopupFeatures(e,{diagnostics:i,pointerType:n?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:n?.signal});this._setFeatureStream(a,void 0,i)}next(){this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount)}previous(){this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount)}_syncSelectedFeatureIndex(e){let{selectedFeatureIndex:t}=this,n=this._activeFeatureStream!=null&&e.length>0;this.initialDisplayMode===`list`?n||(this.selectedFeatureIndex=-1):n&&t===-1?this.selectedFeatureIndex=0:n&&t!==-1||(this.selectedFeatureIndex=e.length?0:-1)}_centerAtLocation(){let{view:e}=this,n=x(this);this._cancelCenterAtLocation();let i=new AbortController,{signal:a}=i;return this._centerAtLocationController=i,!n||!e?Promise.reject(new t(`center-at-location:invalid-target-or-view`,`Cannot center at a location without a target and view.`,{target:n,view:e})):this.callGoTo({target:{target:n,scale:e.scale},options:{signal:a}}).catch(e=>{s(e)||r.getLogger(this).error(e)})}_getRoundRobinIndex(e,t){return(e+t)%t}_locationChange(e){let{selectedFeature:t,updateLocationEnabled:n,view:r}=this;r&&!this._locationUpdateController&&n&&e&&(!t||t.geometry)&&this._centerAtLocation()}async _selectedFeatureChange(e){let{location:t,updateLocationEnabled:n,view:r}=this;if(this.aggregatedFeaturesEnabled=!1,!e||!r)return;let i=_(e)?.type;if((i===`map-image`||i===`imagery`||i===`imagery-tile`)&&(e.symbol=await w(e)),(n||!t)&&e.geometry){if(e.geometry.type===`point`){this.location=e.geometry;return}let{labelPointExecute:t}=await import(`../geometry/operators/labelPointOperator.js`);this.location=t(e.geometry)}else if(n&&!e.geometry){await this._centerAtLocation();let e=r.center?.clone();e&&(this.location=e)}}_waitingForResultChange(){!this.featureCount&&this.featureStream&&(this.open=!1)}_destroyFeatureModels(){this.featureModels.forEach(e=>e&&!e.destroyed&&e.destroy()),this._set(`featureModels`,[])}_reconcileFeatureModels(e){let t=[],n=new Map,r=[];if(this.featureModels.forEach((i,a)=>{let o=i?.graphic;!o||i.destroyed?i.destroy():e[a]===o?t[a]=i:(r.push(i),n.has(o)||n.set(o,[]))}),r.length){for(let r=e.length-1;r>=0;r--)t[r]||n.get(e[r])?.push(r);r.forEach(e=>{let r=n.get(e.graphic)?.pop();r==null?e.destroy():t[r]=e})}return t}_updateFeatureModels(){let{selectedFeature:e,features:t}=this;if(!t.length){this._destroyFeatureModels();return}let n={abilities:this.featureItemAbilities??this._defaultFeatureAbilities,actions:this.actions,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,includeDefaultActions:this.includeDefaultActions,spatialReference:this.spatialReference,location:this.location,map:this.map,view:this.view,timeZone:this.timeZone},r=this._reconcileFeatureModels(t);r.forEach(e=>e.set(n));let i=e=>{let i=t[e];i&&!r[e]&&(r[e]=new S({...n,graphic:i}))};if(e&&i(this.selectedFeatureIndex),(this.featurePage??0)>1||this.open&&(this.featureMenuOpen||this.initialDisplayMode===`list`)){let e=Math.min((this.featurePage??0)*this.featuresPerPage,t.length);for(let t=0;t<e;t++)i(t)}this._set(`featureModels`,r)}_cancelCenterAtLocation(){this._centerAtLocationController=i(this._centerAtLocationController)}_cancelFeatureStream(){this.removeHandles(O);let e=this._activeFeatureStream;this._activeFeatureStream=null,this._set(`pendingLocation`,null),this._get(`featureStream`)===e&&this._set(`featureStream`,null),e?.return&&e.return(void 0).catch(()=>{})}async _locationUpdate(e){let{spatialReference:t}=this,n=this.selectedFeature,i=n?.geometry?.type,a=this.location;if(i&&i!==`mesh`&&t&&a&&n){if(i===`point`){let{labelPointExecute:t}=await import(`../geometry/operators/labelPointOperator.js`);if(e?.signal?.aborted||this.selectedFeature!==n||!n.geometry)return;this.location=t(n.geometry)}else try{let r=n.geometry,i=this._getHighlightLayer(n),o=n.getObjectId();if(!i||!this.view)return;if(o!=null){let n=this.view?.allLayerViews.find(e=>e.layer.uid===i.uid);if(!n||!(`queryFeatures`in n))return;let a=n.createQuery();a.outSpatialReference=t,a.objectIds=[o],a.returnGeometry=!0;let{features:s}=await n.queryFeatures(a,e);if(e?.signal?.aborted)return;r=s[0]?.geometry}if(!r||r.type===`mesh`)return;r=m(r,t),k??=await Promise.all([import(`../geometry/operators/intersectsOperator.js`),import(`../geometry/operators/proximityOperator.js`)]);let[{intersectsExecute:s},{proximityGetNearestCoordinate:c}]=k;if(!s(r,a)){let e=c(r,a).coordinate??a;this.selectedFeature===n&&(this.location=e)}}catch(e){s(e)||r.getLogger(this).error(e)}}}_cancelLocationUpdate(){this._locationUpdateController=i(this._locationUpdateController)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){let t=_(e),{layer:n}=e;return t&&`layer`in t&&t.layer?t.layer:t?.type===`map-notes`||t?.type===`sketch`||t?.type===`subtype-group`?t:n??t}_getHighlightLayerView(e,t){return t.type===`subtype-sublayer`&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,n){if(A(t.type,n))return e;let r=e.getObjectId();if(r!=null)return r;let i=t.type===`imagery`?void 0:`objectIdField`in t?t.objectIdField||v:null,a=e.attributes;return a&&i&&a[i]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);let n=this[t];if(!n)return;let{highlightEnabled:r,view:i,open:a}=this;if(!i||!r||!a)return;let o=this._getHighlightLayer(n);if(!o)return;let s=this._getHighlightLayerView(i,o);if(!s)return;this._highlightPromises[e]=s;let c=await s;if(!c||!E(c)||this._highlightPromises[e]!==s||!this[t]||!this.highlightEnabled)return;let l=c.highlight(this._getHighlightTarget(n,o,i.type));this.addHandles(l,e)}async _highlightActiveFeature(){return this._highlightFeature(`highlight-active-feature`,`activeFeature`)}async _highlightSelectedFeature(){return this._highlightFeature(`highlight-selected-feature`,`selectedFeature`)}async _consumeFeatureStream(e,t){if(e!==this._activeFeatureStream)return;let n=[],r=u(()=>{let t=n;n=[],e===this._activeFeatureStream&&t.length&&this._addFeatures(t)},16);this.addHandles({remove:()=>{r.remove(),n=[]}},O);try{for await(let i of e){if(e!==this._activeFeatureStream)return;let a=!this._featureStreamHasYielded;a&&(this.features=[]),t!==void 0&&(this.location=t,t=void 0),this._set(`pendingLocation`,null),a?(this._addFeatures([i]),e===this._activeFeatureStream&&(this._featureStreamHasYielded=!0)):(n.push(i),r())}}finally{this._activeFeatureStream===e&&r.forceUpdate(),this._activeFeatureStream===e&&(this.removeHandles(O),this._featureStreamHasYielded||(this.features=[]),this._activeFeatureStream=null,this._set(`pendingLocation`,null),this._waitingForResultChange())}}_addFeatures(e){let{features:t}=this,n=new Set(t),r=e.filter(e=>!n.has(e)&&(n.add(e),!0));r.length&&(this.features=t.concat(r))}};e([d()],j.prototype,`_initialDisplayMode`,void 0),e([d()],j.prototype,`_activeFeatureStream`,void 0),e([d()],j.prototype,`_featureStreamHasYielded`,void 0),e([d({type:y})],j.prototype,`actions`,void 0),e([d({type:y,readOnly:!0})],j.prototype,`defaultActions`,null),e([d({readOnly:!0})],j.prototype,`active`,null),e([d()],j.prototype,`activeFeature`,void 0),e([d()],j.prototype,`aggregatedFeaturesEnabled`,void 0),e([d({value:null})],j.prototype,`content`,null),e([d({type:Boolean})],j.prototype,`defaultPopupTemplateEnabled`,void 0),e([d({readOnly:!0})],j.prototype,`diagnostics`,void 0),e([d({readOnly:!0})],j.prototype,`effectiveHeading`,null),e([d({readOnly:!0})],j.prototype,`featureCount`,null),e([d({value:null})],j.prototype,`featurePage`,null),e([d({value:[]})],j.prototype,`features`,null),e([d()],j.prototype,`featureStream`,null),e([d()],j.prototype,`featuresPerPage`,void 0),e([d()],j.prototype,`featureMenuOpen`,void 0),e([d({type:C})],j.prototype,`featureItemAbilities`,void 0),e([d({readOnly:!0})],j.prototype,`featureModels`,void 0),e([d()],j.prototype,`heading`,void 0),e([d()],j.prototype,`highlightEnabled`,void 0),e([d()],j.prototype,`includeDefaultActions`,void 0),e([d()],j.prototype,`initialDisplayMode`,null),e([d({type:p})],j.prototype,`location`,null),e([d()],j.prototype,`map`,null),e([d()],j.prototype,`open`,void 0),e([d({readOnly:!0})],j.prototype,`pendingLocation`,null),e([d({readOnly:!0})],j.prototype,`streamingFeatures`,null),e([d({value:null,readOnly:!0})],j.prototype,`selectedFeature`,null),e([d({value:-1})],j.prototype,`selectedFeatureIndex`,null),e([d({readOnly:!0})],j.prototype,`selectedFeatureItem`,null),e([d({type:h})],j.prototype,`spatialReference`,null),e([d({readOnly:!0})],j.prototype,`state`,null),e([d()],j.prototype,`timeZone`,null),e([d()],j.prototype,`updateLocationEnabled`,void 0),e([d()],j.prototype,`view`,void 0),e([d({readOnly:!0})],j.prototype,`waitingForContents`,null),e([d({readOnly:!0})],j.prototype,`waitingForResult`,null),e([d()],j.prototype,`zoomFactor`,void 0),j=e([f(`esri.popup.FeaturesModel`)],j);const M=j;export{M as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as n}from"../../layers/support/fetchService.js";import{LayerLoadContext as r}from"../../layers/support/LayerLoadContext.js";import{applyPreferredHostToPortalItem as i,isPreferredUrlApplicable as a,getPreferredHost as o}from"../../layers/support/layerUtils.js";import s from"../Portal.js";import{createForItemRead as c}from"./jsonContext.js";import{normalizeFSItemData as l,getSublayersByLayerType as u,getFirstLayerOrTable as d,preprocessFSItemData as f,populateSceneServiceItemData as p,getNumLayersAndTables as m,instanceTypeToLayerTypes as h,layerTypeToLayerModuleType as g,createSublayerData as _}from"./loadUtils.js";import{hasTypeKeyword as v}from"./portalItemUtils.js";import{loadStyleRenderer as y}from"../../renderers/support/styleUtils.js";import{requestServiceJSON as b}from"../../request/serviceJSON.js";async function x(e,t){let n=e.instance.portalItem;if(n?.id)return await n.load(t),C(e),e.validateItem&&e.validateItem(n),w(e,t)}async function S(e,t){let n=e.instance.portalItem;if(!n?.id||!n.loaded)return!1;let r=n.modified;return await n.reload(),t?.signal?.throwIfAborted(),r?.getTime()!==n.modified?.getTime()&&(C(e),e.validateItem&&e.validateItem(n),await w(e,t),!0)}function C(t){let n=t.instance.portalItem;if(!n?.type||!t.supportedTypes.includes(n.type))throw new e(`portal:invalid-layer-item-type`,"Invalid layer item type '${type}', expected '${expectedType}'",{type:n?.type,expectedType:t.supportedTypes.join(`, `)})}async function w(e,t){let n=e.instance,{portalItem:i,type:a}=n;if(!i)return;let{url:o}=i,{title:s}=i,l=c(i,`portal-item`);if(a===`group`)return T(n,l,e);o&&a!==`media`&&n.read({url:o},l);let{data:u,preferredHost:d}=await M(e,new r,t);return o=i.url,`isUrlHostModified`in n&&(d?n.applyPreferredHost({preferredHost:d}):n.applyHostFromPortalItem()),u&&n.read(u,l),n.resourceReferences={portalItem:i,paths:l.readResourcePaths??[]},a!==`subtype-group`&&n.read({title:s},l),y(n,l)}async function T(t,n,r){let i=t.portalItem;if(!t.sourceIsPortalItem)return;let{title:a,type:o}=i;if(o===`Group Layer`){if(!v(i,`Map`))throw new e(`portal:invalid-layer-item-typekeyword`,`'Group Layer' item without 'Map' type keyword is not supported`);return E(t,r)}return t.read({title:a},n),D(t,r)}async function E(t,n){let r=t.portalItem,i=await r.fetchData(`json`);if(!i)return;if(!n.populateGroupLayer)throw new e(`portal:missing-populate-group-layer`,`Missing populate group layer`);let a=c(r,`web-map`);t.read(i,a),await n.populateGroupLayer(t,i,{context:a}),t.resourceReferences={portalItem:r,paths:a.readResourcePaths??[]}}async function D(t,n){let a,{portalItem:o}=t;if(!o)return;let{type:s,url:c}=o,l=n.layerModuleTypeMap;if(!l)throw new e(`portal:missing-layer-module-type-map`,`Layer module type map is required to construct sub layers`);switch(s){case`Feature Service`:a=l.FeatureLayer;break;case`Stream Service`:a=l.StreamLayer;break;case`Scene Service`:a=l.SceneLayer;break;case`Feature Collection`:a=l.FeatureLayer;break;case`Video Service`:a=l.VideoLayer;break;default:throw new e(`portal:unsupported-item-type-as-group`,`The item type '${s}' is not supported as a 'GroupLayer'`)}let u=s===`Video Service`,h=new r,[g,{data:_}]=await Promise.all([a(),u?{data:null}:M(n,h)]),v=()=>g;if(u)return k(t,v,l);if(s===`Feature Service`){let e=d(_)?.customParameters,n=(await f(_,c,h)).data;v=await R(n,l)??v;let{provider:r,preferredHost:a}=await L(c,{customParameters:e,loadContext:h});return i(o,a),await A(t,v,v,n,l,r)}return s===`Scene Service`&&c&&(_=await p(o,_,h)),m(_)>0?await A(t,v,null,_,l):await O(t,v,l)}async function O(e,t,n){let{portalItem:r}=e;if(!r?.url)return;let i=await b(r.url);i&&A(e,t,null,{layers:i.layers?.map(e=>_(e)),tables:i.tables?.map(e=>_(e,!0))},n)}async function k(e,t,n){let{portalItem:r}=e;if(!r?.url)return;let i=await b(r.url);i&&A(e,t,null,{layers:i.layers?.map(({id:e,name:t})=>({id:e,name:t}))},n)}async function A(e,t,n,r,i,a){let o=r.layers??[],s=r.tables??[];if(e.portalItem?.type===`Feature Collection`?(o.forEach((e,t)=>{e.id=t,e?.layerDefinition?.type===`Table`&&s.push(e)}),o=o.filter(e=>e?.layerDefinition?.type!==`Table`)):(o.reverse(),s.reverse()),o.forEach(n=>{let i=a?.(n);if(i||!a){let a=j(e,t(n),r,n,i);e.add(a)}}),s.length){let t=n?null:await i.FeatureLayer();s.forEach(i=>{let o=a?.(i);if(o||!a){let a=j(e,n?n(i):t,r,i,o);e.tables.add(a)}})}}function j(e,t,n,r,i){let a=e.portalItem,o={portalItem:a.clone(),layerId:r.id};r.url!=null&&(o.url=r.url);let c=new t(o);if(`sourceJSON`in c&&(c.sourceJSON=i),c.type!==`subtype-group`&&c.type!==`catalog`&&(c.sublayerTitleMode=`service-name`),a.type===`Feature Collection`){let e={origin:`portal-item`,portal:a.portal??s.getDefault()};c.read(r,e);let t=n.showLegend;t!=null&&c.read({showLegend:t},e)}return c}async function M(e,t,n){if(e.supportsData===!1)return{data:void 0};let r=e.instance,{portalItem:a,type:o}=r;if(!a)return{data:void 0};let s=null;try{s=o===`video`?null:await a.fetchData(`json`,n)}catch{}if(F(r)){let{type:e,url:n}=a;if(e===`Feature Service`&&n)try{await l(s,n,t)}catch{}let c=null,{count:f,preferredHost:p}=await N(a,s,t);if(i(a,p),(s?.layers||s?.tables)&&f>0){if(r.layerId==null){let e=h(o),t=e?.length?u(s,e)[0]:d(s);t&&(r.layerId=t.id)}c=P(s,r),c?.layerType===`OrientedImageryLayer`&&o===`oriented-imagery`&&r.supportedSourceTypes.add(`Feature Layer`),c&&s.showLegend!=null&&(c.showLegend=s.showLegend)}return f>1&&`sublayerTitleMode`in r&&r.sublayerTitleMode!==`service-name`&&(r.sublayerTitleMode=`item-title-and-service-name`),{data:c,preferredHost:p}}return{data:s}}async function N(e,n,r){if(n?.layers&&n?.tables)return{count:m(n)};let i=t(e.url);if(!i)return{count:1};let s=i.url.path,c=await r.fetchServiceMetadata(s,{customParameters:d(n)?.customParameters}).catch(()=>null);return{count:(n?.layers?.length??c?.layers?.length??0)+(n?.tables?.length??c?.tables?.length??0),preferredHost:a(e)?o():null}}function P(e,t){let{layerId:n}=t,r=e.layers?.find(({id:e})=>e===n)??e.tables?.find(({id:e})=>e===n);return r&&I(r,t)?r:null}function F(e){return e.type!==`stream`&&`layerId`in e}function I(e,t){let{layerType:n}=e;switch(t.type){case`annotation-feature`:return n===`ArcGISAnnotationLayer`;case`catalog`:return n===`CatalogLayer`;case`dimension-feature`:return n===`ArcGISDimensionLayer`;case`feature`:return!n||n===`ArcGISFeatureLayer`||n===`Table`;case`oriented-imagery`:return n===`OrientedImageryLayer`;case`subtype-group`:return n===`SubtypeGroupLayer`||n===`SubtypeGroupTable`}return!0}async function L(e,t){let{layersJSON:r,preferredHost:i}=await n(e,t);if(!r)return{provider:null,preferredHost:i};let a=[...r.layers,...r.tables];return{provider:e=>a.find(t=>t.id===e.id),preferredHost:i}}async function R(e,t){let{layers:n,tables:r}=e,i=[...n,...r];if(!i.length)return;let a=new Set,o=[];for(let{layerType:e}of i){if(a.has(e))continue;a.add(e);let n=t[g(e)];o.push(n())}let s=await Promise.all(o),c=new Map;return Array.from(a).forEach((e,t)=>{c.set(e,s[t])}),({layerType:e})=>c.get(e)}export{x as load,S as reload};
2
+ import e from"../../core/Error.js";import{parse as t}from"../../layers/support/arcgisLayerUrl.js";import{fetchFeatureService as n}from"../../layers/support/fetchService.js";import{LayerLoadContext as r}from"../../layers/support/LayerLoadContext.js";import{applyPreferredHostToPortalItem as i,isPreferredUrlApplicable as a,getPreferredHost as o}from"../../layers/support/layerUtils.js";import s from"../Portal.js";import{createForItemRead as c}from"./jsonContext.js";import{normalizeFSItemData as l,getSublayersByLayerType as u,getFirstLayerOrTable as d,preprocessFSItemData as f,populateSceneServiceItemData as p,getNumLayersAndTables as m,instanceTypeToLayerTypes as h,layerTypeToLayerModuleType as g,createSublayerData as _}from"./loadUtils.js";import{hasTypeKeyword as v}from"./portalItemUtils.js";import{loadStyleRenderer as y}from"../../renderers/support/styleUtils.js";import{requestServiceJSON as b}from"../../request/serviceJSON.js";async function x(e,t){let n=e.instance.portalItem;if(n?.id)return await n.load(t),C(e),e.validateItem&&e.validateItem(n),w(e,t)}async function S(e,t){let n=e.instance.portalItem;if(!n?.id||!n.loaded)return!1;let r=n.modified;return await n.reload(),t?.signal?.throwIfAborted(),r?.getTime()!==n.modified?.getTime()&&(C(e),e.validateItem&&e.validateItem(n),await w(e,t),!0)}function C(t){let n=t.instance.portalItem;if(!n?.type||!t.supportedTypes.includes(n.type))throw new e(`portal:invalid-layer-item-type`,"Invalid layer item type '${type}', expected '${expectedType}'",{type:n?.type,expectedType:t.supportedTypes.join(`, `)})}async function w(e,t){let n=e.instance,{portalItem:i,type:a}=n;if(!i)return;let{url:o}=i,{title:s}=i,l=c(i,`portal-item`);if(a===`group`)return T(n,l,e);o&&a!==`media`&&a!==`parquet`&&n.read({url:o},l);let{data:u,preferredHost:d}=await M(e,new r,t);return o=i.url,`isUrlHostModified`in n&&(d?n.applyPreferredHost({preferredHost:d}):n.applyHostFromPortalItem()),u&&n.read(u,l),n.resourceReferences={portalItem:i,paths:l.readResourcePaths??[]},a!==`subtype-group`&&n.read({title:s},l),y(n,l)}async function T(t,n,r){let i=t.portalItem;if(!t.sourceIsPortalItem)return;let{title:a,type:o}=i;if(o===`Group Layer`){if(!v(i,`Map`))throw new e(`portal:invalid-layer-item-typekeyword`,`'Group Layer' item without 'Map' type keyword is not supported`);return E(t,r)}return t.read({title:a},n),D(t,r)}async function E(t,n){let r=t.portalItem,i=await r.fetchData(`json`);if(!i)return;if(!n.populateGroupLayer)throw new e(`portal:missing-populate-group-layer`,`Missing populate group layer`);let a=c(r,`web-map`);t.read(i,a),await n.populateGroupLayer(t,i,{context:a}),t.resourceReferences={portalItem:r,paths:a.readResourcePaths??[]}}async function D(t,n){let a,{portalItem:o}=t;if(!o)return;let{type:s,url:c}=o,l=n.layerModuleTypeMap;if(!l)throw new e(`portal:missing-layer-module-type-map`,`Layer module type map is required to construct sub layers`);switch(s){case`Feature Service`:a=l.FeatureLayer;break;case`Stream Service`:a=l.StreamLayer;break;case`Scene Service`:a=l.SceneLayer;break;case`Feature Collection`:a=l.FeatureLayer;break;case`Video Service`:a=l.VideoLayer;break;default:throw new e(`portal:unsupported-item-type-as-group`,`The item type '${s}' is not supported as a 'GroupLayer'`)}let u=s===`Video Service`,h=new r,[g,{data:_}]=await Promise.all([a(),u?{data:null}:M(n,h)]),v=()=>g;if(u)return k(t,v,l);if(s===`Feature Service`){let e=d(_)?.customParameters,n=(await f(_,c,h)).data;v=await R(n,l)??v;let{provider:r,preferredHost:a}=await L(c,{customParameters:e,loadContext:h});return i(o,a),await A(t,v,v,n,l,r)}return s===`Scene Service`&&c&&(_=await p(o,_,h)),m(_)>0?await A(t,v,null,_,l):await O(t,v,l)}async function O(e,t,n){let{portalItem:r}=e;if(!r?.url)return;let i=await b(r.url);i&&A(e,t,null,{layers:i.layers?.map(e=>_(e)),tables:i.tables?.map(e=>_(e,!0))},n)}async function k(e,t,n){let{portalItem:r}=e;if(!r?.url)return;let i=await b(r.url);i&&A(e,t,null,{layers:i.layers?.map(({id:e,name:t})=>({id:e,name:t}))},n)}async function A(e,t,n,r,i,a){let o=r.layers??[],s=r.tables??[];if(e.portalItem?.type===`Feature Collection`?(o.forEach((e,t)=>{e.id=t,e?.layerDefinition?.type===`Table`&&s.push(e)}),o=o.filter(e=>e?.layerDefinition?.type!==`Table`)):(o.reverse(),s.reverse()),o.forEach(n=>{let i=a?.(n);if(i||!a){let a=j(e,t(n),r,n,i);e.add(a)}}),s.length){let t=n?null:await i.FeatureLayer();s.forEach(i=>{let o=a?.(i);if(o||!a){let a=j(e,n?n(i):t,r,i,o);e.tables.add(a)}})}}function j(e,t,n,r,i){let a=e.portalItem,o={portalItem:a.clone(),layerId:r.id};r.url!=null&&(o.url=r.url);let c=new t(o);if(`sourceJSON`in c&&(c.sourceJSON=i),c.type!==`subtype-group`&&c.type!==`catalog`&&(c.sublayerTitleMode=`service-name`),a.type===`Feature Collection`){let e={origin:`portal-item`,portal:a.portal??s.getDefault()};c.read(r,e);let t=n.showLegend;t!=null&&c.read({showLegend:t},e)}return c}async function M(e,t,n){if(e.supportsData===!1)return{data:void 0};let r=e.instance,{portalItem:a,type:o}=r;if(!a)return{data:void 0};let s=null;try{s=o===`video`?null:await a.fetchData(`json`,n)}catch{}if(F(r)){let{type:e,url:n}=a;if(e===`Feature Service`&&n)try{await l(s,n,t)}catch{}let c=null,{count:f,preferredHost:p}=await N(a,s,t);if(i(a,p),(s?.layers||s?.tables)&&f>0){if(r.layerId==null){let e=h(o),t=e?.length?u(s,e)[0]:d(s);t&&(r.layerId=t.id)}c=P(s,r),c?.layerType===`OrientedImageryLayer`&&o===`oriented-imagery`&&r.supportedSourceTypes.add(`Feature Layer`),c&&s.showLegend!=null&&(c.showLegend=s.showLegend)}return f>1&&`sublayerTitleMode`in r&&r.sublayerTitleMode!==`service-name`&&(r.sublayerTitleMode=`item-title-and-service-name`),{data:c,preferredHost:p}}return{data:s}}async function N(e,n,r){if(n?.layers&&n?.tables)return{count:m(n)};let i=t(e.url);if(!i)return{count:1};let s=i.url.path,c=await r.fetchServiceMetadata(s,{customParameters:d(n)?.customParameters}).catch(()=>null);return{count:(n?.layers?.length??c?.layers?.length??0)+(n?.tables?.length??c?.tables?.length??0),preferredHost:a(e)?o():null}}function P(e,t){let{layerId:n}=t,r=e.layers?.find(({id:e})=>e===n)??e.tables?.find(({id:e})=>e===n);return r&&I(r,t)?r:null}function F(e){return e.type!==`stream`&&`layerId`in e}function I(e,t){let{layerType:n}=e;switch(t.type){case`annotation-feature`:return n===`ArcGISAnnotationLayer`;case`catalog`:return n===`CatalogLayer`;case`dimension-feature`:return n===`ArcGISDimensionLayer`;case`feature`:return!n||n===`ArcGISFeatureLayer`||n===`Table`;case`oriented-imagery`:return n===`OrientedImageryLayer`;case`subtype-group`:return n===`SubtypeGroupLayer`||n===`SubtypeGroupTable`}return!0}async function L(e,t){let{layersJSON:r,preferredHost:i}=await n(e,t);if(!r)return{provider:null,preferredHost:i};let a=[...r.layers,...r.tables];return{provider:e=>a.find(t=>t.id===e.id),preferredHost:i}}async function R(e,t){let{layers:n,tables:r}=e,i=[...n,...r];if(!i.length)return;let a=new Set,o=[];for(let{layerType:e}of i){if(a.has(e))continue;a.add(e);let n=t[g(e)];o.push(n())}let s=await Promise.all(o),c=new Map;return Array.from(a).forEach((e,t)=>{c.set(e,s[t])}),({layerType:e})=>c.get(e)}export{x as load,S as reload};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import e from"../../core/Error.js";import has from"../../core/has.js";import{findAssociatedFeatureService as t}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleTypeStrict as n}from"../../layers/support/fetchService.js";import{LayerLoadContext as r}from"../../layers/support/LayerLoadContext.js";import{layersLoaderMap as i}from"../../layers/support/layersLoader.js";import{sceneServiceLayerTypeToClassName as a,applyPreferredHostToPortalItem as o,getPreferredHost as s}from"../../layers/support/layerUtils.js";import c from"../PortalItem.js";import{getFirstLayerOrTable as l,getNumLayersAndTables as u,preprocessFSItemData as d,getLayerOrTable as f,layerTypeToLayerModuleType as p,populateSceneServiceItemData as m}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";async function g(e){let{portalItem:t}=e;t&&!(t instanceof c)&&(t=new c(t));let n=await _(t),r=n.constructor;return new r({portalItem:t,...n.properties})}async function _(e){return await e.load(),y(await v(e,new r))}async function v(t,n){switch(t.type){case`3DTiles Service`:return t.typeKeywords.includes(`3DObject`)?j():t.typeKeywords.includes(`GaussianSplat`)?A():k();case`CSV`:return M();case`Feature Collection`:return C(t);case`Feature Service`:return x(t,n);case`Feed`:return B();case`GeoJson`:return O();case`Group Layer`:return V();case`Image Service`:return w(t,n);case`KML`:return P();case`Knowledge Graph Layer`:return F();case`Map Service`:return b(t,n);case`Media Layer`:return H();case`PDF`:return N();case`Scene Service`:return S(t,n);case`Stream Service`:return T();case`Video Service`:return E(t,n);case`Vector Tile Service`:return D();case`WCS`:return I();case`WFS`:return L();case`WMS`:return R();case`WMTS`:return z();default:throw new e(`portal:unknown-item-type`,"Unknown item type '${type}'",{type:t.type})}}async function y(e){let t=e.className,n=i[t];return{constructor:await n(),properties:e.properties}}async function b(e,t){return await U(e,t)?{className:`TileLayer`}:{className:`MapImageLayer`}}async function x(e,t){let n=await W(e,t);if(typeof n==`object`){let{sourceJSON:e,className:t}=n,r={sourceJSON:e};return n.id!=null&&(r.layerId=n.id),{className:t||`FeatureLayer`,properties:r}}return{className:`GroupLayer`}}async function S(e,n){let r=await W(e,n,async()=>{try{if(!e.url)return[];let{serverUrl:r}=await t(e.url,{sceneLayerItem:e});return(await n.fetchServiceMetadata(r))?.tables??[]}catch{return[]}});if(typeof r==`object`){let t={},i;if(r.id==null?i=e.url:(t.layerId=r.id,i=`${e.url}/layers/${r.id}`),e.typeKeywords?.length){for(let t of Object.keys(a))if(e.typeKeywords.includes(t))return{className:a[t]}}let o=await n.fetchServiceMetadata(i,{customParameters:await n.fetchCustomParameters(e,e=>l(e)?.customParameters)});return{className:a[o?.layerType]||`SceneLayer`,properties:t}}return r===!1&&(await n.fetchServiceMetadata(e.url))?.layerType===`Voxel`?{className:`VoxelLayer`}:{className:`GroupLayer`}}async function C(e){await e.load();let t=h(e,`Map Notes`),n=h(e,`Markup`);if(t||n)return{className:has(`sketch-layer-enabled`)?`SketchLayer`:`MapNotesLayer`};if(h(e,`Route Layer`))return{className:`RouteLayer`};let r=await e.fetchData();return u(r)===1?{className:`FeatureLayer`}:{className:`GroupLayer`}}async function w(e,t){await e.load();let n=e.typeKeywords?.map(e=>e.toLowerCase())??[];if(n.includes(`elevation 3d layer`))return{className:`ElevationLayer`};if(n.includes(`tiled imagery`))return{className:`ImageryTileLayer`};let r=(await t.fetchItemData(e))?.layerType;if(r===`ArcGISTiledImageServiceLayer`)return{className:`ImageryTileLayer`};if(r===`ArcGISImageServiceLayer`)return{className:`ImageryLayer`};let i=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),a=i.cacheType?.toLowerCase(),o=i.capabilities?.toLowerCase().includes(`tilesonly`),s=i.tileInfo?.format?.toLowerCase()??``,c=a==null&&[`jpg`,`jpeg`,`png`,`png8`,`png24`,`png32`,`mixed`].includes(s);return a===`map`||c||o?{className:`ImageryTileLayer`}:{className:`ImageryLayer`}}function T(){return{className:`StreamLayer`}}async function E(e,t){return typeof await W(e,t)==`object`?{className:`VideoLayer`}:{className:`GroupLayer`}}function D(){return{className:`VectorTileLayer`}}function O(){return{className:`GeoJSONLayer`}}function k(){return{className:`IntegratedMesh3DTilesLayer`}}function A(){return{className:`GaussianSplatLayer`}}function j(){return{className:`UnsupportedLayer`}}function M(){return{className:`CSVLayer`}}function N(){return{className:`GeospatialPDFLayer`}}function P(){return{className:`KMLLayer`}}function F(){return{className:`KnowledgeGraphLayer`}}function I(){return{className:`WCSLayer`}}function L(){return{className:`WFSLayer`}}function R(){return{className:`WMSLayer`}}function z(){return{className:`WMTSLayer`}}function B(){return{className:`StreamLayer`}}function V(){return{className:`GroupLayer`}}function H(){return{className:`MediaLayer`}}async function U(e,t){let{tileInfo:n}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return n}async function W(t,r,i){let{url:a,type:c}=t,h=c===`Feature Service`;if(!a)return{};if(/\/\d+$/.test(a)){if(h){let i=await r.fetchServiceMetadata(a,{customParameters:await r.fetchCustomParameters(t,e=>l(e)?.customParameters)});o(t,s());let{id:c,type:u}=i,d=n(u);if(!d)throw new e(`from-portal-item:unsupported`,`'${a}' has unsupported type: '${u}'`);return{id:c,className:d,sourceJSON:i}}return{}}if(c===`Video Service`)return((await r.fetchServiceMetadata(a)).layers?.length??0)>1?!1:{};await t.load();let g=await r.fetchItemData(t);if(h){let{data:n,preferredHost:i}=await d(g,a,r);if(u(n)===0)throw new e(`from-portal-item:no-data`,`The feature service '${a}' does not have any supported layers or tables`);o(t,i);let s=G(n);if(typeof s==`object`){let e=f(n,s.id);return{id:s.id,className:p(e?.layerType)}}return s}if(c===`Scene Service`&&(g=await m(t,g,r)),u(g)>0)return G(g);let _=await r.fetchServiceMetadata(a);return i&&(_.tables=await i()),G(_)}function G(e){return u(e)===1&&{id:l(e)?.id}}export{g as fromItem,v as selectLayerClassPath};
2
+ import e from"../../core/Error.js";import has from"../../core/has.js";import{findAssociatedFeatureService as t}from"../../layers/support/associatedFeatureServiceUtils.js";import{getLayerModuleTypeStrict as n}from"../../layers/support/fetchService.js";import{LayerLoadContext as r}from"../../layers/support/LayerLoadContext.js";import{layersLoaderMap as i}from"../../layers/support/layersLoader.js";import{sceneServiceLayerTypeToClassName as a,applyPreferredHostToPortalItem as o,getPreferredHost as s}from"../../layers/support/layerUtils.js";import c from"../PortalItem.js";import{getFirstLayerOrTable as l,getNumLayersAndTables as u,preprocessFSItemData as d,getLayerOrTable as f,layerTypeToLayerModuleType as p,populateSceneServiceItemData as m}from"./loadUtils.js";import{hasTypeKeyword as h}from"./portalItemUtils.js";async function g(e){let{portalItem:t}=e;t&&!(t instanceof c)&&(t=new c(t));let n=await _(t),r=n.constructor;return new r({portalItem:t,...n.properties})}async function _(e){return await e.load(),y(await v(e,new r))}async function v(t,n){switch(t.type){case`3DTiles Service`:return t.typeKeywords.includes(`3DObject`)?j():t.typeKeywords.includes(`GaussianSplat`)?A():k();case`CSV`:return M();case`Feature Collection`:return C(t);case`Feature Service`:return x(t,n);case`Feed`:return z();case`GeoJson`:return O();case`Group Layer`:return B();case`Image Service`:return w(t,n);case`KML`:return N();case`Knowledge Graph Layer`:return P();case`Map Service`:return b(t,n);case`Media Layer`:return V();case`Parquet Feature Layer`:return H();case`Scene Service`:return S(t,n);case`Stream Service`:return T();case`Video Service`:return E(t,n);case`Vector Tile Service`:return D();case`WCS`:return F();case`WFS`:return I();case`WMS`:return L();case`WMTS`:return R();default:throw new e(`portal:unknown-item-type`,"Unknown item type '${type}'",{type:t.type})}}async function y(e){let t=e.className,n=i[t];return{constructor:await n(),properties:e.properties}}async function b(e,t){return await U(e,t)?{className:`TileLayer`}:{className:`MapImageLayer`}}async function x(e,t){let n=await W(e,t);if(typeof n==`object`){let{sourceJSON:e,className:t}=n,r={sourceJSON:e};return n.id!=null&&(r.layerId=n.id),{className:t||`FeatureLayer`,properties:r}}return{className:`GroupLayer`}}async function S(e,n){let r=await W(e,n,async()=>{try{if(!e.url)return[];let{serverUrl:r}=await t(e.url,{sceneLayerItem:e});return(await n.fetchServiceMetadata(r))?.tables??[]}catch{return[]}});if(typeof r==`object`){let t={},i;if(r.id==null?i=e.url:(t.layerId=r.id,i=`${e.url}/layers/${r.id}`),e.typeKeywords?.length){for(let t of Object.keys(a))if(e.typeKeywords.includes(t))return{className:a[t]}}let o=await n.fetchServiceMetadata(i,{customParameters:await n.fetchCustomParameters(e,e=>l(e)?.customParameters)});return{className:a[o?.layerType]||`SceneLayer`,properties:t}}return r===!1&&(await n.fetchServiceMetadata(e.url))?.layerType===`Voxel`?{className:`VoxelLayer`}:{className:`GroupLayer`}}async function C(e){await e.load();let t=h(e,`Map Notes`),n=h(e,`Markup`);if(t||n)return{className:has(`sketch-layer-enabled`)?`SketchLayer`:`MapNotesLayer`};if(h(e,`Route Layer`))return{className:`RouteLayer`};let r=await e.fetchData();return u(r)===1?{className:`FeatureLayer`}:{className:`GroupLayer`}}async function w(e,t){await e.load();let n=e.typeKeywords?.map(e=>e.toLowerCase())??[];if(n.includes(`elevation 3d layer`))return{className:`ElevationLayer`};if(n.includes(`tiled imagery`))return{className:`ImageryTileLayer`};let r=(await t.fetchItemData(e))?.layerType;if(r===`ArcGISTiledImageServiceLayer`)return{className:`ImageryTileLayer`};if(r===`ArcGISImageServiceLayer`)return{className:`ImageryLayer`};let i=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)}),a=i.cacheType?.toLowerCase(),o=i.capabilities?.toLowerCase().includes(`tilesonly`),s=i.tileInfo?.format?.toLowerCase()??``,c=a==null&&[`jpg`,`jpeg`,`png`,`png8`,`png24`,`png32`,`mixed`].includes(s);return a===`map`||c||o?{className:`ImageryTileLayer`}:{className:`ImageryLayer`}}function T(){return{className:`StreamLayer`}}async function E(e,t){return typeof await W(e,t)==`object`?{className:`VideoLayer`}:{className:`GroupLayer`}}function D(){return{className:`VectorTileLayer`}}function O(){return{className:`GeoJSONLayer`}}function k(){return{className:`IntegratedMesh3DTilesLayer`}}function A(){return{className:`GaussianSplatLayer`}}function j(){return{className:`UnsupportedLayer`}}function M(){return{className:`CSVLayer`}}function N(){return{className:`KMLLayer`}}function P(){return{className:`KnowledgeGraphLayer`}}function F(){return{className:`WCSLayer`}}function I(){return{className:`WFSLayer`}}function L(){return{className:`WMSLayer`}}function R(){return{className:`WMTSLayer`}}function z(){return{className:`StreamLayer`}}function B(){return{className:`GroupLayer`}}function V(){return{className:`MediaLayer`}}function H(){return{className:`ParquetLayer`}}async function U(e,t){let{tileInfo:n}=await t.fetchServiceMetadata(e.url,{customParameters:await t.fetchCustomParameters(e)});return n}async function W(t,r,i){let{url:a,type:c}=t,h=c===`Feature Service`;if(!a)return{};if(/\/\d+$/.test(a)){if(h){let i=await r.fetchServiceMetadata(a,{customParameters:await r.fetchCustomParameters(t,e=>l(e)?.customParameters)});o(t,s());let{id:c,type:u}=i,d=n(u);if(!d)throw new e(`from-portal-item:unsupported`,`'${a}' has unsupported type: '${u}'`);return{id:c,className:d,sourceJSON:i}}return{}}if(c===`Video Service`)return((await r.fetchServiceMetadata(a)).layers?.length??0)>1?!1:{};await t.load();let g=await r.fetchItemData(t);if(h){let{data:n,preferredHost:i}=await d(g,a,r);if(u(n)===0)throw new e(`from-portal-item:no-data`,`The feature service '${a}' does not have any supported layers or tables`);o(t,i);let s=G(n);if(typeof s==`object`){let e=f(n,s.id);return{id:s.id,className:p(e?.layerType)}}return s}if(c===`Scene Service`&&(g=await m(t,g,r)),u(g)>0)return G(g);let _=await r.fetchServiceMetadata(a);return i&&(_.tables=await i()),G(_)}function G(e){return u(e)===1&&{id:l(e)?.id}}export{g as fromItem,v as selectLayerClassPath};