@arcgis/core 4.28.0-next.20230921 → 4.28.0-next.20230923

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 (415) hide show
  1. package/Graphic.js +1 -1
  2. package/PopupTemplate.js +1 -1
  3. package/TimeExtent.js +1 -1
  4. package/arcade/ArcadeDate.js +1 -1
  5. package/arcade/Feature.js +1 -1
  6. package/arcade/featureSetUtils.js +1 -1
  7. package/arcade/featureset/actions/Adapted.js +1 -1
  8. package/arcade/featureset/actions/GroupBy.js +1 -1
  9. package/arcade/featureset/support/FeatureSet.js +1 -1
  10. package/arcade/featureset/support/FeatureSetIterator.js +1 -1
  11. package/arcade/featureset/support/StatsField.js +1 -1
  12. package/arcade/featureset/support/sqlUtils.js +1 -1
  13. package/arcade/functions/convertdirection.js +1 -1
  14. package/arcade/functions/date.js +1 -1
  15. package/arcade/functions/featuresetbase.js +1 -1
  16. package/arcade/functions/featuresetstats.js +1 -1
  17. package/arcade/treeAnalysis.js +1 -1
  18. package/arcade.js +1 -1
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/02156fd04279f4d0fd3f.js +1 -0
  21. package/assets/esri/core/workers/chunks/07f6175b52366b2c28bd.js +1 -0
  22. package/assets/esri/core/workers/chunks/098073c3b2849f56dad8.js +1 -0
  23. package/assets/esri/core/workers/chunks/1186ba1947bd0c32f148.js +1 -0
  24. package/assets/esri/core/workers/chunks/186445b9fbedd261f684.js +1 -0
  25. package/assets/esri/core/workers/chunks/{580039dd491854ca325c.js → 21fc02f0d5716c4a7acd.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{dff1c3c38dda2bd1a9d6.js → 246a954347fe9318190e.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{c9dfb145f0c1d93e0fbd.js → 250bb6ae6f1992b5b4f9.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{314c307e30f308a40a28.js → 25b09e9c0511c8e1cf8a.js} +1 -1
  29. package/assets/esri/core/workers/chunks/2a0b3b52ecd787a613bc.js +1 -0
  30. package/assets/esri/core/workers/chunks/2bc9b55e655968229ef4.js +1 -0
  31. package/assets/esri/core/workers/chunks/2f0924e7aa89e689da4a.js +1 -0
  32. package/assets/esri/core/workers/chunks/3f218d65ec451b2a1027.js +1 -0
  33. package/assets/esri/core/workers/chunks/425b5733bb88e6efe242.js +1 -0
  34. package/assets/esri/core/workers/chunks/45d6b942cdccca2ce44a.js +1 -0
  35. package/assets/esri/core/workers/chunks/4bf1a7e82a68ccee0ee1.js +1 -0
  36. package/assets/esri/core/workers/chunks/4c110c7f4f940ec58010.js +1 -0
  37. package/assets/esri/core/workers/chunks/{bde89b2684b6185992ef.js → 4ed77097e69fa3096ce4.js} +1 -1
  38. package/assets/esri/core/workers/chunks/4fe5bac782a742d5b1c0.js +1 -0
  39. package/assets/esri/core/workers/chunks/{1cbaba30f55f00f7498b.js → 51324d042f469f3b8914.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{3f4e9b1663ec521bfe00.js → 542ce10e1872399790b4.js} +1 -1
  41. package/assets/esri/core/workers/chunks/54d2b7e2ac4ba883bee8.js +1 -0
  42. package/assets/esri/core/workers/chunks/54ecb6cae310818d1aa2.js +1 -0
  43. package/assets/esri/core/workers/chunks/57c932e289d89d97da4b.js +1 -0
  44. package/assets/esri/core/workers/chunks/{6403de6fc067cf8f7436.js → 592c1fb531f2be928e8a.js} +1 -1
  45. package/assets/esri/core/workers/chunks/59a807220d6f0dd18776.js +1 -0
  46. package/assets/esri/core/workers/chunks/59dff10d7ad2b1bf469e.js +1 -0
  47. package/assets/esri/core/workers/chunks/609a475ab395f2ce63e2.js +1 -0
  48. package/assets/esri/core/workers/chunks/612c485c5aad1548d708.js +1 -0
  49. package/assets/esri/core/workers/chunks/{2bb69d76a13564e8e455.js → 645ba2d5c10184632d23.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{332689bf60d246485993.js → 65186e168dd112ac6221.js} +1 -1
  51. package/assets/esri/core/workers/chunks/6b9248fb2d6aadbce7bb.js +1 -0
  52. package/assets/esri/core/workers/chunks/709465832d306e02df52.js +1 -0
  53. package/assets/esri/core/workers/chunks/72c5bd6f7b8541b8d69e.js +1 -0
  54. package/assets/esri/core/workers/chunks/{bbc0dcd316c5598bc9ad.js → 74368a5213def6c200a2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{94188fe381239d48a975.js → 76483c9a8848f3106126.js} +1 -1
  56. package/assets/esri/core/workers/chunks/7aa58c96798447ce5907.js +1 -0
  57. package/assets/esri/core/workers/chunks/7d078b8b9997b5300c0a.js +1 -0
  58. package/assets/esri/core/workers/chunks/7fe641cf1467496e670a.js +1 -0
  59. package/assets/esri/core/workers/chunks/{df8f62beb36fb9d2ac81.js → 810c8d6ff19976fd1366.js} +1 -1
  60. package/assets/esri/core/workers/chunks/8458ed96f3e72814cef2.js +1 -0
  61. package/assets/esri/core/workers/chunks/{243a4eed107d363dfad8.js → 887652bbdb3b71d0a089.js} +1 -1
  62. package/assets/esri/core/workers/chunks/896bfda379cf620b63ec.js +1 -0
  63. package/assets/esri/core/workers/chunks/91c9f0d59eaed7a735ce.js +1 -0
  64. package/assets/esri/core/workers/chunks/{1f7e041140088f8ac489.js → 97073a60f0ea2a397165.js} +1 -1
  65. package/assets/esri/core/workers/chunks/97658ac749664a07c92d.js +1 -0
  66. package/assets/esri/core/workers/chunks/{1da74a306aa5b4eacaae.js → 9866bbaeaf885c2dcca9.js} +1 -1
  67. package/assets/esri/core/workers/chunks/a39ae87298ac674f129d.js +1 -0
  68. package/assets/esri/core/workers/chunks/a7b3048c19348540e004.js +1 -0
  69. package/assets/esri/core/workers/chunks/a8ca4b116909e47722f9.js +1 -0
  70. package/assets/esri/core/workers/chunks/{101f776316a85b708927.js → a99070ec4c06c435b744.js} +1 -1
  71. package/assets/esri/core/workers/chunks/ab145d13932d87dd7bf9.js +1 -0
  72. package/assets/esri/core/workers/chunks/{77c15b1c2729c780f75a.js → aeeeb386134b341d7ad2.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{3ca759f72d3bb29e9ea9.js → af54b233f6d6ad70b4a3.js} +2 -2
  74. package/assets/esri/core/workers/chunks/b9146daae8457224fd08.js +1 -0
  75. package/assets/esri/core/workers/chunks/bcdd2e8841abcb4df6da.js +1 -0
  76. package/assets/esri/core/workers/chunks/be05cc0cdabd5e051045.js +1 -0
  77. package/assets/esri/core/workers/chunks/c5f5f37bef11c6fbdc40.js +1 -0
  78. package/assets/esri/core/workers/chunks/d414dba3179bcf75bc6b.js +1 -0
  79. package/assets/esri/core/workers/chunks/{b449d6bd5851187d419f.js → d6e5408f9fa6b4bcd118.js} +1 -1
  80. package/assets/esri/core/workers/chunks/d9fb500cbd0f04d219a3.js +1 -0
  81. package/assets/esri/core/workers/chunks/e0dd6789fb797e9b7206.js +1 -0
  82. package/assets/esri/core/workers/chunks/{6f271249e042086d5a16.js → e4e49deae8da74f629db.js} +1 -1
  83. package/assets/esri/core/workers/chunks/e5dcff7a4fa84ba09670.js +1 -0
  84. package/assets/esri/core/workers/chunks/{f508ccfde6425dabe9ac.js → ee0bf611d191103a7046.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{ed1fbc1bc8d50453e2f5.js → f793cd41fcd022baeea2.js} +1 -1
  86. package/assets/esri/core/workers/chunks/fad6a7bb82a0a2df726f.js +1 -0
  87. package/assets/esri/themes/base/widgets/_FeatureForm.scss +2 -84
  88. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -0
  89. package/assets/esri/themes/dark/main.css +1 -1
  90. package/assets/esri/themes/light/main.css +1 -1
  91. package/assets/esri/themes/light/view.css +1 -1
  92. package/chunks/arcade.js +1 -1
  93. package/config.js +1 -1
  94. package/core/Accessor.js +1 -1
  95. package/core/accessorSupport/diffUtils.js +1 -1
  96. package/core/has.js +1 -1
  97. package/core/number.js +1 -1
  98. package/core/reactiveUtils.js +1 -1
  99. package/core/sql/DateOnly.js +1 -1
  100. package/core/sql/WhereClause.js +1 -1
  101. package/core/sql.js +1 -1
  102. package/core/timeUtils.js +1 -1
  103. package/identity/IdentityForm.js +1 -1
  104. package/identity/IdentityModal.js +1 -1
  105. package/interfaces.d.ts +48 -203
  106. package/layers/LinkChartLayer.js +1 -1
  107. package/layers/OrientedImageryLayer.js +1 -1
  108. package/layers/SceneLayer.js +1 -1
  109. package/layers/graphics/applyEditsUtils.js +5 -0
  110. package/layers/graphics/editingSupport.js +1 -1
  111. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  112. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  113. package/layers/mixins/ArcGISImageService.js +1 -1
  114. package/layers/mixins/EditBusLayer.js +1 -1
  115. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  116. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +5 -0
  117. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  118. package/layers/orientedImagery/core/cameraOrientationFactory.js +1 -1
  119. package/layers/orientedImagery/core/utils.js +5 -0
  120. package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
  121. package/layers/support/fieldProperties.js +1 -1
  122. package/layers/support/fieldUtils.js +1 -1
  123. package/layers/support/imageryRendererUtils.js +1 -1
  124. package/layers/support/kmlUtils.js +1 -1
  125. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  126. package/layers/support/rasterFunctions/creators/createDataManagementFunctions.js +1 -1
  127. package/networks/Network.js +1 -1
  128. package/package.json +1 -1
  129. package/request.js +1 -1
  130. package/rest/featureService/FeatureService.js +1 -1
  131. package/rest/support/DirectionsFeatureSet.js +1 -1
  132. package/smartMapping/renderers/pieChart.js +1 -1
  133. package/smartMapping/renderers/relationship.js +1 -1
  134. package/smartMapping/renderers/support/utils.js +1 -1
  135. package/smartMapping/statistics/support/ageUtils.js +1 -1
  136. package/smartMapping/support/adapters/support/utils.js +1 -1
  137. package/smartMapping/support/utils.js +1 -1
  138. package/support/apiKeyUtils.js +1 -1
  139. package/support/arcadeUtils.js +1 -1
  140. package/support/revision.js +1 -1
  141. package/symbols/cim/cimAnalyzer.js +1 -1
  142. package/symbols/support/svgUtils.js +1 -1
  143. package/time/TimeReference.js +1 -1
  144. package/time/timeReferenceUtils.js +1 -1
  145. package/versionManagement/VersionManagementService.js +1 -1
  146. package/versionManagement/support/EditMomentStack.js +5 -0
  147. package/versionManagement/support/versionManagementUtils.js +1 -1
  148. package/views/2d/engine/Container.js +1 -1
  149. package/views/2d/engine/DisplayObject.js +1 -1
  150. package/views/2d/engine/ManagedCanvas.js +5 -0
  151. package/views/2d/engine/Stage.js +1 -1
  152. package/views/2d/engine/webgl/GroupContainer.js +1 -1
  153. package/views/2d/engine/webgl/Painter.js +1 -1
  154. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  155. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  156. package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
  157. package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
  158. package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
  159. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  160. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  161. package/views/2d/layers/GeoRSSLayerView2D.js +1 -1
  162. package/views/2d/layers/MediaLayerView2D.js +1 -1
  163. package/views/2d/layers/TileLayerView2D.js +1 -1
  164. package/views/2d/layers/WMTSLayerView2D.js +1 -1
  165. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  166. package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
  167. package/views/2d/layers/graphics/BaseGraphicContainer.js +1 -1
  168. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  169. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  170. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  171. package/views/2d/layers/imagery/VectorFieldView2D.js +1 -1
  172. package/views/2d/layers/support/DisplayGL.js +1 -1
  173. package/views/2d/webglDeps.js +1 -1
  174. package/views/3d/glTF/loader.js +1 -1
  175. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  176. package/views/3d/interactive/editingTools/transformGraphic/isSupportedGraphic.js +1 -1
  177. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  178. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  179. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  180. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  181. package/views/3d/layers/SceneLayerView3D.js +1 -1
  182. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  183. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  184. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  185. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  186. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  187. package/views/3d/layers/graphics/Labeler.js +1 -1
  188. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  189. package/views/3d/layers/i3s/featureEditing.js +1 -1
  190. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  191. package/views/3d/state/ViewStateManager.js +1 -1
  192. package/views/3d/support/buffer/glUtil.js +1 -1
  193. package/views/3d/support/engineContent/line.js +1 -1
  194. package/views/3d/support/viewpointUtils.js +1 -1
  195. package/views/3d/webgl-engine/Stage.js +1 -1
  196. package/views/3d/webgl-engine/effects/RenderPluginInput.js +1 -1
  197. package/views/3d/webgl-engine/effects/blit/Blit.js +5 -0
  198. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  199. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  200. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  201. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  202. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  203. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  204. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  205. package/views/3d/webgl-engine/lib/RenderSlot.js +1 -1
  206. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  207. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  208. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  209. package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
  210. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  211. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  212. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  213. package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
  214. package/views/View.js +1 -1
  215. package/views/interactive/tooltip/TooltipContentWithHelpMessage.js +1 -1
  216. package/views/interactive/tooltip/TooltipEditableField.js +1 -1
  217. package/views/interactive/tooltip/constraintUtils.js +1 -1
  218. package/views/interactive/tooltip/content/Fields.js +1 -1
  219. package/views/interactive/tooltip/content/TooltipContentDrawCircle.js +1 -1
  220. package/views/interactive/tooltip/content/TooltipContentDrawMesh.js +1 -1
  221. package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
  222. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  223. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  224. package/views/interactive/tooltip/content/TooltipContentDrawRectangle.js +1 -1
  225. package/views/interactive/tooltip/content/TooltipContentExtentRotate.js +1 -1
  226. package/views/interactive/tooltip/content/TooltipContentExtentScale.js +1 -1
  227. package/views/interactive/tooltip/content/TooltipContentReshapeEdgeOffset.js +1 -1
  228. package/views/interactive/tooltip/content/TooltipContentTransformAbsolute.js +1 -1
  229. package/views/interactive/tooltip/content/TooltipContentTransformRotate.js +1 -1
  230. package/views/interactive/tooltip/content/TooltipContentTransformScale.js +1 -1
  231. package/views/interactive/tooltip/content/TooltipContentTranslateGraphic.js +1 -1
  232. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicXY.js +1 -1
  233. package/views/interactive/tooltip/content/TooltipContentTranslateGraphicZ.js +1 -1
  234. package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
  235. package/views/interactive/tooltip/content/TooltipContentTranslateVertexXY.js +1 -1
  236. package/views/interactive/tooltip/content/TooltipContentTranslateVertexZ.js +1 -1
  237. package/views/support/angularMeasurementUtils.js +1 -1
  238. package/views/ui/UI.js +1 -1
  239. package/views/webgl/ShaderTranspiler.js +1 -1
  240. package/views/webgl/Texture.js +1 -1
  241. package/views/webgl/contextUtils.js +1 -1
  242. package/webmap/InitialViewProperties.js +1 -1
  243. package/widgets/AreaMeasurement2D.js +1 -1
  244. package/widgets/AreaMeasurement3D.js +1 -1
  245. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  246. package/widgets/Attachments.js +1 -1
  247. package/widgets/Attribution.js +1 -1
  248. package/widgets/BasemapGallery.js +1 -1
  249. package/widgets/BasemapLayerList.js +1 -1
  250. package/widgets/BasemapToggle.js +1 -1
  251. package/widgets/Bookmarks.js +1 -1
  252. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  253. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
  254. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  255. package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
  256. package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
  257. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  258. package/widgets/BuildingExplorer.js +1 -1
  259. package/widgets/Compass.js +1 -1
  260. package/widgets/CoordinateConversion.js +1 -1
  261. package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
  262. package/widgets/Daylight.js +1 -1
  263. package/widgets/DirectLineMeasurement3D.js +1 -1
  264. package/widgets/DirectionalPad.js +1 -1
  265. package/widgets/Directions/components/SaveLayer.js +1 -1
  266. package/widgets/Directions.js +1 -1
  267. package/widgets/DistanceMeasurement2D.js +1 -1
  268. package/widgets/Editor/components/FooterActions.js +1 -1
  269. package/widgets/Editor/components/Notices.js +1 -1
  270. package/widgets/Editor/components/PanelContent.js +1 -1
  271. package/widgets/Editor/components/PanelToolbar.js +1 -1
  272. package/widgets/Editor/components/Prompt.js +1 -1
  273. package/widgets/Editor/components/Settings.js +1 -1
  274. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  275. package/widgets/Editor/components/UploadDetails.js +1 -1
  276. package/widgets/Editor.js +1 -1
  277. package/widgets/ElevationProfile/components/LegendItem.js +1 -1
  278. package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
  279. package/widgets/ElevationProfile/components/Statistics.js +1 -1
  280. package/widgets/ElevationProfile.js +1 -1
  281. package/widgets/Expand.js +1 -1
  282. package/widgets/Feature/FeatureContent.js +1 -1
  283. package/widgets/Feature/FeatureExpression.js +1 -1
  284. package/widgets/Feature/FeatureFields.js +1 -1
  285. package/widgets/Feature/FeatureMedia.js +1 -1
  286. package/widgets/Feature/FeatureRelationship.js +1 -1
  287. package/widgets/Feature/FeatureViewModel.js +1 -1
  288. package/widgets/Feature/support/FeatureContentMixin.js +1 -1
  289. package/widgets/Feature/support/FeatureElementInfo.js +1 -1
  290. package/widgets/Feature.js +1 -1
  291. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  292. package/widgets/FeatureForm/GroupInput.js +1 -1
  293. package/widgets/FeatureForm/css.js +1 -1
  294. package/widgets/FeatureForm.js +1 -1
  295. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  296. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  297. package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
  298. package/widgets/FeatureTable.js +1 -1
  299. package/widgets/FeatureTemplates/ItemList.js +1 -1
  300. package/widgets/FeatureTemplates.js +1 -1
  301. package/widgets/Features/FeaturesRelatedRecords.js +1 -1
  302. package/widgets/Features.js +1 -1
  303. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  304. package/widgets/FloorFilter.js +1 -1
  305. package/widgets/Fullscreen.js +1 -1
  306. package/widgets/Histogram.js +1 -1
  307. package/widgets/HistogramRangeSlider.js +1 -1
  308. package/widgets/Home.js +1 -1
  309. package/widgets/LayerList/ListItemPanel.js +1 -1
  310. package/widgets/LayerList.js +1 -1
  311. package/widgets/Legend/LegendViewModel.js +1 -1
  312. package/widgets/Legend/styles/Card.js +1 -1
  313. package/widgets/Legend/styles/Classic.js +1 -1
  314. package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
  315. package/widgets/Legend/styles/support/univariateUtils.js +1 -1
  316. package/widgets/LineOfSight.js +1 -1
  317. package/widgets/Locate.js +1 -1
  318. package/widgets/NavigationToggle.js +1 -1
  319. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  320. package/widgets/OrientedImageryViewer.js +1 -1
  321. package/widgets/Popup.js +1 -1
  322. package/widgets/Print.js +1 -1
  323. package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
  324. package/widgets/ScaleRangeSlider.js +1 -1
  325. package/widgets/Search/SearchResultRenderer.js +1 -1
  326. package/widgets/Search.js +1 -1
  327. package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
  328. package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
  329. package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
  330. package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
  331. package/widgets/ShadowCast.js +1 -1
  332. package/widgets/Sketch.js +1 -1
  333. package/widgets/Slice.js +1 -1
  334. package/widgets/Slider.js +1 -1
  335. package/widgets/Swipe.js +1 -1
  336. package/widgets/TableList.js +1 -1
  337. package/widgets/TimeSlider.js +1 -1
  338. package/widgets/Track.js +1 -1
  339. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsLineSymbolPicker.js +1 -1
  340. package/widgets/UtilityNetworkAssociations.js +1 -1
  341. package/widgets/UtilityNetworkTrace.js +1 -1
  342. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  343. package/widgets/ValuePicker.js +1 -1
  344. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  345. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  346. package/widgets/VideoPlayer.js +1 -1
  347. package/widgets/Weather/LabeledSlider.js +1 -1
  348. package/widgets/Weather.js +1 -1
  349. package/widgets/Zoom/IconButton.js +1 -1
  350. package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
  351. package/widgets/smartMapping/ClassedColorSlider.js +1 -1
  352. package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
  353. package/widgets/smartMapping/ColorSizeSlider.js +1 -1
  354. package/widgets/smartMapping/ColorSlider.js +1 -1
  355. package/widgets/smartMapping/HeatmapSlider.js +1 -1
  356. package/widgets/smartMapping/OpacitySlider.js +1 -1
  357. package/widgets/smartMapping/SizeSlider.js +1 -1
  358. package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
  359. package/widgets/support/ColorPicker.js +1 -1
  360. package/widgets/support/DatePicker.js +1 -1
  361. package/widgets/support/Heading.js +1 -1
  362. package/widgets/support/LabeledSwitch.js +1 -1
  363. package/widgets/support/MeasurementWidgetContent.js +1 -1
  364. package/widgets/support/Popover.js +1 -1
  365. package/widgets/support/SelectionToolbar.js +1 -1
  366. package/widgets/support/SketchTooltipControls.js +1 -1
  367. package/widgets/support/SnappingControls.js +1 -1
  368. package/widgets/support/TimePicker.js +1 -1
  369. package/widgets/support/TimezonePicker.js +1 -1
  370. package/widgets/support/UnitSelect.js +1 -1
  371. package/widgets/support/dateUtils.js +1 -1
  372. package/assets/esri/core/workers/chunks/072b4e041b8630c513a0.js +0 -1
  373. package/assets/esri/core/workers/chunks/092920c25cac89c038ee.js +0 -1
  374. package/assets/esri/core/workers/chunks/114269dda1d296893908.js +0 -1
  375. package/assets/esri/core/workers/chunks/126df6237fc80608344e.js +0 -1
  376. package/assets/esri/core/workers/chunks/1b3655f5bf5d90fa8730.js +0 -1
  377. package/assets/esri/core/workers/chunks/1c83f47d446f2bca1721.js +0 -1
  378. package/assets/esri/core/workers/chunks/1cf7bb514e7eefc3e9c6.js +0 -1
  379. package/assets/esri/core/workers/chunks/21a9c8aa2a9e9990df41.js +0 -1
  380. package/assets/esri/core/workers/chunks/24629402c647ef6b5f6b.js +0 -1
  381. package/assets/esri/core/workers/chunks/2a1c1be9c202462cf54d.js +0 -1
  382. package/assets/esri/core/workers/chunks/2cb36f9686693234991a.js +0 -1
  383. package/assets/esri/core/workers/chunks/2d0d03cbea83c868edba.js +0 -1
  384. package/assets/esri/core/workers/chunks/2e130cb2f1038055c07b.js +0 -1
  385. package/assets/esri/core/workers/chunks/3619e04cbb6691549014.js +0 -1
  386. package/assets/esri/core/workers/chunks/3dbfb4f370a874393822.js +0 -1
  387. package/assets/esri/core/workers/chunks/406db5c90271a3a203d4.js +0 -1
  388. package/assets/esri/core/workers/chunks/4369a6c1e0a82ab4db6a.js +0 -1
  389. package/assets/esri/core/workers/chunks/4f4a424d1747d04501df.js +0 -1
  390. package/assets/esri/core/workers/chunks/59c00d6fba0fd1c03d01.js +0 -1
  391. package/assets/esri/core/workers/chunks/5a5720caa64a46daadf9.js +0 -1
  392. package/assets/esri/core/workers/chunks/5edb99b58549cd66b394.js +0 -1
  393. package/assets/esri/core/workers/chunks/6203ddf6caad3d356327.js +0 -1
  394. package/assets/esri/core/workers/chunks/650a317b6dc245a7060f.js +0 -1
  395. package/assets/esri/core/workers/chunks/7a358b1fd0c0cce59e9b.js +0 -1
  396. package/assets/esri/core/workers/chunks/83d1a1b3d371c991cc4c.js +0 -1
  397. package/assets/esri/core/workers/chunks/846b7a81b870c8b238a1.js +0 -1
  398. package/assets/esri/core/workers/chunks/8ab832468300cc4feb5a.js +0 -1
  399. package/assets/esri/core/workers/chunks/bc1dc6383e60e7e61d50.js +0 -1
  400. package/assets/esri/core/workers/chunks/bc6323bdc98013da6fe5.js +0 -1
  401. package/assets/esri/core/workers/chunks/c4bb67150ccd01ea6014.js +0 -1
  402. package/assets/esri/core/workers/chunks/c60cf62f374e71e562fc.js +0 -1
  403. package/assets/esri/core/workers/chunks/c6ea5aac232d1eca04dd.js +0 -1
  404. package/assets/esri/core/workers/chunks/c8438c2d9ac48afe4033.js +0 -1
  405. package/assets/esri/core/workers/chunks/c8f239c25fe864f0e47a.js +0 -1
  406. package/assets/esri/core/workers/chunks/cad260881653567bc8f9.js +0 -1
  407. package/assets/esri/core/workers/chunks/d824f4b405a72cd2fa74.js +0 -1
  408. package/assets/esri/core/workers/chunks/dd7508d4016715371e0c.js +0 -1
  409. package/assets/esri/core/workers/chunks/e55f7fc7eff0074ce0fc.js +0 -1
  410. package/assets/esri/core/workers/chunks/eef27d305023034084a4.js +0 -1
  411. package/assets/esri/core/workers/chunks/f38c54ada9e7012a2960.js +0 -1
  412. package/assets/esri/core/workers/chunks/f5e0ff5292b9fd18fc92.js +0 -1
  413. package/assets/esri/core/workers/chunks/f5eb8b5021620be7538e.js +0 -1
  414. package/core/watchUtils.d.ts +0 -4
  415. package/core/watchUtils.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import{deprecated as e}from"../../core/deprecate.js";import s from"../../core/Logger.js";import{watch as i}from"../../core/reactiveUtils.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{isFieldInput as p}from"./featureFormUtils.js";import n from"./InputBase.js";const l="esri.widgets.FeatureForm.GroupInput",a=s.getLogger(l);let u=class extends n{constructor(t){super(t),this._expressionTrackingHandles=new Map,this.type="group"}initialize(){this.addHandles([i((()=>[this.visible,this.inputs]),(([t])=>{const{inputs:e}=this,s=!!t&&void 0;for(const i of e)p(i)&&(i.required=s)}),{initial:!0,equals:(t,e)=>e[0]===t[0]&&e[1]===t[1]})])}destroy(){for(const t of this._expressionTrackingHandles.values())t.remove()}set inputFields(t){e(a,"Property: GroupInput.inputFields",{replacement:"GroupInput.inputs",version:"4.27"}),this.inputs=t}get inputFields(){return e(a,"Property: GroupInput.inputFields",{replacement:"GroupInput.inputs",version:"4.27"}),this.inputs}get inputs(){return this._get("inputs")}set inputs(t){this.removeAllHandles(),t&&this.addHandles(t.map((t=>i((()=>t.visible),(()=>this._dirtyEvaluatedVisibilityExpression()))))),this._set("inputs",t)}get label(){return this.element.label}set label(t){const{element:e}=this;e&&(e.label=t)}get state(){return this.element.initialState||"expanded"}set state(t){this._overrideIfSome("state",t)}get visible(){return!1!==this.evaluatedVisibilityExpression&&this.inputs&&this.inputs.some((t=>t.visible))}_dirtyEvaluatedVisibilityExpression(){const{element:t}=this;t.visibilityExpression&&this.notifyChange("evaluatedVisibilityExpression")}};t([r()],u.prototype,"inputs",null),t([r()],u.prototype,"label",null),t([r()],u.prototype,"state",null),t([r({readOnly:!0})],u.prototype,"type",void 0),t([r()],u.prototype,"visible",null),u=t([o(l)],u);const c=u;export{c as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{deprecatedProperty as t}from"../../core/deprecate.js";import s from"../../core/Logger.js";import{watch as i}from"../../core/reactiveUtils.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{isFieldInput as n}from"./featureFormUtils.js";import p from"./InputBase.js";let a=class extends p{constructor(e){super(e),this._expressionTrackingHandles=new Map,this.type="group"}initialize(){this.addHandles([i((()=>[this.visible,this.inputs]),(([e])=>{const{inputs:t}=this,s=!!e&&void 0;for(const i of t)n(i)&&(i.required=s)}),{initial:!0,equals:(e,t)=>t[0]===e[0]&&t[1]===e[1]})])}destroy(){for(const e of this._expressionTrackingHandles.values())e.remove()}get initialState(){return this.element.initialState||"expanded"}set inputFields(e){t(s.getLogger(this),"inputFields",{replacement:"inputs",version:"4.27",warnOnce:!0}),this.inputs=e}get inputFields(){return t(s.getLogger(this),"inputFields",{replacement:"inputs",version:"4.27",warnOnce:!0}),this.inputs}get inputs(){return this._get("inputs")}set inputs(e){this.removeAllHandles(),e&&this.addHandles(e.map((e=>i((()=>e.visible),(()=>this._dirtyEvaluatedVisibilityExpression()))))),this._set("inputs",e)}get label(){return this.element.label}set label(e){const{element:t}=this;t&&(t.label=e)}get open(){return"expanded"===this.initialState}set open(e){this._override("open",e)}get state(){return t(s.getLogger(this),"state",{replacement:"open",version:"4.28",warnOnce:!0}),this.open?"expanded":"collapsed"}set state(e){t(s.getLogger(this),"state",{replacement:"open",version:"4.28",warnOnce:!0}),this.open="expanded"===e}get visible(){return!1!==this.evaluatedVisibilityExpression&&this.inputs&&this.inputs.some((e=>e.visible))}_dirtyEvaluatedVisibilityExpression(){const{element:e}=this;e.visibilityExpression&&this.notifyChange("evaluatedVisibilityExpression")}};e([r()],a.prototype,"initialState",null),e([r()],a.prototype,"inputs",null),e([r()],a.prototype,"label",null),e([r()],a.prototype,"open",null),e([r()],a.prototype,"type",void 0),e([r()],a.prototype,"visible",null),a=e([o("esri.widgets.FeatureForm.GroupInput")],a);const l=a;export{l as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- const e="esri-feature-form",t=`${e}__group`,r=`${e}__input`,i=`${e}__related-records`,a={base:e,form:`${e}__form`,formHeader:`${e}__form-header`,label:`${e}__label`,labelTextContent:`${e}__label-text-content`,relationshipLabel:`${e}__relationship-label`,fieldInput:`${r}`,fieldInputWrapper:`${r}-wrapper`,fieldInputLoader:`${r}-loader`,inputDate:`${r}--date`,inputTime:`${r}--time`,inputRadio:`${r}--radio`,inputRadioGroup:`${r}--radio-group`,inputRadioLabel:`${r}--radio-label`,inputDisabled:`${r}--disabled`,inputSwitch:`${r}--switch`,inputInvalid:`${r}--invalid`,centeredButton:`${e}__centered-button`,description:`${e}__description-text`,listObserver:`${e}__list-observer`,relatedRecordsHeader:`${i}_header`,relatedRecordsList:`${i}_list`,dateInputContainer:`${`${e}__date`}-input-container`,group:t,groupLabel:`${t}-label`,groupHeader:`${t}-header`,groupTitle:`${t}-title`,groupToggleIcon:`${t}-toggle-icon`,groupCollapsed:`${t}--collapsed`,groupSequential:`${t}--sequential`,groupActive:`${t}--active`};export{a as css};
5
+ const e="esri-feature-form",t=`${e}__group`,i=`${e}__input`,r=`${e}__related-records`,a={base:e,form:`${e}__form`,formHeader:`${e}__form-header`,label:`${e}__label`,labelTextContent:`${e}__label-text-content`,relationshipLabel:`${e}__relationship-label`,fieldInput:`${i}`,fieldInputWrapper:`${i}-wrapper`,fieldInputLoader:`${i}-loader`,inputDate:`${i}--date`,inputTime:`${i}--time`,inputRadio:`${i}--radio`,inputRadioGroup:`${i}--radio-group`,inputRadioLabel:`${i}--radio-label`,inputDisabled:`${i}--disabled`,inputSwitch:`${i}--switch`,inputInvalid:`${i}--invalid`,centeredButton:`${e}__centered-button`,description:`${e}__description-text`,listObserver:`${e}__list-observer`,relatedRecordsHeader:`${r}_header`,relatedRecordsList:`${r}_list`,dateInputContainer:`${`${e}__date`}-input-container`,group:t,groupSequential:`${t}--sequential`,groupActive:`${t}--active`};export{a as css};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{isSome as t}from"../core/arrayUtils.js";import{deprecatedProperty as i}from"../core/deprecate.js";import o from"../core/Logger.js";import{watch as s,whenOnce as n}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{isIntegerField as l}from"../layers/support/fieldUtils.js";import d from"./Widget.js";import{css as c}from"./FeatureForm/css.js";import{isGroupInput as p,isFieldInput as u,isRelationshipInput as m,isInputInGroupInput as h,isFieldElementWithInputType as b,getErrorMessageForFieldInput as v,getIconForFeature as g,isNumberFieldInput as _}from"./FeatureForm/featureFormUtils.js";import f from"./FeatureForm/FeatureFormViewModel.js";import{loadCalciteComponents as C}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as y,prepareFieldValueForDateComponents as F,numberingSystem as R,getFieldValueFromDateComponent as w,getFieldValueFromDateComponents as I,isCalciteDateComponent as O}from"./support/dateUtils.js";import{globalCss as k}from"./support/globalCss.js";import{Heading as M,incrementHeadingLevel as x}from"./support/Heading.js";import{legacyIcon as N}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as L}from"./support/decorators/messageBundle.js";import{vmEvent as V}from"./support/decorators/vmEvent.js";import{tsx as j}from"./support/jsxFactory.js";import{substitute as D}from"../intl/substitute.js";const T="data-field-name",E="esri.widgets.FeatureForm",U=o.getLogger(E);let A=class extends d{constructor(e,t){super(e,t),this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._inputsWithChanges=new Set,this._focusedFieldName=null,this._listObserverNode=null,this._listObserver=new IntersectionObserver((e=>{e.length&&e[0].isIntersecting&&this._incrementRelatedRecordPage()}),{root:window.document}),this.groupDisplay="all",this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.messagesFeature=null,this.messagesTemplates=null,this.viewModel=new f,this._onShowAllRelatedRecordsClick=e=>{const{feature:t,relatedRecordCallbacks:i}=this;t&&i?.showAllRelatedRecords&&i.showAllRelatedRecords({parentFeature:t,relationshipId:e})},this._onAddRelatedRecordsClick=(e,t)=>{const{feature:i,relatedRecordCallbacks:o}=this;i&&o?.addRelatedRecord&&o.addRelatedRecord({parentFeature:i,relatedLayer:t,relationshipId:e})},this._onFormKeyDown=this._onFormKeyDown.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onGroupClick=this._onGroupClick.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentKeyDown=this._onComponentKeyDown.bind(this),this._afterComponentCreate=this._afterComponentCreate.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreateOrUpdate=this._afterDateComponentCreateOrUpdate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this)}initialize(){this.addHandles([s((()=>this.feature),(()=>{n((()=>!this.viewModel.updating)).then((()=>{const e=this._getFocusableInput("forward");this._inputsWithChanges.clear(),this._dateComponentMap.clear(),this._focusedFieldName=e?.name||null,this._attemptFocusOnNextRender=!0}))})),this.on("submit",(e=>{if(e.invalid.length>0){const[t]=e.invalid;e.invalid.forEach((e=>this._inputsWithChanges.add(e))),this._focusedFieldName=t,this._attemptFocusOnNextRender=!0,this.scheduleRender()}})),s((()=>[this.viewModel.activeRelationshipInput,this._listObserverNode]),(()=>this._onObserverChange()))])}loadDependencies(){return C({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),"combobox-item-group":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item-group.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker.js"),"input-message":()=>import("@esri/calcite-components/dist/components/calcite-input-message.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),progress:()=>import("@esri/calcite-components/dist/components/calcite-progress.js"),"radio-button":()=>import("@esri/calcite-components/dist/components/calcite-radio-button.js"),"radio-button-group":()=>import("@esri/calcite-components/dist/components/calcite-radio-button-group.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js")})}destroy(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode)}get _relatedRecordsEnabled(){const e=this.relatedRecordCallbacks;return!(!e||!(e.addRelatedRecord||e.editRelatedRecord||e.showAllRelatedRecords))}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get feature(){return this.viewModel.feature}set feature(e){this.viewModel.feature=e}get formTemplate(){return this.viewModel.formTemplate}set formTemplate(e){this.viewModel.formTemplate=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get relatedRecordCallbacks(){return this.viewModel.relatedRecordCallbacks}set relatedRecordCallbacks(e){this.viewModel.relatedRecordCallbacks=e}get relationshipId(){return this.viewModel.relationshipId}set relationshipId(e){this.viewModel.relationshipId=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get strict(){return this.viewModel.strict}set strict(e){this.viewModel.strict=e}get view(){return i(U,"view",{replacement:"Use FeatureForm.map instead.",version:"4.27"}),this.viewModel.view}set view(e){i(U,"view",{replacement:"Use FeatureForm.map instead.",version:"4.27"}),this.viewModel.view=e}getValues(){return this.viewModel.getValues()}submit(){return this.viewModel.submit()}render(){const{state:e}=this.viewModel;return j("div",{class:this.classes(c.base,k.widget,k.panel)},"ready"===e?this._renderForm():null)}_renderForm(){return j("form",{class:c.form,novalidate:!0,onsubmit:this._onFormSubmit,onkeydown:this._onFormKeyDown},this._renderHeader(),this._renderContent())}_renderHeader(){const e=this.viewModel;if(!e.formHeaderVisible)return;const t=null!=e.formTitle&&j(M,{key:"title",level:this.headingLevel},e.formTitle),i=null!=e.formDescription&&j("p",{class:c.description,key:"description"},e.formDescription);return j("div",{class:c.formHeader},t,i)}_renderContent(){const{viewModel:e}=this;return e.activeRelationshipInput?this._renderActiveRelationshipInput(e.activeRelationshipInput):e.inputs.filter(t).filter((e=>e.visible)).map(((e,t)=>p(e)?this._renderGroup(e,t):u(e)?this._renderLabeledField(e):m(e)?this._renderRelationshipInput(e):void 0))}_renderActiveRelationshipInput(e){return this._renderRelationshipInput(e)}_renderDescriptionOrEmpty(e,t){return null==e?null:j("div",{class:this.classes(c.description),id:t},e)}_renderGroup(e,t){const{formTemplate:i,disabled:o}=this,{description:s,inputs:n,label:r,state:a}=e,l=n.filter((e=>e.visible)),d=this.viewModel.findField(this._focusedFieldName),p=!(!d||d.group!==e),h=`${this.id}_group_${t}`,b=`${this.id}_group-label_${t}`,v=`${this.id}_group-description_${t}`,g=this._renderDescriptionOrEmpty(s,v),_="sequential"===this.groupDisplay,f=_?p:"expanded"===a,C=f?N.up:N.down;return j("fieldset",{"aria-expanded":f.toString(),"aria-labelledby":b,"aria-describedby":s?v:"",class:this.classes(c.group,_?c.groupSequential:null,f?null:c.groupCollapsed,p?c.groupActive:null,o?c.inputDisabled:null),disabled:o,"data-group":e,id:h,key:t,onclick:this._onGroupClick},j("button",{role:_?"presentation":void 0,class:c.groupHeader,type:"button",tabIndex:_?-1:0},j("div",{class:c.groupTitle},j(M,{class:c.groupLabel,id:b,level:null!=i&&i.title?x(this.headingLevel):this.headingLevel},r),g),_?null:j("span",{class:this.classes(C,c.groupToggleIcon)})),l.map((e=>u(e)?this._renderLabeledField(e):m(e)?this._renderRelationshipInput(e):void 0)))}_getFocusableInput(e,t){const i=this.viewModel.allFieldInputs,o="forward"===e?i:i.slice().reverse();let s;if(!t||m(t))s=0;else if(p(t)){const e=t.inputs.find(u);s=e?o.indexOf(e):0}else{let i;if(h(t)&&"collapsed"===t.group.state){const o=t.group.inputs.filter(u);i="forward"===e?o[o.length-1]:o[0]}else i=t;s=o.indexOf(i)+1}for(let n=s;n<o.length;n++){const e=o[n];if(e.visible&&u(e))return e}return null}_renderLabeledField(e){const{dataType:t,feature:i,label:o,layer:s,required:n}=e,r={"aria-label":n?D(this.messages.requiredFieldLabel,{name:o}):o,class:c.label,key:`${s.id}-${i.uid}-${e.name}`},a=[j("div",{class:c.labelTextContent,key:"labelTextContainer"},o,n?j("span",{title:this.messagesCommon.required,"aria-hidden":!0},"*"):void 0),"unsupported"!==t?this._renderFieldInput(e):this._renderReadOnlyComponent(e),this._renderAuxiliaryText(e)];return j("date"===t?"label":"calcite-label",{...r},a)}_renderFieldInput(e){const{dataType:t,domain:i,inputType:o,name:s,updating:n}=e,r=this.getCommonInputProps(e);if("coded-value"===i?.type){const t=this.viewModel.getFieldValueOptionsForField(s,this.messages.empty);return"switch"!==o||e.hasInvalidSwitchValue?"radio-buttons"===o?this._renderRadioButtonComponents(e,t.flat(),r):this._renderComboBoxComponent(e,t,r):this._renderSwitchComponent(e,r)}if("datetime-picker"===o||"date"===t)return this._renderDateComponents(e,r);const a="number"===t?this._renderNumberComponent(e,r):this._renderStringComponent(e,r);return n?j("div",{key:`${r.key}-input-updating-wrapper`,class:c.fieldInputWrapper},a,j("div",{class:c.fieldInputLoader},j("calcite-progress",{type:"indeterminate"}))):a}_renderStringComponent(e,t){return j("calcite-input",{...t,type:"text-area"===e.inputType?"textarea":"text",onCalciteInputInput:e=>this._saveValueFromComponent(e.target)})}_renderNumberComponent(e,t){return j("calcite-input-number",{...t,type:"number",integer:l(e.field),onCalciteInputNumberInput:e=>this._saveValueFromComponent(e.target)})}_renderDateComponents(e,t){const{dateDataType:i,includeTime:o,label:s,name:n,valid:r,value:a}=e,{class:l,max:d,min:p,key:u,readOnly:m,required:h}=t;if("string"===i)return this._renderReadOnlyComponent(e,y(e.field,t.value));const{date:b,time:v}=F(a),g=null!=d?F(d):void 0,_=null!=p?F(p):void 0,f=g?.date??void 0,C=_?.date??void 0,w={afterCreate:this._afterDateComponentCreateOrUpdate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!r,label:s,numberingSystem:R,overlayPositioning:"fixed",readOnly:m,required:h,tabIndex:t.tabIndex,[T]:n,onfocus:this._onComponentFocus};return j("div",{key:`${u}-date-time-container`,class:c.dateInputContainer},j("calcite-input-date-picker",{bind:this,...w,class:this.classes(l,c.inputDate),"data-date-part":"date",key:`${u}-date-input`,valueAsDate:b??void 0,maxAsDate:f,minAsDate:C,onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.target),onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target,!0)}}),o?j("calcite-input-time-picker",{bind:this,...w,class:this.classes(l,c.inputTime),"data-date-part":"time",key:`${u}-time-input`,value:v??void 0,step:1,onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.target),onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target,!0)}}):null)}_renderReadOnlyComponent(e,t){const i=this.getCommonInputProps(e);return j("calcite-input",{...i,class:this.classes(c.fieldInput,c.inputDisabled),readOnly:!0,type:"text",value:null!=t?`${t}`:i.value})}_renderComboBoxComponent(e,t,i){const{value:o,name:s}=e,{messages:n,messagesTemplates:r,viewModel:a,_inputsWithChanges:l}=this,d=t.map((e=>e.map((({name:e,value:t})=>j("calcite-combobox-item",{key:`#${t}`,selected:o===t,textLabel:e,value:`${t}`}))))),[c,p]=d;this.viewModel.fieldsWithInvalidCodedValue.has(e)&&p.unshift(j("calcite-combobox-item",{key:"incompatible-option",readOnly:!0,textLabel:`${e.value}`,value:`${e.value}`}));const u=p.length>0?[j("calcite-combobox-item-group",{key:"recommended",label:n.recommended},c),j("calcite-combobox-item-group",{key:"other",label:r.other},p)]:c,m="INSERT"===a.arcadeEditType,h=l.has(s),b=null==o&&(!m||h);if(e.showNoValueOptionEnabled){const t="",i=e.showNoValueLabel||n.empty;u.unshift(j("calcite-combobox-item",{value:t,textLabel:n.empty,selected:b,key:"empty-option"},i))}const v=m&&e.showNoValueOptionEnabled&&!h?()=>{}:i.onblur;return j("calcite-combobox",{...i,selectionMode:"single",disabled:i.readOnly,allowCustomValues:!1,clearDisabled:!0,overlayPositioning:"fixed",onblur:v,onCalciteComboboxChange:({target:e})=>{b&&0===e.selectedItems.length?this._ignoreDeselectionOfNoValueOption(e):this._saveValueFromComponent(e)}},u)}_renderRadioButtonComponents(e,t,i){const{name:o,value:s}=e,n=t.map((({name:e,value:t})=>this._renderRadioButtonComponent({key:e,label:e,name:o,value:t,selected:t===s,props:i})));if(e.showNoValueOptionEnabled){const t="",r=e.showNoValueLabel||this.messages.empty,a=s===t||null===s;n.unshift(this._renderRadioButtonComponent({key:"empty-option",label:r,name:o,value:t,selected:a,props:i}))}return j("calcite-radio-button-group",{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:c.inputRadioGroup,"data-field-name":i[T],key:`${i.key}-radio-group`,layout:"vertical",name:i.key,required:i.required},n)}_renderSwitchComponent(e,t){const{value:i}=e,o=!!b(e.element,"switch")&&i===e.element.input.onValue;return j("calcite-switch",{...t,checked:o,class:c.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldName=null},onCalciteSwitchChange:e=>this._saveValueFromComponent(e.target)})}_renderRadioButtonComponent({key:e,name:t,value:i,selected:o,label:s,props:n}){return j("calcite-label",{layout:"inline",key:e,class:c.inputRadioLabel},j("calcite-radio-button",{...n,afterCreate:void 0,afterUpdate:void 0,checked:o,class:c.inputRadio,disabled:n.readOnly,name:t,value:i,onblur:()=>{this._focusedFieldName=null},onCalciteRadioButtonChange:({target:e})=>{e.checked&&this._saveValueFromComponent(e)}}),s)}_renderAuxiliaryText(e){const t=e.name,i=this._inputsWithChanges.has(t)&&!e.valid?v(e,this.messages):null!=this.viewModel.contingencyConstraintViolations.get(t)?this.messages.validationErrors.valuesIncompatible:null!=e.valueExpressionExecutor&&e.valueExpressionExecutor.stale?this.messages.valueExpressionError:null;return null!=i?j("calcite-input-message",{status:"invalid",icon:!0},i):this._renderDescriptionOrEmpty(e.description)}_renderShowAllRelatedRecordsListItem(e){const{featureCount:t,relationshipId:i,showAllActionVisible:o}=e,{relatedRecordCallbacks:s}=this;if(!o||!s?.showAllRelatedRecords)return;const n=this.messages;return j("calcite-list-item",{description:D(n.totalCount,{count:t}),label:n.showAll,value:!0,onCalciteListItemSelect:()=>this._onShowAllRelatedRecordsClick(i)},j("calcite-icon",{slot:"content-end",scale:"s",icon:"list"}))}_renderAddRelatedRecordButton(e){const{canAddRelatedFeature:t,relationshipId:i,relatedLayer:o}=e,{relatedRecordCallbacks:s}=this;if(t&&s?.addRelatedRecord&&o)return j("calcite-button",{alignment:"center",appearance:"outline-fill",class:c.centeredButton,disabled:e.updating||!e.originHasValidKey,iconStart:"plus",key:`${i}-add-button`,round:!0,scale:"s",width:"half",onclick:()=>this._onAddRelatedRecordsClick(i,o)},this.messages.addRecord)}_renderRelatedRecordListItem(e,t){const{feature:i,description:o,title:s}=e,{feature:n,relatedRecordCallbacks:r}=this,{highlightHelper:a}=this.viewModel,l=()=>{a?.removeAll(),r?.editRelatedRecord&&n&&r.editRelatedRecord({parentFeature:n,relationshipId:t,relatedFeature:i})},d=a?()=>a.add(i):void 0,c=a?()=>a.remove(i):void 0;return j("calcite-list-item",{bind:this,description:o,label:s,key:`${t}-${i.uid}`,value:s,onclick:l,onmouseenter:d,onmouseleave:c},j("calcite-icon",{slot:"content-start",scale:"m",icon:g(i)}),j("calcite-icon",{slot:"content-end",scale:"s",icon:"chevron-right"}))}_renderRelationshipInput(e){if(!this._relatedRecordsEnabled||!e.editable)return;const{featureCount:t,relationshipId:i,showAllEnabled:o}=e,s=o?null:this._renderDescriptionOrEmpty(e.description),n=t>0?this._renderRelatedRecordsList(e):e.loaded?e.originHasValidKey?this._renderNoRelatedRecordsNotice():this._renderNoValidOriginKeyNotice(e):void 0;return j("calcite-label",{class:this.classes(c.label,c.relationshipLabel),key:`relationship-${i}-container`},j("div",null,this._renderRelatedRecordsHeaderContainer(e),s,n),this._renderAddRelatedRecordButton(e))}_renderRelatedRecordsHeaderContainer(e){const t=e.updating||!e.loaded;return j("div",{class:c.relatedRecordsHeader,key:`relationship-${e.relationshipId}-header`},j("span",null,e.label),t?j("calcite-loader",{label:this.messagesCommon?.loading,inline:!0,key:"loader",scale:"s",type:"indeterminate"}):void 0)}_renderRelatedRecordsList(e){const{relationshipId:t}=e;return j("calcite-list",{class:c.relatedRecordsList},e.relatedFeatureInfos.map((e=>this._renderRelatedRecordListItem(e,t))),this._renderShowAllRelatedRecordsListItem(e),this._renderObserverNode())}_renderNoValidOriginKeyNotice(e){const{messages:t}=this,i=e.relatedLayerIsTable?t.noOriginKeyRecord:t.noOriginKeyFeature,o=e.relationship?.keyField,s=this.viewModel.findField(o),n=s?.label,r=D(i,{relatedLayerName:e.relatedLayer?.title,originKeyField:n});return j("calcite-notice",{open:!0,scale:"s",kind:"brand",icon:"information",width:"full"},j("div",{slot:"message"},r))}_renderNoRelatedRecordsNotice(){return j("calcite-notice",{open:!0,scale:"s",kind:"brand",icon:"information",width:"full"},j("div",{slot:"message"},this.messagesFeature.noRelatedFeatures))}_renderObserverNode(){if(this.viewModel.activeRelationshipInput?.showAllEnabled)return j("div",{key:"feature-observer",class:c.listObserver,bind:this,afterCreate:this._afterListObserverCreated,afterRemoved:this._afterListObserverRemoved})}getCommonInputProps(e){const{disabled:t,groupDisplay:i}=this,{editable:o,group:s,hint:n,label:r,maxLength:a,minLength:l,name:d,range:{max:p,min:u},required:m,valid:h,value:b}=e,v=this._inputsWithChanges.has(d),g=!o||t,_="all"===i&&null!=s&&"collapsed"===s.state;return{afterCreate:this._afterComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":h?"false":"true",class:this.classes(c.fieldInput,g?c.inputDisabled:null,v&&!h?c.inputInvalid:null),key:d,label:r,max:null!=p?p:void 0,min:null!=u?u:void 0,maxlength:a>-1?`${a}`:"",minlength:l>-1?`${l}`:"",placeholder:n??void 0,readOnly:g,required:m,tabIndex:_?-1:0,value:null==b?"":`${b}`,onfocus:this._onComponentFocus,onblur:this._onComponentBlur,onkeydown:this._onComponentKeyDown,[T]:d}}_getFieldInputFromHTMLElement(e){return this.viewModel.findField(e.getAttribute(T))}_afterDateComponentCreateOrUpdate(e){const{name:t}=this._getFieldInputFromHTMLElement(e),i=this._dateComponentMap.get(t),o=O(e);null!=i?o?i.date=e:i.time=e:this._dateComponentMap.set(t,{[o?"date":"time"]:e}),this._afterComponentCreateOrUpdate(e)}_afterComponentCreate(e){const t=this._getFieldInputFromHTMLElement(e);_(t)&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"}),this._afterComponentCreateOrUpdate(e)}_afterRadioGroupCreateOrUpdate(e){const t=e.selectedItem,i=e.querySelector("calcite-radio-button"),o=t||i;o&&this._afterComponentCreateOrUpdate(o)}_afterComponentCreateOrUpdate(e){const{viewModel:t}=this,i=this._getFieldInputFromHTMLElement(e),o=t.findField(this._focusedFieldName);this._attemptFocusOnNextRender&&o===i&&(this._attemptFocusOnNextRender=!1,h(i)&&(i.group.state="expanded"),e.setFocus())}_onComponentFocus(e){const t=e.target,i=this._getFieldInputFromHTMLElement(t);this._focusedFieldName=i.name}_onComponentBlur(e){const t=e.target;this._focusedFieldName=null,this._saveValueFromComponent(t)}_saveValueFromDateComponent(e,t=!1){const{name:i}=this._getFieldInputFromHTMLElement(e),o=this._dateComponentMap.get(i);if(!o||!o.date)return;const s=w(e),n=this._getFieldInputFromHTMLElement(o.date),r=I(n,o.date,o.time);this.viewModel.getValue(i)!==r&&(null!==s&&null!==r?this._updateFieldValue(i,r):t&&this._updateFieldValue(i,null))}_saveValueFromComponent(e){const t=this._getFieldInputFromHTMLElement(e);this._updateFieldValue(t.name,this._parseValue(e))}_onComponentKeyDown({key:e,target:t}){const i=this._getFieldInputFromHTMLElement(t);"Enter"===e&&h(i)&&"collapsed"===i.group.state&&(i.group.state="expanded")}_updateFieldValue(e,t){if(this.viewModel.setValue(e,t),this._inputsWithChanges.add(e),this.viewModel.fieldsWithContingentValues.has(e)){const e=Object.fromEntries(Object.entries(this.getValues()).filter((([e,t])=>null!=t)));this.viewModel.validateContingencyConstraints(e)}}_parseValue(e){const t=this._getFieldInputFromHTMLElement(e),i=e.value;return b(t.element,"switch")?e.checked?t.element.input.onValue:t.element.input.offValue:null==i||""===i?null:"number"===t.dataType?"-0"===i||"-0."===i||"-0,"===i?i:parseFloat(i):i}_ignoreDeselectionOfNoValueOption(e){const{firstChild:t,selectedItems:i}=e;0===i.length&&t&&"selected"in t?t.selected=!0:U.warnOnce("Failed to override user attempt to deselect 'No value' option.")}_onGroupClick(e){const t=e.currentTarget["data-group"],i="expanded"===t.state,o="sequential"===this.groupDisplay,s=`.${c.groupHeader}`;if(!(i&&!e.target.closest(s))){if(this._focusedFieldName=this._getFocusableInput("forward",t)?.name||null,o){const o=e.target.closest(s);if(i&&!o)return;this.viewModel.inputs.forEach((e=>{p(e)&&e!==t&&(e.state="collapsed")}))}t.state=i?"collapsed":"expanded",this._attemptFocusOnNextRender=o,this.scheduleRender()}}_onFormSubmit(e){e.preventDefault()}_onFormKeyDown(e){"Enter"===e.key&&this.viewModel.submit()}_afterListObserverCreated(e){this.viewModel.activeRelationshipInput&&(this._listObserverNode=e)}_afterListObserverRemoved(){this._listObserverNode=null}_onObserverChange(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode);const e=this.viewModel.activeRelationshipInput;if(!e)return;const{showAllEnabled:t,updating:i}=e;this._listObserverNode&&!i&&t&&this._listObserver.observe(this._listObserverNode)}_incrementRelatedRecordPage(){const e=this.viewModel.activeRelationshipInput;e?.incrementPage()}};e([r()],A.prototype,"_listObserverNode",void 0),e([r()],A.prototype,"_relatedRecordsEnabled",null),e([r()],A.prototype,"disabled",null),e([r()],A.prototype,"feature",null),e([r()],A.prototype,"formTemplate",null),e([r()],A.prototype,"groupDisplay",void 0),e([r()],A.prototype,"headingLevel",void 0),e([r()],A.prototype,"label",null),e([r()],A.prototype,"layer",null),e([r()],A.prototype,"map",null),e([r(),L("esri/widgets/FeatureForm/t9n/FeatureForm")],A.prototype,"messages",void 0),e([r(),L("esri/t9n/common")],A.prototype,"messagesCommon",void 0),e([r(),L("esri/widgets/Feature/t9n/Feature")],A.prototype,"messagesFeature",void 0),e([r(),L("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],A.prototype,"messagesTemplates",void 0),e([r()],A.prototype,"relatedRecordCallbacks",null),e([r()],A.prototype,"relationshipId",null),e([r()],A.prototype,"spatialReference",null),e([r()],A.prototype,"strict",null),e([r()],A.prototype,"view",null),e([r(),V(["value-change","submit"])],A.prototype,"viewModel",void 0),A=e([a(E)],A);const $=A;export{$ as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{isSome as t}from"../core/arrayUtils.js";import{deprecatedProperty as i}from"../core/deprecate.js";import o from"../core/Logger.js";import{watch as s,whenOnce as n}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{isIntegerField as l}from"../layers/support/fieldUtils.js";import d from"./Widget.js";import{css as c}from"./FeatureForm/css.js";import{isGroupInput as p,isFieldInput as u,isRelationshipInput as m,isInputInGroupInput as h,isFieldElementWithInputType as v,getErrorMessageForFieldInput as b,getIconForFeature as g,isNumberFieldInput as _}from"./FeatureForm/featureFormUtils.js";import f from"./FeatureForm/FeatureFormViewModel.js";import{loadCalciteComponents as C}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as y,prepareFieldValueForDateComponents as F,numberingSystem as R,getFieldValueFromDateComponent as w,getFieldValueFromDateComponents as I,isCalciteDateComponent as O}from"./support/dateUtils.js";import{globalCss as k}from"./support/globalCss.js";import{Heading as M,incrementHeadingLevel as N}from"./support/Heading.js";import"./support/widgetUtils.js";import{messageBundle as x}from"./support/decorators/messageBundle.js";import{vmEvent as L}from"./support/decorators/vmEvent.js";import{tsx as V}from"./support/jsxFactory.js";import{substitute as j}from"../intl/substitute.js";const D="data-field-name",T="esri.widgets.FeatureForm",E=o.getLogger(T);let U=class extends d{constructor(e,t){super(e,t),this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._inputsWithChanges=new Set,this._focusedFieldName=null,this._listObserverNode=null,this._listObserver=new IntersectionObserver((e=>{e.length&&e[0].isIntersecting&&this._incrementRelatedRecordPage()}),{root:window.document}),this.groupDisplay="all",this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.messagesFeature=null,this.messagesTemplates=null,this.viewModel=new f,this._onShowAllRelatedRecordsClick=e=>{const{feature:t,relatedRecordCallbacks:i}=this;t&&i?.showAllRelatedRecords&&i.showAllRelatedRecords({parentFeature:t,relationshipId:e})},this._onAddRelatedRecordsClick=(e,t)=>{const{feature:i,relatedRecordCallbacks:o}=this;i&&o?.addRelatedRecord&&o.addRelatedRecord({parentFeature:i,relatedLayer:t,relationshipId:e})},this._onFormKeyDown=this._onFormKeyDown.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onGroupToggle=this._onGroupToggle.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentKeyDown=this._onComponentKeyDown.bind(this),this._afterComponentCreate=this._afterComponentCreate.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreateOrUpdate=this._afterDateComponentCreateOrUpdate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this)}initialize(){this.addHandles([s((()=>this.feature),(()=>{n((()=>!this.viewModel.updating)).then((()=>{const e=this._getFocusableInput("forward");this._inputsWithChanges.clear(),this._dateComponentMap.clear(),this._syncGroupInputStates(),this._focusedFieldName=e?.name||null,this._attemptFocusOnNextRender=!0}))})),s((()=>this.groupDisplay),(()=>this._syncGroupInputStates())),this.on("submit",(e=>{if(e.invalid.length>0){const[t]=e.invalid;e.invalid.forEach((e=>this._inputsWithChanges.add(e))),this._focusedFieldName=t,this._attemptFocusOnNextRender=!0,this.scheduleRender()}})),s((()=>[this.viewModel.activeRelationshipInput,this._listObserverNode]),(()=>this._onObserverChange()))])}loadDependencies(){return C({block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),"combobox-item-group":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item-group.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker.js"),"input-message":()=>import("@esri/calcite-components/dist/components/calcite-input-message.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),progress:()=>import("@esri/calcite-components/dist/components/calcite-progress.js"),"radio-button":()=>import("@esri/calcite-components/dist/components/calcite-radio-button.js"),"radio-button-group":()=>import("@esri/calcite-components/dist/components/calcite-radio-button-group.js"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch.js")})}destroy(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode)}get _relatedRecordsEnabled(){const e=this.relatedRecordCallbacks;return!(!e||!(e.addRelatedRecord||e.editRelatedRecord||e.showAllRelatedRecords))}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get feature(){return this.viewModel.feature}set feature(e){this.viewModel.feature=e}get formTemplate(){return this.viewModel.formTemplate}set formTemplate(e){this.viewModel.formTemplate=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get relatedRecordCallbacks(){return this.viewModel.relatedRecordCallbacks}set relatedRecordCallbacks(e){this.viewModel.relatedRecordCallbacks=e}get relationshipId(){return this.viewModel.relationshipId}set relationshipId(e){this.viewModel.relationshipId=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get strict(){return this.viewModel.strict}set strict(e){this.viewModel.strict=e}get view(){return i(E,"view",{replacement:"Use FeatureForm.map instead.",version:"4.27"}),this.viewModel.view}set view(e){i(E,"view",{replacement:"Use FeatureForm.map instead.",version:"4.27"}),this.viewModel.view=e}getValues(){return this.viewModel.getValues()}submit(){return this.viewModel.submit()}render(){const{state:e}=this.viewModel;return V("div",{class:this.classes(c.base,k.widget,k.panel)},"ready"===e?this._renderForm():null)}_renderForm(){return V("form",{class:c.form,novalidate:!0,onkeydown:this._onFormKeyDown,onsubmit:this._onFormSubmit},this._renderHeader(),this._renderContent())}_renderHeader(){const e=this.viewModel;if(!e.formHeaderVisible)return;const t=null!=e.formTitle&&V(M,{key:"title",level:this.headingLevel},e.formTitle),i=null!=e.formDescription&&V("p",{class:c.description,key:"description"},e.formDescription);return V("div",{class:c.formHeader},t,i)}_renderContent(){const{viewModel:e}=this;return e.activeRelationshipInput?this._renderActiveRelationshipInput(e.activeRelationshipInput):e.inputs.filter(t).filter((e=>e.visible)).map(((e,t)=>p(e)?this._renderGroup(e,t):u(e)?this._renderLabeledField(e):m(e)?this._renderRelationshipInput(e):void 0))}_renderActiveRelationshipInput(e){return this._renderRelationshipInput(e)}_renderDescriptionOrEmpty(e,t){return null==e?null:V("div",{class:this.classes(c.description),id:t},e)}_renderGroup(e,t){const{disabled:i,formTemplate:o,headingLevel:s}=this,{description:n,inputs:r,label:a,open:l}=e,d=r.filter((e=>e.visible)),p=this.viewModel.findField(this._focusedFieldName),h=p?.group===e,v=`${this.id}_group_${t}`,b="sequential"===this.groupDisplay;return V("calcite-block",{class:this.classes(c.group,b?c.groupSequential:null,h?c.groupActive:null,i?c.inputDisabled:null),collapsible:!0,"data-group":e,description:n||void 0,disabled:i,heading:`${a}`,headingLevel:o?.title?N(s):s,id:v,key:v,open:l,onCalciteBlockToggle:({target:t})=>this._onGroupToggle(t,e)},d.map((e=>u(e)?this._renderLabeledField(e):m(e)?this._renderRelationshipInput(e):void 0)))}_getFocusableInput(e,t){const i=this.viewModel.allFieldInputs,o="forward"===e?i:i.slice().reverse();let s;if(!t||m(t))s=0;else if(p(t)){const e=t.inputs.find(u);s=e?o.indexOf(e):0}else{let i;if(h(t)&&!t.group.open){const o=t.group.inputs.filter(u);i="forward"===e?o[o.length-1]:o[0]}else i=t;s=o.indexOf(i)+1}for(let n=s;n<o.length;n++){const e=o[n];if(e.visible&&u(e))return e}return null}_renderLabeledField(e){const{dataType:t,feature:i,label:o,layer:s,required:n}=e,r={"aria-label":n?j(this.messages.requiredFieldLabel,{name:o}):o,class:c.label,key:`${s.id}-${i.uid}-${e.name}`},a=[V("div",{class:c.labelTextContent,key:"labelTextContainer"},o,n?V("span",{"aria-hidden":!0,title:this.messagesCommon.required},"*"):void 0),"unsupported"!==t?this._renderFieldInput(e):this._renderReadOnlyComponent(e),this._renderAuxiliaryText(e)];return V("date"===t?"label":"calcite-label",{...r},a)}_renderFieldInput(e){const{dataType:t,domain:i,inputType:o,name:s,updating:n}=e,r=this.getCommonInputProps(e);if("coded-value"===i?.type){const t=this.viewModel.getFieldValueOptionsForField(s,this.messages.empty);return"switch"!==o||e.hasInvalidSwitchValue?"radio-buttons"===o?this._renderRadioButtonComponents(e,t.flat(),r):this._renderComboBoxComponent(e,t,r):this._renderSwitchComponent(e,r)}if("datetime-picker"===o||"date"===t)return this._renderDateComponents(e,r);const a="number"===t?this._renderNumberComponent(e,r):this._renderStringComponent(e,r);return n?V("div",{class:c.fieldInputWrapper,key:`${r.key}-input-updating-wrapper`},a,V("div",{class:c.fieldInputLoader},V("calcite-progress",{type:"indeterminate"}))):a}_renderStringComponent(e,t){return V("calcite-input",{...t,type:"text-area"===e.inputType?"textarea":"text",onCalciteInputInput:e=>this._saveValueFromComponent(e.target)})}_renderNumberComponent(e,t){return V("calcite-input-number",{...t,integer:l(e.field),type:"number",onCalciteInputNumberInput:e=>this._saveValueFromComponent(e.target)})}_renderDateComponents(e,t){const{dateDataType:i,includeTime:o,label:s,name:n,valid:r,value:a}=e,{class:l,max:d,min:p,key:u,readOnly:m,required:h}=t;if("string"===i)return this._renderReadOnlyComponent(e,y(e.field,t.value));const{date:v,time:b}=F(a),g=null!=d?F(d):void 0,_=null!=p?F(p):void 0,f=g?.date??void 0,C=_?.date??void 0,w={afterCreate:this._afterDateComponentCreateOrUpdate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!r,label:s,numberingSystem:R,overlayPositioning:"fixed",readOnly:m,required:h,[D]:n,onfocus:this._onComponentFocus};return V("div",{class:c.dateInputContainer,key:`${u}-date-time-container`},V("calcite-input-date-picker",{bind:this,...w,class:this.classes(l,c.inputDate),"data-date-part":"date",key:`${u}-date-input`,maxAsDate:f,minAsDate:C,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target,!0)},valueAsDate:v??void 0,onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.target)}),o?V("calcite-input-time-picker",{bind:this,...w,class:this.classes(l,c.inputTime),"data-date-part":"time",key:`${u}-time-input`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target,!0)},step:1,value:b??void 0,onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.target)}):null)}_renderReadOnlyComponent(e,t){const i=this.getCommonInputProps(e);return V("calcite-input",{...i,class:this.classes(c.fieldInput,c.inputDisabled),readOnly:!0,type:"text",value:null!=t?`${t}`:i.value})}_renderComboBoxComponent(e,t,i){const{value:o,name:s}=e,{messages:n,messagesTemplates:r,viewModel:a,_inputsWithChanges:l}=this,d=t.map((e=>e.map((({name:e,value:t})=>V("calcite-combobox-item",{key:`#${t}`,selected:o===t,textLabel:e,value:`${t}`}))))),[c,p]=d;this.viewModel.fieldsWithInvalidCodedValue.has(e)&&p.unshift(V("calcite-combobox-item",{key:"incompatible-option",readOnly:!0,textLabel:`${e.value}`,value:`${e.value}`}));const u=p.length>0?[V("calcite-combobox-item-group",{key:"recommended",label:n.recommended},c),V("calcite-combobox-item-group",{key:"other",label:r.other},p)]:c,m="INSERT"===a.arcadeEditType,h=l.has(s),v=null==o&&(!m||h);if(e.showNoValueOptionEnabled){const t="",i=e.showNoValueLabel||n.empty;u.unshift(V("calcite-combobox-item",{key:"empty-option",selected:v,textLabel:n.empty,value:t},i))}const b=m&&e.showNoValueOptionEnabled&&!h?()=>{}:i.onblur;return V("calcite-combobox",{...i,allowCustomValues:!1,clearDisabled:!0,disabled:i.readOnly,onblur:b,overlayPositioning:"fixed",selectionMode:"single",onCalciteComboboxChange:({target:e})=>{v&&0===e.selectedItems.length?this._ignoreDeselectionOfNoValueOption(e):this._saveValueFromComponent(e)}},u)}_renderRadioButtonComponents(e,t,i){const{name:o,value:s}=e,n=t.map((({name:e,value:t})=>this._renderRadioButtonComponent({key:e,label:e,name:o,value:t,selected:t===s,props:i})));if(e.showNoValueOptionEnabled){const t="",r=e.showNoValueLabel||this.messages.empty,a=s===t||null===s;n.unshift(this._renderRadioButtonComponent({key:"empty-option",label:r,name:o,value:t,selected:a,props:i}))}return V("calcite-radio-button-group",{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:c.inputRadioGroup,"data-field-name":i[D],key:`${i.key}-radio-group`,layout:"vertical",name:i.key,required:i.required},n)}_renderSwitchComponent(e,t){const{value:i}=e,o=!!v(e.element,"switch")&&i===e.element.input.onValue;return V("calcite-switch",{...t,checked:o,class:c.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldName=null},onCalciteSwitchChange:e=>this._saveValueFromComponent(e.target)})}_renderRadioButtonComponent({key:e,name:t,value:i,selected:o,label:s,props:n}){return V("calcite-label",{class:c.inputRadioLabel,key:e,layout:"inline"},V("calcite-radio-button",{...n,afterCreate:void 0,afterUpdate:void 0,checked:o,class:c.inputRadio,disabled:n.readOnly,name:t,onblur:()=>{this._focusedFieldName=null},value:i,onCalciteRadioButtonChange:({target:e})=>{e.checked&&this._saveValueFromComponent(e)}}),s)}_renderAuxiliaryText(e){const t=e.name,i=this._inputsWithChanges.has(t)&&!e.valid?b(e,this.messages):null!=this.viewModel.contingencyConstraintViolations.get(t)?this.messages.validationErrors.valuesIncompatible:null!=e.valueExpressionExecutor&&e.valueExpressionExecutor.stale?this.messages.valueExpressionError:null;return null!=i?V("calcite-input-message",{icon:!0,status:"invalid"},i):this._renderDescriptionOrEmpty(e.description)}_renderShowAllRelatedRecordsListItem(e){const{featureCount:t,relationshipId:i,showAllActionVisible:o}=e,{relatedRecordCallbacks:s}=this;if(!o||!s?.showAllRelatedRecords)return;const n=this.messages;return V("calcite-list-item",{description:j(n.totalCount,{count:t}),label:n.showAll,value:!0,onCalciteListItemSelect:()=>this._onShowAllRelatedRecordsClick(i)},V("calcite-icon",{icon:"list",scale:"s",slot:"content-end"}))}_renderAddRelatedRecordButton(e){const{canAddRelatedFeature:t,relationshipId:i,relatedLayer:o}=e,{relatedRecordCallbacks:s}=this;if(t&&s?.addRelatedRecord&&o)return V("calcite-button",{alignment:"center",appearance:"outline-fill",class:c.centeredButton,disabled:e.updating||!e.originHasValidKey,iconStart:"plus",key:`${i}-add-button`,onclick:()=>this._onAddRelatedRecordsClick(i,o),round:!0,scale:"s",width:"half"},this.messages.addRecord)}_renderRelatedRecordListItem(e,t){const{feature:i,description:o,title:s}=e,{feature:n,relatedRecordCallbacks:r}=this,{highlightHelper:a}=this.viewModel,l=()=>{a?.removeAll(),r?.editRelatedRecord&&n&&r.editRelatedRecord({parentFeature:n,relationshipId:t,relatedFeature:i})},d=a?()=>a.add(i):void 0,c=a?()=>a.remove(i):void 0;return V("calcite-list-item",{bind:this,description:o,key:`${t}-${i.uid}`,label:s,onclick:l,onmouseenter:d,onmouseleave:c,value:s},V("calcite-icon",{icon:g(i),scale:"m",slot:"content-start"}),V("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"}))}_renderRelationshipInput(e){if(!this._relatedRecordsEnabled||!e.editable)return;const{featureCount:t,relationshipId:i,showAllEnabled:o}=e,s=o?null:this._renderDescriptionOrEmpty(e.description),n=t>0?this._renderRelatedRecordsList(e):e.loaded?e.originHasValidKey?this._renderNoRelatedRecordsNotice():this._renderNoValidOriginKeyNotice(e):void 0;return V("calcite-label",{class:this.classes(c.label,c.relationshipLabel),key:`relationship-${i}-container`},V("div",null,this._renderRelatedRecordsHeaderContainer(e),s,n),this._renderAddRelatedRecordButton(e))}_renderRelatedRecordsHeaderContainer(e){const t=e.updating||!e.loaded;return V("div",{class:c.relatedRecordsHeader,key:`relationship-${e.relationshipId}-header`},V("span",null,e.label),t?V("calcite-loader",{inline:!0,key:"loader",label:this.messagesCommon?.loading,scale:"s",type:"indeterminate"}):void 0)}_renderRelatedRecordsList(e){const{relationshipId:t}=e;return V("calcite-list",{class:c.relatedRecordsList},e.relatedFeatureInfos.map((e=>this._renderRelatedRecordListItem(e,t))),this._renderShowAllRelatedRecordsListItem(e),this._renderObserverNode())}_renderNoValidOriginKeyNotice(e){const{messages:t}=this,i=e.relatedLayerIsTable?t.noOriginKeyRecord:t.noOriginKeyFeature,o=e.relationship?.keyField,s=this.viewModel.findField(o),n=s?.label,r=j(i,{relatedLayerName:e.relatedLayer?.title,originKeyField:n});return V("calcite-notice",{icon:"information",kind:"brand",open:!0,scale:"s",width:"full"},V("div",{slot:"message"},r))}_renderNoRelatedRecordsNotice(){return V("calcite-notice",{icon:"information",kind:"brand",open:!0,scale:"s",width:"full"},V("div",{slot:"message"},this.messagesFeature.noRelatedFeatures))}_renderObserverNode(){if(this.viewModel.activeRelationshipInput?.showAllEnabled)return V("div",{afterCreate:this._afterListObserverCreated,afterRemoved:this._afterListObserverRemoved,bind:this,class:c.listObserver,key:"feature-observer"})}getCommonInputProps(e){const{disabled:t}=this,{editable:i,hint:o,label:s,maxLength:n,minLength:r,name:a,range:{max:l,min:d},required:p,valid:u,value:m}=e,h=this._inputsWithChanges.has(a),v=!i||t;return{afterCreate:this._afterComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":u?"false":"true",class:this.classes(c.fieldInput,v?c.inputDisabled:null,h&&!u?c.inputInvalid:null),key:a,label:s,max:null!=l?l:void 0,min:null!=d?d:void 0,maxlength:n>-1?`${n}`:"",minlength:r>-1?`${r}`:"",placeholder:o??void 0,readOnly:v,required:p,value:null==m?"":`${m}`,onfocus:this._onComponentFocus,onblur:this._onComponentBlur,onkeydown:this._onComponentKeyDown,[D]:a}}_getFieldInputFromHTMLElement(e){return this.viewModel.findField(e.getAttribute(D))}_afterDateComponentCreateOrUpdate(e){const{name:t}=this._getFieldInputFromHTMLElement(e),i=this._dateComponentMap.get(t),o=O(e);null!=i?o?i.date=e:i.time=e:this._dateComponentMap.set(t,{[o?"date":"time"]:e}),this._afterComponentCreateOrUpdate(e)}_afterComponentCreate(e){const t=this._getFieldInputFromHTMLElement(e);_(t)&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"}),this._afterComponentCreateOrUpdate(e)}_afterRadioGroupCreateOrUpdate(e){const t=e.selectedItem,i=e.querySelector("calcite-radio-button"),o=t||i;o&&this._afterComponentCreateOrUpdate(o)}_afterComponentCreateOrUpdate(e){const{viewModel:t}=this,i=this._getFieldInputFromHTMLElement(e),o=t.findField(this._focusedFieldName);this._attemptFocusOnNextRender&&o===i&&(this._attemptFocusOnNextRender=!1,h(i)&&(i.group.open=!0),e.setFocus())}_onComponentFocus(e){const t=e.target,i=this._getFieldInputFromHTMLElement(t);this._focusedFieldName=i.name}_onComponentBlur(e){const t=e.target;this._focusedFieldName=null,this._saveValueFromComponent(t)}_saveValueFromDateComponent(e,t=!1){const{name:i}=this._getFieldInputFromHTMLElement(e),o=this._dateComponentMap.get(i);if(!o||!o.date)return;const s=w(e),n=this._getFieldInputFromHTMLElement(o.date),r=I(n,o.date,o.time);this.viewModel.getValue(i)!==r&&(null!==s&&null!==r?this._updateFieldValue(i,r):t&&this._updateFieldValue(i,null))}_saveValueFromComponent(e){const t=this._getFieldInputFromHTMLElement(e);this._updateFieldValue(t.name,this._parseValue(e))}_onComponentKeyDown({key:e,target:t}){const i=this._getFieldInputFromHTMLElement(t);"Enter"===e&&h(i)&&!i.group.open&&(i.group.open=!0)}_updateFieldValue(e,t){if(this.viewModel.setValue(e,t),this._inputsWithChanges.add(e),this.viewModel.fieldsWithContingentValues.has(e)){const e=Object.fromEntries(Object.entries(this.getValues()).filter((([e,t])=>null!=t)));this.viewModel.validateContingencyConstraints(e)}}_parseValue(e){const t=this._getFieldInputFromHTMLElement(e),i=e.value;return v(t.element,"switch")?e.checked?t.element.input.onValue:t.element.input.offValue:null==i||""===i?null:"number"===t.dataType?"-0"===i||"-0."===i||"-0,"===i?i:parseFloat(i):"date"===t.field.type?parseFloat(i):i}_ignoreDeselectionOfNoValueOption(e){const{firstChild:t,selectedItems:i}=e;0===i.length&&t&&"selected"in t?t.selected=!0:E.warnOnce("Failed to override user attempt to deselect 'No value' option.")}_onGroupToggle(e,t){e.open?(t.open=!0,this._focusedFieldName=this._getFocusableInput("forward",t)?.name||null,this._attemptFocusOnNextRender=!0,"sequential"===this.groupDisplay&&this.viewModel.allGroupInputs.forEach((e=>{e!==t&&(e.open=!1)}))):t.open=!1,this.scheduleRender()}_onFormSubmit(e){e.preventDefault()}_onFormKeyDown(e){"Enter"===e.key&&this.viewModel.submit()}_afterListObserverCreated(e){this.viewModel.activeRelationshipInput&&(this._listObserverNode=e)}_afterListObserverRemoved(){this._listObserverNode=null}_onObserverChange(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode);const e=this.viewModel.activeRelationshipInput;if(!e)return;const{showAllEnabled:t,updating:i}=e;this._listObserverNode&&!i&&t&&this._listObserver.observe(this._listObserverNode)}_incrementRelatedRecordPage(){const e=this.viewModel.activeRelationshipInput;e?.incrementPage()}_syncGroupInputStates(){if("sequential"!==this.groupDisplay)return;const e=this.viewModel.allGroupInputs;if(!e.length)return;const t=e.filter((e=>e.open));0===t.length?e[0].open=!0:t.length>1&&t.slice(1).forEach((e=>e.open=!1))}};e([r()],U.prototype,"_listObserverNode",void 0),e([r()],U.prototype,"_relatedRecordsEnabled",null),e([r()],U.prototype,"disabled",null),e([r()],U.prototype,"feature",null),e([r()],U.prototype,"formTemplate",null),e([r()],U.prototype,"groupDisplay",void 0),e([r()],U.prototype,"headingLevel",void 0),e([r()],U.prototype,"label",null),e([r()],U.prototype,"layer",null),e([r()],U.prototype,"map",null),e([r(),x("esri/widgets/FeatureForm/t9n/FeatureForm")],U.prototype,"messages",void 0),e([r(),x("esri/t9n/common")],U.prototype,"messagesCommon",void 0),e([r(),x("esri/widgets/Feature/t9n/Feature")],U.prototype,"messagesFeature",void 0),e([r(),x("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],U.prototype,"messagesTemplates",void 0),e([r()],U.prototype,"relatedRecordCallbacks",null),e([r()],U.prototype,"relationshipId",null),e([r()],U.prototype,"spatialReference",null),e([r()],U.prototype,"strict",null),e([r()],U.prototype,"view",null),e([r(),L(["value-change","submit"])],U.prototype,"viewModel",void 0),U=e([a(T)],U);const A=U;export{A as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import s from"../../core/Collection.js";import i from"../../core/Handles.js";import{debounce as r,ignoreAbortErrors as o}from"../../core/promiseUtils.js";import{on as l,watch as n}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{getLowerCaseDefaultHiddenFields as d}from"../../layers/support/fieldUtils.js";import{highlightsSupported as m}from"../../views/support/layerViewUtils.js";import g from"./AttachmentsColumn.js";import c from"./FieldColumn.js";import u from"./Grid/Column.js";import p from"./Grid/Grid.js";import y from"./Grid/GridViewModel.js";import f from"./Grid/GroupColumn.js";import b from"./support/FeatureStore.js";import"../support/widgetUtils.js";import{messageBundle as _}from"../support/decorators/messageBundle.js";import{onLocaleChange as w}from"../../intl/locale.js";import{fetchMessageBundle as C}from"../../intl/messages.js";let E=class extends y{constructor(e){super(e),this._debounceRefresh=r((()=>this._refresh())),this._highlights=new i,this.activeFilters=new s,this.autoRefreshEnabled=!0,this.cellClassNameGenerator=(e,t)=>e.path||null,this.columns=new s,this.dataProvider=async(e,t)=>{const{store:s}=this,{page:i,pageSize:r,sortOrders:o}=e,l=this._sortOrdersToLayerOrderByFields(o);t&&(s?(await s.set({orderByFields:l}),"loaded"!==s.state&&"loading"!==s.state&&await s.load(),t&&t(await s.fetchItems({page:i,pageSize:r}))):t&&t([]))},this.editingEnabled=!1,this.fieldConfigs=null,this.grid=null,this.highlightEnabled=!0,this.itemIdPath="objectId",this.messagesCommon=null,this.messagesURIUtils=null,this.relatedRecordsEnabled=!1,this.returnGeometryEnabled=!1,this.store=null,this.tableTemplate=null,this.view=null,this._onLayerRefresh=this._onLayerRefresh.bind(this),this._set("store",new b),this._set("grid",new p({itemIdPath:this.itemIdPath,viewModel:this}))}initialize(){const e=async()=>{this.messages=await C("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await C("esri/t9n/common"),this.messagesURIUtils=await C("esri/widgets/support/t9n/uriUtils")};e(),this.addHandles([w((()=>{e(),this._generateColumns()})),l((()=>this.highlightIds),"change",(e=>this._onHighlightIdsChange(e)),{onListenerAdd:()=>{this.highlightIds.forEach((e=>this._highlight(e)))},onListenerRemove:()=>{this.highlightIds.forEach((e=>this._unhighlight(e)))}}),n((()=>this.layerView),(()=>{this._highlights.removeAll(),this.layerView&&this.highlightEnabled&&this.highlightIds?.forEach((e=>this._highlight(e)))})),n((()=>this.highlightEnabled),(()=>{this._highlights.removeAll(),this.highlightEnabled&&this.highlightIds?.forEach((e=>this._highlight(e)))})),n((()=>this.relatedRecordsEnabled),(e=>this.store.relatedRecordsEnabled=e)),n((()=>this.returnGeometryEnabled),(e=>this.store.returnGeometry=e)),n((()=>this.layer?.loaded),(e=>e&&this._onLayerLoad())),n((()=>this.store.state),(e=>{"loaded"===e&&this.grid?.scrollToTop()})),n((()=>[this.messages,this.tableTemplate,this.fieldConfigs]),(()=>this.layer?.loaded&&this._generateColumns())),n((()=>this.editingEnabled),(e=>{this.columns.forEach((t=>{"editingEnabled"in t&&(t.editingEnabled=e)})),this.grid?.onColumnChange()})),n((()=>this.layer?.definitionExpression),((e,t)=>(e||t)&&"loaded"===this.store.state&&this.reset())),n((()=>this.layer&&"timeExtent"in this.layer&&this.layer.timeExtent),((e,t)=>(e||t)&&!this.timeExtent&&"loaded"===this.store.state&&this.reset())),l((()=>this.layer),"refresh",(e=>this._onLayerRefresh(e)))])}destroy(){this._resetColumns(),this._highlights.removeAll(),this._highlights.destroy(),this.grid?.destroy(),this.columns?.destroy(),this.layer=null,this.view=null}get _defaultHiddenFields(){return d(this.layer)}get activeSortOrders(){return this.grid?.sortOrders?this.grid.sortOrders.map((({path:e,direction:t})=>({fieldName:e,direction:t}))):[]}set attachmentsEnabled(e){this.attachmentsEnabled!==e&&(this._set("attachmentsEnabled",e),this._generateColumns(),this.store.attachmentsEnabled=e)}set filterGeometry(e){if(!this.filterGeometry&&!e)return;const t=this.activeFilters.find((e=>"geometry"===e.type));t&&this.activeFilters.remove(t),this._set("filterGeometry",e),this.store.filterGeometry=e,e&&this.activeFilters.add({type:"geometry",geometry:e})}get hiddenFields(){return this._get("hiddenFields")??new s}set hiddenFields(e){Array.isArray(e)?this._set("hiddenFields",new s(e)):this._set("hiddenFields",e)}get highlightOnRowSelectEnabled(){return this.highlightEnabled}set highlightOnRowSelectEnabled(e){this.highlightEnabled=e}set layer(e){this._set("layer",e),this.grid?.clearSort(),this._resetColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad():e.load()),this.notifyChange("state")}get layerView(){return this.view?.allLayerViews.find((e=>e.layer===this.layer))||null}set messages(e){this.grid?.set("messages",e),this._set("messages",e)}get state(){const{store:e}=this;return e&&"disabled"!==e.state?"loading"===e.state?"loading":"loaded"===e.state?"loaded":"ready":"disabled"}set timeExtent(e){this._set("timeExtent",e),this.store.timeExtent=e}clearHighlights(){this._highlights.removeAll()}clearSelection(){this.grid?.clearSelection()}async deleteSelection(){const e=this.highlightIds.toArray();if(!e?.length)return;const{deleteFeatureResults:t}=await this.store.deleteRowsByObjectId(e),s=t.filter((e=>!e.error)).map((e=>e.objectId));s.length&&(this.deselectRows(s),await this.refresh())}deselectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid?.deselectRows(t)}filterBySelection(){const e=this.highlightIds.toArray();e.length&&(this.clearSelectionFilter(),this.store.objectIds=e,this.activeFilters.add({type:"selection",objectIds:e}))}getObjectIdIndex(e){return this.store?.getObjectIdIndex(e)}getValue(e,t){const s=this.store.getItemByObjectId(e);return s?.feature?.attributes[t]}get highlightIds(){return this._get("highlightIds")||new s}set highlightIds(e){Array.isArray(e)?this._set("highlightIds",new s(e)):this._set("highlightIds",e)}async refresh(){return o(this._debounceRefresh())}reset(){this.grid?.reset()}selectRows(e){const t=this._getStoreItemsFromSelectionParams(e);return this.grid?.selectRows(t)}scrollToIndex(e){this.grid?.scrollToIndex(e)}clearSelectionFilter(){this.store.objectIds=null;const e=this.activeFilters.find((e=>"selection"===e.type));e&&this.activeFilters.remove(e)}zoomToSelection(){const{layer:e,view:t}=this,s=this.highlightIds.toArray();if(!e||!t||!s.length)return;const i=e.createQuery();i.objectIds=s,i.returnGeometry=!0,e.queryFeatures(i).then((e=>{t.goTo(e.features).catch((e=>{"AbortError"!==e.name&&console.error(e)}))}))}async _refresh(){await this.store.refreshLayerInfo();const e=this.highlightIds.toArray();if(e.length){(await this.store.verifyFeaturesByObjectId(e)).forEach(((t,s)=>{t||this.deselectRows(e[s])}))}this.grid?.refreshPageCache()}_onLayerLoad(){const e=this.layer.capabilities?.query.maxRecordCount;e&&e<this.pageSize&&this.grid&&(this.grid.pageSize=e),this._generateColumns()}_onLayerRefresh(e){this.autoRefreshEnabled&&e.dataChanged&&this.refresh()}_generateColumns(){this._resetColumns();const e=[],t=this.tableTemplate?.columnTemplates?this._generateColumnsFromTemplates(this.tableTemplate.columnTemplates):this.fieldConfigs?.length?this._generateColumnsFromConfigs():this._generateDefaultFieldColumns();e.push(...t),e.length&&this.attachmentsEnabled&&e.push(this._generateDefaultAttachmentColumn()),this.columns.addMany([...e])}_generateColumnsFromTemplates(e){const{editingEnabled:t,grid:s,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,store:n,tableTemplate:a}=this,h=this.layer?.fields??[],d=e=>{const t="fieldName"in e&&e.fieldName?.toLowerCase();return h.find((e=>t===e.name?.toLowerCase()))};return e.filter((e=>null!=d(e)||"group"===e.type&&"columnTemplates"in e||"column"===e.type)).map((e=>{if("fieldName"in e){const h=d(e),m=!1===e.visible||!0!==e.visible&&this._isFieldHidden(h?.name),{direction:g,formatFunction:u,initialSortPriority:p,menuConfig:y,textAlign:f}=e;return new c({direction:g,editingEnabled:t,expressionInfos:a?.expressionInfos||null,field:h,formatFunction:u,grid:s,hidden:m,initialSortPriority:p,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,menuConfig:y,store:n,template:e,textAlign:f})}if("group"===e.type&&"columnTemplates"in e){const t=this._generateColumnsFromTemplates(e.columnTemplates),s=!1===e.visible||!0!==e.visible&&this._isFieldHidden(e.label),{label:i}=e;return new f({header:i,columns:t,hidden:s})}return new u({...e})}))}_generateColumnsFromConfigs(){const{editingEnabled:e,fieldConfigs:t,grid:s,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,store:n}=this;if(!t)return[];const a=this.layer?.fields??[],h=e=>{const t=e.name?.toLocaleLowerCase();return a.find((e=>t===e.name?.toLowerCase()))};return t.filter(h).map((t=>{const a=t.direction||null,d=t.formatFunction||null,m=t.textAlign||null,g=null!=t.initialSortPriority?t.initialSortPriority:null,u=h(t),p=!1===t.visible||!0!==t.visible&&this._isFieldHidden(u?.name),y=t.menuConfig||null;return new c({config:t,direction:a,editingEnabled:e,field:u,formatFunction:d,grid:s,hidden:p,layer:i,store:n,messages:r,messagesCommon:o,messagesURIUtils:l,menuConfig:y,textAlign:m,initialSortPriority:g})}))}_generateDefaultFieldColumns(){const{editingEnabled:e,grid:t,layer:s,messages:i,messagesCommon:r,messagesURIUtils:o,store:l}=this;return(this.layer?.fields??[]).map((n=>new c({editingEnabled:e,field:n,grid:t,hidden:this._isFieldHidden(n.name),layer:s,store:l,messages:i,messagesCommon:r,messagesURIUtils:o})))}_generateDefaultAttachmentColumn(){return new g({header:this.messages?.attachments})}_sortOrdersToLayerOrderByFields(e){return e&&e.length?e.filter(((e,t,s)=>s.map((e=>e.path)).indexOf(e.path)===t)).filter((({direction:e})=>!!e)).map((({direction:e,path:t})=>t+" "+e?.toUpperCase())):[]}_isFieldHidden(e){const t=e?.toLowerCase();return(this.hiddenFields??this._defaultHiddenFields).some((e=>e.toLowerCase()===t))}_highlight(e){this.layerView&&m(this.layerView)&&this._highlights.add(this.layerView.highlight(e),e)}_unhighlight(e){this._highlights.remove(e)}_getStoreItemsFromSelectionParams(e){const s=[];return(e=e instanceof Array?e:[e]).forEach((e=>{let i=e instanceof t?e:null;const r=i?i.getObjectId():e;if("number"==typeof r||"string"==typeof r){if(!i){const e=this.store.getItemByObjectId(r);e&&(i=e.feature)}s.push({objectId:r,feature:i})}})),s}_onHighlightIdsChange(e){const{highlightEnabled:t}=this,{added:s,removed:i}=e;t&&(s.forEach((e=>this._highlight(e))),i.forEach((e=>this._unhighlight(e))))}_resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}};e([a()],E.prototype,"_defaultHiddenFields",null),e([a({readOnly:!0})],E.prototype,"activeFilters",void 0),e([a({readOnly:!0})],E.prototype,"activeSortOrders",null),e([a()],E.prototype,"attachmentsEnabled",null),e([a()],E.prototype,"autoRefreshEnabled",void 0),e([a()],E.prototype,"cellClassNameGenerator",void 0),e([a({readOnly:!0})],E.prototype,"columns",void 0),e([a()],E.prototype,"dataProvider",void 0),e([a()],E.prototype,"editingEnabled",void 0),e([a()],E.prototype,"fieldConfigs",void 0),e([a()],E.prototype,"filterGeometry",null),e([a({readOnly:!0})],E.prototype,"grid",void 0),e([a()],E.prototype,"hiddenFields",null),e([a()],E.prototype,"highlightEnabled",void 0),e([a()],E.prototype,"highlightOnRowSelectEnabled",null),e([a({readOnly:!0})],E.prototype,"itemIdPath",void 0),e([a()],E.prototype,"layer",null),e([a()],E.prototype,"layerView",null),e([a()],E.prototype,"messages",null),e([a(),_("esri/t9n/common")],E.prototype,"messagesCommon",void 0),e([a(),_("esri/widgets/support/t9n/uriUtils")],E.prototype,"messagesURIUtils",void 0),e([a()],E.prototype,"relatedRecordsEnabled",void 0),e([a()],E.prototype,"returnGeometryEnabled",void 0),e([a({readOnly:!0})],E.prototype,"state",null),e([a({readOnly:!0,type:b})],E.prototype,"store",void 0),e([a()],E.prototype,"tableTemplate",void 0),e([a()],E.prototype,"timeExtent",null),e([a()],E.prototype,"view",void 0),e([a()],E.prototype,"highlightIds",null),E=e([h("esri.widgets.FeatureTable.FeatureTableViewModel")],E);const I=E;export{I as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import s from"../../core/Collection.js";import i from"../../core/Handles.js";import{debounce as r,ignoreAbortErrors as o}from"../../core/promiseUtils.js";import{on as l,watch as n}from"../../core/reactiveUtils.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import{getLowerCaseDefaultHiddenFields as d}from"../../layers/support/fieldUtils.js";import{highlightsSupported as m}from"../../views/support/layerViewUtils.js";import g from"./AttachmentsColumn.js";import c from"./FieldColumn.js";import u from"./Grid/Column.js";import p from"./Grid/Grid.js";import y from"./Grid/GridViewModel.js";import f from"./Grid/GroupColumn.js";import b from"./support/FeatureStore.js";import"../support/widgetUtils.js";import{messageBundle as _}from"../support/decorators/messageBundle.js";import{onLocaleChange as w}from"../../intl/locale.js";import{fetchMessageBundle as C}from"../../intl/messages.js";let E=class extends y{constructor(e){super(e),this._debounceRefresh=r((()=>this._refresh())),this._highlights=new i,this.activeFilters=new s,this.autoRefreshEnabled=!0,this.cellClassNameGenerator=(e,t)=>e.path||null,this.columns=new s,this.dataProvider=async(e,t)=>{const{store:s}=this,{page:i,pageSize:r,sortOrders:o}=e,l=this._sortOrdersToLayerOrderByFields(o);t&&(s?(await s.set({orderByFields:l}),"loaded"!==s.state&&"loading"!==s.state&&await s.load(),t&&t(await s.fetchItems({page:i,pageSize:r}))):t&&t([]))},this.editingEnabled=!1,this.fieldConfigs=null,this.grid=null,this.highlightEnabled=!0,this.itemIdPath="objectId",this.messagesCommon=null,this.messagesURIUtils=null,this.relatedRecordsEnabled=!1,this.returnGeometryEnabled=!1,this.store=null,this.tableTemplate=null,this.view=null,this._onLayerRefresh=this._onLayerRefresh.bind(this),this._set("store",new b),this._set("grid",new p({itemIdPath:this.itemIdPath,viewModel:this}))}initialize(){const e=async()=>{this.messages=await C("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await C("esri/t9n/common"),this.messagesURIUtils=await C("esri/widgets/support/t9n/uriUtils")};e(),this.addHandles([w((()=>{e(),this._generateColumns()})),l((()=>this.highlightIds),"change",(e=>this._onHighlightIdsChange(e)),{onListenerAdd:()=>{this.highlightIds.forEach((e=>this._highlight(e)))},onListenerRemove:()=>{this.highlightIds.forEach((e=>this._unhighlight(e)))}}),n((()=>this.layerView),(()=>{this._highlights.removeAll(),this.layerView&&this.highlightEnabled&&this.highlightIds?.forEach((e=>this._highlight(e)))})),n((()=>this.highlightEnabled),(()=>{this._highlights.removeAll(),this.highlightEnabled&&this.highlightIds?.forEach((e=>this._highlight(e)))})),n((()=>this.relatedRecordsEnabled),(e=>this.store.relatedRecordsEnabled=e)),n((()=>this.returnGeometryEnabled),(e=>this.store.returnGeometry=e)),n((()=>this.layer?.loaded),(e=>e&&this._onLayerLoad())),n((()=>this.store.state),(e=>{"loaded"===e&&this.grid?.scrollToTop()})),n((()=>[this.messages,this.tableTemplate,this.fieldConfigs]),(()=>this.layer?.loaded&&this._generateColumns())),n((()=>this.editingEnabled),(e=>{this.columns.forEach((t=>{"editingEnabled"in t&&(t.editingEnabled=e)})),this.grid?.onColumnChange()})),n((()=>this.layer?.definitionExpression),((e,t)=>(e||t)&&"loaded"===this.store.state&&this.reset())),n((()=>this.layer&&"timeExtent"in this.layer&&this.layer.timeExtent),((e,t)=>(e||t)&&!this.timeExtent&&"loaded"===this.store.state&&this.reset())),l((()=>this.layer),"refresh",(e=>this._onLayerRefresh(e)))])}destroy(){this._resetColumns(),this._highlights.removeAll(),this._highlights.destroy(),this.grid?.destroy(),this.columns?.destroy(),this.layer=null,this.view=null}get _defaultHiddenFields(){return d(this.layer)}get activeSortOrders(){return this.grid?.sortOrders?this.grid.sortOrders.map((({path:e,direction:t})=>({fieldName:e,direction:t}))):[]}set attachmentsEnabled(e){this.attachmentsEnabled!==e&&(this._set("attachmentsEnabled",e),this._generateColumns(),this.store.attachmentsEnabled=e)}set filterGeometry(e){if(!this.filterGeometry&&!e)return;const t=this.activeFilters.find((e=>"geometry"===e.type));t&&this.activeFilters.remove(t),this._set("filterGeometry",e),this.store.filterGeometry=e,e&&this.activeFilters.add({type:"geometry",geometry:e})}get hiddenFields(){return this._get("hiddenFields")??new s}set hiddenFields(e){Array.isArray(e)?this._set("hiddenFields",new s(e)):this._set("hiddenFields",e)}get highlightOnRowSelectEnabled(){return this.highlightEnabled}set highlightOnRowSelectEnabled(e){this.highlightEnabled=e}set layer(e){this._set("layer",e),this.grid?.clearSort(),this._resetColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad():e.load()),this.notifyChange("state")}get layerView(){return this.view?.allLayerViews.find((e=>e.layer===this.layer))||null}set messages(e){this.grid?.set("messages",e),this._set("messages",e)}get state(){const{store:e}=this;return e&&"disabled"!==e.state?"loading"===e.state?"loading":"loaded"===e.state?"loaded":"ready":"disabled"}set timeExtent(e){this._set("timeExtent",e),this.store.timeExtent=e}clearHighlights(){this._highlights.removeAll()}clearSelection(){this.grid?.clearSelection()}async deleteSelection(){const e=this.highlightIds.toArray();if(!e?.length)return;const{deleteFeatureResults:t}=await this.store.deleteRowsByObjectId(e),s=t.filter((e=>!e.error)).map((e=>e.objectId));s.length&&(this.deselectRows(s),await this.refresh())}deselectRows(e){const t=this._getStoreItemsFromSelectionParams(e);this.grid?.deselectRows(t)}filterBySelection(){const e=this.highlightIds.toArray();e.length&&(this.clearSelectionFilter(),this.store.objectIds=e,this.activeFilters.add({type:"selection",objectIds:e}))}getObjectIdIndex(e){return this.store?.getObjectIdIndex(e)}getValue(e,t){const s=this.store.getItemByObjectId(e);return s?.feature?.attributes[t]}get highlightIds(){return this._get("highlightIds")||new s}set highlightIds(e){Array.isArray(e)?this._set("highlightIds",new s(e)):this._set("highlightIds",e)}async refresh(){return o(this._debounceRefresh())}reset(){this.grid?.reset()}selectRows(e){const t=this._getStoreItemsFromSelectionParams(e);return this.grid?.selectRows(t)}scrollToIndex(e){this.grid?.scrollToIndex(e)}clearSelectionFilter(){this.store.objectIds=null;const e=this.activeFilters.find((e=>"selection"===e.type));e&&this.activeFilters.remove(e)}async zoomToSelection(){const{layer:e,view:t}=this,s=this.highlightIds.toArray();if(!e||!t||!s.length)return;const i=e.createQuery();i.objectIds=s,i.returnGeometry=!0;const r=await e.queryFeatures(i);try{await t.goTo(r.features)}catch(o){"AbortError"!==o.name&&console.error(o)}}async _refresh(){await this.store.refreshLayerInfo();const e=this.highlightIds.toArray();if(e.length){(await this.store.verifyFeaturesByObjectId(e)).forEach(((t,s)=>{t||this.deselectRows(e[s])}))}this.grid?.refreshPageCache()}_onLayerLoad(){const e=this.layer.capabilities?.query.maxRecordCount;e&&e<this.pageSize&&this.grid&&(this.grid.pageSize=e),this._generateColumns()}_onLayerRefresh(e){this.autoRefreshEnabled&&e.dataChanged&&this.refresh()}_generateColumns(){this._resetColumns();const e=[],t=this.tableTemplate?.columnTemplates?this._generateColumnsFromTemplates(this.tableTemplate.columnTemplates):this.fieldConfigs?.length?this._generateColumnsFromConfigs():this._generateDefaultFieldColumns();e.push(...t),e.length&&this.attachmentsEnabled&&e.push(this._generateDefaultAttachmentColumn()),this.columns.addMany([...e])}_generateColumnsFromTemplates(e){const{editingEnabled:t,grid:s,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,store:n,tableTemplate:a}=this,h=this.layer?.fields??[],d=e=>{const t="fieldName"in e&&e.fieldName?.toLowerCase();return h.find((e=>t===e.name?.toLowerCase()))};return e.filter((e=>null!=d(e)||"group"===e.type&&"columnTemplates"in e||"column"===e.type)).map((e=>{if("fieldName"in e){const h=d(e),m=!1===e.visible||!0!==e.visible&&this._isFieldHidden(h?.name),{direction:g,formatFunction:u,initialSortPriority:p,menuConfig:y,textAlign:f}=e;return new c({direction:g,editingEnabled:t,expressionInfos:a?.expressionInfos||null,field:h,formatFunction:u,grid:s,hidden:m,initialSortPriority:p,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,menuConfig:y,store:n,template:e,textAlign:f})}if("group"===e.type&&"columnTemplates"in e){const t=this._generateColumnsFromTemplates(e.columnTemplates),s=!1===e.visible||!0!==e.visible&&this._isFieldHidden(e.label),{label:i}=e;return new f({header:i,columns:t,hidden:s})}return new u({...e})}))}_generateColumnsFromConfigs(){const{editingEnabled:e,fieldConfigs:t,grid:s,layer:i,messages:r,messagesCommon:o,messagesURIUtils:l,store:n}=this;if(!t)return[];const a=this.layer?.fields??[],h=e=>{const t=e.name?.toLocaleLowerCase();return a.find((e=>t===e.name?.toLowerCase()))};return t.filter(h).map((t=>{const a=t.direction||null,d=t.formatFunction||null,m=t.textAlign||null,g=null!=t.initialSortPriority?t.initialSortPriority:null,u=h(t),p=!1===t.visible||!0!==t.visible&&this._isFieldHidden(u?.name),y=t.menuConfig||null;return new c({config:t,direction:a,editingEnabled:e,field:u,formatFunction:d,grid:s,hidden:p,layer:i,store:n,messages:r,messagesCommon:o,messagesURIUtils:l,menuConfig:y,textAlign:m,initialSortPriority:g})}))}_generateDefaultFieldColumns(){const{editingEnabled:e,grid:t,layer:s,messages:i,messagesCommon:r,messagesURIUtils:o,store:l}=this;return(this.layer?.fields??[]).map((n=>new c({editingEnabled:e,field:n,grid:t,hidden:this._isFieldHidden(n.name),layer:s,store:l,messages:i,messagesCommon:r,messagesURIUtils:o})))}_generateDefaultAttachmentColumn(){return new g({header:this.messages?.attachments})}_sortOrdersToLayerOrderByFields(e){return e&&e.length?e.filter(((e,t,s)=>s.map((e=>e.path)).indexOf(e.path)===t)).filter((({direction:e})=>!!e)).map((({direction:e,path:t})=>t+" "+e?.toUpperCase())):[]}_isFieldHidden(e){const t=e?.toLowerCase();return(this.hiddenFields??this._defaultHiddenFields).some((e=>e.toLowerCase()===t))}_highlight(e){this.layerView&&m(this.layerView)&&this._highlights.add(this.layerView.highlight(e),e)}_unhighlight(e){this._highlights.remove(e)}_getStoreItemsFromSelectionParams(e){const s=[];return(e=e instanceof Array?e:[e]).forEach((e=>{let i=e instanceof t?e:null;const r=i?i.getObjectId():e;if("number"==typeof r||"string"==typeof r){if(!i){const e=this.store.getItemByObjectId(r);e&&(i=e.feature)}s.push({objectId:r,feature:i})}})),s}_onHighlightIdsChange(e){const{highlightEnabled:t}=this,{added:s,removed:i}=e;t&&(s.forEach((e=>this._highlight(e))),i.forEach((e=>this._unhighlight(e))))}_resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}};e([a()],E.prototype,"_defaultHiddenFields",null),e([a({readOnly:!0})],E.prototype,"activeFilters",void 0),e([a({readOnly:!0})],E.prototype,"activeSortOrders",null),e([a()],E.prototype,"attachmentsEnabled",null),e([a()],E.prototype,"autoRefreshEnabled",void 0),e([a()],E.prototype,"cellClassNameGenerator",void 0),e([a({readOnly:!0})],E.prototype,"columns",void 0),e([a()],E.prototype,"dataProvider",void 0),e([a()],E.prototype,"editingEnabled",void 0),e([a()],E.prototype,"fieldConfigs",void 0),e([a()],E.prototype,"filterGeometry",null),e([a({readOnly:!0})],E.prototype,"grid",void 0),e([a()],E.prototype,"hiddenFields",null),e([a()],E.prototype,"highlightEnabled",void 0),e([a()],E.prototype,"highlightOnRowSelectEnabled",null),e([a({readOnly:!0})],E.prototype,"itemIdPath",void 0),e([a()],E.prototype,"layer",null),e([a()],E.prototype,"layerView",null),e([a()],E.prototype,"messages",null),e([a(),_("esri/t9n/common")],E.prototype,"messagesCommon",void 0),e([a(),_("esri/widgets/support/t9n/uriUtils")],E.prototype,"messagesURIUtils",void 0),e([a()],E.prototype,"relatedRecordsEnabled",void 0),e([a()],E.prototype,"returnGeometryEnabled",void 0),e([a({readOnly:!0})],E.prototype,"state",null),e([a({readOnly:!0,type:b})],E.prototype,"store",void 0),e([a()],E.prototype,"tableTemplate",void 0),e([a()],E.prototype,"timeExtent",null),e([a()],E.prototype,"view",void 0),e([a()],E.prototype,"highlightIds",null),E=e([h("esri.widgets.FeatureTable.FeatureTableViewModel")],E);const I=E;export{I as default};
@@ -956,4 +956,4 @@ import{_ as e}from"../../../chunks/tslib.es6.js";import{isSome as t}from"../../.
956
956
  <template class="header" id="headerTemplate">
