@arcgis/core 5.2.0-next.61 → 5.2.0-next.63

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 (253) hide show
  1. package/WebDocument2D.d.ts +17 -1
  2. package/WebDocument2D.js +1 -1
  3. package/WebLinkChart.js +1 -1
  4. package/WebMap.js +1 -1
  5. package/WebScene.js +1 -1
  6. package/applications/Components/imageryUtils.d.ts +10 -0
  7. package/applications/Components/imageryUtils.js +1 -1
  8. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  9. package/arcgisGlobal.d.ts +7 -0
  10. package/assets/esri/core/workers/RemoteClient.js +1 -1
  11. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +1 -0
  12. package/assets/esri/core/workers/chunks/04ffe788d2efc0a076dd.js +1 -0
  13. package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +29 -0
  14. package/assets/esri/core/workers/chunks/08c2bf9defcece9e049a.js +1 -0
  15. package/assets/esri/core/workers/chunks/0d61c8d348b09179777a.js +1 -0
  16. package/assets/esri/core/workers/chunks/{3abc12d2407e4214963d.js → 13033178de9f637a2356.js} +1 -1
  17. package/assets/esri/core/workers/chunks/14cd8bb1ad4da8d1d2ca.js +1 -0
  18. package/assets/esri/core/workers/chunks/23a3d8f91caf3136b2aa.js +1 -0
  19. package/assets/esri/core/workers/chunks/{3157f85bb319294878ca.js → 2426601b8cae7f06af4d.js} +2 -2
  20. package/assets/esri/core/workers/chunks/2a1c6df073e6ca6a6365.js +1 -0
  21. package/assets/esri/core/workers/chunks/{a615a644086e98a90579.js → 3f775deea48e268411f1.js} +3 -3
  22. package/assets/esri/core/workers/chunks/{e3623e557ab463580fd2.js → 41e821ce229bc56dc1a1.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{17acbf40e7c1cb42d9bd.js → 44b1cdf28269b4fa8a39.js} +1 -1
  24. package/assets/esri/core/workers/chunks/44e8cd4b3dad777ab0c9.js +1 -0
  25. package/assets/esri/core/workers/chunks/456e616f32e7de696d38.js +1 -0
  26. package/assets/esri/core/workers/chunks/{127b111ee53e4b9184f8.js → 4dcd4a052b40047a9230.js} +1 -1
  27. package/assets/esri/core/workers/chunks/54b9667450d066c6f6ce.js +1 -0
  28. package/assets/esri/core/workers/chunks/{aaa66a04b882b0ba2961.js → 5600fc334d20c4f0c83d.js} +1 -1
  29. package/assets/esri/core/workers/chunks/5dbd8ca7e7b8eb9a0bf7.js +1 -0
  30. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +1 -0
  31. package/assets/esri/core/workers/chunks/62f3ca0719ac6bc76512.js +1 -0
  32. package/assets/esri/core/workers/chunks/{14c066c31fe37b7f6e63.js → 638ed1297efdb24f4711.js} +1 -1
  33. package/assets/esri/core/workers/chunks/63ede7295938f7010808.js +1 -0
  34. package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +1 -0
  35. package/assets/esri/core/workers/chunks/6c98a64d92c9bca78203.js +1 -0
  36. package/assets/esri/core/workers/chunks/{e7402dfd683f82878360.js → 752343d92ed48e674351.js} +1 -1
  37. package/assets/esri/core/workers/chunks/7538a0fe0cec3156769e.js +1 -0
  38. package/assets/esri/core/workers/chunks/{42692a4ce3fb364e321e.js → 763cbb6716e398436a6d.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{d6aad815fc0ee8e24bb5.js → 7ce52b850dd785bfa33f.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{64247e439ef3e1f712e9.js → 7fdd6a5fa062778be55d.js} +1 -1
  41. package/assets/esri/core/workers/chunks/8369edafab7bdc59b95a.js +1 -0
  42. package/assets/esri/core/workers/chunks/{94e9cf8e729ec36de5be.js → 8c535c6a39d2be2ed655.js} +1 -1
  43. package/assets/esri/core/workers/chunks/8e1d4867406753c5483c.js +1 -0
  44. package/assets/esri/core/workers/chunks/92696cce2b980373f9ad.js +1 -0
  45. package/assets/esri/core/workers/chunks/{580451761cadfe308919.js → 9954149def644c371894.js} +1 -1
  46. package/assets/esri/core/workers/chunks/9f65cc6d9f7390bb1d5b.js +1 -0
  47. package/assets/esri/core/workers/chunks/a09ce34fc7c8abe64ed5.js +1 -0
  48. package/assets/esri/core/workers/chunks/{81659d121ed732bda907.js → a12803108c3b12808698.js} +2 -2
  49. package/assets/esri/core/workers/chunks/{83991475aa54fd5aa008.js → a965d151515b76dd7566.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{128799741dd3c6fc69b9.js → ac4131121230cfc14f21.js} +1 -1
  51. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +1 -0
  52. package/assets/esri/core/workers/chunks/b13d2da33ec07e9d41ff.js +1 -0
  53. package/assets/esri/core/workers/chunks/{33bd9785bd0b6ccef21b.js → b2cf1d3f0d48eac23a84.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{498d29e8c8be4a12ba12.js → b958f87f23f984131d09.js} +1 -1
  55. package/assets/esri/core/workers/chunks/c53b2be005721591e29b.js +1 -0
  56. package/assets/esri/core/workers/chunks/{edf87407dd20685c82ab.js → c82ab4f0908290e70ee9.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{4e2f3dd158a5228c87ba.js → c85ba0700eafdc8d6f9e.js} +1 -1
  58. package/assets/esri/core/workers/chunks/d456520e4b119a2816b6.js +1 -0
  59. package/assets/esri/core/workers/chunks/d83ea3e4e9ab45334068.js +1 -0
  60. package/assets/esri/core/workers/chunks/{4f59357f535f30a6b5cc.js → d9b83d7dd7d1f7729a91.js} +1 -1
  61. package/assets/esri/core/workers/chunks/dbcec48c4ba104a6d0b5.js +1 -0
  62. package/assets/esri/core/workers/chunks/e02f02040b63d9c2e654.js +1 -0
  63. package/assets/esri/core/workers/chunks/e08c64e4ae5a68eae2be.js +1 -0
  64. package/assets/esri/core/workers/chunks/e2ddfc96ddba92302e0c.js +1 -0
  65. package/assets/esri/core/workers/chunks/{61d3fcb419d6bf7e355e.js → e65ee26feca0564aeb9b.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{35cbf00f0c37a86517af.js → ed1de8b7406269e217b9.js} +1 -1
  67. package/assets/esri/core/workers/chunks/ed4ac5568dc2815b066d.js +1 -0
  68. package/assets/esri/core/workers/chunks/f029c12f1afee0e9b2a1.js +1 -0
  69. package/assets/esri/core/workers/chunks/{461c2de938bf4c9b1442.js → f6715b8765cd36d81ec8.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{4fb549f11e176fc2f24a.js → f7fa932ade85cb2847b6.js} +1 -1
  71. package/assets/esri/core/workers/chunks/f9a4f4efd63b8189a4eb.js +1 -0
  72. package/assets/esri/core/workers/chunks/{26a2d4b95cda0a41d980.js → fa1c58e5b582d61a03ab.js} +1 -1
  73. package/assets/esri/core/workers/chunks/fa377112ef3b78f6ed18.js +1 -0
  74. package/chunks/VolumeMask.glsl.js +3 -0
  75. package/chunks/persistableUrlUtils.js +1 -1
  76. package/config.js +1 -1
  77. package/core/Collection.d.ts +42 -6
  78. package/core/Collection.js +1 -1
  79. package/core/screenUtils.js +1 -1
  80. package/geometry/SpatialReference.d.ts +1 -4
  81. package/geometry/support/intersectsBase.js +1 -1
  82. package/interfaces.d.ts +14 -0
  83. package/kernel.js +1 -1
  84. package/layers/BaseElevationLayer.js +1 -1
  85. package/layers/ElevationLayer.js +1 -1
  86. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  87. package/layers/KnowledgeGraphLayer.js +1 -1
  88. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  89. package/layers/StreamLayer.js +1 -1
  90. package/layers/VoxelWasmPerSceneView.js +1 -1
  91. package/layers/graphics/sources/connections/createConnection.js +1 -1
  92. package/layers/graphics/sources/parquet/ParquetFileStatistics.js +1 -1
  93. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  94. package/layers/graphics/sources/support/QueryTask.js +1 -1
  95. package/layers/mixins/SceneService.js +1 -1
  96. package/layers/raster/datasets/BaseRaster.js +1 -1
  97. package/layers/save/groupLayerUtils.js +1 -1
  98. package/layers/save/mediaLayerUtils.js +1 -1
  99. package/layers/support/ElevationQueryTileCache.js +1 -1
  100. package/layers/video/types.d.ts +17 -1
  101. package/linkChart/LinkChartProperties.js +1 -1
  102. package/package.json +3 -3
  103. package/popup/FeatureContent.d.ts +311 -0
  104. package/popup/FeatureContent.js +2 -0
  105. package/popup/FeatureContentCollection.d.ts +569 -0
  106. package/popup/FeatureContentCollection.js +2 -0
  107. package/portal/support/jsonContext.js +1 -1
  108. package/support/persistableUrlUtils.js +1 -1
  109. package/support/revision.js +1 -1
  110. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  111. package/views/2d/layers/BaseLayerView2D.d.ts +2 -2
  112. package/views/2d/layers/BaseLayerViewGL2D.d.ts +2 -2
  113. package/views/2d/layers/features/sources/strategies/AFeatureLoadStrategy.js +1 -1
  114. package/views/2d/layers/features/sources/strategies/FeatureHybridTileLoadStrategy.js +1 -1
  115. package/views/2d/layers/graphics/GraphicStore.js +1 -1
  116. package/views/2d/support/hitTestUtils.js +1 -1
  117. package/views/3d/GroundView3D.js +1 -1
  118. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  119. package/views/3d/layers/FlowSubView3D.js +1 -1
  120. package/views/3d/layers/I3SMeshView3D.js +1 -1
  121. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  122. package/views/3d/layers/MediaLayerView3D.js +1 -1
  123. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  124. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  125. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  126. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  127. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  128. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  129. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  130. package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
  131. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  132. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  133. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  134. package/views/3d/support/buffer/glUtil.js +1 -1
  135. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  136. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  137. package/views/3d/support/gaussianSplatting/GaussianSplatFadeTexture.js +1 -1
  138. package/views/3d/support/gaussianSplatting/GaussianSplatHeaderTexture.js +1 -1
  139. package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
  140. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  141. package/views/3d/support/hitTest.js +1 -1
  142. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  143. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  144. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  145. package/views/3d/terrain/TerrainRenderer.js +1 -1
  146. package/views/3d/terrain/TerrainSurface.js +1 -1
  147. package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticBVH.js +1 -1
  148. package/views/3d/webgl-engine/collections/Component/ComponentObjectFixedBVH.js +1 -1
  149. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  150. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  151. package/views/3d/webgl-engine/core/FBOCacheUsage.js +1 -1
  152. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +11 -11
  153. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.js +1 -1
  154. package/views/3d/webgl-engine/lib/CutFillVisualization.js +1 -1
  155. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  156. package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
  157. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  158. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  159. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  160. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  161. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  162. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFieldCreation.js +1 -1
  163. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  164. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  165. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  166. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  167. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  168. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  169. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  170. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  171. package/views/3d/webgl-engine/materials/intersectWithPolygonOffset.js +1 -1
  172. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
  173. package/views/3d/webgl-engine/shaders/{CutFillMask.glsl.js → VolumeMask.glsl.js} +1 -1
  174. package/views/3d/webgl-engine/shaders/VolumeMaskTechnique.js +2 -0
  175. package/views/View2D.d.ts +2 -2
  176. package/views/interactive/snapping/featureSources/WorkerTileTreeDebugger.js +1 -1
  177. package/views/webgl/FramebufferObject.js +1 -1
  178. package/webdoc/support/resourceUtils.js +1 -1
  179. package/webdoc/support/types.d.ts +2 -0
  180. package/webdoc/support/utils.js +2 -0
  181. package/webdoc/support/webdocLoadUtils.js +1 -1
  182. package/webdoc/support/webdocSaveUtils.js +1 -1
  183. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  184. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  185. package/widgets/BatchAttributeForm/expressions/ArcadeExecutorProvider.js +1 -1
  186. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  187. package/widgets/BatchAttributeForm/expressions/ExpressionsModel.js +1 -1
  188. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  189. package/widgets/BatchAttributeForm/inputs/BatchFormInputs.js +1 -1
  190. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  191. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
  192. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  193. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  194. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  195. package/widgets/BatchAttributeForm.js +1 -1
  196. package/widgets/Editor/UpdateWorkflow.js +1 -1
  197. package/widgets/Editor.js +1 -1
  198. package/widgets/FeatureForm.js +1 -1
  199. package/widgets/FeatureTable/Grid/Column.d.ts +6 -0
  200. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  201. package/widgets/Legend/support/heatmapRampUtils.js +1 -1
  202. package/widgets/Sketch/SketchViewModel.js +1 -1
  203. package/widgets/support/SelectionList/FeatureItem.d.ts +116 -0
  204. package/widgets/support/SelectionList/GroupLayerItem.d.ts +94 -0
  205. package/widgets/support/SelectionList/ItemBase.d.ts +70 -0
  206. package/widgets/support/SelectionList/LayerItem.d.ts +140 -0
  207. package/widgets/support/SelectionList/LayerItem.js +1 -1
  208. package/widgets/support/SelectionList/SelectionListViewModel.d.ts +265 -0
  209. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  210. package/widgets/support/SelectionList/types.d.ts +42 -0
  211. package/widgets/support/forms/formUtils.js +1 -1
  212. package/assets/esri/core/workers/chunks/003a87b16f8a4b476e14.js +0 -1
  213. package/assets/esri/core/workers/chunks/0a50efb07eee36237e21.js +0 -1
  214. package/assets/esri/core/workers/chunks/129fdd1636e67997337c.js +0 -1
  215. package/assets/esri/core/workers/chunks/12e0c5b7cc5c3f9e6f0f.js +0 -1
  216. package/assets/esri/core/workers/chunks/26f1fd3f2be5102aae1d.js +0 -1
  217. package/assets/esri/core/workers/chunks/34fbeeeeef4bd01672c6.js +0 -1
  218. package/assets/esri/core/workers/chunks/36fe6adf6517d8f80125.js +0 -1
  219. package/assets/esri/core/workers/chunks/403f08e0c1a9203f7fba.js +0 -1
  220. package/assets/esri/core/workers/chunks/4f2170609742b51bd7b8.js +0 -1
  221. package/assets/esri/core/workers/chunks/5133083222588799493f.js +0 -1
  222. package/assets/esri/core/workers/chunks/52993a9dc0c56e9bda19.js +0 -1
  223. package/assets/esri/core/workers/chunks/5527b2da4abe0faa98bb.js +0 -1
  224. package/assets/esri/core/workers/chunks/5e35828216020f33e26b.js +0 -1
  225. package/assets/esri/core/workers/chunks/5f0d6c853873a7f32527.js +0 -1
  226. package/assets/esri/core/workers/chunks/6121cd0264b6841a5bac.js +0 -1
  227. package/assets/esri/core/workers/chunks/6823ba1688dfedba0107.js +0 -1
  228. package/assets/esri/core/workers/chunks/705d6b108fd121cea887.js +0 -1
  229. package/assets/esri/core/workers/chunks/73aa1bfa6e1dc271c9d7.js +0 -1
  230. package/assets/esri/core/workers/chunks/825eb845216762a1ed2f.js +0 -1
  231. package/assets/esri/core/workers/chunks/88df19742edb0cdc3e67.js +0 -1
  232. package/assets/esri/core/workers/chunks/8977c85aecc7e08ab13c.js +0 -1
  233. package/assets/esri/core/workers/chunks/8bdca809dd88eab9e5d8.js +0 -29
  234. package/assets/esri/core/workers/chunks/8c5726c7ce40a92901e6.js +0 -1
  235. package/assets/esri/core/workers/chunks/8c5e65982c3f9295e844.js +0 -1
  236. package/assets/esri/core/workers/chunks/8ce649e55fefc8eca55c.js +0 -1
  237. package/assets/esri/core/workers/chunks/90ae80b797642bff0efa.js +0 -1
  238. package/assets/esri/core/workers/chunks/97c758f736f28c5dab84.js +0 -1
  239. package/assets/esri/core/workers/chunks/a8ade34612e73862de6f.js +0 -1
  240. package/assets/esri/core/workers/chunks/a9d391071803b1e9e8a0.js +0 -1
  241. package/assets/esri/core/workers/chunks/aa3abc07de2921ef6ca1.js +0 -1
  242. package/assets/esri/core/workers/chunks/b03f09ee2224f0cc526a.js +0 -1
  243. package/assets/esri/core/workers/chunks/b3f1a442d6b7826e917f.js +0 -1
  244. package/assets/esri/core/workers/chunks/b819a9187426d0c146df.js +0 -1
  245. package/assets/esri/core/workers/chunks/d205edd949f3e6e24eb9.js +0 -1
  246. package/assets/esri/core/workers/chunks/f0225829f7d941914815.js +0 -1
  247. package/assets/esri/core/workers/chunks/fb34d6d96c8c0d53fcf6.js +0 -1
  248. package/chunks/CutFillMask.glsl.js +0 -3
  249. package/chunks/FocusAreaMask.glsl.js +0 -3
  250. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +0 -2
  251. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +0 -2
  252. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +0 -2
  253. /package/assets/esri/core/workers/chunks/{81659d121ed732bda907.js.LICENSE.txt → a12803108c3b12808698.js.LICENSE.txt} +0 -0
@@ -0,0 +1,116 @@
1
+ import type Graphic from "../../../Graphic.js";
2
+ import type ItemBase from "./ItemBase.js";
3
+ import type LayerItem from "./LayerItem.js";
4
+ import type { ObjectId } from "../../../views/types.js";
5
+ import type { SelectableLayer, SelectionIdentifier } from "../../../views/selection/types.js";
6
+ import type { ItemBaseProperties } from "./ItemBase.js";
7
+
8
+ /**
9
+ * Properties used to construct a FeatureItem instance.
10
+ *
11
+ * @internal
12
+ */
13
+ export interface FeatureItemProperties extends ItemBaseProperties, Partial<Pick<FeatureItem, "graphic" | "layerItem" | "thumbnailSize">> {
14
+ /**
15
+ * Layer associated with the item.
16
+ *
17
+ * @internal
18
+ */
19
+ layer?: SelectableLayer;
20
+ }
21
+
22
+ /**
23
+ * Required properties used to construct a FeatureItem instance.
24
+ *
25
+ * @internal
26
+ */
27
+ export type RequiredConstructProperties = Pick<FeatureItem, "graphic" | "layerItem">;
28
+
29
+ /**
30
+ * An item representing a feature in the selection list.
31
+ *
32
+ * @internal
33
+ */
34
+ export default class FeatureItem extends ItemBase {
35
+ /** @internal */
36
+ constructor(properties: FeatureItemProperties);
37
+ /**
38
+ * Reference to the feature this item represents.
39
+ *
40
+ * @internal
41
+ */
42
+ accessor graphic: Graphic;
43
+ /**
44
+ * Unique identifier used for this item in the store.
45
+ *
46
+ * @internal
47
+ */
48
+ get identifier(): SelectionIdentifier;
49
+ /**
50
+ * Unique identifier used for this item.
51
+ *
52
+ * @internal
53
+ */
54
+ get key(): string;
55
+ /**
56
+ * Layer associated with the item.
57
+ *
58
+ * @internal
59
+ */
60
+ accessor layer: SelectableLayer;
61
+ /**
62
+ * Reference to the layer item containing this feature item.
63
+ *
64
+ * @internal
65
+ */
66
+ accessor layerItem: LayerItem;
67
+ /**
68
+ * Reference to the object id for the associated feature.
69
+ * This value may be null or undefined when viewing selections from layers that do not support object ids.
70
+ * In that case, 'identifier' is typically used to track the selection.
71
+ *
72
+ * @internal
73
+ */
74
+ get objectId(): ObjectId | null | undefined;
75
+ /**
76
+ * Reference to the thumbnail element icon used to represent this feature.
77
+ *
78
+ * @internal
79
+ */
80
+ get thumbnail(): HTMLElement | null | undefined;
81
+ /**
82
+ * Unique identifier for a thumbnail representing the feature. Used by the list to
83
+ * request a new thumbnail when the 'graphic' property changes to a newer version of the feature,
84
+ * usually after the associated layer has been edited.
85
+ *
86
+ * @internal
87
+ */
88
+ get thumbnailKey(): string;
89
+ /**
90
+ * Max size of the thumbnail in pixels.
91
+ *
92
+ * @default 24
93
+ * @internal
94
+ */
95
+ accessor thumbnailSize: number;
96
+ /**
97
+ * Text used in the interface for the item.
98
+ *
99
+ * @internal
100
+ */
101
+ get title(): string | null | undefined;
102
+ /**
103
+ * Indicates the list item is visible and not being filtered.
104
+ *
105
+ * @internal
106
+ */
107
+ get visible(): boolean;
108
+ /**
109
+ * Method used to lazily load the associated feature thumbnail.
110
+ *
111
+ * @param options - Optional parameters for fetching the thumbnail.
112
+ * @returns Promise resolving to the thumbnail element or null if no thumbnail could be generated.
113
+ * @internal
114
+ */
115
+ fetchThumbnail(options?: { ariaLabel?: string; }): Promise<HTMLElement | null | undefined>;
116
+ }
@@ -0,0 +1,94 @@
1
+ import type Layer from "../../../layers/Layer.js";
2
+ import type SubtypeSublayer from "../../../layers/support/SubtypeSublayer.js";
3
+ import type ItemBase from "./ItemBase.js";
4
+ import type { ItemBaseProperties } from "./ItemBase.js";
5
+ import type { ParentItem, SelectionListParentLayer, SyncOptions } from "./types.js";
6
+
7
+ /**
8
+ * Properties used to construct a GroupLayerItem instance.
9
+ *
10
+ * @internal
11
+ */
12
+ export interface GroupLayerItemProperties extends ItemBaseProperties, Partial<Pick<GroupLayerItem, "items">> {
13
+ /**
14
+ * Layer containing the sublayer that contains the selected features.
15
+ *
16
+ * @internal
17
+ */
18
+ layer?: SelectionListParentLayer;
19
+ }
20
+
21
+ /**
22
+ * Required properties used to construct a GroupLayerItem instance.
23
+ *
24
+ * @internal
25
+ */
26
+ export type RequiredConstructProperties = Pick<GroupLayerItem, "layer">;
27
+
28
+ /**
29
+ * An item representing a group layer in the selection list.
30
+ *
31
+ * @internal
32
+ */
33
+ export default class GroupLayerItem extends ItemBase {
34
+ /** @internal */
35
+ constructor(properties: GroupLayerItemProperties);
36
+ /**
37
+ * Set of child layer items. Can also be another GroupLayerItem in the case of SubtypeGroupLayer or KnowledgeGraphLayer.
38
+ *
39
+ * @internal
40
+ */
41
+ accessor items: ParentItem[];
42
+ /**
43
+ * Layer containing the sublayer that contains the selected features.
44
+ *
45
+ * @internal
46
+ */
47
+ accessor layer: SelectionListParentLayer;
48
+ /**
49
+ * Convenience property for all child layers and tables on the parent group layer.
50
+ *
51
+ * @internal
52
+ */
53
+ get layers(): Layer[] | SubtypeSublayer[];
54
+ /**
55
+ * Indicates this group item contains at least one layer item that is displaying a
56
+ * subset of selected features due to an upper maximum limit.
57
+ *
58
+ * @internal
59
+ */
60
+ get maxVisibleFeatureCountExceeded(): boolean;
61
+ /**
62
+ * Count representing the number of selected features. This value includes features hidden by
63
+ * local filters, but are still selected according to the associated selection manager.
64
+ *
65
+ * @internal
66
+ */
67
+ get total(): number;
68
+ /**
69
+ * Indicates this item is visible in the list, due to one or more child items being visible.
70
+ *
71
+ * @internal
72
+ */
73
+ get visible(): boolean;
74
+ /**
75
+ * Total number of visible features accounting for any filters, and 'maxVisibleFeatureCountPerLayer'.
76
+ *
77
+ * @internal
78
+ */
79
+ get visibleTotal(): number;
80
+ /**
81
+ * Empties current feature item caches on child layer items.
82
+ *
83
+ * @internal
84
+ */
85
+ reset(): void;
86
+ /**
87
+ * Method used to load or resync relevant item data.
88
+ *
89
+ * @param options - Options used to control the sync operation.
90
+ * @returns Promise resolving when the sync operation is complete.
91
+ * @internal
92
+ */
93
+ sync(options: SyncOptions): Promise<void>;
94
+ }
@@ -0,0 +1,70 @@
1
+ import type Accessor from "../../../core/Accessor.js";
2
+ import type SelectionListViewModel from "./SelectionListViewModel.js";
3
+ import type { Icon } from "@esri/calcite-components/components/calcite-icon";
4
+ import type { SelectableLayer, SelectableLayerView, SelectableViewUnion } from "../../../views/selection/types.js";
5
+ import type { SelectionListParentLayer } from "./types.js";
6
+
7
+ /**
8
+ * Properties used to construct an ItemBase instance.
9
+ *
10
+ * @internal
11
+ */
12
+ export interface ItemBaseProperties extends Partial<Pick<ItemBase, "layer" | "viewModel">> {}
13
+
14
+ /**
15
+ * Base class for selection list items.
16
+ *
17
+ * @internal
18
+ */
19
+ export default class ItemBase extends Accessor {
20
+ /** @internal */
21
+ constructor(properties: ItemBaseProperties);
22
+ /**
23
+ * Icon used to represent the item.
24
+ *
25
+ * @internal
26
+ */
27
+ get iconName(): Icon["icon"];
28
+ /**
29
+ * Unique identifier used for the item.
30
+ *
31
+ * @internal
32
+ */
33
+ get key(): string;
34
+ /**
35
+ * Layer associated with the item.
36
+ *
37
+ * @internal
38
+ */
39
+ accessor layer: SelectableLayer | SelectionListParentLayer;
40
+ /**
41
+ * Indicates the layer and its selected features are visible on the map.
42
+ *
43
+ * @internal
44
+ */
45
+ get layerIsVisible(): boolean;
46
+ /**
47
+ * Companion layer view of the associated layer.
48
+ *
49
+ * @internal
50
+ */
51
+ get layerView(): SelectableLayerView | null | undefined;
52
+ /**
53
+ * Text used in the interface for the item.
54
+ *
55
+ * @internal
56
+ */
57
+ get title(): string | null | undefined;
58
+ /**
59
+ * Convenience property for the view associated with the view model.
60
+ *
61
+ * @internal
62
+ */
63
+ get view(): SelectableViewUnion | null | undefined;
64
+ /**
65
+ * Used to look up information about the selections.
66
+ *
67
+ * @internal
68
+ */
69
+ accessor viewModel: SelectionListViewModel;
70
+ }
@@ -0,0 +1,140 @@
1
+ import type FeatureItem from "./FeatureItem.js";
2
+ import type GroupLayerItem from "./GroupLayerItem.js";
3
+ import type ItemBase from "./ItemBase.js";
4
+ import type { ObjectId } from "../../../views/types.js";
5
+ import type { SelectableLayer, SelectionIdentifier } from "../../../views/selection/types.js";
6
+ import type { ItemBaseProperties } from "./ItemBase.js";
7
+ import type { SyncOptions } from "./types.js";
8
+
9
+ /** @internal */
10
+ export interface LayerItemProperties extends ItemBaseProperties, Partial<Pick<LayerItem, "featureItems" | "groupLayerItem">> {
11
+ /**
12
+ * Companion layer view of the associated layer.
13
+ *
14
+ * @internal
15
+ */
16
+ layer?: SelectableLayer;
17
+ }
18
+
19
+ /** @internal */
20
+ export type RequiredConstructProperties = Pick<LayerItem, "groupLayerItem">;
21
+
22
+ /**
23
+ * An item representing a layer in the selection list.
24
+ *
25
+ * @internal
26
+ */
27
+ export default class LayerItem extends ItemBase {
28
+ /** @internal */
29
+ constructor(properties: LayerItemProperties);
30
+ /**
31
+ * Set of object Ids for selected features. Includes filtered features
32
+ *
33
+ * @internal
34
+ */
35
+ get effectiveObjectIds(): ObjectId[];
36
+ /**
37
+ * The effective selection for this layer item, which is a subset of the full selection based on the
38
+ * value of 'maxVisibleFeatureCountPerLayer'.
39
+ *
40
+ * @internal
41
+ */
42
+ get effectiveSelection(): SelectionIdentifier[];
43
+ /**
44
+ * Set of items representing individual selected features. This will only contain a maximum number of
45
+ * features based on the value of 'maxVisibleFeatureCountExceeded'.
46
+ *
47
+ * @internal
48
+ */
49
+ accessor featureItems: FeatureItem[];
50
+ /**
51
+ * Reference to the parent GroupLayerItem, if one exists.
52
+ *
53
+ * @internal
54
+ */
55
+ accessor groupLayerItem: GroupLayerItem | null | undefined;
56
+ /**
57
+ * Companion layer view of the associated layer.
58
+ *
59
+ * @internal
60
+ */
61
+ accessor layer: SelectableLayer;
62
+ /**
63
+ * Indicates the list is only showing a subset of selected feature items managed
64
+ * by this particular layer item, due to the selection being greater than the current
65
+ * value of the 'maxVisibleFeatureCountPerLayer' property. This value also accounts for
66
+ * any active filter, meaning this value will be false when a filter is applied and some
67
+ * items have been hidden.
68
+ *
69
+ * @internal
70
+ */
71
+ get maxVisibleFeatureCountExceeded(): boolean;
72
+ /**
73
+ * Maximum number of selected features visible for each layer item.
74
+ * This does not prevent selection or affect bulk actions on the
75
+ * selection set.
76
+ *
77
+ * @internal
78
+ */
79
+ get maxVisibleFeatureCountPerLayer(): number;
80
+ /**
81
+ * Array of selected features represented by their object Ids.
82
+ *
83
+ * @internal
84
+ */
85
+ get objectIds(): ObjectId[];
86
+ /**
87
+ * Array of selected features.
88
+ *
89
+ * @internal
90
+ */
91
+ get selection(): SelectionIdentifier[];
92
+ /**
93
+ * Count representing the number of selected features. This value includes features hidden by
94
+ * local filters, but are still selected according to the associated selection manager.
95
+ *
96
+ * @internal
97
+ */
98
+ get total(): number;
99
+ /**
100
+ * Indicates this item is visible in the list, due to one or more child items being visible.
101
+ *
102
+ * @internal
103
+ */
104
+ get visible(): boolean;
105
+ /**
106
+ * Total number of visible features accounting for any filters, and 'maxVisibleFeatureCountPerLayer'.
107
+ *
108
+ * @internal
109
+ */
110
+ get visibleTotal(): number;
111
+ /**
112
+ * Cancels any active operation.
113
+ *
114
+ * @internal
115
+ */
116
+ cancel(): void;
117
+ /**
118
+ * Empties current feature item cache.
119
+ *
120
+ * @internal
121
+ */
122
+ reset(): void;
123
+ /**
124
+ * Method used to load or resync relevant item data.
125
+ *
126
+ * @param options - Options used to control the sync operation.
127
+ * @returns Promise resolving when the sync operation is complete.
128
+ * @internal
129
+ */
130
+ sync(options: SyncOptions): Promise<void>;
131
+ /**
132
+ * Method used to fetch up-to-date titles for all feature items.
133
+ * Syncs titles for all feature items if no parameter is provided.
134
+ *
135
+ * @param items - Optional array of feature items to sync titles for. If not provided, all feature items will be synced.
136
+ * @returns Promise resolving when the title sync operation is complete.
137
+ * @internal
138
+ */
139
+ syncTitles(items?: FeatureItem[]): Promise<void>;
140
+ }
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{countIf as t,addMany as r,isSome as s}from"../../../core/arrayUtils.js";import i from"../../../core/ReactiveMap.js";import{property as o,subclass as a}from"../../../core/accessorSupport/decorators.js";import{getDisplayFieldNameFromFields as l}from"../../../layers/support/fieldUtils.js";import{isSelectableLayerWithObjectIds as n,isSelectableLayerViewWithObjectIds as c}from"../../../views/support/selectionUtils.js";import u from"./FeatureItem.js";import p from"./ItemBase.js";import{getSuggestedQueryOutFields as f}from"../Selector2D/selectorUtils.js";let m=class extends p{constructor(e){super(e),this._onChangeController=null,this.featureItems=[],this.featureTitleMap=new i,this.groupLayerItem=null,this.layer=null}get effectiveObjectIds(){return this.objectIds.slice(0,this.maxVisibleFeatureCountPerLayer)}get effectiveSelection(){return this.selection.slice(0,this.maxVisibleFeatureCountPerLayer)}get maxVisibleFeatureCountExceeded(){const{viewModel:e}=this;return this.selection.length>e.maxVisibleFeatureCountPerLayer&&this.visibleTotal===e.maxVisibleFeatureCountPerLayer}get maxVisibleFeatureCountPerLayer(){return this.viewModel.maxVisibleFeatureCountPerLayer}get objectIds(){const e=this.layer;return n(e)?this.selection:[]}get selection(){return this.viewModel.effectiveSelectionManager?.getSelection(this.layer)??[]}get total(){return this.selection.length}get visible(){return this.featureItems.some(e=>e.visible)}get visibleTotal(){return t(this.featureItems,e=>e.visible)}cancel(){this._onChangeController?.abort()}reset(){this.featureItems.forEach(e=>e.destroy()),this.featureItems=[]}async sync({controller:e,promises:t}){const{effectiveSelection:i,layer:o}=this;this.cancel();const a=new Map(this.featureItems.map(e=>[e.identifier,e])),l=new Map,c=[],u=[];for(const r of i){const e=a.get(r);e?l.set(r,e):(c.push(r),l.set(r,null))}if(this._onChangeController=e,c.length>0){n(o)?r(u,await this._createFeatureItemsFromIds(o,c,e)):r(u,this._createFeatureItemsFromGraphics(c));for(const e of u)null!=e.identifier&&l.set(e.identifier,e)}e.signal.aborted||(this.featureItems=Array.from(l.values()).filter(s),t.push(this.syncTitles(u)))}async syncTitles(e=this.featureItems){const{layer:t}=this,r=e.map(e=>e.graphic);if("getFeatureTitles"in t&&t.getFeatureTitles){(await t.getFeatureTitles(r,{fetchMissingFields:!0,removeHTML:!0})).forEach((e,t)=>this.featureTitleMap.set(t,e))}else if(n(t)){const e=t.displayField||l(t.fields);e&&r.forEach(t=>{const r=t.getObjectId(),s=t.attributes[e];null!=r&&s&&this.featureTitleMap.set(r,s)})}}_createFeatureItemsFromGraphics(e){const{layer:t,viewModel:r}=this;return e.map(e=>new u({graphic:e,layer:t,layerItem:this,viewModel:r}))}async _createFeatureItemsFromIds(e,t,r){const{layerView:s,viewModel:i}=this,o=new Map;if(c(s)){const e=s.createQuery();e.objectIds=t,e.outFields=["*"],e.returnGeometry=!0;const i=await s.queryFeatures(e,r);for(const t of i.features){const e=t.getObjectId();null!=e&&o.set(e,t)}}if(r.signal.aborted)return[];const a=t.filter(e=>!o.has(e));if(a.length){const{view:t}=this,s=e.createQuery();s.objectIds=a,s.outSpatialReference=t?.spatialReference,s.outFields=t?f(e,t,!0):["*"],s.returnGeometry=!0;const i=await e.queryFeatures(s,r);for(const e of i.features){const t=e.getObjectId();null!=t&&o.set(t,e)}}return Array.from(o.values()).map(t=>new u({graphic:t,layer:e,layerItem:this,viewModel:i}))}};e([o()],m.prototype,"_onChangeController",void 0),e([o()],m.prototype,"effectiveObjectIds",null),e([o()],m.prototype,"effectiveSelection",null),e([o()],m.prototype,"featureItems",void 0),e([o()],m.prototype,"featureTitleMap",void 0),e([o()],m.prototype,"groupLayerItem",void 0),e([o()],m.prototype,"layer",void 0),e([o()],m.prototype,"maxVisibleFeatureCountExceeded",null),e([o()],m.prototype,"maxVisibleFeatureCountPerLayer",null),e([o()],m.prototype,"objectIds",null),e([o()],m.prototype,"selection",null),e([o()],m.prototype,"total",null),e([o()],m.prototype,"visible",null),e([o()],m.prototype,"visibleTotal",null),m=e([a("esri.widgets.support.SelectionList.LayerItem")],m);const h=m;export{h as default};
2
+ import{__decorate as e}from"tslib";import{countIf as t,addMany as r,isSome as s}from"../../../core/arrayUtils.js";import i from"../../../core/ReactiveMap.js";import{property as o,subclass as a}from"../../../core/accessorSupport/decorators.js";import{getDisplayFieldNameFromFields as l}from"../../../layers/support/fieldUtils.js";import{isSelectableLayerWithObjectIds as n,isSelectableLayerViewWithObjectIds as c}from"../../../views/support/selectionUtils.js";import u from"./FeatureItem.js";import p from"./ItemBase.js";import{getSuggestedQueryOutFields as f}from"../Selector2D/selectorUtils.js";let m=class extends p{constructor(e){super(e),this._onChangeController=null,this.featureItems=[],this.featureTitleMap=new i,this.groupLayerItem=null,this.layer=null}get effectiveObjectIds(){return this.objectIds.slice(0,this.maxVisibleFeatureCountPerLayer)}get effectiveSelection(){return this.selection.slice(0,this.maxVisibleFeatureCountPerLayer)}get maxVisibleFeatureCountExceeded(){const{viewModel:e}=this;return this.selection.length>e.maxVisibleFeatureCountPerLayer&&this.visibleTotal===e.maxVisibleFeatureCountPerLayer}get maxVisibleFeatureCountPerLayer(){return this.viewModel.maxVisibleFeatureCountPerLayer}get objectIds(){const e=this.layer;return n(e)?this.selection:[]}get selection(){return this.viewModel.effectiveSelectionManager?.getSelection(this.layer)??[]}get total(){return this.selection.length}get visible(){return this.featureItems.some(e=>e.visible)}get visibleTotal(){return t(this.featureItems,e=>e.visible)}cancel(){this._onChangeController?.abort()}reset(){this.featureItems.forEach(e=>e.destroy()),this.featureItems=[]}async sync({controller:e,promises:t}){const{effectiveSelection:i,layer:o}=this;this.cancel();const a=new Map(this.featureItems.map(e=>[e.identifier,e])),l=new Map,c=[],u=[];for(const r of i){const e=a.get(r);e?l.set(r,e):(c.push(r),l.set(r,null))}if(this._onChangeController=e,c.length>0){n(o)?r(u,await this._createFeatureItemsFromIds(o,c,e)):r(u,this._createFeatureItemsFromGraphics(c));for(const e of u)null!=e.identifier&&l.set(e.identifier,e)}e.signal.aborted||(this.featureItems=Array.from(l.values()).filter(s),t.push(this.syncTitles(u)))}async syncTitles(e){const{layer:t}=this,r=(e??this.featureItems).map(e=>e.graphic);if("getFeatureTitles"in t&&t.getFeatureTitles){(await t.getFeatureTitles(r,{fetchMissingFields:!0,removeHTML:!0})).forEach((e,t)=>this.featureTitleMap.set(t,e))}else if(n(t)){const e=t.displayField||l(t.fields);e&&r.forEach(t=>{const r=t.getObjectId(),s=t.attributes[e];null!=r&&s&&this.featureTitleMap.set(r,s)})}}_createFeatureItemsFromGraphics(e){const{layer:t,viewModel:r}=this;return e.map(e=>new u({graphic:e,layer:t,layerItem:this,viewModel:r}))}async _createFeatureItemsFromIds(e,t,r){const{layerView:s,viewModel:i}=this,o=new Map;if(c(s)){const e=s.createQuery();e.objectIds=t,e.outFields=["*"],e.returnGeometry=!0;const i=await s.queryFeatures(e,r);for(const t of i.features){const e=t.getObjectId();null!=e&&o.set(e,t)}}if(r.signal.aborted)return[];const a=t.filter(e=>!o.has(e));if(a.length){const{view:t}=this,s=e.createQuery();s.objectIds=a,s.outSpatialReference=t?.spatialReference,s.outFields=t?f(e,t,!0):["*"],s.returnGeometry=!0;const i=await e.queryFeatures(s,r);for(const e of i.features){const t=e.getObjectId();null!=t&&o.set(t,e)}}return Array.from(o.values()).map(t=>new u({graphic:t,layer:e,layerItem:this,viewModel:i}))}};e([o()],m.prototype,"_onChangeController",void 0),e([o()],m.prototype,"effectiveObjectIds",null),e([o()],m.prototype,"effectiveSelection",null),e([o()],m.prototype,"featureItems",void 0),e([o()],m.prototype,"featureTitleMap",void 0),e([o()],m.prototype,"groupLayerItem",void 0),e([o()],m.prototype,"layer",void 0),e([o()],m.prototype,"maxVisibleFeatureCountExceeded",null),e([o()],m.prototype,"maxVisibleFeatureCountPerLayer",null),e([o()],m.prototype,"objectIds",null),e([o()],m.prototype,"selection",null),e([o()],m.prototype,"total",null),e([o()],m.prototype,"visible",null),e([o()],m.prototype,"visibleTotal",null),m=e([a("esri.widgets.support.SelectionList.LayerItem")],m);const h=m;export{h as default};