957
957
  <vaadin-grid-sorter path="[[path]]" direction="{{direction}}">[[_getHeader(header, path)]]</vaadin-grid-sorter>
958
958
  </template>
959
- `}static get is(){return"vaadin-grid-sort-column"}static get properties(){return{path:String,direction:{type:String,notify:!0}}}_prepareHeaderTemplate(){const e=this._prepareTemplatizer(this.$.headerTemplate);return e.templatizer.dataHost=this,e}_getHeader(e,t){return e||this._generateHeader(t)}}customElements.define(Jl.is,Jl);const Xl={selectionColumn:!0,columnMenus:!0},Zl="esri-grid",Kl="compact column-borders",Ql={base:Zl,content:`${Zl}__content`,grid:`${Zl}__grid`,noColumnMenu:`${Zl}--no-column-menu`};let ed=class extends d{constructor(e,t){super(e,t),this._grid=null,this._columnElements=[],this._isDataLoaded=!1,this.itemIdPath=null,this.messages=null,this.viewModel=new h,this.visibleElements={...Xl}}initialize(){this.addHandles([this.columns.on("change",(()=>this.onColumnChange())),r((()=>this.viewModel?.size),(()=>this._updateGridSize())),r((()=>this.store?.state),((e,t)=>{"ready"!==e||"loaded"!==t&&"error"!==t||this.refreshPageCache()})),n((()=>this.highlightIds),"change",(e=>{const{added:t,removed:i}=e,s=t.map((e=>this.store?.getLocalItemByKey(e)||{objectId:e})),r=i.map((e=>this.store?.getLocalItemByKey(e)||{objectId:e}));this._deselectRows(r),this._selectRows(s)})),n((()=>this._grid?.$?.table),"scroll",(()=>this.viewModel?.closeColumnMenus()))])}destroy(){this.resetColumns(),this.columns?.destroy()}resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}get cellClassNameGenerator(){return this.viewModel.cellClassNameGenerator}set cellClassNameGenerator(e){this.viewModel.cellClassNameGenerator=e}get columns(){return this.viewModel.columns}set columns(e){this.viewModel.columns=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get dataProvider(){return this.viewModel.dataProvider}set dataProvider(e){this.viewModel.dataProvider=e}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get rowDetailsRenderer(){return this.viewModel.rowDetailsRenderer}set rowDetailsRenderer(e){this.viewModel.rowDetailsRenderer=e}get size(){return this.viewModel.size}get sortOrders(){return this._grid?._sorters?this._grid._sorters.filter((e=>!!e)).map((({direction:e,path:t})=>({direction:e,path:t}))):[]}get store(){return this.viewModel.store}set store(e){this.viewModel.store=e}castVisibleElements(e){return{...Xl,...e}}getColumnProps(e,t){const{id:i}=this,{autoWidth:s,direction:r,flexGrow:n,frozen:o,header:a,hidden:l,path:d,resizable:h,textAlign:c,width:u}=e;return{autoWidth:s,direction:r,flexGrow:n,frozen:o,header:a,hidden:l,key:`${i}_${a}_${t??d}`,path:d,resizable:h,"text-align":c,width:"number"==typeof u?`${u}px`:u,bind:this,afterCreate:this._afterColumnCreate,afterRemoved:this._afterColumnRemoved}}clearSelection(){this._clearSelection(),this.scheduleRender()}clearSort(){let e=!1;if(this._grid){if(this._grid._sorters?.length&&(this._grid._sorters.forEach((e=>{e._order=null,e.direction=null})),e=!0),this.columns?.length){this.columns.some((e=>!!e.direction))&&(this.columns.forEach((e=>e.direction=null)),e=!0)}e&&(this.notifyChange("sortOrders"),this.scheduleRender())}}findColumn(e){this.viewModel.findColumn(e)}generateCellClassNames(){this._grid?.generateCellClassNames()}getSlotElementByName(e){return this._grid?.shadowRoot?.querySelector(`slot[name='${e}']`)??null}hideColumn(e){this.viewModel?.hideColumn(e),this.scheduleRender()}notifyResize(){this._grid?.notifyResize()}recalculateColumnWidths(){this._grid?.recalculateColumnWidths()}async reset(){this._isDataLoaded=!1,this._clearSelection(),await(this.store?.reset()),this.scrollToTop()}refreshPageCache(){this._grid?.clearCache()}selectRows(e){const t=e?.filter((e=>!this.highlightIds.includes(e.objectId))),i=t.map((e=>e.objectId));i.length&&(this.highlightIds.addMany(i),this._selectRows(t))}deselectRows(e){const t=e?.map((e=>e.objectId))||[];t.length&&(this.highlightIds.removeMany(t),this._deselectRows(e))}showColumn(e){this.viewModel?.showColumn(e),this.scheduleRender()}sort({path:e,direction:t}){this.viewModel?.sortColumn(e,t),this.notifyChange("sortOrders")}scrollToIndex(e){this._grid?.scrollToIndex(e)}scrollToTop(){this._grid?.scrollToIndex(0)}isEditingActive(){return!!this._getActiveEditInfo().length}onColumnChange(){this._syncColumnRenderers()}render(){const{columnMenus:e}=this.visibleElements;return _("div",{bind:this,class:this.classes(Ql.base,c.widget,{[Ql.noColumnMenu]:!e})},_("div",{bind:this,class:Ql.content},this._renderGrid()))}_renderGrid(){return _("vaadin-grid",{_safari:!1,afterCreate:this._afterGridCreate,afterUpdate:this._afterGridUpdate,bind:this,cellClassNameGenerator:this.cellClassNameGenerator,class:Ql.grid,columnReorderingAllowed:this.columnReorderingEnabled,dataProvider:this.dataProvider,id:`${this.id}_grid`,itemIdPath:this.itemIdPath,multiSort:this.multiSortEnabled,pageSize:this.pageSize,ref:"grid",rowDetailsRenderer:this.rowDetailsRenderer,size:this.size},this._renderAllColumns())}_renderAllColumns(){return"disabled"!==this.viewModel.state&&this.columns?.length?[this._renderSelectionColumn(),this._renderColumns()]:null}_renderSelectionColumn(){return _("vaadin-grid-selection-column",{_selectAllHidden:!0,selectAll:!1,bind:this,hidden:!this.visibleElements.selectionColumn,sortable:!1,frozen:!u(this.container)})}_renderColumns(){return this.columns.items.map(((e,t)=>"columns"in e?this._renderGroupColumn(e,t):_("vaadin-grid-column",{...this.getColumnProps(e,t)}))).filter(t)}_renderGroupColumn(e,t){const i=this.getColumnProps(e,t);if(i.hidden||!e.columns)return null;const s=e.columns.filter((({hidden:e})=>!e));return s.length?_("vaadin-grid-column-group",{...i},s.map((e=>_("vaadin-grid-column",{...this.getColumnProps(e,t)})))):null}_afterGridCreate(e){const t=this._grid=e;t.setAttribute("theme",Kl),customElements.whenDefined("vaadin-grid").then((()=>this._addGridEventListeners())),t.__updateSorter=e=>{const i=t._sorters,s=!i.includes(e);if(e.direction||!s)if(e._order=null,t.multiSort)t._removeArrayItem(i,e),e.direction&&(null!=e._initialOrder?(s?i[e._initialOrder]=e:i.splice(e._initialOrder,0,e),e._initialOrder=null):i.unshift(e)),t.__updateSortOrders();else if(e.direction){const s=i.filter((t=>t!==e));t._sorters=[e],s.forEach((e=>{e._order=null,e.direction=null}))}}}_afterGridUpdate(e){this._grid||(this._grid=e)}_afterColumnCreate(e){this._applyRenderersToColumnElement(e),this._columnElements.push(e)}_afterColumnRemoved(e){const t=this._columnElements.indexOf(e,0);t>-1&&this._columnElements.splice(t,1)}_syncColumnRenderers(){this._columnElements.forEach((e=>{this._applyRenderersToColumnElement(e)}))}_updateGridSize(){this._grid&&(this._grid.size=this.size||0,this.scheduleRender())}_getActiveEditInfo(){if(!this.columns||this.columns.length)return[];return this.columns.filter((e=>"activeEditInfo"in e)).map((e=>e.activeEditInfo)).items}_addGridEventListeners(){const e=this._grid;s(e),this.addHandles([i(e,"click",(e=>this._onRowClick(e))),i(e,"selected-items-changed",(e=>this._onSelectionChange(e))),i(e,"sorter-changed",(()=>this.notifyChange("sortOrders"))),i(e,"loading-changed",(e=>{this._isDataLoaded||!1===e.detail.value&&(this._isDataLoaded=!0,this._selectRowsOnLoad())}))])}_onRowClick(e){const t=this._grid;s(t);const i=t.getEventContext(e),{item:r,section:n}=i;r&&n&&"details"!==n&&"header"!==n&&this.emit("row-click",{context:i,native:e})}_clearSelection(){this._grid&&(this.highlightIds.removeAll(),this._grid.selectedItems=[],this._grid.render())}_selectRowsOnLoad(){const e=this._grid;if(!e)return;const t=e.selectedItems.slice(),i=this.highlightIds?.filter((e=>t.findIndex((t=>t.objectId===e))<0));i.forEach((t=>e.selectedItems.push(this.store?.getLocalItemByKey(t)||{objectId:t}))),e.render()}_selectRows(e){const t=this._grid;if(!t)return;const i=t.selectedItems.slice();e.filter((e=>i.findIndex((t=>t.objectId===e.objectId))<0)).forEach((e=>t.selectedItems.push(e))),t.render()}_deselectRows(e){const t=this._grid;if(!t)return;const i=t.selectedItems.slice();e.forEach((e=>{const t=i.findIndex((t=>t.objectId===e.objectId));t>-1&&i.splice(t,1)})),t.selectedItems=i,t.render()}_onSelectionChange(e){const t=e;if("selectedItems.splices"===t.detail.path){const{removed:e,object:i}=t.detail.value.indexSplices[0],s=i.filter((e=>!this.highlightIds.includes(e.objectId))).map((e=>e.objectId)),r=e.filter((e=>this.highlightIds.includes(e.objectId))).map((e=>e.objectId));this.highlightIds.removeMany(r),this.highlightIds.addMany(s)}}_applyRenderersToColumnElement(e){const t=e?.path,i=null!=t?this.viewModel.findColumn(t):void 0;if(i)try{const{renderFunction:t,footerRenderFunction:s,headerRenderFunction:r}=i;t&&"renderer"in e&&(e.renderer=(e,i,s)=>t({root:e,column:i,rowData:s})),s&&(e.footerRenderer=(e,t)=>s({root:e,column:t})),r&&(e.headerRenderer=(e,t)=>r({root:e,column:t}))}catch(s){}}};e([o()],ed.prototype,"_grid",void 0),e([o()],ed.prototype,"_isDataLoaded",void 0),e([o()],ed.prototype,"cellClassNameGenerator",null),e([o()],ed.prototype,"columns",null),e([o()],ed.prototype,"columnReorderingEnabled",null),e([o()],ed.prototype,"dataProvider",null),e([o()],ed.prototype,"highlightIds",null),e([o()],ed.prototype,"itemIdPath",void 0),e([o()],ed.prototype,"label",null),e([o(),p("esri/widgets/FeatureTable/t9n/FeatureTable")],ed.prototype,"messages",void 0),e([o()],ed.prototype,"multiSortEnabled",null),e([o()],ed.prototype,"pageSize",null),e([o()],ed.prototype,"rowDetailsRenderer",null),e([o()],ed.prototype,"size",null),e([o({readOnly:!0})],ed.prototype,"sortOrders",null),e([o()],ed.prototype,"store",null),e([o()],ed.prototype,"viewModel",void 0),e([o()],ed.prototype,"visibleElements",void 0),e([a("visibleElements")],ed.prototype,"castVisibleElements",null),ed=e([l("esri.widgets.FeatureTable.Grid.Grid")],ed);const td=ed;export{td as default};
959
+ `}static get is(){return"vaadin-grid-sort-column"}static get properties(){return{path:String,direction:{type:String,notify:!0}}}_prepareHeaderTemplate(){const e=this._prepareTemplatizer(this.$.headerTemplate);return e.templatizer.dataHost=this,e}_getHeader(e,t){return e||this._generateHeader(t)}}customElements.define(Jl.is,Jl);const Xl={selectionColumn:!0,columnMenus:!0},Zl="esri-grid",Kl="compact column-borders",Ql={base:Zl,content:`${Zl}__content`,grid:`${Zl}__grid`,noColumnMenu:`${Zl}--no-column-menu`};let ed=class extends d{constructor(e,t){super(e,t),this._grid=null,this._columnElements=[],this._isDataLoaded=!1,this.itemIdPath=null,this.messages=null,this.viewModel=new h,this.visibleElements={...Xl}}initialize(){this.addHandles([this.columns.on("change",(()=>this.onColumnChange())),r((()=>this.viewModel?.size),(()=>this._updateGridSize())),r((()=>this.store?.state),((e,t)=>{"ready"!==e||"loaded"!==t&&"error"!==t||this.refreshPageCache()})),n((()=>this.highlightIds),"change",(e=>{const{added:t,removed:i}=e,s=t.map((e=>this.store?.getLocalItemByKey(e)||{objectId:e})),r=i.map((e=>this.store?.getLocalItemByKey(e)||{objectId:e}));this._deselectRows(r),this._selectRows(s)})),n((()=>this._grid?.$?.table),"scroll",(()=>this.viewModel?.closeColumnMenus()))])}destroy(){this.resetColumns(),this.columns?.destroy()}resetColumns(){this.columns.items.forEach((e=>e.destroy())),this.columns.removeAll()}get cellClassNameGenerator(){return this.viewModel.cellClassNameGenerator}set cellClassNameGenerator(e){this.viewModel.cellClassNameGenerator=e}get columns(){return this.viewModel.columns}set columns(e){this.viewModel.columns=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get dataProvider(){return this.viewModel.dataProvider}set dataProvider(e){this.viewModel.dataProvider=e}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get rowDetailsRenderer(){return this.viewModel.rowDetailsRenderer}set rowDetailsRenderer(e){this.viewModel.rowDetailsRenderer=e}get size(){return this.viewModel.size}get sortOrders(){return this._grid?._sorters?this._grid._sorters.filter((e=>!!e)).map((({direction:e,path:t})=>({direction:e,path:t}))):[]}get store(){return this.viewModel.store}set store(e){this.viewModel.store=e}castVisibleElements(e){return{...Xl,...e}}getColumnProps(e,t){const{id:i}=this,{autoWidth:s,direction:r,flexGrow:n,frozen:o,header:a,hidden:l,path:d,resizable:h,textAlign:c,width:u}=e;return{autoWidth:s,direction:r,flexGrow:n,frozen:o,header:a,hidden:l,key:`${i}_${a}_${t??d}`,path:d,resizable:h,"text-align":c,width:"number"==typeof u?`${u}px`:u,bind:this,afterCreate:this._afterColumnCreate,afterRemoved:this._afterColumnRemoved}}clearSelection(){this._clearSelection(),this.scheduleRender()}clearSort(){let e=!1;if(this._grid){if(this._grid._sorters?.length&&(this._grid._sorters.forEach((e=>{e._order=null,e.direction=null})),e=!0),this.columns?.length){this.columns.some((e=>!!e.direction))&&(this.columns.forEach((e=>e.direction=null)),e=!0)}e&&(this.notifyChange("sortOrders"),this.scheduleRender())}}findColumn(e){this.viewModel.findColumn(e)}generateCellClassNames(){this._grid?.generateCellClassNames()}getSlotElementByName(e){return this._grid?.shadowRoot?.querySelector(`slot[name='${e}']`)??null}hideColumn(e){this.viewModel?.hideColumn(e),this.scheduleRender()}notifyResize(){this._grid?.notifyResize()}recalculateColumnWidths(){this._grid?.recalculateColumnWidths()}async reset(){this._isDataLoaded=!1,this._clearSelection(),await(this.store?.reset()),this.scrollToTop()}refreshPageCache(){this._grid?.clearCache()}selectRows(e){const t=e?.filter((e=>!this.highlightIds.includes(e.objectId))),i=t.map((e=>e.objectId));i.length&&(this.highlightIds.addMany(i),this._selectRows(t))}deselectRows(e){const t=e?.map((e=>e.objectId))||[];t.length&&(this.highlightIds.removeMany(t),this._deselectRows(e))}showColumn(e){this.viewModel?.showColumn(e),this.scheduleRender()}sort({path:e,direction:t}){this.viewModel?.sortColumn(e,t),this.notifyChange("sortOrders")}scrollToIndex(e){this._grid?.scrollToIndex(e)}scrollToTop(){this._grid?.scrollToIndex(0)}isEditingActive(){return!!this._getActiveEditInfo().length}onColumnChange(){this._syncColumnRenderers()}render(){const{columnMenus:e}=this.visibleElements;return _("div",{bind:this,class:this.classes(Ql.base,c.widget,{[Ql.noColumnMenu]:!e})},_("div",{bind:this,class:Ql.content},this._renderGrid()))}_renderGrid(){return _("vaadin-grid",{_safari:!1,afterCreate:this._afterGridCreate,afterUpdate:this._afterGridUpdate,bind:this,cellClassNameGenerator:this.cellClassNameGenerator,class:Ql.grid,columnReorderingAllowed:this.columnReorderingEnabled,dataProvider:this.dataProvider,id:`${this.id}_grid`,itemIdPath:this.itemIdPath,multiSort:this.multiSortEnabled,pageSize:this.pageSize,ref:"grid",rowDetailsRenderer:this.rowDetailsRenderer,size:this.size},this._renderAllColumns())}_renderAllColumns(){return"disabled"!==this.viewModel.state&&this.columns?.length?[this._renderSelectionColumn(),this._renderColumns()]:null}_renderSelectionColumn(){return _("vaadin-grid-selection-column",{_selectAllHidden:!0,bind:this,frozen:!u(this.container),hidden:!this.visibleElements.selectionColumn,selectAll:!1,sortable:!1})}_renderColumns(){return this.columns.items.map(((e,t)=>"columns"in e?this._renderGroupColumn(e,t):_("vaadin-grid-column",{...this.getColumnProps(e,t)}))).filter(t)}_renderGroupColumn(e,t){const i=this.getColumnProps(e,t);if(i.hidden||!e.columns)return null;const s=e.columns.filter((({hidden:e})=>!e));return s.length?_("vaadin-grid-column-group",{...i},s.map((e=>_("vaadin-grid-column",{...this.getColumnProps(e,t)})))):null}_afterGridCreate(e){const t=this._grid=e;t.setAttribute("theme",Kl),customElements.whenDefined("vaadin-grid").then((()=>this._addGridEventListeners())),t.__updateSorter=e=>{const i=t._sorters,s=!i.includes(e);if(e.direction||!s)if(e._order=null,t.multiSort)t._removeArrayItem(i,e),e.direction&&(null!=e._initialOrder?(s?i[e._initialOrder]=e:i.splice(e._initialOrder,0,e),e._initialOrder=null):i.unshift(e)),t.__updateSortOrders();else if(e.direction){const s=i.filter((t=>t!==e));t._sorters=[e],s.forEach((e=>{e._order=null,e.direction=null}))}}}_afterGridUpdate(e){this._grid||(this._grid=e)}_afterColumnCreate(e){this._applyRenderersToColumnElement(e),this._columnElements.push(e)}_afterColumnRemoved(e){const t=this._columnElements.indexOf(e,0);t>-1&&this._columnElements.splice(t,1)}_syncColumnRenderers(){this._columnElements.forEach((e=>{this._applyRenderersToColumnElement(e)}))}_updateGridSize(){this._grid&&(this._grid.size=this.size||0,this.scheduleRender())}_getActiveEditInfo(){if(!this.columns||this.columns.length)return[];return this.columns.filter((e=>"activeEditInfo"in e)).map((e=>e.activeEditInfo)).items}_addGridEventListeners(){const e=this._grid;s(e),this.addHandles([i(e,"click",(e=>this._onRowClick(e))),i(e,"selected-items-changed",(e=>this._onSelectionChange(e))),i(e,"sorter-changed",(()=>this.notifyChange("sortOrders"))),i(e,"loading-changed",(e=>{this._isDataLoaded||!1===e.detail.value&&(this._isDataLoaded=!0,this._selectRowsOnLoad())}))])}_onRowClick(e){const t=this._grid;s(t);const i=t.getEventContext(e),{item:r,section:n}=i;r&&n&&"details"!==n&&"header"!==n&&this.emit("row-click",{context:i,native:e})}_clearSelection(){this._grid&&(this.highlightIds.removeAll(),this._grid.selectedItems=[],this._grid.render())}_selectRowsOnLoad(){const e=this._grid;if(!e)return;const t=e.selectedItems.slice(),i=this.highlightIds?.filter((e=>t.findIndex((t=>t.objectId===e))<0));i.forEach((t=>e.selectedItems.push(this.store?.getLocalItemByKey(t)||{objectId:t}))),e.render()}_selectRows(e){const t=this._grid;if(!t)return;const i=t.selectedItems.slice();e.filter((e=>i.findIndex((t=>t.objectId===e.objectId))<0)).forEach((e=>t.selectedItems.push(e))),t.render()}_deselectRows(e){const t=this._grid;if(!t)return;const i=t.selectedItems.slice();e.forEach((e=>{const t=i.findIndex((t=>t.objectId===e.objectId));t>-1&&i.splice(t,1)})),t.selectedItems=i,t.render()}_onSelectionChange(e){const t=e;if("selectedItems.splices"===t.detail.path){const{removed:e,object:i}=t.detail.value.indexSplices[0],s=i.filter((e=>!this.highlightIds.includes(e.objectId))).map((e=>e.objectId)),r=e.filter((e=>this.highlightIds.includes(e.objectId))).map((e=>e.objectId));this.highlightIds.removeMany(r),this.highlightIds.addMany(s)}}_applyRenderersToColumnElement(e){const t=e?.path,i=null!=t?this.viewModel.findColumn(t):void 0;if(i)try{const{renderFunction:t,footerRenderFunction:s,headerRenderFunction:r}=i;t&&"renderer"in e&&(e.renderer=(e,i,s)=>t({root:e,column:i,rowData:s})),s&&(e.footerRenderer=(e,t)=>s({root:e,column:t})),r&&(e.headerRenderer=(e,t)=>r({root:e,column:t}))}catch(s){}}};e([o()],ed.prototype,"_grid",void 0),e([o()],ed.prototype,"_isDataLoaded",void 0),e([o()],ed.prototype,"cellClassNameGenerator",null),e([o()],ed.prototype,"columns",null),e([o()],ed.prototype,"columnReorderingEnabled",null),e([o()],ed.prototype,"dataProvider",null),e([o()],ed.prototype,"highlightIds",null),e([o()],ed.prototype,"itemIdPath",void 0),e([o()],ed.prototype,"label",null),e([o(),p("esri/widgets/FeatureTable/t9n/FeatureTable")],ed.prototype,"messages",void 0),e([o()],ed.prototype,"multiSortEnabled",null),e([o()],ed.prototype,"pageSize",null),e([o()],ed.prototype,"rowDetailsRenderer",null),e([o()],ed.prototype,"size",null),e([o({readOnly:!0})],ed.prototype,"sortOrders",null),e([o()],ed.prototype,"store",null),e([o()],ed.prototype,"viewModel",void 0),e([o()],ed.prototype,"visibleElements",void 0),e([a("visibleElements")],ed.prototype,"castVisibleElements",null),ed=e([l("esri.widgets.FeatureTable.Grid.Grid")],ed);const td=ed;export{td as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import{eventKey as t}from"../../../../core/events.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import n from"../../../Widget.js";import i from"./ButtonMenuViewModel.js";import{loadCalciteComponents as r}from"../../../support/componentsUtils.js";import{globalCss as l}from"../../../support/globalCss.js";import{storeNode as a,renderingSanitizer as c,isActivationKey as p}from"../../../support/widgetUtils.js";import{tsx as d}from"../../../support/jsxFactory.js";const m="esri-button-menu",u={base:m,content:`${m}__content`,itemWrapper:`${m}__item-wrapper`,label:`${m}__label`,icon:`${m}__icon`,item:`${m}__item`,itemLabel:`${m}__item-label`,itemLabelContent:`${m}__item-label-content`,selectableMenuItem:`${m}__item--selectable`,selectedMenuItem:`${m}__item--selected`,checkbox:`${m}__checkbox`,embeddedContentWrapper:`${m}__embedded-content-wrapper`,button:`${m}__button`,buttonSelected:`${m}__button--selected`};let b=class extends n{constructor(e,t){super(e,t),this._popover=null,this.disabled=!1,this.iconClass="",this.viewModel=new i}loadDependencies(){return r({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}destroy(){this._popover=null}get items(){return this.viewModel.items}set items(e){this.viewModel.items=e}get open(){return this.viewModel.open}set open(e){this.viewModel.open=e}render(){const{open:e}=this,t=`${this.id}-button`;return d("div",{class:this.classes(u.base,l.widget),key:"menu"},d("calcite-button",{appearance:"transparent",bind:this,class:this.classes(u.button,e&&u.buttonSelected),disabled:this.disabled,iconStart:e?"x":"ellipsis",id:t,kind:"neutral",label:this.label||"button",onclick:()=>this._toggleOpen(e),tabIndex:0}),d("calcite-popover",{afterCreate:a,afterUpdate:()=>this._popover?.reposition(),autoClose:!0,bind:this,"data-node-ref":"_popover",label:this.label||"menu",open:e,onCalcitePopoverClose:this._onPopoverClose,overlayPositioning:"fixed",placement:"bottom",pointerDisabled:!0,referenceElement:t},this._renderMenuContent()))}_onPopoverClose(){this.open=!1}_renderMenuContent(){const{id:e,open:t}=this;return d("div",{afterCreate:this._afterMenuContentNodeCreate,bind:this,class:u.content,key:"esri-button-menu-content",hidden:!t},d("ul",{"aria-labelledby":`${e}-button`,bind:this,class:u.itemWrapper,id:`${e}-menu`,role:"menu"},this.items?.length&&this._renderItems()))}_renderItems(){return this.items?.map(((e,t)=>this._renderItem(e,t)))}_renderItem(e,t,o){const s=null!=o?`${this.id}-menu-item-${t}-${o}`:`${this.id}-menu-item-${t}`,n=`${s}-label`,i=this.classes(u.item,e.selectionEnabled?u.selectableMenuItem:null,e.selectionEnabled&&e.selected?u.selectedMenuItem:null);return d("li",{afterCreate:this._afterMenuItemCreate,bind:this,class:i,"data-item-index":t,"data-item-subIndex":o,for:s,key:s,onkeydown:t=>this._handleMenuItemKeydown(t,e),onclick:t=>this._handleMenuItemInteraction(t,e),role:"menuitem",tabIndex:this.disabled?-1:0},d("input",{disabled:!0,checked:e.selected,class:u.checkbox,id:s,name:s,tabIndex:-1,type:"checkbox"}),d("label",{class:u.itemLabel,for:s,id:n},d("span",{class:this.classes(u.icon,e.iconClass),"aria-hidden":"true"}),d("span",{class:u.itemLabelContent},c.sanitize(e.label))),d("ul",{"aria-labelledby":n,class:u.embeddedContentWrapper,id:`${this.id}-submenu`,role:"menu"},e?.items?.map(((e,o)=>this._renderItem(e,t,o)))))}_handleMenuItemInteraction(e,t){t.selected=!t.selected,t.open=!(!t.selected||!t.items),t.autoCloseMenu&&this.set("open",!1),t.clickFunction&&t.clickFunction({event:e,item:t}),e.stopPropagation()}_handleMenuItemKeydown(e,o){const s=t(e);p(s)&&this._handleMenuItemInteraction(e,o),"Escape"===s&&(this.open=!1,e.preventDefault(),e.stopPropagation())}_afterMenuContentNodeCreate(e){e.focus()}_toggleOpen(e){this.open=!e}_afterMenuItemCreate(e){0===e["data-item-index"]&&e.focus()}};e([o()],b.prototype,"disabled",void 0),e([o()],b.prototype,"iconClass",void 0),e([o()],b.prototype,"items",null),e([o()],b.prototype,"open",null),e([o()],b.prototype,"viewModel",void 0),b=e([s("esri.widgets.FeatureTable.Grid.support.ButtonMenu")],b);const h=b;export{h as default};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import{eventKey as t}from"../../../../core/events.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/accessorSupport/ensureType.js";import"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import n from"../../../Widget.js";import i from"./ButtonMenuViewModel.js";import{loadCalciteComponents as r}from"../../../support/componentsUtils.js";import{globalCss as l}from"../../../support/globalCss.js";import{storeNode as a,renderingSanitizer as c,isActivationKey as p}from"../../../support/widgetUtils.js";import{tsx as d}from"../../../support/jsxFactory.js";const m="esri-button-menu",u={base:m,content:`${m}__content`,itemWrapper:`${m}__item-wrapper`,label:`${m}__label`,icon:`${m}__icon`,item:`${m}__item`,itemLabel:`${m}__item-label`,itemLabelContent:`${m}__item-label-content`,selectableMenuItem:`${m}__item--selectable`,selectedMenuItem:`${m}__item--selected`,checkbox:`${m}__checkbox`,embeddedContentWrapper:`${m}__embedded-content-wrapper`,button:`${m}__button`,buttonSelected:`${m}__button--selected`};let b=class extends n{constructor(e,t){super(e,t),this._popover=null,this.disabled=!1,this.iconClass="",this.viewModel=new i}loadDependencies(){return r({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}destroy(){this._popover=null}get items(){return this.viewModel.items}set items(e){this.viewModel.items=e}get open(){return this.viewModel.open}set open(e){this.viewModel.open=e}render(){const{open:e}=this,t=`${this.id}-button`;return d("div",{class:this.classes(u.base,l.widget),key:"menu"},d("calcite-button",{appearance:"transparent",bind:this,class:this.classes(u.button,e&&u.buttonSelected),disabled:this.disabled,iconStart:e?"x":"ellipsis",id:t,kind:"neutral",label:this.label||"button",onclick:()=>this._toggleOpen(e),tabIndex:0}),d("calcite-popover",{afterCreate:a,afterUpdate:()=>this._popover?.reposition(),autoClose:!0,bind:this,"data-node-ref":"_popover",label:this.label||"menu",open:e,overlayPositioning:"fixed",placement:"bottom",pointerDisabled:!0,referenceElement:t,onCalcitePopoverClose:this._onPopoverClose},this._renderMenuContent()))}_onPopoverClose(){this.open=!1}_renderMenuContent(){const{id:e,open:t}=this;return d("div",{afterCreate:this._afterMenuContentNodeCreate,bind:this,class:u.content,hidden:!t,key:"esri-button-menu-content"},d("ul",{"aria-labelledby":`${e}-button`,bind:this,class:u.itemWrapper,id:`${e}-menu`,role:"menu"},this.items?.length?this._renderItems():null))}_renderItems(){return this.items?.map(((e,t)=>this._renderItem(e,t)))}_renderItem(e,t,o){const s=null!=o?`${this.id}-menu-item-${t}-${o}`:`${this.id}-menu-item-${t}`,n=`${s}-label`,i=this.classes(u.item,e.selectionEnabled?u.selectableMenuItem:null,e.selectionEnabled&&e.selected?u.selectedMenuItem:null);return d("li",{afterCreate:this._afterMenuItemCreate,bind:this,class:i,"data-item-index":t,"data-item-subIndex":o,for:s,key:s,onclick:t=>this._handleMenuItemInteraction(t,e),onkeydown:t=>this._handleMenuItemKeydown(t,e),role:"menuitem",tabIndex:this.disabled?-1:0},d("input",{checked:e.selected,class:u.checkbox,disabled:!0,id:s,name:s,tabIndex:-1,type:"checkbox"}),d("label",{class:u.itemLabel,for:s,id:n},d("span",{"aria-hidden":"true",class:this.classes(u.icon,e.iconClass)}),d("span",{class:u.itemLabelContent},c.sanitize(e.label))),d("ul",{"aria-labelledby":n,class:u.embeddedContentWrapper,id:`${this.id}-submenu`,role:"menu"},e?.items?.map(((e,o)=>this._renderItem(e,t,o)))))}_handleMenuItemInteraction(e,t){t.selected=!t.selected,t.open=!(!t.selected||!t.items),t.autoCloseMenu&&this.set("open",!1),t.clickFunction&&t.clickFunction({event:e,item:t}),e.stopPropagation()}_handleMenuItemKeydown(e,o){const s=t(e);p(s)&&this._handleMenuItemInteraction(e,o),"Escape"===s&&(this.open=!1,e.preventDefault(),e.stopPropagation())}_afterMenuContentNodeCreate(e){e.focus()}_toggleOpen(e){this.open=!e}_afterMenuItemCreate(e){0===e["data-item-index"]&&e.focus()}};e([o()],b.prototype,"disabled",void 0),e([o()],b.prototype,"iconClass",void 0),e([o()],b.prototype,"items",null),e([o()],b.prototype,"open",null),e([o()],b.prototype,"viewModel",void 0),b=e([s("esri.widgets.FeatureTable.Grid.support.ButtonMenu")],b);const h=b;export{h as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{deprecatedFunction as t}from"../core/deprecate.js";import i from"../core/Logger.js";import{on as l,watch as s}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import a from"./Widget.js";import d from"./FeatureTable/FeatureTableViewModel.js";import h from"./FeatureTable/Grid/support/ButtonMenu.js";import c from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{globalCss as m}from"./support/globalCss.js";import{Heading as g}from"./support/Heading.js";import{legacyIcon as p}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{tsx as v}from"./support/jsxFactory.js";import{substitute as w}from"../intl/substitute.js";const M={header:!0,menu:!0,menuItems:{clearSelection:!0,refreshData:!0,toggleColumns:!0,selectedRecordsShowAllToggle:!0,selectedRecordsShowSelectedToggle:!0,zoomToSelection:!0,deleteSelection:!0},selectionColumn:!0,columnMenus:!0},y="esri-feature-table",f=`${y}__prompt`,_={base:y,header:`${y}__header`,title:`${y}__title`,content:`${y}__content`,loader:`${y}__loader`,loaderContainer:`${y}__loader-container`,menuContainer:`${y}__menu`,promptContainer:f,promptHeader:`${f}__header`,promptHeading:`${f}__header__heading`,promptMessage:`${f}__message`,promptDivider:`${f}__divider`,promptActions:`${f}__actions`},E=i.getLogger("esri.widgets.FeatureTable");let S=class extends a{constructor(e,t){super(e,t),this._prompt=null,this.menu=null,this.menuConfig=null,this.viewModel=new d,this.visibleElements={...M},this._showDeletePrompt=this._showDeletePrompt.bind(this),this._onDeleteSelectionClick=this._onDeleteSelectionClick.bind(this)}initialize(){this.addHandles([l((()=>this.viewModel.columns),"change",(()=>this._syncMenuConfig())),l((()=>this.viewModel.activeFilters),"change",(()=>this._syncMenuConfig())),l((()=>this.highlightIds),"change",(e=>{this._syncMenuConfig(),this._onSelectionChange(e)})),s((()=>[this.viewModel.store.querying,this.viewModel.store.syncing,this.editingEnabled]),(()=>this.scheduleRender())),s((()=>[this.menuConfig,this.editingEnabled]),(()=>this._syncMenuConfig())),s((()=>this.messages),(()=>{this.menu&&(this.menu.label=this.messages?.options),this._syncMenuConfig()}))]),this._set("menu",new h({label:this.messages?.options,iconClass:p.handleHorizontal,...this.menuConfig}));const{attachmentsEnabled:e,relatedRecordsEnabled:t}=this;this.viewModel?.store?.set({attachmentsEnabled:e,relatedRecordsEnabled:t})}loadDependencies(){return u({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")})}destroy(){this._prompt=null,this.menu?.destroy()}get activeFilters(){return this.viewModel.activeFilters}get activeSortOrders(){return this.viewModel.activeSortOrders}get attachmentsEnabled(){return this.viewModel.attachmentsEnabled}set attachmentsEnabled(e){this.viewModel.attachmentsEnabled=e}get autoRefreshEnabled(){return this.viewModel.autoRefreshEnabled}set autoRefreshEnabled(e){this.viewModel.autoRefreshEnabled=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get columns(){return this.viewModel.columns}get editingEnabled(){return this.viewModel.editingEnabled}set editingEnabled(e){this.viewModel.editingEnabled=e}get fieldConfigs(){return this.viewModel.fieldConfigs??[]}set fieldConfigs(e){this.viewModel.fieldConfigs=e}get filterGeometry(){return this.viewModel.filterGeometry}set filterGeometry(e){this.viewModel.filterGeometry=e}get grid(){return this.viewModel.grid}get hiddenFields(){return this.viewModel.hiddenFields}set hiddenFields(e){this.viewModel.hiddenFields=e}get highlightEnabled(){return this.viewModel.highlightEnabled}set highlightEnabled(e){this.viewModel.highlightEnabled=e}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get highlightOnRowSelectEnabled(){return this.viewModel.highlightEnabled}set highlightOnRowSelectEnabled(e){this.viewModel.highlightEnabled=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get messages(){return this.viewModel.messages}set messages(e){this.viewModel.messages=e}get messagesCommon(){return this.viewModel.messagesCommon}set messagesCommon(e){this.viewModel.messagesCommon=e}get messagesURIUtils(){return this.viewModel.messagesURIUtils}set messagesURIUtils(e){this.viewModel.messagesURIUtils=e}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get relatedRecordsEnabled(){return this.viewModel.relatedRecordsEnabled}set relatedRecordsEnabled(e){this.viewModel.relatedRecordsEnabled=e}get state(){return this.viewModel.state}get tableTemplate(){return this.viewModel.tableTemplate}set tableTemplate(e){this.viewModel.tableTemplate=e}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(e){this.viewModel.timeExtent=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){const t={...M,...e};return this.grid?.set("visibleElements",{...this.grid.visibleElements,selectionColumn:t.selectionColumn,columnMenus:t.columnMenus}),t}clearHighlights(){return t(E,"`FeatureTable.clearHighlights` is deprecated in favor of FeatureTable.highlightIds'",{replacement:"FeatureTable.highlightIds",version:"4.25",see:"https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightIds"}),this.viewModel.clearHighlights()}clearSelection(){return t(E,"`FeatureTable.clearSelection` is deprecated in favor of FeatureTable.highlightIds'",{replacement:"FeatureTable.highlightIds",version:"4.25",see:"https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightIds"}),this.viewModel.clearSelection()}clearSelectionFilter(){return this.viewModel.clearSelectionFilter()}deleteSelection(e){return this.highlightIds.length?e?(this._showDeletePrompt(),this.scheduleRender(),Promise.resolve()):this.viewModel.deleteSelection():Promise.resolve()}deselectRows(e){return this.viewModel.deselectRows(e)}filterBySelection(){return this.viewModel.filterBySelection()}findColumn(e){return this.viewModel.findColumn(e)}hideColumn(e){this.grid?.hideColumn(e),this._syncMenuConfig()}refresh(){return this.viewModel.refresh()}get returnGeometryEnabled(){return this.viewModel.returnGeometryEnabled}set returnGeometryEnabled(e){this.viewModel.returnGeometryEnabled=e}showAllColumns(){return this.viewModel.showAllColumns()}showColumn(e){this.grid?.showColumn(e),this._syncMenuConfig()}sortColumn(e,t){return this.viewModel.sortColumn(e,t)}selectRows(e){return this.viewModel.selectRows(e)}scrollToIndex(e){return this.viewModel.scrollToIndex(e)}zoomToSelection(){return this.viewModel.zoomToSelection()}render(){const{_prompt:e}=this,t=null!=e?v("calcite-scrim",null,this._renderPrompt(e)):null;return v("div",{bind:this,class:this.classes(_.base,m.widget)},this.visibleElements.header?this._renderHeader():null,v("div",{class:_.content},"disabled"!==this.state&&this.grid?.render()),t)}_renderPrompt({title:e,message:t,context:i,actions:l}){const s=v("calcite-button",{appearance:"solid",kind:"danger"===i?"danger":"brand",width:l.secondary?"half":"full",onclick:l.primary.action,key:"prompt-primary-button"},l.primary.label),o=l.secondary?v("calcite-button",{appearance:"outline",kind:"danger"===i?"danger":"brand",width:"half",onclick:l.secondary.action,key:"prompt-secondary-button"},l.secondary.label):null;return v("div",{class:`${_.promptContainer}--${i}`},v("div",{class:_.promptHeader},v("calcite-icon",{icon:"exclamation-mark-triangle"}),v(g,{class:_.promptHeading,level:2},e)),v("div",{class:_.promptMessage},t),v("div",{class:_.promptDivider}),v("div",{class:_.promptActions},o,s))}_renderHeader(){return v("div",{key:"header",class:_.header},this._renderLoader(),this._renderTitle(),this.visibleElements.menu?this._renderMenu():null)}_renderTitle(){return v("div",{class:_.title,key:"title"},this._getTitle())}_getTitle(){const{grid:e,highlightIds:t,layer:i,messages:l,viewModel:{size:s}}=this;return e&&i?w(l.header,{title:i.title,count:s,selected:t.length||0}):""}_renderLoader(){const{state:e,store:t}=this.viewModel,i="loading"===e||t.syncing||t.querying;return v("div",{class:_.loaderContainer},i?v("div",{class:_.loader,key:"loader"}):null)}_renderMenu(){return v("div",{class:_.menuContainer},this.menu?.render())}_onSelectionChange(e){const{added:t,removed:i}=e,l=t.map((e=>this.viewModel.store.getLocalItemByKey(e)||{objectId:e,feature:null,attachments:null,relatedRecords:null})),s=i.map((e=>this.viewModel.store.getLocalItemByKey(e)||{objectId:e,feature:null,attachments:null,relatedRecords:null}));this.emit("selection-change",{added:l,removed:s})}_syncMenuConfig(){this.menu?.set({...this.menuConfig,items:this._getMenuItems()})}_getMenuItems(){const e=this.menuConfig?.items,t=this._getDefaultMenuItems(),i=[];return t?.length&&i.push(...t),e?.length&&i.push(...e),i}_getDefaultMenuItems(){const{highlightIds:e,messages:t,viewModel:i,visibleElements:l}=this,{menuItems:s}=l,o=[];if(s?.refreshData&&o.push(new c({selectionEnabled:!1,label:t?.refreshData,clickFunction:()=>this.refresh()})),e.length){const i=this._getSelectionFilter();if(s?.clearSelection&&o.push(new c({selectionEnabled:!1,label:t?.clearSelection,clickFunction:()=>this.highlightIds?.removeAll()})),s?.zoomToSelection&&this.view&&o.push(new c({selectionEnabled:!1,label:t?.zoomToSelection,clickFunction:()=>this.viewModel.zoomToSelection()})),s?.selectedRecordsShowSelectedToggle&&(!i||e.length!==i.objectIds.length)){const e=t.showSelected,i=new c({selectionEnabled:!1,label:e,clickFunction:()=>{this.filterBySelection(),i.set("label",e)}});o.push(i)}s?.deleteSelection&&this.editingEnabled&&this.layer?.capabilities?.operations?.supportsDelete&&o.push(new c({selectionEnabled:!1,label:t.deleteSelection,clickFunction:this._showDeletePrompt}))}if(s?.selectedRecordsShowAllToggle&&this._hasSelectionFilter()){const e=t.showAllRecords,i=new c({selectionEnabled:!1,label:e,clickFunction:()=>{this.clearSelectionFilter(),i.set("label",e)}});o.push(i)}return s?.toggleColumns&&o.push(new c({iconClass:p.right,label:t?.toggleColumns,clickFunction:this._toggleMenuItemSelectedIcon,items:i?.columns?.items.map((({header:e,hidden:t,path:i})=>new c({label:e||i,selected:!t,selectionEnabled:!0,iconClass:p.checkMark,clickFunction:()=>this._toggleColumnFromMenuItem(i)})))})),o.length?o:null}_toggleMenuItemSelectedIcon({item:e}){e?.set("iconClass",e?.selected?p.down:p.right)}_toggleColumnFromMenuItem(e){const{grid:t,viewModel:i}=this,l=i.findColumn(e);l?.hidden?t?.showColumn(e):t?.hideColumn(e)}_showDeletePrompt(){const{messages:e,messagesCommon:t}=this,i=this.highlightIds.length||0,l=w(e.deleteSelectionCount,{count:i});this.menu&&(this.menu.open=!1),this._prompt={title:l,message:e.deleteRecordsRemoved,context:"danger",actions:{primary:{label:t.delete,action:this._onDeleteSelectionClick},secondary:{label:e.keepRecords,action:()=>this._prompt=null}}}}async _onDeleteSelectionClick(){await this.viewModel.deleteSelection(),this._prompt=null}_getSelectionFilter(){return this.viewModel.activeFilters?.find((e=>"selection"===e.type))}_hasSelectionFilter(){return!!this._getSelectionFilter()}};e([o({readOnly:!0})],S.prototype,"activeFilters",null),e([o({readOnly:!0})],S.prototype,"activeSortOrders",null),e([o()],S.prototype,"attachmentsEnabled",null),e([o()],S.prototype,"autoRefreshEnabled",null),e([o()],S.prototype,"columnReorderingEnabled",null),e([o({readOnly:!0})],S.prototype,"columns",null),e([o()],S.prototype,"editingEnabled",null),e([o()],S.prototype,"fieldConfigs",null),e([o()],S.prototype,"filterGeometry",null),e([o({readOnly:!0})],S.prototype,"grid",null),e([o()],S.prototype,"hiddenFields",null),e([o()],S.prototype,"highlightEnabled",null),e([o()],S.prototype,"highlightIds",null),e([o()],S.prototype,"highlightOnRowSelectEnabled",null),e([o()],S.prototype,"label",null),e([o()],S.prototype,"layer",null),e([o(),b("esri/widgets/FeatureTable/t9n/FeatureTable")],S.prototype,"messages",null),e([o(),b("esri/t9n/common")],S.prototype,"messagesCommon",null),e([o(),b("esri/widgets/support/t9n/uriUtils")],S.prototype,"messagesURIUtils",null),e([o({readOnly:!0})],S.prototype,"menu",void 0),e([o()],S.prototype,"menuConfig",void 0),e([o()],S.prototype,"multiSortEnabled",null),e([o()],S.prototype,"pageSize",null),e([o()],S.prototype,"relatedRecordsEnabled",null),e([o({readOnly:!0})],S.prototype,"state",null),e([o()],S.prototype,"tableTemplate",null),e([o()],S.prototype,"timeExtent",null),e([o()],S.prototype,"view",null),e([o()],S.prototype,"viewModel",void 0),e([o()],S.prototype,"visibleElements",void 0),e([n("visibleElements")],S.prototype,"castVisibleElements",null),e([o()],S.prototype,"returnGeometryEnabled",null),S=e([r("esri.widgets.FeatureTable")],S);const C=S;export{C as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{deprecatedFunction as t}from"../core/deprecate.js";import i from"../core/Logger.js";import{on as l,watch as s}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import{cast as n}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import a from"./Widget.js";import d from"./FeatureTable/FeatureTableViewModel.js";import h from"./FeatureTable/Grid/support/ButtonMenu.js";import c from"./FeatureTable/Grid/support/ButtonMenuItem.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{globalCss as m}from"./support/globalCss.js";import{Heading as g}from"./support/Heading.js";import{legacyIcon as p}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import{tsx as v}from"./support/jsxFactory.js";import{substitute as w}from"../intl/substitute.js";const M={header:!0,menu:!0,menuItems:{clearSelection:!0,refreshData:!0,toggleColumns:!0,selectedRecordsShowAllToggle:!0,selectedRecordsShowSelectedToggle:!0,zoomToSelection:!0,deleteSelection:!0},selectionColumn:!0,columnMenus:!0},y="esri-feature-table",f=`${y}__prompt`,_={base:y,header:`${y}__header`,title:`${y}__title`,content:`${y}__content`,loader:`${y}__loader`,loaderContainer:`${y}__loader-container`,menuContainer:`${y}__menu`,promptContainer:f,promptHeader:`${f}__header`,promptHeading:`${f}__header__heading`,promptMessage:`${f}__message`,promptDivider:`${f}__divider`,promptActions:`${f}__actions`},E=i.getLogger("esri.widgets.FeatureTable");let S=class extends a{constructor(e,t){super(e,t),this._prompt=null,this.menu=null,this.menuConfig=null,this.viewModel=new d,this.visibleElements={...M},this._showDeletePrompt=this._showDeletePrompt.bind(this),this._onDeleteSelectionClick=this._onDeleteSelectionClick.bind(this)}initialize(){this.addHandles([l((()=>this.viewModel.columns),"change",(()=>this._syncMenuConfig())),l((()=>this.viewModel.activeFilters),"change",(()=>this._syncMenuConfig())),l((()=>this.highlightIds),"change",(e=>{this._syncMenuConfig(),this._onSelectionChange(e)})),s((()=>[this.viewModel.store.querying,this.viewModel.store.syncing,this.editingEnabled]),(()=>this.scheduleRender())),s((()=>[this.menuConfig,this.editingEnabled]),(()=>this._syncMenuConfig())),s((()=>this.messages),(()=>{this.menu&&(this.menu.label=this.messages?.options),this._syncMenuConfig()}))]),this._set("menu",new h({label:this.messages?.options,iconClass:p.handleHorizontal,...this.menuConfig}));const{attachmentsEnabled:e,relatedRecordsEnabled:t}=this;this.viewModel?.store?.set({attachmentsEnabled:e,relatedRecordsEnabled:t})}loadDependencies(){return u({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),scrim:()=>import("@esri/calcite-components/dist/components/calcite-scrim.js")})}destroy(){this._prompt=null,this.menu?.destroy()}get activeFilters(){return this.viewModel.activeFilters}get activeSortOrders(){return this.viewModel.activeSortOrders}get attachmentsEnabled(){return this.viewModel.attachmentsEnabled}set attachmentsEnabled(e){this.viewModel.attachmentsEnabled=e}get autoRefreshEnabled(){return this.viewModel.autoRefreshEnabled}set autoRefreshEnabled(e){this.viewModel.autoRefreshEnabled=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get columns(){return this.viewModel.columns}get editingEnabled(){return this.viewModel.editingEnabled}set editingEnabled(e){this.viewModel.editingEnabled=e}get fieldConfigs(){return this.viewModel.fieldConfigs??[]}set fieldConfigs(e){this.viewModel.fieldConfigs=e}get filterGeometry(){return this.viewModel.filterGeometry}set filterGeometry(e){this.viewModel.filterGeometry=e}get grid(){return this.viewModel.grid}get hiddenFields(){return this.viewModel.hiddenFields}set hiddenFields(e){this.viewModel.hiddenFields=e}get highlightEnabled(){return this.viewModel.highlightEnabled}set highlightEnabled(e){this.viewModel.highlightEnabled=e}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get highlightOnRowSelectEnabled(){return this.viewModel.highlightEnabled}set highlightOnRowSelectEnabled(e){this.viewModel.highlightEnabled=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get messages(){return this.viewModel.messages}set messages(e){this.viewModel.messages=e}get messagesCommon(){return this.viewModel.messagesCommon}set messagesCommon(e){this.viewModel.messagesCommon=e}get messagesURIUtils(){return this.viewModel.messagesURIUtils}set messagesURIUtils(e){this.viewModel.messagesURIUtils=e}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get relatedRecordsEnabled(){return this.viewModel.relatedRecordsEnabled}set relatedRecordsEnabled(e){this.viewModel.relatedRecordsEnabled=e}get state(){return this.viewModel.state}get tableTemplate(){return this.viewModel.tableTemplate}set tableTemplate(e){this.viewModel.tableTemplate=e}get timeExtent(){return this.viewModel.timeExtent}set timeExtent(e){this.viewModel.timeExtent=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){const t={...M,...e};return this.grid?.set("visibleElements",{...this.grid.visibleElements,selectionColumn:t.selectionColumn,columnMenus:t.columnMenus}),t}clearHighlights(){return t(E,"`FeatureTable.clearHighlights` is deprecated in favor of FeatureTable.highlightIds'",{replacement:"FeatureTable.highlightIds",version:"4.25",see:"https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightIds"}),this.viewModel.clearHighlights()}clearSelection(){return t(E,"`FeatureTable.clearSelection` is deprecated in favor of FeatureTable.highlightIds'",{replacement:"FeatureTable.highlightIds",version:"4.25",see:"https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-FeatureTable.html#highlightIds"}),this.viewModel.clearSelection()}clearSelectionFilter(){return this.viewModel.clearSelectionFilter()}deleteSelection(e){return this.highlightIds.length?e?(this._showDeletePrompt(),this.scheduleRender(),Promise.resolve()):this.viewModel.deleteSelection():Promise.resolve()}deselectRows(e){return this.viewModel.deselectRows(e)}filterBySelection(){return this.viewModel.filterBySelection()}findColumn(e){return this.viewModel.findColumn(e)}hideColumn(e){this.grid?.hideColumn(e),this._syncMenuConfig()}refresh(){return this.viewModel.refresh()}get returnGeometryEnabled(){return this.viewModel.returnGeometryEnabled}set returnGeometryEnabled(e){this.viewModel.returnGeometryEnabled=e}showAllColumns(){return this.viewModel.showAllColumns()}showColumn(e){this.grid?.showColumn(e),this._syncMenuConfig()}sortColumn(e,t){return this.viewModel.sortColumn(e,t)}selectRows(e){return this.viewModel.selectRows(e)}scrollToIndex(e){return this.viewModel.scrollToIndex(e)}zoomToSelection(){this.viewModel.zoomToSelection()}render(){const{_prompt:e}=this,t=null!=e?v("calcite-scrim",null,this._renderPrompt(e)):null;return v("div",{bind:this,class:this.classes(_.base,m.widget)},this.visibleElements.header?this._renderHeader():null,v("div",{class:_.content},"disabled"!==this.state&&this.grid?.render()),t)}_renderPrompt({title:e,message:t,context:i,actions:l}){const s=v("calcite-button",{appearance:"solid",key:"prompt-primary-button",kind:"danger"===i?"danger":"brand",onclick:l.primary.action,width:l.secondary?"half":"full"},l.primary.label),o=l.secondary?v("calcite-button",{appearance:"outline",key:"prompt-secondary-button",kind:"danger"===i?"danger":"brand",onclick:l.secondary.action,width:"half"},l.secondary.label):null;return v("div",{class:`${_.promptContainer}--${i}`},v("div",{class:_.promptHeader},v("calcite-icon",{icon:"exclamation-mark-triangle"}),v(g,{class:_.promptHeading,level:2},e)),v("div",{class:_.promptMessage},t),v("div",{class:_.promptDivider}),v("div",{class:_.promptActions},o,s))}_renderHeader(){return v("div",{class:_.header,key:"header"},this._renderLoader(),this._renderTitle(),this.visibleElements.menu?this._renderMenu():null)}_renderTitle(){return v("div",{class:_.title,key:"title"},this._getTitle())}_getTitle(){const{grid:e,highlightIds:t,layer:i,messages:l,viewModel:{size:s}}=this;return e&&i?w(l.header,{title:i.title,count:s,selected:t.length||0}):""}_renderLoader(){const{state:e,store:t}=this.viewModel,i="loading"===e||t.syncing||t.querying;return v("div",{class:_.loaderContainer},i?v("div",{class:_.loader,key:"loader"}):null)}_renderMenu(){return v("div",{class:_.menuContainer},this.menu?.render())}_onSelectionChange(e){const{added:t,removed:i}=e,l=t.map((e=>this.viewModel.store.getLocalItemByKey(e)||{objectId:e,feature:null,attachments:null,relatedRecords:null})),s=i.map((e=>this.viewModel.store.getLocalItemByKey(e)||{objectId:e,feature:null,attachments:null,relatedRecords:null}));this.emit("selection-change",{added:l,removed:s})}_syncMenuConfig(){this.menu?.set({...this.menuConfig,items:this._getMenuItems()})}_getMenuItems(){const e=this.menuConfig?.items,t=this._getDefaultMenuItems(),i=[];return t?.length&&i.push(...t),e?.length&&i.push(...e),i}_getDefaultMenuItems(){const{highlightIds:e,messages:t,viewModel:i,visibleElements:l}=this,{menuItems:s}=l,o=[];if(s?.refreshData&&o.push(new c({selectionEnabled:!1,label:t?.refreshData,clickFunction:()=>this.refresh()})),e.length){const i=this._getSelectionFilter();if(s?.clearSelection&&o.push(new c({selectionEnabled:!1,label:t?.clearSelection,clickFunction:()=>this.highlightIds?.removeAll()})),s?.zoomToSelection&&this.view&&o.push(new c({selectionEnabled:!1,label:t?.zoomToSelection,clickFunction:()=>this.viewModel.zoomToSelection()})),s?.selectedRecordsShowSelectedToggle&&(!i||e.length!==i.objectIds.length)){const e=t.showSelected,i=new c({selectionEnabled:!1,label:e,clickFunction:()=>{this.filterBySelection(),i.set("label",e)}});o.push(i)}s?.deleteSelection&&this.editingEnabled&&this.layer?.capabilities?.operations?.supportsDelete&&o.push(new c({selectionEnabled:!1,label:t.deleteSelection,clickFunction:this._showDeletePrompt}))}if(s?.selectedRecordsShowAllToggle&&this._hasSelectionFilter()){const e=t.showAllRecords,i=new c({selectionEnabled:!1,label:e,clickFunction:()=>{this.clearSelectionFilter(),i.set("label",e)}});o.push(i)}return s?.toggleColumns&&o.push(new c({iconClass:p.right,label:t?.toggleColumns,clickFunction:this._toggleMenuItemSelectedIcon,items:i?.columns?.items.map((({header:e,hidden:t,path:i})=>new c({label:e||i,selected:!t,selectionEnabled:!0,iconClass:p.checkMark,clickFunction:()=>this._toggleColumnFromMenuItem(i)})))})),o.length?o:null}_toggleMenuItemSelectedIcon({item:e}){e?.set("iconClass",e?.selected?p.down:p.right)}_toggleColumnFromMenuItem(e){const{grid:t,viewModel:i}=this,l=i.findColumn(e);l?.hidden?t?.showColumn(e):t?.hideColumn(e)}_showDeletePrompt(){const{messages:e,messagesCommon:t}=this,i=this.highlightIds.length||0,l=w(e.deleteSelectionCount,{count:i});this.menu&&(this.menu.open=!1),this._prompt={title:l,message:e.deleteRecordsRemoved,context:"danger",actions:{primary:{label:t.delete,action:this._onDeleteSelectionClick},secondary:{label:e.keepRecords,action:()=>this._prompt=null}}}}async _onDeleteSelectionClick(){await this.viewModel.deleteSelection(),this._prompt=null}_getSelectionFilter(){return this.viewModel.activeFilters?.find((e=>"selection"===e.type))}_hasSelectionFilter(){return!!this._getSelectionFilter()}};e([o({readOnly:!0})],S.prototype,"activeFilters",null),e([o({readOnly:!0})],S.prototype,"activeSortOrders",null),e([o()],S.prototype,"attachmentsEnabled",null),e([o()],S.prototype,"autoRefreshEnabled",null),e([o()],S.prototype,"columnReorderingEnabled",null),e([o({readOnly:!0})],S.prototype,"columns",null),e([o()],S.prototype,"editingEnabled",null),e([o()],S.prototype,"fieldConfigs",null),e([o()],S.prototype,"filterGeometry",null),e([o({readOnly:!0})],S.prototype,"grid",null),e([o()],S.prototype,"hiddenFields",null),e([o()],S.prototype,"highlightEnabled",null),e([o()],S.prototype,"highlightIds",null),e([o()],S.prototype,"highlightOnRowSelectEnabled",null),e([o()],S.prototype,"label",null),e([o()],S.prototype,"layer",null),e([o(),b("esri/widgets/FeatureTable/t9n/FeatureTable")],S.prototype,"messages",null),e([o(),b("esri/t9n/common")],S.prototype,"messagesCommon",null),e([o(),b("esri/widgets/support/t9n/uriUtils")],S.prototype,"messagesURIUtils",null),e([o({readOnly:!0})],S.prototype,"menu",void 0),e([o()],S.prototype,"menuConfig",void 0),e([o()],S.prototype,"multiSortEnabled",null),e([o()],S.prototype,"pageSize",null),e([o()],S.prototype,"relatedRecordsEnabled",null),e([o({readOnly:!0})],S.prototype,"state",null),e([o()],S.prototype,"tableTemplate",null),e([o()],S.prototype,"timeExtent",null),e([o()],S.prototype,"view",null),e([o()],S.prototype,"viewModel",void 0),e([o()],S.prototype,"visibleElements",void 0),e([n("visibleElements")],S.prototype,"castVisibleElements",null),e([o()],S.prototype,"returnGeometryEnabled",null),S=e([r("esri.widgets.FeatureTable")],S);const C=S;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{Heading as e}from"../support/Heading.js";import{classes as t}from"../support/widgetUtils.js";import{tsx as n}from"../support/jsxFactory.js";const l="esri-item-list",i=`${l}__list-item`,r={base:l,filterContainerSticky:`${l}__filter-container--sticky`,group:`${l}__group`,groupHeader:`${l}__group__header`,item:i,itemDisabled:`${i}--disabled`,itemIcon:`${i}-icon`,itemContentEnd:`${i}-content-end`,noMatchesMessage:`${l}__no-matches-message`,scroller:`${l}__scroller`,scrollerEnabled:`${l}__scroller--enabled`},s=4;function o(e){const{disabled:t,filterText:l="",id:i,messages:r,onFilterChange:s,...o}=e;return n("div",{key:i},e.filterEnabled??1?c({disabled:t,filterText:l,id:i,messages:r,onFilterChange:s}):null,d({...o,disabled:t,enableListScroll:e.enableListScroll??!0,filterText:l,messages:r}))}function a(e){return!!e.items}function d(e){const{headingLevel:l,items:i,...s}=e;return 0===i.length?n("div",{class:r.noMatchesMessage,key:"no-matches"},e.messages.noMatches):n("div",{class:t({[r.scroller]:!0,[r.scrollerEnabled]:!!e.enableListScroll}),key:"item-container"},i.map((e=>a(e)?b({...s,group:e,headingLevel:l}):m({...s,grouped:!0,item:e}))))}function c(e){const{disabled:t,messages:l,filterText:i,enableListScroll:s}=e;return n("div",{key:"filter",class:s?void 0:r.filterContainerSticky},n("calcite-input",{disabled:t,onCalciteInputInput:t=>{const n=t.currentTarget;e.onFilterChange&&e.onFilterChange(n.value)},placeholder:l.filterPlaceholder,value:i,type:"search"}))}function m(e){const{disabled:l,grouped:i,identify:s,item:o,onItemMouseEnter:a,onItemMouseLeave:d,onItemSelect:c,renderIcon:m,renderCustomItem:b,renderItemContent:g,renderItemContentEnd:f,renderItemLabel:v,renderItemDescription:_,selectedItem:h}=e,I=u(o,s),y=I===u(h,s),C=b?.(e);if(C)return C;const k=g?.(o),$=f?.(o),L=!(!o.disabled&&!l);return n("calcite-list-item",{"aria-level":i?"2":"",class:t({[r.item]:!0,[r.itemDisabled]:L}),"data-item":o,disabled:L,key:I,label:k?void 0:v?.(o)??o.label??void 0,description:k?void 0:_?.(o)??void 0,selected:y,tabIndex:L?-1:0,afterUpdate:e=>{e.selected=y},onCalciteListItemSelect:e=>{e.preventDefault(),c?.(p(e))},onmouseenter:e=>a?.(p(e)),onmouseleave:e=>d?.(p(e))},n("div",{key:"content-start",class:r.itemIcon,slot:"content-start"},m?.(o)),k?n("div",{key:"content",slot:"content"},k):null,$?n("div",{key:"content-end",class:r.itemContentEnd,slot:"content-end"},$):null)}function u(e,t){return e?`${t?.(e)||e.id}__${e.label}`:""}function p(e){return e.currentTarget["data-item"]}function b(t){const{disabled:l,group:i,headingLevel:o=s,selectionMode:a="none",renderCustomGroupContent:d,...c}=t,u=d?.(t);return n("div",{class:r.group,key:i.label??void 0},n(e,{level:o,class:r.groupHeader},i.label),u||n("calcite-list",{disabled:l,selectionMode:a,selectionAppearance:"border"},i.items.map((e=>m({...c,disabled:l,item:e,grouped:!0})))))}export{o as ItemList,b as renderGroup,m as renderItem};
5
+ import{Heading as e}from"../support/Heading.js";import{classes as t}from"../support/widgetUtils.js";import{tsx as n}from"../support/jsxFactory.js";const l="esri-item-list",i=`${l}__list-item`,r={base:l,filterContainerSticky:`${l}__filter-container--sticky`,group:`${l}__group`,groupHeader:`${l}__group__header`,item:i,itemDisabled:`${i}--disabled`,itemIcon:`${i}-icon`,itemContentEnd:`${i}-content-end`,noMatchesMessage:`${l}__no-matches-message`,scroller:`${l}__scroller`,scrollerEnabled:`${l}__scroller--enabled`},s=4;function o(e){const{disabled:t,filterText:l="",id:i,messages:r,onFilterChange:s,...o}=e;return n("div",{key:i},e.filterEnabled??1?c({disabled:t,filterText:l,id:i,messages:r,onFilterChange:s}):null,d({...o,disabled:t,enableListScroll:e.enableListScroll??!0,filterText:l,messages:r}))}function a(e){return!!e.items}function d(e){const{headingLevel:l,items:i,...s}=e;return 0===i.length?n("div",{class:r.noMatchesMessage,key:"no-matches"},e.messages.noMatches):n("div",{class:t({[r.scroller]:!0,[r.scrollerEnabled]:!!e.enableListScroll}),key:"item-container"},i.map((e=>a(e)?b({...s,group:e,headingLevel:l}):m({...s,grouped:!0,item:e}))))}function c(e){const{disabled:t,messages:l,filterText:i,enableListScroll:s}=e;return n("div",{class:s?void 0:r.filterContainerSticky,key:"filter"},n("calcite-input",{disabled:t,placeholder:l.filterPlaceholder,type:"search",value:i,onCalciteInputInput:t=>{const n=t.currentTarget;e.onFilterChange&&e.onFilterChange(n.value)}}))}function m(e){const{disabled:l,grouped:i,identify:s,item:o,onItemMouseEnter:a,onItemMouseLeave:d,onItemSelect:c,renderIcon:m,renderCustomItem:b,renderItemContent:g,renderItemContentEnd:f,renderItemLabel:v,renderItemDescription:_,selectedItem:h}=e,I=u(o,s),y=I===u(h,s),C=b?.(e);if(C)return C;const k=g?.(o),$=f?.(o),L=!(!o.disabled&&!l);return n("calcite-list-item",{afterUpdate:e=>{e.selected=y},"aria-level":i?"2":"",class:t({[r.item]:!0,[r.itemDisabled]:L}),"data-item":o,description:k?void 0:_?.(o)??void 0,disabled:L,key:I,label:k?void 0:v?.(o)??o.label??void 0,onmouseenter:e=>a?.(p(e)),onmouseleave:e=>d?.(p(e)),selected:y,tabIndex:L?-1:0,onCalciteListItemSelect:e=>{e.preventDefault(),c?.(p(e))}},n("div",{class:r.itemIcon,key:"content-start",slot:"content-start"},m?.(o)),k?n("div",{key:"content",slot:"content"},k):null,$?n("div",{class:r.itemContentEnd,key:"content-end",slot:"content-end"},$):null)}function u(e,t){return e?`${t?.(e)||e.id}__${e.label}`:""}function p(e){return e.currentTarget["data-item"]}function b(t){const{disabled:l,group:i,headingLevel:o=s,selectionMode:a="none",renderCustomGroupContent:d,...c}=t,u=d?.(t);return n("div",{class:r.group,key:i.label??void 0},n(e,{class:r.groupHeader,level:o},i.label),u||n("calcite-list",{disabled:l,selectionAppearance:"border",selectionMode:a},i.items.map((e=>m({...c,disabled:l,item:e,grouped:!0})))))}export{o as ItemList,b as renderGroup,m as renderItem};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../chunks/tslib.es6.js";import{watch as t,initial as r}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import{isTable as i}from"../layers/support/layerUtils.js";import n from"./Widget.js";import{isTemplateItemGroup as l}from"./FeatureForm/featureFormUtils.js";import a from"./FeatureTemplates/FeatureTemplatesViewModel.js";import{ItemList as d}from"./FeatureTemplates/ItemList.js";import c from"./FeatureTemplates/TemplateItem.js";import p from"./FeatureTemplates/VisibleElements.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as u}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";const b="esri-feature-templates",I={base:b,loader:`${b}__loader`};function y(e){return e.length>0&&l(e[0])}function g(e){return e.id}let w=class extends n{constructor(e,t){super(e,t),this.enableListScroll=!0,this.filterText="",this.headingLevel=4,this.messages=null,this.selectionMode="none",this.viewModel=new a,this.visibleElements=new p,this.renderCustomItem=e=>null,this.renderCustomGroupContent=e=>null,this.renderItemLabel=()=>null,this.renderItemDescription=()=>null,this.renderItemContent=e=>null,this.renderItemContentEnd=e=>null,this._iconIntersectionObserver=new IntersectionObserver(((e,t)=>{e.forEach((async e=>{if(e.isIntersecting){const r=e.target;if(j(r))return void t.unobserve(r);const o=C(r),{layer:s,template:i}=o;F(r,!0);const n=await c.fetchThumbnail(s,i).catch((()=>(F(r,!1),null)));if(null==n)return;r.appendChild(n)}}))})),this._renderItemIcon=e=>i(e.layer)?v("span",{key:"icon","data-item":e,"data-has-icon":!0},v("calcite-icon",{icon:"table"})):v("span",{key:"icon",afterCreate:this._afterItemCreateOrUpdate,afterUpdate:this._afterItemCreateOrUpdate,afterRemoved:this._afterItemRemoved,"data-item":e,"data-has-icon":!1}),this._afterItemCreateOrUpdate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)}}initialize(){const e=({label:e})=>!this.filterText||!!e?.toLowerCase().includes(this.filterText.toLowerCase());this.addHandles(t((()=>this.viewModel),((t,r)=>{t&&!t.filterFunction&&(this.filterFunction=e),r&&r!==t&&r.filterFunction===e&&(r.filterFunction=null)}),r))}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}loadDependencies(){return m({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")})}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get filterFunction(){return this.viewModel.filterFunction}set filterFunction(e){this.viewModel.filterFunction=e}get groupBy(){return this.viewModel.groupBy}set groupBy(e){this.viewModel.groupBy=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layers(){return this.viewModel.layers}set layers(e){this.viewModel.layers=e}get selectedItem(){return this.viewModel.selectedItem}select(e,t){return this.viewModel.select(e,t)}render(){const{disabled:e,enableListScroll:t,filterText:r,headingLevel:o,messages:s,viewModel:{items:i,numberOfFeatureTemplates:n,selectedItem:c,state:p}}=this,m=this.visibleElements.filter&&n>1;if(y(i)){const e=i.find((e=>e.label===a.nullGroupBy.label));e&&(e.label=s.other)}return v("div",{class:this.classes(I.base,u.widget),"aria-label":s.widgetLabel},"loading"===p?this._renderLoader():"ready"===p?v(d,{disabled:e,enableListScroll:t,filterEnabled:m,filterText:r,headingLevel:o,id:this.id,identify:g,items:i,messages:{filterPlaceholder:s.filterPlaceholder,noItems:s.noItems,noMatches:s.noMatches},renderIcon:this._renderItemIcon,renderCustomItem:this.renderCustomItem,renderCustomGroupContent:this.renderCustomGroupContent,renderItemContent:this.renderItemContent,renderItemContentEnd:this.renderItemContentEnd,renderItemDescription:this.renderItemDescription,renderItemLabel:this.renderItemLabel,selectedItem:c??void 0,selectionMode:this.selectionMode??void 0,onItemSelect:e=>!l(e)&&this.viewModel.select(e),onFilterChange:e=>{this.filterText=e,this.viewModel.refresh()}}):null)}_renderLoader(){return v("div",{class:I.loader,key:"loader"})}};function C(e){return e?.["data-item"]}function j(e){return!!e?.["data-has-icon"]}function F(e,t){e&&(e["data-has-icon"]=t)}e([o()],w.prototype,"disabled",null),e([o()],w.prototype,"enableListScroll",void 0),e([o()],w.prototype,"filterFunction",null),e([o()],w.prototype,"filterText",void 0),e([o()],w.prototype,"groupBy",null),e([o()],w.prototype,"headingLevel",void 0),e([o()],w.prototype,"label",null),e([o()],w.prototype,"layers",null),e([o(),h("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],w.prototype,"messages",void 0),e([o({readOnly:!0})],w.prototype,"selectedItem",null),e([o()],w.prototype,"selectionMode",void 0),e([o(),f("select")],w.prototype,"viewModel",void 0),e([o({type:p,nonNullable:!0})],w.prototype,"visibleElements",void 0),e([o()],w.prototype,"renderCustomItem",void 0),e([o()],w.prototype,"renderCustomGroupContent",void 0),e([o()],w.prototype,"renderItemLabel",void 0),e([o()],w.prototype,"renderItemDescription",void 0),e([o()],w.prototype,"renderItemContent",void 0),e([o()],w.prototype,"renderItemContentEnd",void 0),w=e([s("esri.widgets.FeatureTemplates")],w);const M=w;export{M as default};
5
+ import{_ as e}from"../chunks/tslib.es6.js";import{watch as t,initial as r}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import{isTable as i}from"../layers/support/layerUtils.js";import n from"./Widget.js";import{isTemplateItemGroup as l}from"./FeatureForm/featureFormUtils.js";import a from"./FeatureTemplates/FeatureTemplatesViewModel.js";import{ItemList as d}from"./FeatureTemplates/ItemList.js";import c from"./FeatureTemplates/TemplateItem.js";import p from"./FeatureTemplates/VisibleElements.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as u}from"./support/globalCss.js";import"./support/widgetUtils.js";import{messageBundle as h}from"./support/decorators/messageBundle.js";import{vmEvent as f}from"./support/decorators/vmEvent.js";import{tsx as v}from"./support/jsxFactory.js";const b="esri-feature-templates",I={base:b,loader:`${b}__loader`};function y(e){return e.length>0&&l(e[0])}function g(e){return e.id}let w=class extends n{constructor(e,t){super(e,t),this.enableListScroll=!0,this.filterText="",this.headingLevel=4,this.messages=null,this.selectionMode="none",this.viewModel=new a,this.visibleElements=new p,this.renderCustomItem=e=>null,this.renderCustomGroupContent=e=>null,this.renderItemLabel=()=>null,this.renderItemDescription=()=>null,this.renderItemContent=e=>null,this.renderItemContentEnd=e=>null,this._iconIntersectionObserver=new IntersectionObserver(((e,t)=>{e.forEach((async e=>{if(e.isIntersecting){const r=e.target;if(j(r))return void t.unobserve(r);const o=C(r),{layer:s,template:i}=o;F(r,!0);const n=await c.fetchThumbnail(s,i).catch((()=>(F(r,!1),null)));if(null==n)return;r.appendChild(n)}}))})),this._renderItemIcon=e=>i(e.layer)?v("span",{"data-has-icon":!0,"data-item":e,key:"icon"},v("calcite-icon",{icon:"table"})):v("span",{afterCreate:this._afterItemCreateOrUpdate,afterRemoved:this._afterItemRemoved,afterUpdate:this._afterItemCreateOrUpdate,"data-has-icon":!1,"data-item":e,key:"icon"}),this._afterItemCreateOrUpdate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)}}initialize(){const e=({label:e})=>!this.filterText||!!e?.toLowerCase().includes(this.filterText.toLowerCase());this.addHandles(t((()=>this.viewModel),((t,r)=>{t&&!t.filterFunction&&(this.filterFunction=e),r&&r!==t&&r.filterFunction===e&&(r.filterFunction=null)}),r))}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}loadDependencies(){return m({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),input:()=>import("@esri/calcite-components/dist/components/calcite-input.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js")})}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get filterFunction(){return this.viewModel.filterFunction}set filterFunction(e){this.viewModel.filterFunction=e}get groupBy(){return this.viewModel.groupBy}set groupBy(e){this.viewModel.groupBy=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get layers(){return this.viewModel.layers}set layers(e){this.viewModel.layers=e}get selectedItem(){return this.viewModel.selectedItem}select(e,t){return this.viewModel.select(e,t)}render(){const{disabled:e,enableListScroll:t,filterText:r,headingLevel:o,messages:s,viewModel:{items:i,numberOfFeatureTemplates:n,selectedItem:c,state:p}}=this,m=this.visibleElements.filter&&n>1;if(y(i)){const e=i.find((e=>e.label===a.nullGroupBy.label));e&&(e.label=s.other)}return v("div",{"aria-label":s.widgetLabel,class:this.classes(I.base,u.widget)},"loading"===p?this._renderLoader():"ready"===p?v(d,{disabled:e,enableListScroll:t,filterEnabled:m,filterText:r,headingLevel:o,id:this.id,identify:g,items:i,messages:{filterPlaceholder:s.filterPlaceholder,noItems:s.noItems,noMatches:s.noMatches},renderCustomGroupContent:this.renderCustomGroupContent,renderCustomItem:this.renderCustomItem,renderIcon:this._renderItemIcon,renderItemContent:this.renderItemContent,renderItemContentEnd:this.renderItemContentEnd,renderItemDescription:this.renderItemDescription,renderItemLabel:this.renderItemLabel,selectedItem:c??void 0,selectionMode:this.selectionMode??void 0,onFilterChange:e=>{this.filterText=e,this.viewModel.refresh()},onItemSelect:e=>!l(e)&&this.viewModel.select(e)}):null)}_renderLoader(){return v("div",{class:I.loader,key:"loader"})}};function C(e){return e?.["data-item"]}function j(e){return!!e?.["data-has-icon"]}function F(e,t){e&&(e["data-has-icon"]=t)}e([o()],w.prototype,"disabled",null),e([o()],w.prototype,"enableListScroll",void 0),e([o()],w.prototype,"filterFunction",null),e([o()],w.prototype,"filterText",void 0),e([o()],w.prototype,"groupBy",null),e([o()],w.prototype,"headingLevel",void 0),e([o()],w.prototype,"label",null),e([o()],w.prototype,"layers",null),e([o(),h("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],w.prototype,"messages",void 0),e([o({readOnly:!0})],w.prototype,"selectedItem",null),e([o()],w.prototype,"selectionMode",void 0),e([o(),f("select")],w.prototype,"viewModel",void 0),e([o({type:p,nonNullable:!0})],w.prototype,"visibleElements",void 0),e([o()],w.prototype,"renderCustomItem",void 0),e([o()],w.prototype,"renderCustomGroupContent",void 0),e([o()],w.prototype,"renderItemLabel",void 0),e([o()],w.prototype,"renderItemDescription",void 0),e([o()],w.prototype,"renderItemContent",void 0),e([o()],w.prototype,"renderItemContentEnd",void 0),w=e([s("esri.widgets.FeatureTemplates")],w);const M=w;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.28/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";import{css as i}from"./css.js";import{loadCalciteComponents as r}from"../support/componentsUtils.js";import"../support/widgetUtils.js";import{messageBundle as l}from"../support/decorators/messageBundle.js";import{tsx as a,tsxFragment as c}from"../support/jsxFactory.js";let n=class extends s{constructor(e,t){super(e,t),this.messages=null,this.closed=!1,this.closable=!0,this._handleOpenRelatedFeature=e=>{this.emit("open-related-feature",{feature:e})}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js")})}render(){const{flowItems:e}=this,t=e?.toArray();return a(c,null,t?.map((e=>this._renderRelatedRecordsFlowItem(e))))}_handleCloseClick(){this.emit("close")}_handleExitClick(){this.emit("exit")}_handleRelatedRecordsBackClick(){const e=this.flowItems?.pop();e&&("showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e&&(e.viewModel=null,e.destroy()))}_renderRelatedRecordsFlowItem(e){const{messages:t,closable:o,closed:s}=this,r="graphic"in e&&!e.isTable;return a("calcite-flow-item",{bind:this,closed:s,closable:o,heading:e.title??"",description:this._getRelatedRecordsFlowItemDescription(e),onCalciteFlowItemBack:this._handleRelatedRecordsBackClick,onCalciteFlowItemClose:this._handleCloseClick,key:`flow-item-${e.viewModel.uid}`},a("calcite-action",{appearance:"transparent",class:i.actionExit,icon:"move-up",key:"exit-related-records-action",label:t.exitRelatedRecords,text:t.exitRelatedRecords,title:t.exitRelatedRecords,slot:"header-actions-start",bind:this,onclick:this._handleExitClick,scale:"m"}),r?a("calcite-action",{appearance:"transparent",icon:"zoom-to-object",label:t.selectFeature,text:t.selectFeature,title:t.selectFeature,slot:"header-actions-end",key:"open-related-feature-action",bind:this,onclick:()=>this._handleOpenRelatedFeature(e),scale:"m"}):null,a("div",{class:i.container},e.render()))}_getRelatedRecordsFlowItemDescription(e){return"featureCountDescription"in e?e.featureCountDescription:e.viewModel.description??""}};e([t()],n.prototype,"flowItems",void 0),e([t(),l("esri/widgets/Features/t9n/Features")],n.prototype,"messages",void 0),e([t()],n.prototype,"closed",void 0),e([t()],n.prototype,"closable",void 0),n=e([o("esri.widgets.Features.FeaturesRelatedRecords")],n);const d=n;export{d as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";import{css as i}from"./css.js";import{loadCalciteComponents as r}from"../support/componentsUtils.js";import"../support/widgetUtils.js";import{messageBundle as l}from"../support/decorators/messageBundle.js";import{tsx as a,tsxFragment as c}from"../support/jsxFactory.js";let n=class extends s{constructor(e,t){super(e,t),this.messages=null,this.closed=!1,this.closable=!0,this._handleOpenRelatedFeature=e=>{this.emit("open-related-feature",{feature:e})}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js")})}render(){const{flowItems:e}=this,t=e?.toArray();return a(c,null,t?.map((e=>this._renderRelatedRecordsFlowItem(e))))}_handleCloseClick(){this.emit("close")}_handleExitClick(){this.emit("exit")}_handleRelatedRecordsBackClick(){const e=this.flowItems?.pop();e&&("showAllEnabled"in e.viewModel&&(e.viewModel.showAllEnabled=!1),e&&(e.viewModel=null,e.destroy()))}_renderRelatedRecordsFlowItem(e){const{messages:t,closable:o,closed:s}=this,r="graphic"in e&&!e.isTable;return a("calcite-flow-item",{bind:this,closable:o,closed:s,description:this._getRelatedRecordsFlowItemDescription(e),heading:e.title??"",key:`flow-item-${e.viewModel.uid}`,onCalciteFlowItemBack:this._handleRelatedRecordsBackClick,onCalciteFlowItemClose:this._handleCloseClick},a("calcite-action",{appearance:"transparent",bind:this,class:i.actionExit,icon:"move-up",key:"exit-related-records-action",label:t.exitRelatedRecords,onclick:this._handleExitClick,scale:"m",slot:"header-actions-start",text:t.exitRelatedRecords,title:t.exitRelatedRecords}),r?a("calcite-action",{appearance:"transparent",bind:this,icon:"zoom-to-object",key:"open-related-feature-action",label:t.selectFeature,onclick:()=>this._handleOpenRelatedFeature(e),scale:"m",slot:"header-actions-end",text:t.selectFeature,title:t.selectFeature}):null,a("div",{class:i.container},e.render()))}_getRelatedRecordsFlowItemDescription(e){return"featureCountDescription"in e?e.featureCountDescription:e.viewModel.description??""}};e([t()],n.prototype,"flowItems",void 0),e([t(),l("esri/widgets/Features/t9n/Features")],n.prototype,"messages",void 0),e([t()],n.prototype,"closed",void 0),e([t()],n.prototype,"closable",void 0),n=e([o("esri.widgets.Features.FeaturesRelatedRecords")],n);const d=n;export{d as default};