@arcgis/core 5.2.0-next.124 → 5.2.0-next.126

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 (417) hide show
  1. package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +3 -2
  2. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +1 -0
  3. package/arcade/functions/string.js +1 -1
  4. package/arcgisGlobal.d.ts +2 -0
  5. package/assets/esri/core/workers/RemoteClient.js +1 -1
  6. package/assets/esri/core/workers/chunks/05afa8c2b5929ce0545a.js +1 -0
  7. package/assets/esri/core/workers/chunks/0a20f84b5f004a77a9f9.js +1 -0
  8. package/assets/esri/core/workers/chunks/{97cd4145c016cf379120.js → 0a2b7c691a577cb3d189.js} +1 -1
  9. package/assets/esri/core/workers/chunks/0ccd4200c5a2a5de6e16.js +1 -0
  10. package/assets/esri/core/workers/chunks/{064445e6f9512817ac87.js → 12b5a645c0987a0efe54.js} +2 -2
  11. package/assets/esri/core/workers/chunks/{bdf012e591a8476db467.js → 1406a884241809b62bff.js} +1 -1
  12. package/assets/esri/core/workers/chunks/168b45c5d8233f23793e.js +2 -0
  13. package/assets/esri/core/workers/chunks/17218d714cb07b607c2f.js +1 -0
  14. package/assets/esri/core/workers/chunks/1d040aa8951fff3141d9.js +1 -0
  15. package/assets/esri/core/workers/chunks/{ce08e3369641da0d7a27.js → 1dbb3e25e005a8220779.js} +2 -2
  16. package/assets/esri/core/workers/chunks/{c39ebd8d469f1e8bb61e.js → 25e212fe9a2ea37c9e81.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{216d8cb86548e92a8196.js → 2e3fd81653dc0d86456c.js} +1 -1
  18. package/assets/esri/core/workers/chunks/30604a29df320d7a4c6b.js +1 -0
  19. package/assets/esri/core/workers/chunks/3a40146568e6dd0b1828.js +1 -0
  20. package/assets/esri/core/workers/chunks/3ef367c9b7bf1588307d.js +1 -0
  21. package/assets/esri/core/workers/chunks/4327d2c39a660bd89da7.js +1 -0
  22. package/assets/esri/core/workers/chunks/4678a8170d8a3ccd1a7b.js +1 -0
  23. package/assets/esri/core/workers/chunks/{45d87af48a21644590c2.js → 4716693eca44e8f89f5c.js} +1 -1
  24. package/assets/esri/core/workers/chunks/474d9541d387b31ad275.js +1 -0
  25. package/assets/esri/core/workers/chunks/{20e4277a4a6c57957202.js → 4d18451e0ea6ca54101a.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{26bc509a031788bfa678.js → 4f464047c6f6c9486efd.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{58528ccb7f72ae76d52b.js → 540f60e31b19d85e9371.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{44857a76be2c0ac65bb9.js → 55a560fd872f7463b33d.js} +1 -1
  29. package/assets/esri/core/workers/chunks/56acda1eed3a013430e2.js +1 -0
  30. package/assets/esri/core/workers/chunks/56e97b98dcb8a3f2bcb7.js +1 -0
  31. package/assets/esri/core/workers/chunks/{eb7f45736c852725b0bb.js → 57ab87e70ef85b9405f9.js} +122 -122
  32. package/assets/esri/core/workers/chunks/{59cd139712d919e6a738.js → 5adf2792416b22cd602f.js} +1 -1
  33. package/assets/esri/core/workers/chunks/5fe5ef5ccf480634d159.js +1 -0
  34. package/assets/esri/core/workers/chunks/67678054342178b601cf.js +1 -0
  35. package/assets/esri/core/workers/chunks/67dcf9b873cb037b2647.js +1 -0
  36. package/assets/esri/core/workers/chunks/6c3535aa7250c08b9e5b.js +1 -0
  37. package/assets/esri/core/workers/chunks/6e8187a77846239ed112.js +2 -0
  38. package/assets/esri/core/workers/chunks/76548469fe1b9c3b2051.js +1 -0
  39. package/assets/esri/core/workers/chunks/{52744dfd430cd0c0edfb.js → 78abd6c42f39e6f6ffbb.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{5993db944b9e7825e0bc.js → 7926faab76a721a2e1c4.js} +1 -1
  41. package/assets/esri/core/workers/chunks/7d6da4e89aa951e6523f.js +1 -0
  42. package/assets/esri/core/workers/chunks/7dd94567833386dc74de.js +1 -0
  43. package/assets/esri/core/workers/chunks/{dc0816f064be576a2fa6.js → 7fcee3a1b900ddc9a5e3.js} +1 -1
  44. package/assets/esri/core/workers/chunks/806f96ad09e882be41af.js +1 -0
  45. package/assets/esri/core/workers/chunks/8190fcb1dd10ad20feed.js +1 -0
  46. package/assets/esri/core/workers/chunks/84db05e872dbf35c80a2.js +1 -0
  47. package/assets/esri/core/workers/chunks/85739ed6af0f0a3cb302.js +1 -0
  48. package/assets/esri/core/workers/chunks/{b22de8bf4a4a739bc36d.js → 97602019a1ccad22a03a.js} +1 -1
  49. package/assets/esri/core/workers/chunks/9ca98fffd43e63d5ade3.js +1 -0
  50. package/assets/esri/core/workers/chunks/9d6a96e4c7ccedcb0c13.js +1 -0
  51. package/assets/esri/core/workers/chunks/9ec04faad97be55309b8.js +1 -0
  52. package/assets/esri/core/workers/chunks/a08385ebf1715414c1a6.js +1 -0
  53. package/assets/esri/core/workers/chunks/{e22a013ec38989caf9de.js → a790fc6b22acf651574b.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{2f52ad525744b8793d49.js → a8258636096416c837a2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{770ca70d363184e39d60.js → ab8a1140bf31f46f8ebf.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{813dd84933b407c8fe86.js → b34305474a861aaf6ccb.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{dc923e50958b68a50014.js → b96358d475dc98034aa4.js} +1 -1
  58. package/assets/esri/core/workers/chunks/ba435cc73956d9c64a11.js +1 -0
  59. package/assets/esri/core/workers/chunks/c5b733c3a5b2680042a2.js +1 -0
  60. package/assets/esri/core/workers/chunks/{f0709c48daca93e759c8.js → c692e583e87af58f6d91.js} +1 -1
  61. package/assets/esri/core/workers/chunks/{39985c51465b79ff0910.js → c77496c350004ee66eb2.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{9e5b30b907102bc0c201.js → cb7cb7d57c4e7f76600f.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{58a17fb3c0dd07c63d57.js → cfaba0470619786e1ef8.js} +2 -2
  64. package/assets/esri/core/workers/chunks/d371d9279b30548efa02.js +1 -0
  65. package/assets/esri/core/workers/chunks/d5f0fed415b5b155d57c.js +1 -0
  66. package/assets/esri/core/workers/chunks/{d3d48401462ef3bf0ad9.js → d5f72670634e73c0b53a.js} +1 -1
  67. package/assets/esri/core/workers/chunks/d6e914f6ed45ea59034e.js +1 -0
  68. package/assets/esri/core/workers/chunks/{5afc12671a9a1bb6c56c.js → dc52e036547612949d32.js} +1 -1
  69. package/assets/esri/core/workers/chunks/e0894a308c84d5c158b0.js +1 -0
  70. package/assets/esri/core/workers/chunks/e1ae83ff3e0225708d4d.js +1 -0
  71. package/assets/esri/core/workers/chunks/e35eb93c0fb1f6de8db0.js +1 -0
  72. package/assets/esri/core/workers/chunks/{df79c00b5ddbef7148a0.js → eaa7cb3ffa8c11706a09.js} +1 -1
  73. package/assets/esri/core/workers/chunks/eebbc86a15ae3adb5f38.js +1 -0
  74. package/assets/esri/core/workers/chunks/{eb780f2dafa14f776166.js → f71ec8a260405ed07958.js} +1 -1
  75. package/assets/esri/core/workers/chunks/fdbda3d2afea25142b86.js +1 -0
  76. package/assets/esri/libs/pdfjs/pdf.worker.mjs +4 -63051
  77. package/assets/esri/themes/base/_FocusRegionOverlayItem.scss +18 -0
  78. package/assets/esri/themes/base/_View.scss +4 -0
  79. package/assets/esri/themes/base/_core.scss +1 -0
  80. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +13 -0
  81. package/assets/esri/themes/dark/main.css +1 -1
  82. package/assets/esri/themes/light/main.css +1 -1
  83. package/assets/esri/themes/light/view.css +1 -1
  84. package/assets/esri/widgets/Editor/t9n/messages.ar.json +1 -1
  85. package/assets/esri/widgets/Editor/t9n/messages.bg.json +1 -1
  86. package/assets/esri/widgets/Editor/t9n/messages.bs.json +1 -1
  87. package/assets/esri/widgets/Editor/t9n/messages.ca.json +1 -1
  88. package/assets/esri/widgets/Editor/t9n/messages.cs.json +1 -1
  89. package/assets/esri/widgets/Editor/t9n/messages.da.json +1 -1
  90. package/assets/esri/widgets/Editor/t9n/messages.de.json +1 -1
  91. package/assets/esri/widgets/Editor/t9n/messages.el.json +1 -1
  92. package/assets/esri/widgets/Editor/t9n/messages.en.json +1 -1
  93. package/assets/esri/widgets/Editor/t9n/messages.es.json +1 -1
  94. package/assets/esri/widgets/Editor/t9n/messages.et.json +1 -1
  95. package/assets/esri/widgets/Editor/t9n/messages.fi.json +1 -1
  96. package/assets/esri/widgets/Editor/t9n/messages.fr.json +1 -1
  97. package/assets/esri/widgets/Editor/t9n/messages.he.json +1 -1
  98. package/assets/esri/widgets/Editor/t9n/messages.hr.json +1 -1
  99. package/assets/esri/widgets/Editor/t9n/messages.hu.json +1 -1
  100. package/assets/esri/widgets/Editor/t9n/messages.id.json +1 -1
  101. package/assets/esri/widgets/Editor/t9n/messages.it.json +1 -1
  102. package/assets/esri/widgets/Editor/t9n/messages.ja.json +1 -1
  103. package/assets/esri/widgets/Editor/t9n/messages.ko.json +1 -1
  104. package/assets/esri/widgets/Editor/t9n/messages.lt.json +1 -1
  105. package/assets/esri/widgets/Editor/t9n/messages.lv.json +1 -1
  106. package/assets/esri/widgets/Editor/t9n/messages.nl.json +1 -1
  107. package/assets/esri/widgets/Editor/t9n/messages.no.json +1 -1
  108. package/assets/esri/widgets/Editor/t9n/messages.pl.json +1 -1
  109. package/assets/esri/widgets/Editor/t9n/messages.pt-BR.json +1 -1
  110. package/assets/esri/widgets/Editor/t9n/messages.pt-PT.json +1 -1
  111. package/assets/esri/widgets/Editor/t9n/messages.ro.json +1 -1
  112. package/assets/esri/widgets/Editor/t9n/messages.ru.json +1 -1
  113. package/assets/esri/widgets/Editor/t9n/messages.sk.json +1 -1
  114. package/assets/esri/widgets/Editor/t9n/messages.sl.json +1 -1
  115. package/assets/esri/widgets/Editor/t9n/messages.sr.json +1 -1
  116. package/assets/esri/widgets/Editor/t9n/messages.sv.json +1 -1
  117. package/assets/esri/widgets/Editor/t9n/messages.th.json +1 -1
  118. package/assets/esri/widgets/Editor/t9n/messages.tr.json +1 -1
  119. package/assets/esri/widgets/Editor/t9n/messages.uk.json +1 -1
  120. package/assets/esri/widgets/Editor/t9n/messages.vi.json +1 -1
  121. package/assets/esri/widgets/Editor/t9n/messages.zh-CN.json +1 -1
  122. package/assets/esri/widgets/Editor/t9n/messages.zh-HK.json +1 -1
  123. package/assets/esri/widgets/Editor/t9n/messages.zh-TW.json +1 -1
  124. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ar.json +1 -1
  125. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.bg.json +1 -1
  126. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.bs.json +1 -1
  127. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ca.json +1 -1
  128. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.cs.json +1 -1
  129. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.da.json +1 -1
  130. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.de.json +1 -1
  131. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.el.json +1 -1
  132. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.es.json +1 -1
  133. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.et.json +1 -1
  134. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.fi.json +1 -1
  135. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.fr.json +1 -1
  136. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.he.json +1 -1
  137. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.hr.json +1 -1
  138. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.hu.json +1 -1
  139. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.id.json +1 -1
  140. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.it.json +1 -1
  141. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ja.json +1 -1
  142. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ko.json +1 -1
  143. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.lt.json +1 -1
  144. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.lv.json +1 -1
  145. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.nl.json +1 -1
  146. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.no.json +1 -1
  147. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pl.json +1 -1
  148. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pt-BR.json +1 -1
  149. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.pt-PT.json +1 -1
  150. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ro.json +1 -1
  151. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.ru.json +1 -1
  152. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sk.json +1 -1
  153. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sl.json +1 -1
  154. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sr.json +1 -1
  155. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.sv.json +1 -1
  156. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.th.json +1 -1
  157. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.tr.json +1 -1
  158. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.uk.json +1 -1
  159. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.vi.json +1 -1
  160. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-CN.json +1 -1
  161. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-HK.json +1 -1
  162. package/assets/esri/widgets/support/SelectionToolbar/t9n/messages.zh-TW.json +1 -1
  163. package/chunks/GaussianSplatColorComposition.glsl.js +2 -0
  164. package/chunks/GaussianSplatEmissionComposition.glsl.js +11 -0
  165. package/chunks/GlobalIllumination.glsl.js +9 -9
  166. package/chunks/GlobalIlluminationBlur.glsl.js +8 -8
  167. package/chunks/HeatmapDensity.glsl.js +5 -5
  168. package/chunks/Pattern.glsl.js +30 -30
  169. package/chunks/RibbonLine.glsl.js +19 -19
  170. package/chunks/earcut.js +1 -1
  171. package/chunks/portal.js +1 -1
  172. package/config.js +1 -1
  173. package/core/accessorSupport/types.d.ts +5 -1
  174. package/graphic/MapImageGraphicOrigin.js +1 -1
  175. package/graphic/TileGraphicOrigin.js +1 -1
  176. package/interfaces.d.ts +8 -0
  177. package/kernel.js +1 -1
  178. package/layers/OrientedImageryLayer.js +1 -1
  179. package/layers/ParquetLayer.d.ts +3 -2
  180. package/layers/ParquetLayer.js +1 -1
  181. package/layers/SceneLayer.js +1 -1
  182. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  183. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +2 -2
  184. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
  185. package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
  186. package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
  187. package/layers/geospatialPDF/geospatialPDFParserUtils.js +2 -0
  188. package/layers/geospatialPDF/projectionToWKTUtils.js +2 -0
  189. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  190. package/layers/geospatialPDF/sharedUtils.js +1 -1
  191. package/layers/mixins/ArcGISImageService.js +1 -1
  192. package/layers/mixins/TemporalLayer.js +1 -1
  193. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  194. package/layers/orientedImagery/transformations/utils.js +1 -1
  195. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  196. package/layers/raster/types.d.ts +6 -0
  197. package/layers/support/TimeInfo.js +1 -1
  198. package/layers/support/TimeSeriesCalculation.d.ts +32 -0
  199. package/layers/support/TimeSeriesCalculation.js +2 -0
  200. package/layers/support/TimeSeriesInfo.d.ts +19 -0
  201. package/layers/support/TimeSeriesInfo.js +1 -1
  202. package/layers/support/commonProperties.js +1 -1
  203. package/layers/support/layersMapping.js +1 -1
  204. package/layers/support/timeSeriesUtils.d.ts +25 -1
  205. package/layers/support/timeSeriesUtils.js +1 -1
  206. package/layers/types.d.ts +1 -0
  207. package/package.json +2 -2
  208. package/popup/FeatureContentCollection.d.ts +12 -2
  209. package/popup/FeatureContentCollection.js +1 -1
  210. package/popup/types.d.ts +14 -3
  211. package/portal/schemas/definitions.js +1 -1
  212. package/portal/schemas/sceneLayerItem.js +1 -1
  213. package/renderers/support/AuthoringInfo.d.ts +8 -1
  214. package/renderers/support/AuthoringInfo.js +1 -1
  215. package/renderers/support/AuthoringInfoVisualVariable.d.ts +8 -1
  216. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  217. package/rest/imageService/fetchRasterInfo.js +1 -1
  218. package/rest/knowledgeGraph/DataModel.js +1 -1
  219. package/smartMapping/renderers/color.d.ts +12 -0
  220. package/smartMapping/renderers/color.js +1 -1
  221. package/smartMapping/renderers/opacity.d.ts +6 -0
  222. package/smartMapping/renderers/opacity.js +1 -1
  223. package/smartMapping/renderers/size.d.ts +12 -0
  224. package/smartMapping/renderers/size.js +1 -1
  225. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  226. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  227. package/smartMapping/renderers/support/timeSeriesUtils.js +1 -1
  228. package/smartMapping/renderers/type.d.ts +6 -0
  229. package/smartMapping/renderers/type.js +1 -1
  230. package/smartMapping/renderers/univariateColorSize.d.ts +6 -0
  231. package/smartMapping/renderers/univariateColorSize.js +1 -1
  232. package/support/revision.js +1 -1
  233. package/symbols/support/gfxUtils.js +1 -1
  234. package/symbols/support/previewSymbol3D.js +1 -1
  235. package/symbols/support/svgUtils.js +1 -1
  236. package/time/timeZoneUtils.js +1 -1
  237. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  238. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +8 -0
  239. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  240. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  241. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +8 -0
  242. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  243. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +3 -2
  244. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  245. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  246. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  247. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +3 -2
  248. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  249. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  250. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  251. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  252. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  253. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  254. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +1 -0
  255. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  256. package/views/3d/input/handlers/DragRotate.js +1 -1
  257. package/views/3d/input/handlers/PinchAndPanNavigation.js +1 -1
  258. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
  259. package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
  260. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  261. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  262. package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +2 -0
  263. package/views/3d/navigation/Navigation3D.d.ts +7 -0
  264. package/views/3d/navigation/Navigation3D.js +1 -1
  265. package/views/3d/navigation/modes/navigationModeUtils.d.ts +32 -0
  266. package/views/3d/navigation/modes/navigationModeUtils.js +2 -0
  267. package/views/3d/state/Constraints.js +1 -1
  268. package/views/3d/state/controllers/GroundNavigationController.js +1 -1
  269. package/views/3d/state/controllers/RotateController.js +1 -1
  270. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  271. package/views/3d/support/engineContent/line.js +1 -1
  272. package/views/3d/support/planarDistanceToGroundRatio.js +2 -0
  273. package/views/3d/terrain/OverlayManager.js +1 -1
  274. package/views/3d/terrain/OverlayRenderer.js +1 -1
  275. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +13 -13
  276. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +2 -2
  277. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  278. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  279. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  280. package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +1 -1
  281. package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
  282. package/views/3d/webgl-engine/lib/GaussianSplatShadows.js +1 -1
  283. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  284. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  285. package/views/3d/webgl-engine/shaders/GaussianSplatColorComposition.glsl.js +2 -0
  286. package/views/3d/webgl-engine/shaders/GaussianSplatColorCompositionTechnique.js +2 -0
  287. package/views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js +1 -1
  288. package/views/3d/webgl-engine/shaders/{GaussianSplatComposition.glsl.js → GaussianSplatEmissionComposition.glsl.js} +1 -1
  289. package/views/3d/webgl-engine/shaders/GaussianSplatEmissionCompositionTechnique.js +2 -0
  290. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  291. package/views/DOMContainer.d.ts +27 -0
  292. package/views/DOMContainer.js +1 -1
  293. package/views/PopupView.d.ts +1 -1
  294. package/views/View.d.ts +10 -1
  295. package/views/View.js +1 -1
  296. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  297. package/views/analysis/LengthDimensionResult.d.ts +4 -1
  298. package/views/draw/support/managers/TooltipManager.js +1 -1
  299. package/views/input/types.d.ts +46 -0
  300. package/views/interactive/options/SnappingOptions.d.ts +4 -2
  301. package/views/interactive/options/SnappingOptions.js +1 -1
  302. package/views/interactive/options/ViewOptions.d.ts +18 -0
  303. package/views/interactive/options/bindViewToolOptions.js +2 -0
  304. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  305. package/views/interactive/snapping/allLayerSnapping.js +1 -1
  306. package/views/overlay/FocusRegionOverlayItem.js +2 -0
  307. package/views/selection/SelectionOperation.d.ts +27 -1
  308. package/views/selection/types.d.ts +8 -20
  309. package/views/webgl/renderState.js +1 -1
  310. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -0
  311. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  312. package/widgets/AreaMeasurement2D.js +1 -1
  313. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +1 -0
  314. package/widgets/BasemapLayerList.d.ts +1 -0
  315. package/widgets/BatchAttributeForm/expressions/types.d.ts +1 -0
  316. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +2 -0
  317. package/widgets/BatchAttributeForm/types.d.ts +5 -1
  318. package/widgets/BatchAttributeForm.d.ts +1 -0
  319. package/widgets/Bookmarks/BookmarksViewModel.d.ts +1 -0
  320. package/widgets/Bookmarks.d.ts +1 -0
  321. package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +1 -0
  322. package/widgets/CatalogLayerList.d.ts +1 -0
  323. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -0
  324. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  325. package/widgets/DistanceMeasurement2D.js +1 -1
  326. package/widgets/Editor.d.ts +1 -0
  327. package/widgets/Editor.js +1 -1
  328. package/widgets/FeatureForm.d.ts +1 -0
  329. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +37 -1
  330. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  331. package/widgets/FeatureTable/support/FeatureStore.d.ts +26 -2
  332. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  333. package/widgets/FeatureTable.d.ts +12 -1
  334. package/widgets/FeatureTable.js +1 -1
  335. package/widgets/FeatureTemplates.d.ts +1 -0
  336. package/widgets/Features/FeaturesViewModel.d.ts +1 -0
  337. package/widgets/Features.d.ts +2 -1
  338. package/widgets/HistogramRangeSlider.d.ts +1 -0
  339. package/widgets/Home/HomeViewModel.d.ts +1 -0
  340. package/widgets/Home.d.ts +1 -0
  341. package/widgets/LayerList/LayerListViewModel.d.ts +1 -0
  342. package/widgets/LayerList.d.ts +1 -0
  343. package/widgets/Locate/LocateViewModel.d.ts +1 -0
  344. package/widgets/Locate.d.ts +1 -0
  345. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  346. package/widgets/OrientedImageryViewer/components/Alert.js +1 -1
  347. package/widgets/OrientedImageryViewer/navigation/NavigationManagerPanoramic.js +1 -1
  348. package/widgets/OrientedImageryViewer/types.d.ts +4 -1
  349. package/widgets/OrientedImageryViewer.d.ts +4 -1
  350. package/widgets/OrientedImageryViewer.js +1 -1
  351. package/widgets/Popup/types.d.ts +7 -0
  352. package/widgets/Popup.d.ts +1 -0
  353. package/widgets/Print/PrintViewModel.d.ts +1 -0
  354. package/widgets/Print.d.ts +1 -0
  355. package/widgets/Search.d.ts +1 -0
  356. package/widgets/Sketch.d.ts +1 -0
  357. package/widgets/Slider.d.ts +4 -0
  358. package/widgets/TimeSlider.d.ts +1 -0
  359. package/widgets/Track/TrackViewModel.d.ts +1 -0
  360. package/widgets/Track.d.ts +1 -0
  361. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +1 -0
  362. package/widgets/UtilityNetworkTrace.d.ts +1 -0
  363. package/widgets/ValuePicker/types.d.ts +1 -0
  364. package/widgets/ValuePicker.d.ts +1 -0
  365. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +1 -0
  366. package/widgets/support/SelectionList/types.d.ts +2 -0
  367. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +2 -1
  368. package/assets/esri/core/workers/chunks/0148cb611bf7c8c5fe8a.js +0 -1
  369. package/assets/esri/core/workers/chunks/033debcbf6b3683dc4fe.js +0 -2
  370. package/assets/esri/core/workers/chunks/0acc754907395e83bbc6.js +0 -1
  371. package/assets/esri/core/workers/chunks/1c38ce72160d5a4e4b3d.js +0 -1
  372. package/assets/esri/core/workers/chunks/1e46703cb566c25458ad.js +0 -1
  373. package/assets/esri/core/workers/chunks/23279303cd7698314c56.js +0 -1
  374. package/assets/esri/core/workers/chunks/25c90092def215949db9.js +0 -1
  375. package/assets/esri/core/workers/chunks/29ae19206bbeb480be0f.js +0 -1
  376. package/assets/esri/core/workers/chunks/2f829321bfbd3bacd64f.js +0 -1
  377. package/assets/esri/core/workers/chunks/38890ac5917942374ab8.js +0 -1
  378. package/assets/esri/core/workers/chunks/463d69f596d1d34ef275.js +0 -2
  379. package/assets/esri/core/workers/chunks/475906b079f4f1ddacf2.js +0 -1
  380. package/assets/esri/core/workers/chunks/49affbed22e201f7c32b.js +0 -1
  381. package/assets/esri/core/workers/chunks/4c4ba466e23159991322.js +0 -1
  382. package/assets/esri/core/workers/chunks/4f58e0322707f63f5bf2.js +0 -1
  383. package/assets/esri/core/workers/chunks/606ac9358f508bda94f2.js +0 -1
  384. package/assets/esri/core/workers/chunks/724ea2e2843e6dac0a90.js +0 -1
  385. package/assets/esri/core/workers/chunks/7285a37cd5359aa4bac5.js +0 -1
  386. package/assets/esri/core/workers/chunks/753d1ff177ecee8e2377.js +0 -1
  387. package/assets/esri/core/workers/chunks/781fa83e8063b8f685dc.js +0 -1
  388. package/assets/esri/core/workers/chunks/78c1b75b1a8937eaa3cd.js +0 -1
  389. package/assets/esri/core/workers/chunks/7ff536284942c5284a16.js +0 -1
  390. package/assets/esri/core/workers/chunks/83c7c4218bc6ba2f16ee.js +0 -1
  391. package/assets/esri/core/workers/chunks/8984d02c0ce828fd223a.js +0 -1
  392. package/assets/esri/core/workers/chunks/8e102a2e134ce6ce0724.js +0 -1
  393. package/assets/esri/core/workers/chunks/92c852700ad1006f1e76.js +0 -1
  394. package/assets/esri/core/workers/chunks/9af36ee6a0df224859bc.js +0 -1
  395. package/assets/esri/core/workers/chunks/a3ab53b534e2872131be.js +0 -1
  396. package/assets/esri/core/workers/chunks/ac7af417ebf7721d7400.js +0 -1
  397. package/assets/esri/core/workers/chunks/aed479c14d93955f4798.js +0 -1
  398. package/assets/esri/core/workers/chunks/bb5ed2a796a45c41b0b4.js +0 -1
  399. package/assets/esri/core/workers/chunks/be52c319a0a81ce1ba36.js +0 -1
  400. package/assets/esri/core/workers/chunks/c0ec87800faf99cbd8bd.js +0 -1
  401. package/assets/esri/core/workers/chunks/c3008b20cb5fd38bd900.js +0 -1
  402. package/assets/esri/core/workers/chunks/ca5a4f62b09cc8579dc0.js +0 -1
  403. package/assets/esri/core/workers/chunks/d090baaa974e1e83fa44.js +0 -1
  404. package/assets/esri/core/workers/chunks/d25210574168ead2f813.js +0 -1
  405. package/assets/esri/core/workers/chunks/e4e1db4e9e5f13167401.js +0 -1
  406. package/assets/esri/core/workers/chunks/e9f8325a4cf89ae816cc.js +0 -1
  407. package/assets/esri/core/workers/chunks/ed7d4e8725aaa0ca4589.js +0 -1
  408. package/chunks/GaussianSplatComposition.glsl.js +0 -22
  409. package/layers/geospatialPDF/GeospatialPDFParserUtils.js +0 -2
  410. package/layers/geospatialPDF/Projection.js +0 -2
  411. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechnique.js +0 -2
  412. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +0 -2
  413. /package/assets/esri/core/workers/chunks/{064445e6f9512817ac87.js.LICENSE.txt → 12b5a645c0987a0efe54.js.LICENSE.txt} +0 -0
  414. /package/assets/esri/core/workers/chunks/{033debcbf6b3683dc4fe.js.LICENSE.txt → 168b45c5d8233f23793e.js.LICENSE.txt} +0 -0
  415. /package/assets/esri/core/workers/chunks/{463d69f596d1d34ef275.js.LICENSE.txt → 1dbb3e25e005a8220779.js.LICENSE.txt} +0 -0
  416. /package/assets/esri/core/workers/chunks/{ce08e3369641da0d7a27.js.LICENSE.txt → 6e8187a77846239ed112.js.LICENSE.txt} +0 -0
  417. /package/assets/esri/core/workers/chunks/{58a17fb3c0dd07c63d57.js.LICENSE.txt → cfaba0470619786e1ef8.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{deprecateWidget as t}from"../core/deprecate.js";import s from"../core/Logger.js";import{ignoreAbortErrors as i}from"../core/promiseUtils.js";import{property as o,subclass as n}from"../core/accessorSupport/decorators.js";import r from"../views/interactive/snapping/SnappingOptions.js";import p from"./Widget.js";import a from"./DistanceMeasurement2D/DistanceMeasurement2DViewModel.js";import{globalCss as l}from"./support/globalCss.js";import{MeasurementWidgetContent as u}from"./support/MeasurementWidgetContent.js";import{messageBundle as m,tsx as d}from"./support/widget.js";const c="esri-distance-measurement-2d",v={base:c,newMeasurementButton:`${c}__clear-button`};let g=class extends p{constructor(e,i){super(e,i),this.messages=null,this.messagesCommon=null,this.viewModel=new a,t(s.getLogger(this),"Distance Measurement 2D","arcgis-distance-measurement-2d",{version:"5.0"})}get active(){return this.viewModel.active}get icon(){return"measure-line"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){const{messages:e,messagesCommon:t,unit:s,unitOptions:o,viewModel:n}=this,{active:r,measurementLabel:p,state:a,supported:m}=n;return d("div",{"aria-label":this.messages.widgetLabel,class:this.classes(v.base,l.widget,l.panel),key:this,role:"presentation"},this.visible?d(u,{active:r,measurementItems:[{key:"distance",title:e.distance,value:p}],messages:{...e,notApplicable:t.notApplicable},newMeasurementButtonClass:v.newMeasurementButton,state:a,supported:m,unit:s,unitOptions:o,onNewMeasurementClick:()=>{i(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};e([o({readOnly:!0})],g.prototype,"active",null),e([o()],g.prototype,"icon",null),e([o()],g.prototype,"label",null),e([o(),m("esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D")],g.prototype,"messages",void 0),e([o(),m("esri/t9n/common")],g.prototype,"messagesCommon",void 0),e([o({type:r})],g.prototype,"snappingOptions",null),e([o()],g.prototype,"uiStrings",void 0),e([o()],g.prototype,"unit",null),e([o()],g.prototype,"unitOptions",null),e([o()],g.prototype,"view",null),e([o({type:a})],g.prototype,"viewModel",void 0),e([o({type:Boolean})],g.prototype,"visible",null),g=e([n("esri.widgets.DistanceMeasurement2D")],g);const w=g;export{w as default};
2
+ import{__decorate as e}from"tslib";import{deprecateWidget as t}from"../core/deprecate.js";import s from"../core/Logger.js";import{ignoreAbortErrors as i}from"../core/promiseUtils.js";import{property as o,subclass as n}from"../core/accessorSupport/decorators.js";import r from"../views/interactive/snapping/SnappingOptions.js";import p from"./Widget.js";import a from"./DistanceMeasurement2D/DistanceMeasurement2DViewModel.js";import{globalCss as l}from"./support/globalCss.js";import{MeasurementWidgetContent as u}from"./support/MeasurementWidgetContent.js";import{messageBundle as m,tsx as d}from"./support/widget.js";const c="esri-distance-measurement-2d",g={base:c,newMeasurementButton:`${c}__clear-button`};let v=class extends p{constructor(e,i){super(e,i),this.messages=null,this.messagesCommon=null,this.viewModel=new a({suppressDeprecationWarning:!0}),t(s.getLogger(this),"Distance Measurement 2D","arcgis-distance-measurement-2d",{version:"5.0"})}get active(){return this.viewModel.active}get icon(){return"measure-line"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get unit(){return this.viewModel.unit}set unit(e){this.viewModel.unit=e}get unitOptions(){return this.viewModel.unitOptions}set unitOptions(e){this.viewModel.unitOptions=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}render(){const{messages:e,messagesCommon:t,unit:s,unitOptions:o,viewModel:n}=this,{active:r,measurementLabel:p,state:a,supported:m}=n;return d("div",{"aria-label":this.messages.widgetLabel,class:this.classes(g.base,l.widget,l.panel),key:this,role:"presentation"},this.visible?d(u,{active:r,measurementItems:[{key:"distance",title:e.distance,value:p}],messages:{...e,notApplicable:t.notApplicable},newMeasurementButtonClass:g.newMeasurementButton,state:a,supported:m,unit:s,unitOptions:o,onNewMeasurementClick:()=>{i(this.viewModel.start())},onUnitChange:e=>{this.unit=e}}):null)}};e([o({readOnly:!0})],v.prototype,"active",null),e([o()],v.prototype,"icon",null),e([o()],v.prototype,"label",null),e([o(),m("esri/widgets/DistanceMeasurement2D/t9n/DistanceMeasurement2D")],v.prototype,"messages",void 0),e([o(),m("esri/t9n/common")],v.prototype,"messagesCommon",void 0),e([o({type:r})],v.prototype,"snappingOptions",null),e([o()],v.prototype,"uiStrings",void 0),e([o()],v.prototype,"unit",null),e([o()],v.prototype,"unitOptions",null),e([o()],v.prototype,"view",null),e([o({type:a})],v.prototype,"viewModel",void 0),e([o({type:Boolean})],v.prototype,"visible",null),v=e([n("esri.widgets.DistanceMeasurement2D")],v);const w=v;export{w as default};
@@ -100,6 +100,7 @@ export interface EditorProperties extends WidgetProperties, Partial<Pick<Editor,
100
100
  visibleElements?: VisibleElementsProperties;
101
101
  }
102
102
 
103
+ /** @deprecated since version 5.0. Use the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/) component instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). */
103
104
  export interface EditorEvents extends EditorViewModelEvents {}
104
105
 
105
106
  /**
package/widgets/Editor.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{deprecateWidget as i,deprecatedFunction as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{destroyMaybe as a,abortMaybe as r,mappedFind as n}from"../core/maybe.js";import{watch as l,initial as c,on as d,when as h,syncAndInitial as m}from"../core/reactiveUtils.js";import{property as p,subclass as u}from"../core/accessorSupport/decorators.js";import{UpdatingHandles as g}from"../core/support/UpdatingHandles.js";import w from"../views/interactive/sketch/SketchLabelOptions.js";import v from"../views/interactive/sketch/SketchTooltipOptions.js";import _ from"../views/interactive/sketch/SketchValueOptions.js";import f from"../views/interactive/snapping/SnappingOptions.js";import y from"./Attachments.js";import b from"./BatchAttributeForm.js";import k from"./FeatureForm.js";import M from"./FeatureTemplates.js";import F from"./Spinner.js";import A from"./Widget.js";import S from"./BatchAttributeForm/VisibleElements.js";import{isNextOrLegacyUpdateWorkflow as T,isNextOrLegacyUpdateFeaturesWorkflow as C,isNextOrLegacyUpdateFeatureWorkflow as L}from"./Editor/compatibilityAdapters.js";import{css as E}from"./Editor/css.js";import W from"./Editor/EditorViewModel.js";import{isModelUpload as P}from"./Editor/modelUploadUtils.js";import I from"./Editor/VisibleElements.js";import{findEditorItemForLayer as U,isBatchAttributeFormViewModel as j}from"./Editor/workflowUtils.js";import{loadCreateFeaturesPanelContentComponents as D,CreateFeaturesPanelContent as V}from"./Editor/components/CreateFeaturesPanelContent.js";import{loadFeatureListComponents as x,FeatureList as O}from"./Editor/components/FeatureList.js";import{loadFooterActionsComponents as B,FooterActions as N}from"./Editor/components/FooterActions.js";import{loadNoticesComponents as H,Notice as G}from"./Editor/components/Notices.js";import{loadPanelContentComponents as R,PanelContent as z,PanelContentSection as q,PanelContentMessage as K}from"./Editor/components/PanelContent.js";import{PanelToolbar as Z,loadPanelToolbarComponents as $}from"./Editor/components/PanelToolbar.js";import{loadPromptComponents as J,Prompt as Q}from"./Editor/components/Prompt.js";import{loadUpdateFeaturePanelContentComponents as X,UpdateFeaturePanelContent as Y}from"./Editor/components/UpdateFeaturePanelContent.js";import{loadUploadDetailsComponents as ee,UploadDetails as te}from"./Editor/components/UploadDetails.js";import ie from"./Sketch/CreateToolVisibilityMap.js";import se from"./Sketch/SelectionToolVisibilityMap.js";import oe from"./Sketch/VisibleElements.js";import{loadCalciteComponents as ae}from"./support/componentsUtils.js";import{globalCss as re}from"./support/globalCss.js";import{incrementHeadingLevel as ne,Heading as le}from"./support/Heading.js";import{renderItem as ce}from"./support/ItemList.js";import{connectDelayedLoading as de}from"./support/loaderUtils.js";import he from"./support/SelectionList.js";import me from"./support/SelectionToolbar.js";import{messageBundle as pe,vmEvent as ue,tsx as ge}from"./support/widget.js";import{isLayerItem as we}from"./support/SelectionList/selectionListUtils.js";import ve from"./support/SelectionList/VisibleElements.js";import _e from"./support/SelectionToolbar/VisibleElements.js";const fe=Symbol("sketch-setup-handles");let ye=class extends A{constructor(e,s){super(e,s),this._batchAttributeForm=new b({suppressDeprecationWarning:!0,visibleElements:new S({loadingIndicator:!1})}),this._featureForm=new k({suppressDeprecationWarning:!0}),this._sketchToolbar=null,this._attachments=new y({visibleElements:{addSubmitButton:!1,cancelAddButton:!1,cancelUpdateButton:!1,deleteButton:!1,errorMessage:!1,progressBar:!1,updateButton:!1},suppressDeprecationWarning:!0}),this._associationItemList=null,this._associationSettings=null,this._featureTemplates=new M({suppressDeprecationWarning:!0,enableListScroll:!1,renderItemContentEnd:e=>e.supportsUpload?ge("calcite-icon",{class:E.templateItemContentEnd,icon:"upload-to",key:"upload-icon"}):null,renderItemLabel:e=>e.label,renderCustomGroupContent:e=>this._renderCustomTemplateGroupContent(e)}),this._filterText="",this._prompt=null,this._spinner=new F,this._loading=!1,this._disallowSave=!1,this._selectionList=new he({displayMode:"layer",itemActionConfigs:this._selectionListItemActionConfigs,itemUnavailableFunction:({item:e})=>!U(this.editorItems,e.layer)?.editable,onListItemSelect:({item:e})=>this._onSelectionListItemSelect(e),visibleElements:new ve({header:!1})}),this._selectionToolbar=new me({visibleElements:new _e({chip:!1})}),this._updatingHandles=new g,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.messagesTemplates=null,this.messagesFeature=null,this.supportingWidgetDefaults=null,this.viewModel=null,this.visibleElements=new I,this._renderAttachments=()=>this._attachments.render(),this._renderFeatureTemplates=()=>this._featureTemplates.render(),this._renderSelectionList=()=>this._selectionList.render(),this._renderSelectionToolbar=()=>this._selectionToolbar.render(),this._renderSketch=()=>this._sketchToolbar?ge("div",{class:E.sketchContainer,key:"editor-sketch-container"},this._sketchToolbar?.render()):void 0,this._renderSelectIcon=()=>ge("calcite-icon",{icon:"cursor",slot:"content-start"}),this.EditorPanel=({heading:e,key:t,selected:i},...s)=>{const{visibleElements:o}=this;return ge("calcite-flow-item",{closable:!1,heading:e,headingLevel:this.headingLevel,key:t,loading:this._loading,selected:i,onCalciteFlowItemBack:this._onBack},o.settingsMenu?ge(Z,{editorViewModel:this.viewModel,messagesCommon:this.messagesCommon,visibleElements:o}):null,...s)},this._showConfirmationPrompt=e=>this._showPromptAndWait(this.messages[e]),this._showDiscardEditsPrompt=()=>{const{messages:e,activeWorkflow:t}=this,i={title:e.cancelEditTitle,message:e.cancelEditWarningMessage,yesLabel:e.discardEdits,noLabel:e.continueEditing};return"create-features"===t?.type&&P(t.data.creationInfo)?this._showPromptAndWait("success"===t.data.upload?.state?e.modelUploads.cancelPlacementPrompt:e.modelUploads.cancelUploadPrompt):"update"===t?.type&&t.formViewModel?.activeAssociationsInput?this._showPromptAndWait({...i,message:e.cancelAssociationEditWarning}):this._showPromptAndWait(i)},this._showGenericCancelPrompt=()=>{const{messages:e,messagesCommon:t}=this;return this._showPromptAndWait({title:e.cancelRequestTitle,message:e.cancelRequestWarningMessage,yesLabel:t.form.yes,noLabel:t.form.no})},this._showPrompt=e=>{this._prompt?.cancel?.(),this._prompt=e},this._clearPrompt=()=>{this._prompt=null},this._onSave=()=>{this.viewModel.saveWorkflow()},this._onMerge=()=>{const{activeWorkflow:e}=this.viewModel;if(T(e)){const t=e.activeWorkflow;C(t)&&e.startMergingFeatures(t.viewGraphics,{initialFeatures:t.data.initialFeatures})}},this._onSplit=()=>{const{activeWorkflow:e}=this.viewModel;if(T(e)){const t=e.activeWorkflow;if(L(t)){const i=t.viewGraphic;i&&e.startSplittingFeature(i,{initialFeature:t.data.edits.initialFeature??i})}}},this._onDelete=()=>{const e=this.viewModel.activeFeatureCount,i=e>1?this.messages.multiFeature:this.messages.singleFeature;this._showPrompt({title:i.deleteWarningTitle,message:i.deleteWarningMessage,context:"danger",actions:{primary:{label:t(i.delete,{count:e}),action:()=>{this.deleteFeatures(),this._clearPrompt()}},secondary:{label:i.keep,action:this._clearPrompt}}})},this._onDeleteAssociation=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAssociationTitle,message:e.deleteAssociationMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteAssociationFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepAssociation,action:this._clearPrompt}}})},this._onToggleUpdateWorkflow=()=>this.viewModel.toggleUpdateWorkflow(),this._onBack=e=>(e?.stopPropagation(),this.viewModel.back()),this._onAttachmentAdd=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type||"update"===e.type&&"create-features"===e.activeWorkflow?.type?(this._attachments.addFile(),e.back()):this._attachments.addAttachment().then(()=>e.back()))},this._onAttachmentUpdate=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type?(this._attachments.updateFile(),e.back()):this._attachments.updateAttachment().then(()=>e.back()))},this._onAttachmentDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAttachmentWarningTitle,message:e.deleteAttachmentWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:this._onAttachmentDeleteConfirm},secondary:{label:e.keepAttachment,action:this._clearPrompt}}})},this._onAttachmentDeleteConfirm=async()=>{const e=this._attachments,{activeWorkflow:t}=this.viewModel;t&&("create-features"===t.type?e.deleteFile():(await e.deleteAttachment(e.viewModel.activeAttachmentInfo),this._clearPrompt()),await t.back(),this._clearPrompt())},this._onAttachmentsError=e=>{this._showPrompt({title:this.messages.errorWarningTitle,message:e.message,context:"warning",actions:{primary:{label:this.messagesCommon.form.ok,action:this._clearPrompt}}})},this.viewModel=e?.viewModel||new W({useLegacyCreateTools:e?.useLegacyCreateTools??"3d"===e?.view?.type,formSystem:e?.formSystem??"legacy"}),this.announceDeprecation=()=>{i(o.getLogger(this),"Editor","arcgis-editor",{version:"5.0"})}}initialize(){this._featureForm.showPrompt=this._showPrompt,this._featureForm.clearPrompt=this._clearPrompt,this._batchAttributeForm.showPrompt=this._showPrompt,this._batchAttributeForm.clearPrompt=this._clearPrompt,this.addHandles([l(()=>ne(this.headingLevel),e=>{this._batchAttributeForm.headingLevel=e,this._featureForm.headingLevel=e,this._featureTemplates.headingLevel=e},c),d(()=>this.viewModel.activeWorkflow,"cancel-request",({controller:e})=>{(this.viewModel.hasPendingEdits?this._showDiscardEditsPrompt():this._showGenericCancelPrompt()).then(t=>t?e.allow():e.deny())}),h(()=>this.viewModel.formViewModel,e=>{j(e)?this._batchAttributeForm.viewModel=e:this._featureForm.viewModel=e},m),h(()=>this.viewModel.utilityNetworkAssociationAddAssociationViewModel,e=>{this._associationItemList?this._associationItemList.viewModel=e:this._updatingHandles.consumePromise(this._initializeAssociationItemList(e))},c),h(()=>this.viewModel.utilityNetworkAssociationAddAssociationViewModel?.association,()=>{this._setUpAssociationSettings()}),l(()=>[this.viewModel,this.viewModel?.attachmentsViewModel,this.viewModel?.featureTemplatesViewModel,this.viewModel?.spinnerViewModel,this.viewModel?.selectionListViewModel,this.viewModel?.selectionToolbarViewModel],([e,t,i,s,o,a])=>{this._attachments.viewModel=t,this._featureTemplates.viewModel=i,this._spinner.viewModel=s,this._selectionList.viewModel=o,this._selectionToolbar.viewModel=a,e.showDiscardEditsPrompt=this._showDiscardEditsPrompt,e.showConfirmationPrompt=this._showConfirmationPrompt},c),l(()=>this.view,(e,t)=>{const i=`editor-${this.id}-spinner`;t?.ui.remove(this._spinner,i),e?.ui.add(this._spinner,{key:i,position:"manual"}),this._associationItemList&&(this._associationItemList.view=e)},c),l(()=>[this.supportingWidgetDefaults,this.viewModel.sketchViewModel],([e])=>{e&&(e.attachments&&this._attachments.set(e.attachments),e.batchAttributeForm&&this._batchAttributeForm.set(e.batchAttributeForm),e.featureForm&&this._featureForm.set(e.featureForm),e.featureTemplates&&this._featureTemplates.set(e.featureTemplates),e.selectionToolbar&&this._selectionToolbar.set(e.selectionToolbar),e.sketch&&this.viewModel.sketchViewModel?.set(e.sketch))},c),h(()=>this._attachments?.error,e=>this._onAttachmentsError(e)),h(()=>this._selectionListItemActionConfigs,()=>{this._selectionList.itemActionConfigs=this._selectionListItemActionConfigs}),h(()=>this.viewModel?.failures,e=>{const{messages:i}=this,[{error:s,retry:o,cancel:a}]=e;this._showPrompt({title:i.errorWarningTitle,message:t(i.errorWarningMessageTemplate,{errorMessage:s.message}),context:"warning",actions:{primary:{label:i.retry,action:()=>{o(),this._clearPrompt()}},secondary:{label:i.ignore,action:()=>{a(),this._clearPrompt()}}}})}),l(()=>this.viewModel?.state,e=>{switch(e){case"awaiting-feature-to-update":case"ready":case"disabled":this._filterText="",this._featureTemplates.filterText=""}}),l(()=>this.viewModel.formDisabled,e=>{this._batchAttributeForm.readOnly=e,this._featureForm.disabled=e}),l(()=>this.visibleElements.sketch,()=>this._setupSketch(),c),l(()=>this.visibleElements.zoomToButton,e=>this._selectionList.visibleElements.zoomToButton=e,c),de({getLoading:()=>{const{viewModel:e}=this;return e.syncing||e.updating||this._attachments.submitting||this._updatingHandles.updating},setEffectiveLoading:e=>{this._loading=e}}),de({getLoading:()=>!this.viewModel.activeLeafWorkflow?.allowSave,setEffectiveLoading:e=>{this._disallowSave=e}})])}destroy(){this._associationItemList?.destroy(),this._associationSettings?.destroy(),this._selectionList.destroy(),this._selectionToolbar.destroy(),this._attachments.destroy(),this._batchAttributeForm.destroy(),this._featureForm.destroy(),this._featureTemplates.destroy(),this._spinner.destroy(),this._sketchToolbar=a(this._sketchToolbar),this._sketchImportAbortController=r(this._sketchImportAbortController)}loadDependencies(){return Promise.all([ae({flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")}),D(),x(),B(),H(),R(),$(),J(),X(),ee()])}get _hasInvalidBatchSelection(){return this._hasSelectionWithUneditableFeatures||this._hasSelectionFromMultipleLayers||this._selectionCountExceedsMaximum||0===this._selectionList.visibleFeatureCount}get _hasSelectionFromMultipleLayers(){return this._selectionList.visibleLayerCount>1}get _hasSelectionWithUneditableFeatures(){const e=this.editorItems;return this._selectionList.visibleFeatureItems.some(t=>!U(e,t.layer))}get _deleteButtonCommonInfo(){return{appearance:"outline",kind:"danger"}}get _selectionCountExceedsMaximum(){const e=this._batchAttributeForm.maximumFeatureCount,{activeLayerItem:t,effectiveCount:i,filterText:s,visibleFeatureCount:o}=this._selectionList;return null!=s&&""!==s?o>e:t?t.total>e:i>e}get _selectionListItemActionConfigs(){const{messages:e,visibleElements:t}=this,i=t?.mergeButton??!0;return[{label:e?.batchEditing?.editThisFeature,icon:"edit-attributes",type:"feature",hidden:({item:e})=>!U(this.editorItems,e.layer)?.editable,callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"update")},{label:e?.batchEditing.editTheseFeatures,icon:"edit-attributes",type:"layer",hidden:({item:e})=>!U(this.editorItems,e.layer)?.editable,callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"update")},{label:e?.batchEditing.mergeTheseFeatures,icon:"merge",type:"layer",hidden:!i||(({item:e})=>{if(!we(e))return!0;const t=U(this.editorItems,e.layer);return!t||(!t.editable||!t.supportsMergeFeaturesWorkflow||e.visibleTotal<2)}),callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"merge")}]}get _visibleSelectionCount(){const{activeLayerItem:e,effectiveCount:t,filterText:i,visibleFeatureCount:s}=this._selectionList;return null!=i&&""!==i?s:e?e.total:t}get activeWorkflow(){return this.viewModel.activeWorkflow}get editorItems(){return this.viewModel.editorItems}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get hideTemplatesForInactiveLayers(){return this.viewModel.hideTemplatesForInactiveLayers}set hideTemplatesForInactiveLayers(e){this.viewModel.hideTemplatesForInactiveLayers=e}get icon(){return"pencil"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get syncWithViewSelectionManager(){return this.syncViewSelection}set syncWithViewSelectionManager(e){this.syncViewSelection=e}get syncViewSelection(){return this.viewModel.syncViewSelection}set syncViewSelection(e){this.viewModel.syncViewSelection=e}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get valueOptions(){return this.viewModel.valueOptions}set valueOptions(e){this.viewModel.valueOptions=e}get useLegacyCreateTools(){return this.viewModel.useLegacyCreateTools}set useLegacyCreateTools(e){this.viewModel.useLegacyCreateTools=e}get formSystem(){return this.viewModel.formSystem}set formSystem(e){this.viewModel.formSystem=e}get isUsingLegacyCreateTools(){return this.viewModel.isUsingLegacyCreateTools}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}activateSelectionTool(e){return this.viewModel.activateSelectionTool(e)}cancelSelectionTool(){this.viewModel.cancelSelectionTool()}startCreateFeaturesWorkflowAtFeatureTypeSelection(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureTypeSelection(e)}startCreateFeaturesWorkflowAtFeatureCreation(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureCreation(e)}startCreateFeaturesWorkflowAtFeatureEdit(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureEdit(e)}startMergeFeaturesWorkflow(e,t={}){return this.viewModel.startMergeFeaturesWorkflow(e,t)}startSplitFeatureWorkflow(e,t={}){return this.viewModel.startSplitFeatureWorkflow(e,t)}async startUpdateFeaturesWorkflow(e){return this.viewModel.startUpdateFeaturesWorkflow(e)}startUpdateWorkflowAtFeatureSelection(){return this.viewModel.startUpdateWorkflowAtFeatureSelection()}startUpdateWorkflowAtMultipleFeatureSelection(e){return this.viewModel.startUpdateWorkflowAtMultipleFeatureSelection(e)}startUpdateWorkflowAtFeatureEdit(e){return this.viewModel.startUpdateWorkflowAtFeatureEdit(e)}startUpdateWorkflowWithActiveSelection(){return this.viewModel.startUpdateWorkflowWithActiveSelection()}deleteFeatureFromWorkflow(){return s(o.getLogger(this),"Editor.deleteFeatureFromWorkflow is deprecated. Use Editor.deleteFeatures instead.",{version:"4.33",replacement:"Editor.deleteFeatures",warnOnce:!0}),this.deleteFeatures()}async deleteFeatures(){await this.viewModel.deleteFeatures()}deleteAssociationFromWorkflow(){return this.viewModel.deleteAssociationFromWorkflow()}cancelWorkflow(e){return this.viewModel.cancelWorkflow(e)}render(){const{visibleElements:e,viewModel:t}=this,i=this.classes(E.base,re.widget,re.panel);if(!t)return ge("div",{class:i,key:"empty"});const{pageStack:s}=t,o=s.length-1,a=s.map((e,t)=>this._renderPage(e,t===o));return ge("div",{class:i,key:"base",ondragover:this._handleDragAndDrop,ondrop:this._handleDragAndDrop},e.flow?ge("calcite-flow",{inert:!!this._prompt,key:"flow"},a):a,this._prompt?ge(Q,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderPage(e,t){const i={selected:t};switch(e){case"disabled":break;case"ready":return this._renderReady(i);case"viewing-selection-list":return this._renderSelectionListPage(i);case"awaiting-feature-creation-info":return this._renderAwaitingFeatureCreationInfo(i);case"creating-features-upload-details":return this._renderUploadDetails(i);case"creating-features":return this._renderCreatingFeatures(i);case"editing-existing-feature":case"editing-features":case"editing-attributes":case"choosing-key-feature":return this._renderUpdateFeature(i);case"awaiting-update-feature-candidate":return this._renderFeatureList(i);case"adding-attachment":return this._renderAttachmentAdding(i);case"editing-attachment":return this._renderAttachmentEditing(i);case"viewing-associated-layers":case"viewing-associated-features":return this._renderViewAssociatedLayers(i);case"add-association-select-layer":case"add-association-select-feature":return this._renderSelectFeature(i);case"add-association-create-association":return this._renderAddAssociation(i);case"drawing-splitter-geometry":return this._renderDrawingSplitGeometry(i);case"reviewing-features":return this._renderReviewingSplitFeatures(i)}return ge("div",{key:"empty-page"})}_renderAwaitingFeatureCreationInfo(e){const{EditorPanel:t,messages:i}=this;return ge(t,{heading:i.selectTemplate,key:"templates-panel",...e},ge(z,{key:"feature-templates"},ge(q,null,this._renderFeatureTemplates())))}_renderUploadDetails(e){const{EditorPanel:t,activeWorkflow:i,messages:s}=this;if("create-features"!==i?.type)return null;const o=i.data.upload;return o?ge(t,{heading:s.createFeatures,key:"upload-details-panel",...e},ge(te,{helpMessage:this._helpMessage,messages:s,upload:o})):null}_renderCreatingFeatures(e){const{EditorPanel:t,activeWorkflow:i,messages:s,messagesCommon:o,headingLevel:a,viewModel:r}=this;if(!i)return null;const n="create-features"===i.type&&i.numPendingFeatures>0||"update"===i.type&&"create-features"===i?.activeWorkflow?.type&&i.activeWorkflow?.numPendingFeatures>0;return ge(t,{heading:s.createFeatures,key:"create-features-panel",...e},n?ge(Y,{disallowSave:this._disallowSave,editorViewModel:r,formWidget:this._batchAttributeForm,headingLevel:a,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,renderSketchToolbar:this._renderSketch,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}):ge(V,{helpMessage:this._helpMessage,noticeMessage:this._noticeMessage,renderSketchToolbar:this._renderSketch}))}_renderUpdateFeature(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this,r=a.activeFeatureCount>1?i.multiFeature.editPanelTitle:i.singleFeature.editPanelTitle;return ge(t,{heading:r,key:"update-feature-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onMerge:this._onMerge,onSave:this._onSave,onSplit:this._onSplit}))}_renderDrawingSplitGeometry(e){const{EditorPanel:t}=this;return ge(t,{heading:this.messages.splitFeature,key:"draw-split-geometry-panel",...e},ge(V,{helpMessage:this._helpMessage,noticeMessage:this._noticeMessage,renderSketchToolbar:this._renderSketch}))}_renderReviewingSplitFeatures(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this;return ge(t,{heading:i.splitFeature,key:"review-split-features-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,visibleElements:this.visibleElements,onSave:this._onSave}))}_getAssociationTypeTitle(e){const{messages:t}=this;if(!e)return t.singleFeature.editPanelTitle;if(e.title)return e.title;const{messagesFeature:i}=this;switch(e.type){case"attachment":return i.associationsAttachments;case"connectivity":return i.associationsConnectivity;case"structure":return i.associationsStructure;case"content":return i.associationsContents;case"container":return i.associationsContainer}}_getAddAssociationTypeTitle(e){const{messages:t}=this;if(!e)return t.singleFeature.editPanelTitle;const i=t.associations;switch(e.type){case"attachment":return i.addAttachment;case"connectivity":return i.addConnectivity;case"structure":return i.addStructure;case"content":return i.addContent;case"container":return i.addContainer}}async _initializeAssociationItemList(e){const t=(await(import("./FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js"))).default;this._associationItemList=new t({view:this.view,viewModel:e})}async _initializeAssociationSettings(){const e=new(0,(await(import("./FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js"))).default);return this._associationSettings=e,e}_renderViewAssociatedLayers(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this,r=a.formViewModel?.activeAssociationType,n=this._getAssociationTypeTitle(r);return ge(t,{heading:n,key:"viewing-associated-layers-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,renderSketchToolbar:this._renderSketch,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_renderSelectFeature(e){const{_associationItemList:t,EditorPanel:i,viewModel:s,messagesCommon:o}=this,a=s.utilityNetworkAssociationAddAssociationViewModel,r=this._getAddAssociationTypeTitle(a?.associationType),n="ready"!==a?.state||this.viewModel.formDisabled;return t?ge(i,{heading:r,key:"add-association-select-feature",...e},ge(z,{key:"select-feature"},ge(q,null,t.render())),ge(N,{buttons:[t.filterOptionsVisible?{appearance:"solid",label:o.apply,disabled:n,onClick:()=>t.applyFilterOptions(),type:"button"}:void 0,{appearance:"outline",label:o.cancel,disabled:n,onClick:()=>{"update"===s.activeWorkflow?.type&&(a?.reset(),s.activeWorkflow.cancelActiveWorkflow())},type:"button"}]})):ge(i,{heading:r,key:"add-association-select-feature",...e})}async _setUpAssociationSettings(){const{viewModel:e}=this,t=this._associationSettings??await this._updatingHandles.addPromise(this._initializeAssociationSettings()),i=e.utilityNetworkAssociationAddAssociationViewModel,s="update"===e.activeWorkflow?.type?e.activeWorkflow:null,o=s?s.activeWorkflow:null,a="add-association"===o?.type?o.sourceFeatureItem:null,r=i?.selectedFeature,n=i?.association,l=i?.utilityNetwork;a&&r&&n&&l&&(t.sourceFeature=a,t.targetFeature=r,t.association=n,t.utilityNetwork=l)}_renderAddAssociation(e){const{_associationSettings:t,EditorPanel:i,viewModel:s,messagesCommon:o}=this;if(!t)return null;const a=s.utilityNetworkAssociationAddAssociationViewModel,r=this._getAddAssociationTypeTitle(a?.associationType),n="ready"!==a?.state;return ge(i,{heading:r,key:"add-association",...e},ge(z,{key:"add-association-content"},ge(q,null,t.render())),ge(N,{buttons:[{label:o.add,disabled:n||!a.canAddAssociation,onClick:()=>this._onSave(),type:"button"},{appearance:"outline",label:o.cancel,disabled:n,onClick:()=>{"update"===s.activeWorkflow?.type&&s.activeWorkflow.cancelActiveWorkflow()},type:"button"}]}))}_renderCustomTemplateGroupContent(e){const{messages:t,viewModel:i}=this,s=n(e.group.items,e=>i.itemHasInvalidFormTemplate(e)?t.formFieldCreateError:void 0);return s?ge(G,{kind:"warning",message:s}):null}_renderAttachmentAdding(e){const{EditorPanel:t,_attachments:i,messages:s,messagesCommon:o}=this;return ge(t,{heading:s.addAttachment,key:"attachment-adding-panel",...e},ge(z,{key:"attachments"},this._renderAttachments()),ge(N,{buttons:[{label:i.submitting?o.cancel:o.add,disabled:i.submitting||!i.selectedFile,onClick:this._onAttachmentAdd,type:"button"}]}))}_renderSelectionListPage(e){const{_hasSelectionFromMultipleLayers:i,_hasInvalidBatchSelection:s,_selectionCountExceedsMaximum:o,_selectionList:a,_visibleSelectionCount:r,messages:n,EditorPanel:l}=this,{batchUpdateActions:c}=this.visibleElements,{maxVisibleFeatureCountPerLayer:d}=a;return ge(l,{heading:n.widgetLabel,key:"selection-list-panel",...e},this.visibleElements.selectionToolbar?ge("div",{class:E.selectionToolbarContainer},this._renderSelectionToolbar()):void 0,ge(z,{key:"selection-list"},ge(q,null,this._renderSelectionList())),ge(N,{buttons:[c?{label:t(n.batchEditing.editCount,{count:r}),disabled:s,onClick:()=>this.startUpdateWorkflowWithActiveSelection(),type:"button"}:void 0],notice:c&&i?{text:n.batchEditing.selectOneLayer,icon:"information"}:c&&o?{text:t(this.messages.multiFeature.formFailedToLoadTooManyFeatures,{num:d}),icon:"information"}:void 0}))}_renderAttachmentEditing(e){const{EditorPanel:t,_attachments:i,activeWorkflow:s,messages:o,messagesCommon:a}=this;return s?ge(t,{heading:o.editAttachment,key:"attachment-editing-panel",...e},ge(z,{key:"attachments"},this._renderAttachments()),s.shouldAllowAttachmentEditing?ge(N,{buttons:[{label:a.update,disabled:i.submitting||!i.selectedFile,onClick:this._onAttachmentUpdate,type:"button"},{...this._deleteButtonCommonInfo,onClick:this._onAttachmentDelete,disabled:i.submitting,label:a.delete,type:"button"}]}):void 0):null}_renderReady(e){const{EditorPanel:t,messages:i,visibleElements:s}=this,o=this._helpMessage;return ge(t,{heading:i.widgetLabel,key:"landing-panel",...e},ge(z,{key:"landing-content"},this.editorItems.length?[s.editFeaturesSection?ge(q,{key:"edit-actions"},this._renderUpdateActions()):null,s.createFeaturesSection&&this.viewModel.canCreateVisible?ge(q,{key:"create-actions"},this._renderCreateActions()):null]:ge(K,{key:"no-content"},i.noEditableLayers)),o?ge("div",{class:E.helpMessage,key:"footer-actions",slot:"footer"},o):void 0)}_handleDragAndDrop(e){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none")}get _helpMessage(){return this.getHelpMessageString(this.activeWorkflow?.helpMessage)}get _noticeMessage(){return this.getHelpMessageString(this.activeWorkflow?.noticeMessage)}_renderUpdateActions(){const{messages:e,messagesCommon:t,viewModel:i}=this,s={id:"select",label:t.select};return ge("div",{class:E.updateActions,key:"update-actions"},ge(le,{level:ne(this.headingLevel)},e.editFeatures),this.visibleElements.selectionToolbar?ge("div",{class:E.selectionToolbarContainer},this._renderSelectionToolbar()):ge("calcite-list",{class:E.updateActionsList,label:e.editFeaturesList,selectionAppearance:"border",selectionMode:"single"},ce({disabled:!i.canUpdateVisible,grouped:!1,item:s,selectedItem:"awaiting-feature-to-update"===i.activeWorkflow?.stepId?s:void 0,renderIcon:this._renderSelectIcon,onItemSelect:this._onToggleUpdateWorkflow})))}_renderCreateActions(){return ge("div",{key:"create-actions"},ge(le,{level:ne(this.headingLevel)},this.messages.createFeatures),ge("div",{class:E.featureTemplatesContainer,key:"templates"},this._renderFeatureTemplates()))}_renderFeatureList(e){const{EditorPanel:i,viewModel:s}=this,{activeWorkflow:o}=s;if("update"!==o?.type)return null;const a=o.data.candidates,r=t(this.messages.multipleFeaturesTemplate,{total:a.length});return ge(i,{heading:r,key:"feature-list",...e},ge(O,{editorItems:this.editorItems,editorMessages:this.messages,filterText:this._filterText,id:this.id,messagesTemplates:this.messagesTemplates,workflow:o,onFilterTextChange:e=>this._filterText=e,onSelectFeature:(e,t)=>s.selectFeature(e,t),onZoomTo:e=>s.zoomTo(e)}))}_showPromptAndWait({title:e,message:t,yesLabel:i,noLabel:s}){const o=Promise.withResolvers(),{view:a}=this,r=a?.focused;return this._showPrompt({title:e,message:t,context:"danger",actions:{primary:{label:i,action:()=>o.resolve(!0)},secondary:{label:s,action:()=>o.resolve(!1)}}}),o.promise.finally(()=>{this._clearPrompt(),r&&a?.focus()})}async _onSelectionListItemSelect(e){await this.viewModel.onSelectionListItemSelect(e)}async _onSelectionListMenuItemSelect(e,t){await this.viewModel.onSelectionListMenuItemSelect(e,t)}async _setupSketch(){if(!!!this.visibleElements.sketch)return this._sketchImportAbortController=r(this._sketchImportAbortController),this._sketchToolbar=a(this._sketchToolbar),void this.removeHandles(fe);if(this._sketchImportAbortController)return;const e=new AbortController;this._sketchImportAbortController=e;const t=await(import("./Sketch.js"));if(!e.signal.aborted)try{this._sketchToolbar=new t.default({toolbarKind:"docked",contextualToolLocation:"inline-end",scale:"s",suppressDeprecationWarning:!0,visibleElements:new oe({deleteButton:!1,settingsMenu:!1,directionModePicker:!1,selectionCountLabel:!1,duplicateButton:!1,singlePluginBackButton:!1,createTools:new ie({freehandPolygon:!0,freehandPolyline:!0}),selectionTools:new se({"lasso-selection":!1,"rectangle-selection":!1}),geometrySimplificationActivityIndicator:!1})}),this.addHandles([l(()=>{const e=this.viewModel.activeLeafWorkflow;return e&&"availableCreateTools"in e?e.availableCreateTools:null},e=>{this._sketchToolbar&&(this._sketchToolbar.availableCreateTools=e)},c),l(()=>this.visibleElements.undoRedoButtons,e=>{this._sketchToolbar&&(this._sketchToolbar.visibleElements.undoRedoMenu=e)},c),h(()=>this.viewModel?.sketchViewModel,e=>{this._sketchToolbar&&(this._sketchToolbar.viewModel=e)},c),h(()=>this.viewModel.sketchViewModel?.pluginManager,e=>{e.sketch=this._sketchToolbar},c)],fe)}finally{this._sketchImportAbortController=null}}getHelpMessageString(e){const{messages:t,view:i}=this;if("curveToolDensifyWarning"===e)return t.curveToolDensifyWarning;return e?t["3d"===i?.type?"helpMessages3d":"helpMessages2d"]?.[e]:void 0}get test(){return{sketch:this._sketchToolbar,showPrompt:this._showPromptAndWait.bind(this)}}};e([p()],ye.prototype,"_batchAttributeForm",void 0),e([p()],ye.prototype,"_featureForm",void 0),e([p()],ye.prototype,"_sketchToolbar",void 0),e([p()],ye.prototype,"_attachments",void 0),e([p()],ye.prototype,"_associationItemList",void 0),e([p()],ye.prototype,"_associationSettings",void 0),e([p()],ye.prototype,"_featureTemplates",void 0),e([p()],ye.prototype,"_filterText",void 0),e([p()],ye.prototype,"_hasInvalidBatchSelection",null),e([p()],ye.prototype,"_hasSelectionFromMultipleLayers",null),e([p()],ye.prototype,"_hasSelectionWithUneditableFeatures",null),e([p()],ye.prototype,"_prompt",void 0),e([p()],ye.prototype,"_spinner",void 0),e([p()],ye.prototype,"_deleteButtonCommonInfo",null),e([p()],ye.prototype,"_loading",void 0),e([p()],ye.prototype,"_disallowSave",void 0),e([p()],ye.prototype,"_selectionCountExceedsMaximum",null),e([p()],ye.prototype,"_selectionList",void 0),e([p()],ye.prototype,"_selectionListItemActionConfigs",null),e([p()],ye.prototype,"_selectionToolbar",void 0),e([p()],ye.prototype,"_visibleSelectionCount",null),e([p({readOnly:!0})],ye.prototype,"activeWorkflow",null),e([p()],ye.prototype,"editorItems",null),e([p()],ye.prototype,"effectiveSelectionManager",null),e([p()],ye.prototype,"headingLevel",void 0),e([p()],ye.prototype,"hideTemplatesForInactiveLayers",null),e([p()],ye.prototype,"icon",null),e([p()],ye.prototype,"label",null),e([p({type:w})],ye.prototype,"labelOptions",null),e([p()],ye.prototype,"layerInfos",null),e([p(),pe("esri/widgets/Editor/t9n/Editor")],ye.prototype,"messages",void 0),e([p(),pe("esri/t9n/common")],ye.prototype,"messagesCommon",void 0),e([p(),pe("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],ye.prototype,"messagesTemplates",void 0),e([p(),pe("esri/widgets/Feature/t9n/Feature")],ye.prototype,"messagesFeature",void 0),e([p()],ye.prototype,"selectionManager",null),e([p({type:f})],ye.prototype,"snappingOptions",null),e([p()],ye.prototype,"syncWithViewSelectionManager",null),e([p()],ye.prototype,"syncViewSelection",null),e([p({type:v})],ye.prototype,"tooltipOptions",null),e([p()],ye.prototype,"supportingWidgetDefaults",void 0),e([p({type:_,nonNullable:!0})],ye.prototype,"valueOptions",null),e([p({value:!1})],ye.prototype,"useLegacyCreateTools",null),e([p()],ye.prototype,"formSystem",null),e([p()],ye.prototype,"isUsingLegacyCreateTools",null),e([p()],ye.prototype,"view",null),e([p({type:W}),ue(["sketch-create","sketch-delete","sketch-update","workflow-cancel","workflow-commit"])],ye.prototype,"viewModel",void 0),e([p({type:I,nonNullable:!0})],ye.prototype,"visibleElements",void 0),e([p()],ye.prototype,"_helpMessage",null),e([p()],ye.prototype,"_noticeMessage",null),ye=e([u("esri.widgets.Editor")],ye);const be=ye;export{be as default};
2
+ import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{deprecateWidget as i,deprecatedFunction as s}from"../core/deprecate.js";import o from"../core/Logger.js";import{destroyMaybe as a,abortMaybe as r,mappedFind as n}from"../core/maybe.js";import{watch as l,initial as c,on as d,when as h,syncAndInitial as m}from"../core/reactiveUtils.js";import{property as p,subclass as u}from"../core/accessorSupport/decorators.js";import{UpdatingHandles as g}from"../core/support/UpdatingHandles.js";import w from"../views/interactive/sketch/SketchLabelOptions.js";import v from"../views/interactive/sketch/SketchTooltipOptions.js";import _ from"../views/interactive/sketch/SketchValueOptions.js";import f from"../views/interactive/snapping/SnappingOptions.js";import y from"./Attachments.js";import b from"./BatchAttributeForm.js";import k from"./FeatureForm.js";import M from"./FeatureTemplates.js";import F from"./Spinner.js";import A from"./Widget.js";import S from"./BatchAttributeForm/VisibleElements.js";import{isNextOrLegacyUpdateWorkflow as T,isNextOrLegacyUpdateFeaturesWorkflow as C,isNextOrLegacyUpdateFeatureWorkflow as L}from"./Editor/compatibilityAdapters.js";import{css as E}from"./Editor/css.js";import W from"./Editor/EditorViewModel.js";import{isModelUpload as P}from"./Editor/modelUploadUtils.js";import I from"./Editor/VisibleElements.js";import{findEditorItemForLayer as U,isBatchAttributeFormViewModel as j}from"./Editor/workflowUtils.js";import{loadCreateFeaturesPanelContentComponents as V,CreateFeaturesPanelContent as D}from"./Editor/components/CreateFeaturesPanelContent.js";import{loadFeatureListComponents as x,FeatureList as O}from"./Editor/components/FeatureList.js";import{loadFooterActionsComponents as B,FooterActions as N}from"./Editor/components/FooterActions.js";import{loadNoticesComponents as H,Notice as G}from"./Editor/components/Notices.js";import{loadPanelContentComponents as R,PanelContent as z,PanelContentSection as q,PanelContentMessage as K}from"./Editor/components/PanelContent.js";import{PanelToolbar as Z,loadPanelToolbarComponents as $}from"./Editor/components/PanelToolbar.js";import{loadPromptComponents as J,Prompt as Q}from"./Editor/components/Prompt.js";import{loadUpdateFeaturePanelContentComponents as X,UpdateFeaturePanelContent as Y}from"./Editor/components/UpdateFeaturePanelContent.js";import{loadUploadDetailsComponents as ee,UploadDetails as te}from"./Editor/components/UploadDetails.js";import ie from"./Sketch/CreateToolVisibilityMap.js";import se from"./Sketch/SelectionToolVisibilityMap.js";import oe from"./Sketch/VisibleElements.js";import{loadCalciteComponents as ae}from"./support/componentsUtils.js";import{globalCss as re}from"./support/globalCss.js";import{incrementHeadingLevel as ne,Heading as le}from"./support/Heading.js";import{renderItem as ce}from"./support/ItemList.js";import{connectDelayedLoading as de}from"./support/loaderUtils.js";import he from"./support/SelectionList.js";import me from"./support/SelectionToolbar.js";import{messageBundle as pe,vmEvent as ue,tsx as ge}from"./support/widget.js";import{isLayerItem as we}from"./support/SelectionList/selectionListUtils.js";import ve from"./support/SelectionList/VisibleElements.js";import _e from"./support/SelectionToolbar/VisibleElements.js";const fe=Symbol("sketch-setup-handles");let ye=class extends A{constructor(e,s){super(e,s),this._batchAttributeForm=new b({suppressDeprecationWarning:!0,visibleElements:new S({loadingIndicator:!1})}),this._featureForm=new k({suppressDeprecationWarning:!0}),this._sketchToolbar=null,this._attachments=new y({visibleElements:{addSubmitButton:!1,cancelAddButton:!1,cancelUpdateButton:!1,deleteButton:!1,errorMessage:!1,progressBar:!1,updateButton:!1},suppressDeprecationWarning:!0}),this._associationItemList=null,this._associationSettings=null,this._featureTemplates=new M({suppressDeprecationWarning:!0,enableListScroll:!1,renderItemContentEnd:e=>e.supportsUpload?ge("calcite-icon",{class:E.templateItemContentEnd,icon:"upload-to",key:"upload-icon"}):null,renderItemLabel:e=>e.label,renderCustomGroupContent:e=>this._renderCustomTemplateGroupContent(e)}),this._filterText="",this._prompt=null,this._spinner=new F,this._loading=!1,this._disallowSave=!1,this._selectionList=new he({displayMode:"layer",itemActionConfigs:this._selectionListItemActionConfigs,itemUnavailableFunction:({item:e})=>!U(this.editorItems,e.layer)?.editable,onListItemSelect:({item:e})=>this._onSelectionListItemSelect(e),visibleElements:new ve({header:!1})}),this._selectionToolbar=new me({visibleElements:new _e({chip:!1})}),this._updatingHandles=new g,this.headingLevel=4,this.messages=null,this.messagesCommon=null,this.messagesTemplates=null,this.messagesFeature=null,this.supportingWidgetDefaults=null,this.viewModel=null,this.visibleElements=new I,this._renderAttachments=()=>this._attachments.render(),this._renderFeatureTemplates=()=>this._featureTemplates.render(),this._renderSelectionList=()=>this._selectionList.render(),this._renderSelectionToolbar=()=>this._selectionToolbar.render(),this._renderSketch=()=>this._sketchToolbar?ge("div",{class:E.sketchContainer,key:"editor-sketch-container"},this._sketchToolbar?.render()):void 0,this._renderSelectIcon=()=>ge("calcite-icon",{icon:"cursor",slot:"content-start"}),this.EditorPanel=({heading:e,key:t,selected:i},...s)=>{const{visibleElements:o}=this;return ge("calcite-flow-item",{closable:!1,heading:e,headingLevel:this.headingLevel,key:t,loading:this._loading,selected:i,onCalciteFlowItemBack:this._onBack},o.settingsMenu?ge(Z,{editorViewModel:this.viewModel,messagesCommon:this.messagesCommon,visibleElements:o}):null,...s)},this._showConfirmationPrompt=e=>this._showPromptAndWait(this.messages[e]),this._showDiscardEditsPrompt=()=>{const{messages:e,activeWorkflow:t}=this,i={title:e.cancelEditTitle,message:e.cancelEditWarningMessage,yesLabel:e.discardEdits,noLabel:e.continueEditing};return"create-features"===t?.type&&P(t.data.creationInfo)?this._showPromptAndWait("success"===t.data.upload?.state?e.modelUploads.cancelPlacementPrompt:e.modelUploads.cancelUploadPrompt):"update"===t?.type&&t.formViewModel?.activeAssociationsInput?this._showPromptAndWait({...i,message:e.cancelAssociationEditWarning}):this._showPromptAndWait(i)},this._showGenericCancelPrompt=()=>{const{messages:e,messagesCommon:t}=this;return this._showPromptAndWait({title:e.cancelRequestTitle,message:e.cancelRequestWarningMessage,yesLabel:t.form.yes,noLabel:t.form.no})},this._showPrompt=e=>{this._prompt?.cancel?.(),this._prompt=e},this._clearPrompt=()=>{this._prompt=null},this._onSave=()=>{this.viewModel.saveWorkflow()},this._onMerge=()=>{const{activeWorkflow:e}=this.viewModel;if(T(e)){const t=e.activeWorkflow;C(t)&&e.startMergingFeatures(t.viewGraphics,{initialFeatures:t.data.initialFeatures})}},this._onSplit=()=>{const{activeWorkflow:e}=this.viewModel;if(T(e)){const t=e.activeWorkflow;if(L(t)){const i=t.viewGraphic;i&&e.startSplittingFeature(i,{initialFeature:t.data.edits.initialFeature??i})}}},this._onDelete=()=>{const e=this.viewModel.activeFeatureCount,i=e>1?this.messages.multiFeature:this.messages.singleFeature;this._showPrompt({title:i.deleteWarningTitle,message:i.deleteWarningMessage,context:"danger",actions:{primary:{label:t(i.delete,{count:e}),action:()=>{this.deleteFeatures(),this._clearPrompt()}},secondary:{label:i.keep,action:this._clearPrompt}}})},this._onDeleteAssociation=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAssociationTitle,message:e.deleteAssociationMessage,context:"danger",actions:{primary:{label:t.delete,action:()=>{this.deleteAssociationFromWorkflow(),this._clearPrompt()}},secondary:{label:e.keepAssociation,action:this._clearPrompt}}})},this._onToggleUpdateWorkflow=()=>this.viewModel.toggleUpdateWorkflow(),this._onBack=e=>(e?.stopPropagation(),this.viewModel.back()),this._onAttachmentAdd=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type||"update"===e.type&&"create-features"===e.activeWorkflow?.type?(this._attachments.addFile(),e.back()):this._attachments.addAttachment().then(()=>e.back()))},this._onAttachmentUpdate=()=>{const{activeWorkflow:e}=this.viewModel;e&&("create-features"===e.type?(this._attachments.updateFile(),e.back()):this._attachments.updateAttachment().then(()=>e.back()))},this._onAttachmentDelete=()=>{const{messages:e,messagesCommon:t}=this;this._showPrompt({title:e.deleteAttachmentWarningTitle,message:e.deleteAttachmentWarningMessage,context:"danger",actions:{primary:{label:t.delete,action:this._onAttachmentDeleteConfirm},secondary:{label:e.keepAttachment,action:this._clearPrompt}}})},this._onAttachmentDeleteConfirm=async()=>{const e=this._attachments,{activeWorkflow:t}=this.viewModel;t&&("create-features"===t.type?e.deleteFile():(await e.deleteAttachment(e.viewModel.activeAttachmentInfo),this._clearPrompt()),await t.back(),this._clearPrompt())},this._onAttachmentsError=e=>{this._showPrompt({title:this.messages.errorWarningTitle,message:e.message,context:"warning",actions:{primary:{label:this.messagesCommon.form.ok,action:this._clearPrompt}}})},this.viewModel=e?.viewModel||new W({useLegacyCreateTools:e?.useLegacyCreateTools??"3d"===e?.view?.type,formSystem:e?.formSystem??"legacy"}),this.announceDeprecation=()=>{i(o.getLogger(this),"Editor","arcgis-editor",{version:"5.0"})}}initialize(){this._featureForm.showPrompt=this._showPrompt,this._featureForm.clearPrompt=this._clearPrompt,this._batchAttributeForm.showPrompt=this._showPrompt,this._batchAttributeForm.clearPrompt=this._clearPrompt,this.addHandles([l(()=>ne(this.headingLevel),e=>{this._batchAttributeForm.headingLevel=e,this._featureForm.headingLevel=e,this._featureTemplates.headingLevel=e},c),d(()=>this.viewModel.activeWorkflow,"cancel-request",({controller:e})=>{(this.viewModel.hasPendingEdits?this._showDiscardEditsPrompt():this._showGenericCancelPrompt()).then(t=>t?e.allow():e.deny())}),h(()=>this.viewModel.formViewModel,e=>{j(e)?this._batchAttributeForm.viewModel=e:this._featureForm.viewModel=e},m),h(()=>this.viewModel.utilityNetworkAssociationAddAssociationViewModel,e=>{this._associationItemList?this._associationItemList.viewModel=e:this._updatingHandles.consumePromise(this._initializeAssociationItemList(e))},c),h(()=>this.viewModel.utilityNetworkAssociationAddAssociationViewModel?.association,()=>{this._setUpAssociationSettings()}),l(()=>[this.viewModel,this.viewModel?.attachmentsViewModel,this.viewModel?.featureTemplatesViewModel,this.viewModel?.spinnerViewModel,this.viewModel?.selectionListViewModel,this.viewModel?.selectionToolbarViewModel],([e,t,i,s,o,a])=>{this._attachments.viewModel=t,this._featureTemplates.viewModel=i,this._spinner.viewModel=s,this._selectionList.viewModel=o,this._selectionToolbar.viewModel=a,e.showDiscardEditsPrompt=this._showDiscardEditsPrompt,e.showConfirmationPrompt=this._showConfirmationPrompt},c),l(()=>this.view,(e,t)=>{const i=`editor-${this.id}-spinner`;t?.ui.remove(this._spinner,i),e?.ui.add(this._spinner,{key:i,position:"manual"}),this._associationItemList&&(this._associationItemList.view=e)},c),l(()=>[this.supportingWidgetDefaults,this.viewModel.sketchViewModel],([e])=>{e&&(e.attachments&&this._attachments.set(e.attachments),e.batchAttributeForm&&this._batchAttributeForm.set(e.batchAttributeForm),e.featureForm&&this._featureForm.set(e.featureForm),e.featureTemplates&&this._featureTemplates.set(e.featureTemplates),e.selectionToolbar&&this._selectionToolbar.set(e.selectionToolbar),e.sketch&&this.viewModel.sketchViewModel?.set(e.sketch))},c),h(()=>this._attachments?.error,e=>this._onAttachmentsError(e)),h(()=>this._selectionListItemActionConfigs,()=>{this._selectionList.itemActionConfigs=this._selectionListItemActionConfigs}),h(()=>this.viewModel?.failures,e=>{const{messages:i}=this,[{error:s,retry:o,cancel:a}]=e;this._showPrompt({title:i.errorWarningTitle,message:t(i.errorWarningMessageTemplate,{errorMessage:s.message}),context:"warning",actions:{primary:{label:i.retry,action:()=>{o(),this._clearPrompt()}},secondary:{label:i.ignore,action:()=>{a(),this._clearPrompt()}}}})}),l(()=>this.viewModel?.state,e=>{switch(e){case"awaiting-feature-to-update":case"ready":case"disabled":this._filterText="",this._featureTemplates.filterText=""}}),l(()=>this.viewModel.formDisabled,e=>{this._batchAttributeForm.readOnly=e,this._featureForm.disabled=e}),l(()=>this.visibleElements.sketch,()=>this._setupSketch(),c),l(()=>this.visibleElements.zoomToButton,e=>this._selectionList.visibleElements.zoomToButton=e,c),de({getLoading:()=>{const{viewModel:e}=this;return e.syncing||e.updating||this._attachments.submitting||this._updatingHandles.updating},setEffectiveLoading:e=>{this._loading=e}}),de({getLoading:()=>!this.viewModel.activeLeafWorkflow?.allowSave,setEffectiveLoading:e=>{this._disallowSave=e}})])}destroy(){this._associationItemList?.destroy(),this._associationSettings?.destroy(),this._selectionList.destroy(),this._selectionToolbar.destroy(),this._attachments.destroy(),this._batchAttributeForm.destroy(),this._featureForm.destroy(),this._featureTemplates.destroy(),this._spinner.destroy(),this._sketchToolbar=a(this._sketchToolbar),this._sketchImportAbortController=r(this._sketchImportAbortController)}loadDependencies(){return Promise.all([ae({flow:()=>import("@esri/calcite-components/dist/components/calcite-flow"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")}),V(),x(),B(),H(),R(),$(),J(),X(),ee()])}get _hasInvalidBatchSelection(){return this._hasSelectionWithUneditableFeatures||this._hasSelectionFromMultipleLayers||this._selectionCountExceedsMaximum||0===this._selectionList.visibleFeatureCount}get _hasSelectionFromMultipleLayers(){return this._selectionList.visibleLayerCount>1}get _hasSelectionWithUneditableFeatures(){const e=this.editorItems;return this._selectionList.visibleFeatureItems.some(t=>!U(e,t.layer))}get _deleteButtonCommonInfo(){return{appearance:"outline",kind:"danger"}}get _selectionCountExceedsMaximum(){const e=this._batchAttributeForm.maximumFeatureCount,{activeLayerItem:t,effectiveCount:i,filterText:s,visibleFeatureCount:o}=this._selectionList;return null!=s&&""!==s?o>e:t?t.total>e:i>e}get _selectionListItemActionConfigs(){const{messages:e,visibleElements:t}=this,i=t?.mergeButton??!0;return[{label:e?.batchEditing?.editThisFeature,icon:"edit-attributes",type:"feature",hidden:({item:e})=>!U(this.editorItems,e.layer)?.editable,callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"update")},{label:e?.batchEditing.editTheseFeatures,icon:"edit-attributes",type:"layer",hidden:({item:e})=>!U(this.editorItems,e.layer)?.editable,callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"update")},{label:e?.batchEditing.mergeTheseFeatures,icon:"merge",type:"layer",hidden:!i||(({item:e})=>{if(!we(e))return!0;const t=U(this.editorItems,e.layer);return!t||(!t.editable||!t.supportsMergeFeaturesWorkflow||e.visibleTotal<2)}),callback:({item:e})=>this._onSelectionListMenuItemSelect(e,"merge")}]}get _visibleSelectionCount(){const{activeLayerItem:e,effectiveCount:t,filterText:i,visibleFeatureCount:s}=this._selectionList;return null!=i&&""!==i?s:e?e.total:t}get activeWorkflow(){return this.viewModel.activeWorkflow}get editorItems(){return this.viewModel.editorItems}get effectiveSelectionManager(){return this.viewModel.effectiveSelectionManager}get hideTemplatesForInactiveLayers(){return this.viewModel.hideTemplatesForInactiveLayers}set hideTemplatesForInactiveLayers(e){this.viewModel.hideTemplatesForInactiveLayers=e}get icon(){return"pencil"}set icon(e){this._overrideIfSome("icon",e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get selectionManager(){return this.viewModel.selectionManager}set selectionManager(e){this.viewModel.selectionManager=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get syncWithViewSelectionManager(){return this.syncViewSelection}set syncWithViewSelectionManager(e){this.syncViewSelection=e}get syncViewSelection(){return this.viewModel.syncViewSelection}set syncViewSelection(e){this.viewModel.syncViewSelection=e}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get valueOptions(){return this.viewModel.valueOptions}set valueOptions(e){this.viewModel.valueOptions=e}get useLegacyCreateTools(){return this.viewModel.useLegacyCreateTools}set useLegacyCreateTools(e){this.viewModel.useLegacyCreateTools=e}get formSystem(){return this.viewModel.formSystem}set formSystem(e){this.viewModel.formSystem=e}get isUsingLegacyCreateTools(){return this.viewModel.isUsingLegacyCreateTools}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}activateSelectionTool(e){return this.viewModel.activateSelectionTool(e)}cancelSelectionTool(){this.viewModel.cancelSelectionTool()}startCreateFeaturesWorkflowAtFeatureTypeSelection(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureTypeSelection(e)}startCreateFeaturesWorkflowAtFeatureCreation(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureCreation(e)}startCreateFeaturesWorkflowAtFeatureEdit(e){return this.viewModel.startCreateFeaturesWorkflowAtFeatureEdit(e)}startMergeFeaturesWorkflow(e,t={}){return this.viewModel.startMergeFeaturesWorkflow(e,t)}startSplitFeatureWorkflow(e,t={}){return this.viewModel.startSplitFeatureWorkflow(e,t)}async startUpdateFeaturesWorkflow(e){return this.viewModel.startUpdateFeaturesWorkflow(e)}startUpdateWorkflowAtFeatureSelection(){return this.viewModel.startUpdateWorkflowAtFeatureSelection()}startUpdateWorkflowAtMultipleFeatureSelection(e){return this.viewModel.startUpdateWorkflowAtMultipleFeatureSelection(e)}startUpdateWorkflowAtFeatureEdit(e){return this.viewModel.startUpdateWorkflowAtFeatureEdit(e)}startUpdateWorkflowWithActiveSelection(){return this.viewModel.startUpdateWorkflowWithActiveSelection()}deleteFeatureFromWorkflow(){return s(o.getLogger(this),"Editor.deleteFeatureFromWorkflow is deprecated. Use Editor.deleteFeatures instead.",{version:"4.33",replacement:"Editor.deleteFeatures",warnOnce:!0}),this.deleteFeatures()}async deleteFeatures(){await this.viewModel.deleteFeatures()}deleteAssociationFromWorkflow(){return this.viewModel.deleteAssociationFromWorkflow()}cancelWorkflow(e){return this.viewModel.cancelWorkflow(e)}render(){const{visibleElements:e,viewModel:t}=this,i=this.classes(E.base,re.widget,re.panel);if(!t)return ge("div",{class:i,key:"empty"});const{pageStack:s}=t,o=s.length-1,a=s.map((e,t)=>this._renderPage(e,t===o));return ge("div",{class:i,key:"base",ondragover:this._handleDragAndDrop,ondrop:this._handleDragAndDrop},e.flow?ge("calcite-flow",{inert:!!this._prompt,key:"flow"},a):a,this._prompt?ge(Q,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderPage(e,t){const i={selected:t};switch(e){case"disabled":break;case"ready":return this._renderReady(i);case"viewing-selection-list":return this._renderSelectionListPage(i);case"awaiting-feature-creation-info":return this._renderAwaitingFeatureCreationInfo(i);case"creating-features-upload-details":return this._renderUploadDetails(i);case"creating-features":return this._renderCreatingFeatures(i);case"editing-existing-feature":case"editing-features":case"editing-attributes":case"choosing-key-feature":return this._renderUpdateFeature(i);case"awaiting-update-feature-candidate":return this._renderFeatureList(i);case"adding-attachment":return this._renderAttachmentAdding(i);case"editing-attachment":return this._renderAttachmentEditing(i);case"viewing-associated-layers":case"viewing-associated-features":return this._renderViewAssociatedLayers(i);case"add-association-select-layer":case"add-association-select-feature":return this._renderSelectFeature(i);case"add-association-create-association":return this._renderAddAssociation(i);case"drawing-splitter-geometry":return this._renderDrawingSplitGeometry(i);case"reviewing-features":return this._renderReviewingSplitFeatures(i)}return ge("div",{key:"empty-page"})}_renderAwaitingFeatureCreationInfo(e){const{EditorPanel:t,messages:i}=this;return ge(t,{heading:i.selectTemplate,key:"templates-panel",...e},ge(z,{key:"feature-templates"},ge(q,null,this._renderFeatureTemplates())))}_renderUploadDetails(e){const{EditorPanel:t,activeWorkflow:i,messages:s}=this;if("create-features"!==i?.type)return null;const o=i.data.upload;return o?ge(t,{heading:s.createFeatures,key:"upload-details-panel",...e},ge(te,{helpMessage:this._helpMessage,messages:s,upload:o})):null}_renderCreatingFeatures(e){const{EditorPanel:t,activeWorkflow:i,messages:s,messagesCommon:o,headingLevel:a,viewModel:r}=this;if(!i)return null;const n="create-features"===i.type&&i.numPendingFeatures>0||"update"===i.type&&"create-features"===i?.activeWorkflow?.type&&i.activeWorkflow?.numPendingFeatures>0;return ge(t,{heading:s.createFeatures,key:"create-features-panel",...e},n?ge(Y,{disallowSave:this._disallowSave,editorViewModel:r,formWidget:this._batchAttributeForm,headingLevel:a,messages:s,messagesCommon:o,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,renderSketchToolbar:this._renderSketch,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}):ge(D,{helpMessage:this._helpMessage,noticeMessage:this._noticeMessage,renderSketchToolbar:this._renderSketch}))}_renderUpdateFeature(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this,r=a.activeFeatureCount>1?i.multiFeature.editPanelTitle:i.singleFeature.editPanelTitle;return ge(t,{heading:r,key:"update-feature-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onMerge:this._onMerge,onSave:this._onSave,onSplit:this._onSplit}))}_renderDrawingSplitGeometry(e){const{EditorPanel:t}=this;return ge(t,{heading:this.messages.splitFeature,key:"draw-split-geometry-panel",...e},ge(D,{helpMessage:this._helpMessage,noticeMessage:this._noticeMessage,renderSketchToolbar:this._renderSketch}))}_renderReviewingSplitFeatures(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this;return ge(t,{heading:i.splitFeature,key:"review-split-features-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,visibleElements:this.visibleElements,onSave:this._onSave}))}_getAssociationTypeTitle(e){const{messages:t}=this;if(!e)return t.singleFeature.editPanelTitle;if(e.title)return e.title;const{messagesFeature:i}=this;switch(e.type){case"attachment":return i.associationsAttachments;case"connectivity":return i.associationsConnectivity;case"structure":return i.associationsStructure;case"content":return i.associationsContents;case"container":return i.associationsContainer}}_getAddAssociationTypeTitle(e){const{messages:t}=this;if(!e)return t.singleFeature.editPanelTitle;const i=t.associations;switch(e.type){case"attachment":return i.addAttachment;case"connectivity":return i.addConnectivity;case"structure":return i.addStructure;case"content":return i.addContent;case"container":return i.addContainer}}async _initializeAssociationItemList(e){const t=(await(import("./FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js"))).default;this._associationItemList=new t({view:this.view,viewModel:e})}async _initializeAssociationSettings(){const e=new(0,(await(import("./FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationSettings.js"))).default);return this._associationSettings=e,e}_renderViewAssociatedLayers(e){const{EditorPanel:t,messages:i,messagesCommon:s,headingLevel:o,viewModel:a}=this,r=a.formViewModel?.activeAssociationType,n=this._getAssociationTypeTitle(r);return ge(t,{heading:n,key:"viewing-associated-layers-panel",...e},ge(Y,{disallowSave:this._disallowSave,editorViewModel:a,formWidget:this._batchAttributeForm,headingLevel:o,messages:i,messagesCommon:s,renderAttachments:this._renderAttachments,renderFeatureForm:this._featureForm?.render,renderSketchToolbar:this._renderSketch,visibleElements:this.visibleElements,onDelete:this._onDelete,onDeleteAssociation:this._onDeleteAssociation,onSave:this._onSave}))}_renderSelectFeature(e){const{_associationItemList:t,EditorPanel:i,viewModel:s,messagesCommon:o}=this,a=s.utilityNetworkAssociationAddAssociationViewModel,r=this._getAddAssociationTypeTitle(a?.associationType),n="ready"!==a?.state||this.viewModel.formDisabled;return t?ge(i,{heading:r,key:"add-association-select-feature",...e},ge(z,{key:"select-feature"},ge(q,null,t.render())),ge(N,{buttons:[t.filterOptionsVisible?{appearance:"solid",label:o.apply,disabled:n,onClick:()=>t.applyFilterOptions(),type:"button"}:void 0,{appearance:"outline",label:o.cancel,disabled:n,onClick:()=>{"update"===s.activeWorkflow?.type&&(a?.reset(),s.activeWorkflow.cancelActiveWorkflow())},type:"button"}]})):ge(i,{heading:r,key:"add-association-select-feature",...e})}async _setUpAssociationSettings(){const{viewModel:e}=this,t=this._associationSettings??await this._updatingHandles.addPromise(this._initializeAssociationSettings()),i=e.utilityNetworkAssociationAddAssociationViewModel,s="update"===e.activeWorkflow?.type?e.activeWorkflow:null,o=s?s.activeWorkflow:null,a="add-association"===o?.type?o.sourceFeatureItem:null,r=i?.selectedFeature,n=i?.association,l=i?.utilityNetwork;a&&r&&n&&l&&(t.sourceFeature=a,t.targetFeature=r,t.association=n,t.utilityNetwork=l)}_renderAddAssociation(e){const{_associationSettings:t,EditorPanel:i,viewModel:s,messagesCommon:o}=this;if(!t)return null;const a=s.utilityNetworkAssociationAddAssociationViewModel,r=this._getAddAssociationTypeTitle(a?.associationType),n="ready"!==a?.state;return ge(i,{heading:r,key:"add-association",...e},ge(z,{key:"add-association-content"},ge(q,null,t.render())),ge(N,{buttons:[{label:o.add,disabled:n||!a.canAddAssociation,onClick:()=>this._onSave(),type:"button"},{appearance:"outline",label:o.cancel,disabled:n,onClick:()=>{"update"===s.activeWorkflow?.type&&s.activeWorkflow.cancelActiveWorkflow()},type:"button"}]}))}_renderCustomTemplateGroupContent(e){const{messages:t,viewModel:i}=this,s=n(e.group.items,e=>i.itemHasInvalidFormTemplate(e)?t.formFieldCreateError:void 0);return s?ge(G,{kind:"warning",message:s}):null}_renderAttachmentAdding(e){const{EditorPanel:t,_attachments:i,messages:s,messagesCommon:o}=this;return ge(t,{heading:s.addAttachment,key:"attachment-adding-panel",...e},ge(z,{key:"attachments"},this._renderAttachments()),ge(N,{buttons:[{label:i.submitting?o.cancel:o.add,disabled:i.submitting||!i.selectedFile,onClick:this._onAttachmentAdd,type:"button"}]}))}_renderSelectionListPage(e){const{_hasSelectionFromMultipleLayers:i,_hasInvalidBatchSelection:s,_selectionCountExceedsMaximum:o,_selectionList:a,_visibleSelectionCount:r,messages:n,EditorPanel:l}=this,{batchUpdateActions:c}=this.visibleElements,{maxVisibleFeatureCountPerLayer:d}=a;return ge(l,{heading:n.widgetLabel,key:"selection-list-panel",...e},this.visibleElements.selectionToolbar?ge("div",{class:E.selectionToolbarContainer},this._renderSelectionToolbar()):void 0,ge(z,{key:"selection-list"},ge(q,null,this._renderSelectionList())),ge(N,{buttons:[c?{label:t(n.batchEditing.editCount,{count:r}),disabled:s,onClick:()=>this.startUpdateWorkflowWithActiveSelection(),type:"button"}:void 0],notice:c&&i?{text:n.batchEditing.selectOneLayer,icon:"information"}:c&&o?{text:t(this.messages.multiFeature.formFailedToLoadTooManyFeatures,{num:d}),icon:"information"}:void 0}))}_renderAttachmentEditing(e){const{EditorPanel:t,_attachments:i,activeWorkflow:s,messages:o,messagesCommon:a}=this;return s?ge(t,{heading:o.editAttachment,key:"attachment-editing-panel",...e},ge(z,{key:"attachments"},this._renderAttachments()),s.shouldAllowAttachmentEditing?ge(N,{buttons:[{label:a.update,disabled:i.submitting||!i.selectedFile,onClick:this._onAttachmentUpdate,type:"button"},{...this._deleteButtonCommonInfo,onClick:this._onAttachmentDelete,disabled:i.submitting,label:a.delete,type:"button"}]}):void 0):null}_renderReady(e){const{EditorPanel:t,messages:i,visibleElements:s}=this,o=this._helpMessage;return ge(t,{heading:i.widgetLabel,key:"landing-panel",...e},ge(z,{key:"landing-content"},this.editorItems.length?[s.editFeaturesSection?ge(q,{key:"edit-actions"},this._renderUpdateActions()):null,s.createFeaturesSection&&this.viewModel.canCreateVisible?ge(q,{key:"create-actions"},this._renderCreateActions()):null]:ge(K,{key:"no-content"},i.noEditableLayers)),o?ge("div",{class:E.helpMessage,key:"footer-actions",slot:"footer"},o):void 0)}_handleDragAndDrop(e){e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="none")}get _helpMessage(){return this.getHelpMessageString(this.activeWorkflow?.helpMessage)}get _noticeMessage(){return this.getHelpMessageString(this.activeWorkflow?.noticeMessage)}_renderUpdateActions(){const{messages:e,messagesCommon:t,viewModel:i}=this,s={id:"select",label:t.select};return ge("div",{class:E.updateActions,key:"update-actions"},ge(le,{level:ne(this.headingLevel)},e.editFeatures),this.visibleElements.selectionToolbar?ge("div",{class:E.selectionToolbarContainer},this._renderSelectionToolbar()):ge("calcite-list",{class:E.updateActionsList,label:e.editFeaturesList,selectionAppearance:"border",selectionMode:"single"},ce({disabled:!i.canUpdateVisible,grouped:!1,item:s,selectedItem:"awaiting-feature-to-update"===i.activeWorkflow?.stepId?s:void 0,renderIcon:this._renderSelectIcon,onItemSelect:this._onToggleUpdateWorkflow})))}_renderCreateActions(){return ge("div",{key:"create-actions"},ge(le,{level:ne(this.headingLevel)},this.messages.createFeatures),ge("div",{class:E.featureTemplatesContainer,key:"templates"},this._renderFeatureTemplates()))}_renderFeatureList(e){const{EditorPanel:i,viewModel:s}=this,{activeWorkflow:o}=s;if("update"!==o?.type)return null;const a=o.data.candidates,r=t(this.messages.multipleFeaturesTemplate,{total:a.length});return ge(i,{heading:r,key:"feature-list",...e},ge(O,{editorItems:this.editorItems,editorMessages:this.messages,filterText:this._filterText,id:this.id,messagesTemplates:this.messagesTemplates,workflow:o,onFilterTextChange:e=>this._filterText=e,onSelectFeature:(e,t)=>s.selectFeature(e,t),onZoomTo:e=>s.zoomTo(e)}))}_showPromptAndWait({title:e,message:t,yesLabel:i,noLabel:s}){const o=Promise.withResolvers(),{view:a}=this,r=a?.focused;return this._showPrompt({title:e,message:t,context:"danger",actions:{primary:{label:i,action:()=>o.resolve(!0)},secondary:{label:s,action:()=>o.resolve(!1)}}}),o.promise.finally(()=>{this._clearPrompt(),r&&a?.focus()})}async _onSelectionListItemSelect(e){await this.viewModel.onSelectionListItemSelect(e)}async _onSelectionListMenuItemSelect(e,t){await this.viewModel.onSelectionListMenuItemSelect(e,t)}async _setupSketch(){if(!!!this.visibleElements.sketch)return this._sketchImportAbortController=r(this._sketchImportAbortController),this._sketchToolbar=a(this._sketchToolbar),void this.removeHandles(fe);if(this._sketchImportAbortController)return;const e=new AbortController;this._sketchImportAbortController=e;const t=await(import("./Sketch.js"));if(!e.signal.aborted)try{this._sketchToolbar=new t.default({toolbarKind:"docked",contextualToolLocation:"inline-end",scale:"s",suppressDeprecationWarning:!0,visibleElements:new oe({deleteButton:!1,settingsMenu:!1,directionModePicker:!1,selectionCountLabel:!1,duplicateButton:!1,singlePluginBackButton:!1,createTools:new ie({freehandPolygon:!0,freehandPolyline:!0}),selectionTools:new se({"lasso-selection":!1,"rectangle-selection":!1}),geometrySimplificationActivityIndicator:!1})}),this.addHandles([l(()=>{const e=this.viewModel.activeLeafWorkflow;return e&&"availableCreateTools"in e?e.availableCreateTools:null},e=>{this._sketchToolbar&&(this._sketchToolbar.availableCreateTools=e)},c),l(()=>this.visibleElements.undoRedoButtons,e=>{this._sketchToolbar&&(this._sketchToolbar.visibleElements.undoRedoMenu=e)},c),h(()=>this.viewModel?.sketchViewModel,e=>{this._sketchToolbar&&(this._sketchToolbar.viewModel=e)},c),h(()=>this.viewModel.sketchViewModel?.pluginManager,e=>{e.sketch=this._sketchToolbar},c)],fe)}finally{this._sketchImportAbortController=null}}getHelpMessageString(e){const{messages:t,view:i}=this;return e?t["3d"===i?.type?"helpMessages3d":"helpMessages2d"]?.[e]:void 0}get test(){return{sketch:this._sketchToolbar,showPrompt:this._showPromptAndWait.bind(this)}}};e([p()],ye.prototype,"_batchAttributeForm",void 0),e([p()],ye.prototype,"_featureForm",void 0),e([p()],ye.prototype,"_sketchToolbar",void 0),e([p()],ye.prototype,"_attachments",void 0),e([p()],ye.prototype,"_associationItemList",void 0),e([p()],ye.prototype,"_associationSettings",void 0),e([p()],ye.prototype,"_featureTemplates",void 0),e([p()],ye.prototype,"_filterText",void 0),e([p()],ye.prototype,"_hasInvalidBatchSelection",null),e([p()],ye.prototype,"_hasSelectionFromMultipleLayers",null),e([p()],ye.prototype,"_hasSelectionWithUneditableFeatures",null),e([p()],ye.prototype,"_prompt",void 0),e([p()],ye.prototype,"_spinner",void 0),e([p()],ye.prototype,"_deleteButtonCommonInfo",null),e([p()],ye.prototype,"_loading",void 0),e([p()],ye.prototype,"_disallowSave",void 0),e([p()],ye.prototype,"_selectionCountExceedsMaximum",null),e([p()],ye.prototype,"_selectionList",void 0),e([p()],ye.prototype,"_selectionListItemActionConfigs",null),e([p()],ye.prototype,"_selectionToolbar",void 0),e([p()],ye.prototype,"_visibleSelectionCount",null),e([p({readOnly:!0})],ye.prototype,"activeWorkflow",null),e([p()],ye.prototype,"editorItems",null),e([p()],ye.prototype,"effectiveSelectionManager",null),e([p()],ye.prototype,"headingLevel",void 0),e([p()],ye.prototype,"hideTemplatesForInactiveLayers",null),e([p()],ye.prototype,"icon",null),e([p()],ye.prototype,"label",null),e([p({type:w})],ye.prototype,"labelOptions",null),e([p()],ye.prototype,"layerInfos",null),e([p(),pe("esri/widgets/Editor/t9n/Editor")],ye.prototype,"messages",void 0),e([p(),pe("esri/t9n/common")],ye.prototype,"messagesCommon",void 0),e([p(),pe("esri/widgets/FeatureTemplates/t9n/FeatureTemplates")],ye.prototype,"messagesTemplates",void 0),e([p(),pe("esri/widgets/Feature/t9n/Feature")],ye.prototype,"messagesFeature",void 0),e([p()],ye.prototype,"selectionManager",null),e([p({type:f})],ye.prototype,"snappingOptions",null),e([p()],ye.prototype,"syncWithViewSelectionManager",null),e([p()],ye.prototype,"syncViewSelection",null),e([p({type:v})],ye.prototype,"tooltipOptions",null),e([p()],ye.prototype,"supportingWidgetDefaults",void 0),e([p({type:_,nonNullable:!0})],ye.prototype,"valueOptions",null),e([p({value:!1})],ye.prototype,"useLegacyCreateTools",null),e([p()],ye.prototype,"formSystem",null),e([p()],ye.prototype,"isUsingLegacyCreateTools",null),e([p()],ye.prototype,"view",null),e([p({type:W}),ue(["sketch-create","sketch-delete","sketch-update","workflow-cancel","workflow-commit"])],ye.prototype,"viewModel",void 0),e([p({type:I,nonNullable:!0})],ye.prototype,"visibleElements",void 0),e([p()],ye.prototype,"_helpMessage",null),e([p()],ye.prototype,"_noticeMessage",null),ye=e([u("esri.widgets.Editor")],ye);const be=ye;export{be as default};
@@ -75,6 +75,7 @@ export interface FeatureFormProperties extends WidgetProperties, Partial<Pick<Fe
75
75
  visibleElements?: VisibleElementsProperties;
76
76
  }
77
77
 
78
+ /** @deprecated since version 5.0. Use the [Feature Form](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-feature-form/) component instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). */
78
79
  export interface FeatureFormEvents extends FeatureFormViewModelEvents {}
79
80
 
80
81
  /**
@@ -33,7 +33,7 @@ import type { ExtentProperties } from "../../geometry/Extent.js";
33
33
  import type { TableTemplateProperties } from "./support/TableTemplate.js";
34
34
  import type { TimeExtentProperties } from "../../time/TimeExtent.js";
35
35
 
36
- export interface FeatureTableViewModelProperties extends GridViewModelProperties, Partial<Pick<FeatureTableViewModel, "actionColumnConfig" | "attachmentsEnabled" | "autoRefreshEnabled" | "autoSaveEnabled" | "columnPerformanceModeEnabled" | "columnReorderingEnabled" | "definitionExpression" | "editingEnabled" | "filterByLayerScaleRange" | "filterBySelectionEnabled" | "filterByViewExtent" | "highlightEnabled" | "initialSize" | "layer" | "layers" | "maxSize" | "menuConfig" | "multipleSelectionEnabled" | "multipleSortPriority" | "multiSortEnabled" | "outFields" | "pageIndex" | "pageSize" | "paginationEnabled" | "relatedRecordsEnabled" | "returnGeometryEnabled" | "returnMEnabled" | "returnZEnabled" | "selectionManager" | "syncTemplateOnChangesEnabled" | "syncViewSelection" | "tableController" | "tableParent" | "timeZone" | "view">> {
36
+ export interface FeatureTableViewModelProperties extends GridViewModelProperties, Partial<Pick<FeatureTableViewModel, "actionColumnConfig" | "attachmentsEnabled" | "autoRefreshEnabled" | "autoSaveEnabled" | "columnPerformanceModeEnabled" | "columnReorderingEnabled" | "definitionExpression" | "editingEnabled" | "filterByLayerScaleRange" | "filterBySelectionEnabled" | "filterByViewExtent" | "highlightEnabled" | "initialSize" | "layer" | "layers" | "maxSize" | "menuConfig" | "multipleSelectionEnabled" | "multipleSortPriority" | "multiSortEnabled" | "outFields" | "pageIndex" | "pageSize" | "paginationEnabled" | "relatedRecordsEnabled" | "returnGeometryEnabled" | "returnMEnabled" | "returnZEnabled" | "selectionManager" | "syncTemplateOnChangesEnabled" | "syncViewSelection" | "tableController" | "tableParent" | "timeZone" | "view" | "viewTimeEnabled">> {
37
37
  /**
38
38
  * Use this property to configure how columns display within the table in regard to visibility, column order, and sorting.
39
39
  *
@@ -402,6 +402,12 @@ export default class FeatureTableViewModel extends GridViewModel {
402
402
  * @since 5.0
403
403
  */
404
404
  accessor autoSaveEnabled: boolean;
405
+ /**
406
+ * Indicates the number of pages currently cached in the store.
407
+ *
408
+ * @internal
409
+ */
410
+ get cachedPageCount(): number;
405
411
  /**
406
412
  * Indicates whether the table supports adding a related record based on the current relationship
407
413
  * configuration. This accounts for whether table is currently configured to show related features.
@@ -489,6 +495,18 @@ export default class FeatureTableViewModel extends GridViewModel {
489
495
  * @since 4.31
490
496
  */
491
497
  get effectiveSize(): number;
498
+ /**
499
+ * The 'effective' [TimeExtent](https://developers.arcgis.com/javascript/latest/references/core/time/TimeExtent/) used to filter and display data.
500
+ *
501
+ * @internal
502
+ */
503
+ get effectiveTimeExtent(): TimeExtent | null | undefined;
504
+ /**
505
+ * The 'effective' where clause used by data queries.
506
+ *
507
+ * @internal
508
+ */
509
+ get effectiveWhere(): string | null | undefined;
492
510
  /**
493
511
  * A flattened array of all [field columns](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTable/FieldColumn/) within the table, including nested columns.
494
512
  *
@@ -1076,6 +1094,16 @@ export default class FeatureTableViewModel extends GridViewModel {
1076
1094
  * the select/highlight in the map to work.
1077
1095
  */
1078
1096
  accessor view: MapViewOrSceneView | LinkChartView | null | undefined;
1097
+ /**
1098
+ * Controls time extent filtering behavior for the table. When `true`, the table's time extent will be derived from the intersection of the
1099
+ * view and layer's time extent. When `false`, only the layer's time extent will be considered.
1100
+ *
1101
+ * When [timeExtent](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureTable/FeatureTableViewModel/#timeExtent) is defined, only that time extent will be used and this property will be ignored.
1102
+ *
1103
+ * @default false
1104
+ * @since 5.2
1105
+ */
1106
+ accessor viewTimeEnabled: boolean;
1079
1107
  /**
1080
1108
  * A flattened array of all top-level visible columns. Take note that this does not include nested columns.
1081
1109
  *
@@ -1144,6 +1172,14 @@ export default class FeatureTableViewModel extends GridViewModel {
1144
1172
  * @since 4.31
1145
1173
  */
1146
1174
  exportSelectionToCSV(includeGeometry?: boolean): Promise<void>;
1175
+ /**
1176
+ * Returns cached features for a specific page index.
1177
+ *
1178
+ * @param pageIndex - The index of the page for which to retrieve cached features.
1179
+ * @returns An array of FeatureStoreItem objects representing the cached features for the specified page, or undefined if no cached features are found for that page.
1180
+ * @internal
1181
+ */
1182
+ getCachedFeaturesByPageIndex(pageIndex: number): FeatureStoreItem[] | undefined;
1147
1183
  /**
1148
1184
  * Returns information about the feature with the provided object ID.
1149
1185
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{onLocaleChange as t,substitute as i,fetchMessageBundle as s}from"../../intl.js";import{isSome as n}from"../../core/arrayUtils.js";import l from"../../core/Collection.js";import{referenceSetter as r}from"../../core/collectionUtils.js";import o from"../../core/Error.js";import a from"../../core/Logger.js";import{debounce as d,ignoreAbortErrors as h}from"../../core/promiseUtils.js";import{watch as m,initial as c,on as p,syncAndInitial as u}from"../../core/reactiveUtils.js";import{throttle as g}from"../../core/throttle.js";import{property as b,subclass as f}from"../../core/accessorSupport/decorators.js";import{getEffectiveFieldAlias as y}from"../../editing/fieldUtils.js";import{geometryTypes as T}from"../../geometry/support/typeUtils.js";import{getLowerCaseDefaultHiddenFields as w}from"../../layers/support/fieldUtils.js";import{getSubtypesFromLayer as C,isSubtypeGroupLayer as I}from"../../layers/support/layerUtils.js";import{createFieldInfos as v}from"../../support/popupUtils.js";import _ from"../../tables/AttributeTableTemplate.js";import{syncAttributeTableTemplateWithColumns as E}from"../../tables/support/templateUtils.js";import S from"../../time/TimeExtent.js";import{isSelectableLayerWithObjectIds as A}from"../../views/support/selectionUtils.js";import F from"./ActionColumn.js";import j from"./AttachmentsColumn.js";import x from"./FieldColumn.js";import R from"./RelationshipColumn.js";import O from"./Grid/Column.js";import P from"./Grid/Grid.js";import U from"./Grid/GridViewModel.js";import V from"./Grid/GroupColumn.js";import z from"./support/AttachmentsColumnTemplate.js";import W from"./support/AttachmentsViewOptions.js";import{isAttachmentsColumn as B,isFieldColumn as L,isRelationshipColumn as G}from"./support/columnUtils.js";import{downloadAttachmentInfo as M,exportToCSV as N}from"./support/exportUtils.js";import k from"./support/FeatureStore.js";import D from"./support/FieldColumnTemplate.js";import H from"./support/RelationshipColumnTemplate.js";import $ from"./support/TableTemplate.js";import{isIFeatureTableSupportedLayerWithFieldConfigurations as Z,isIFeatureTableSupportedLayerWithRelationships as q,findRelatedLayerInSources as Q,findRelationship as J,uniqueColumnNames as K,hasColumnForField as X,findField as Y,isIFeatureTableSupportedLayerWithAttachments as ee,getRelationshipIdsToShow as te}from"./support/tableUtils.js";import{goTo as ie}from"../support/goToUtils.js";import{messageBundle as se}from"../support/widget.js";const ne="80px";let le=class extends U{constructor(e){super(e),this._refreshDebounced=d(()=>this._refresh()),this._syncTemplateThrottled=g(()=>this._syncAttributeTableTemplate()),this.attachmentsViewOptions=new W,this.attributeTableTemplate=null,this.autoRefreshEnabled=!0,this.columns=new l,this.dataProvider=async(e,t)=>{const{layer:i,store:s}=this;if(!t)return;if(!i||!s)return void(t&&t([]));try{await i.load()}catch{return}const{objectIds:n}=this;if(this.filterBySelectionEnabled&&!this.highlightIds.length||1===n.length&&-1===n.items[0])return void t([]);if("loaded"!==s.state&&"loading"!==s.state)try{await s.load()}catch{return}const l=this.paginationEnabled?this.pageIndex:e.page;try{const i=await s.queryPage({...e,pageIndex:l});t?.(i)}catch{return}},this.grid=null,this.layers=null,this.menuConfig=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.messagesURIUtils=null,this.prompt=null,this.relatedTables=new l,this.relationshipColumnConfigs=null,this.showRelatedTableCallback=null,this.store=null,this.syncTemplateOnChangesEnabled=!0,this.tableController=null,this.tableParent=null,this.tableTemplate=null,this.tableTemplateOverride=null,this._onLayerRefresh=this._onLayerRefresh.bind(this),this._onShowPromptCallback=this._onShowPromptCallback.bind(this),this._set("store",new k),this._set("grid",new P({viewModel:this}))}initialize(){const e=async()=>{this.messages=await s("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await s("esri/t9n/common"),this.messagesUnits=await s("esri/core/t9n/Units"),this.messagesURIUtils=await s("esri/widgets/support/t9n/uriUtils")};e(),this.addHandles([t(()=>{e(),this._generateColumns()}),m(()=>[this.messages,this.messagesCommon,this.messagesURIUtils],()=>{const e=this.messages;this.grid&&(this.grid.messages=e),this.allColumns.forEach(t=>{t.messages=e,t.messagesCommon=this.messagesCommon,t.messagesURIUtils=this.messagesURIUtils}),this.refreshCellContent()},c),m(()=>this.attachmentsEnabled,()=>this.layer?.loaded&&this._generateColumns()),m(()=>this.layer,async(e,t)=>{const i=this.grid;i&&(i.clearSort(),e&&t&&await this.reset()),this.goToPage(0),this._drainColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad().catch(()=>{}):e.load().catch(()=>{})),this.syncViewSelection&&this._syncSelection(),t&&null!=this.attachmentsViewOptions.objectId&&(this.attachmentsViewOptions.objectId=null)}),m(()=>this.layer?.loaded,e=>{e&&this._onLayerLoad().catch(()=>{})}),m(()=>this.store.state,e=>{"loaded"===e&&(this.scrollToTop(),this.refreshCellContent())}),m(()=>this._effectiveTableTemplate,()=>{this.scrollLeft(),this.layer?.loaded&&this._generateColumns()}),m(()=>this.editingEnabled,()=>this.refreshCellContent()),m(()=>this.timeZone??this.view?.timeZone,()=>this.refreshCellContent()),m(()=>this.store.effectiveWhere,()=>{"loaded"===this.store.state&&this.reset().catch(()=>{})}),m(()=>this.layer?.timeExtent,(e,t)=>(e||t)&&!this.timeExtent&&"loaded"===this.store.state&&this.reset().catch(()=>{})),p(()=>this.layer,"refresh",e=>this._onLayerRefresh(e)),p(()=>this.grid,["cell-click","cell-dblclick","cell-pointerover","cell-pointerout","cell-keydown","column-reorder"],({index:e,item:t,native:i,path:s,type:n})=>{const l=t?.feature,r=l?.getObjectId(),o="cell-keydown"===n&&i&&i instanceof KeyboardEvent&&"Enter"===i.key;this.emit(n,{feature:l,index:e,native:i,type:n,fieldName:s??void 0,objectId:r}),(o||"cell-click"===n)&&this._onCellInteraction(r)}),m(()=>this.actionColumnConfig,e=>{const{actionColumn:t,columns:i}=this;t?e?t.set(e):i.remove(t):e&&i.length&&i.add(this._generateActionColumn(),!1!==e.frozenToEnd?void 0:this._getIndexOfFirstFrozenToEndColumn())}),m(()=>this.relatedRecordsEnabled,()=>this.layer?.loaded&&this._generateColumns()),p(()=>this.objectIds,"change",()=>this._onObjectIdsChange(),{onListenerAdd:()=>this._onObjectIdsChange()}),m(()=>[this.paginationEnabled,this.pageIndex],()=>this.refreshPageCache()),m(()=>this.activeSortOrders,e=>{this.store.sortOrders=e,this._syncTemplateThrottled()}),m(()=>this.allVisibleColumns,()=>this._syncTemplateThrottled()),m(()=>this.pageCount,()=>{this.pageIndex>=this.pageCount&&this.goToPage(0)}),m(()=>this.state,e=>{"disabled"===e&&this.relatedTables.length&&this.drainRelatedTables()}),p(()=>this.tableParent?.highlightIds,"change",({added:e})=>{const{relationshipConfig:t}=this,i=e[0];if(null==i||!t)return;const{relatedLayer:s,relationshipId:n}=t;this.relationshipConfig={objectId:i,relatedLayer:s,relationshipId:n}}),p(()=>this.tableParent,"cell-click",async e=>{const{objectId:t}=e;this.tableController&&this.hasPendingEdits?await this.tableController.discardPendingEdits(void 0,!0).then(e=>e&&this._syncTableParentSelection(t)):this._syncTableParentSelection(t)}),m(()=>this.attachmentsViewOptions.objectId,(e,t)=>{null!=e?null==t&&this.showAttachmentsView({objectId:e}):this.hideAttachmentsView()}),m(()=>[this.layerFieldConfigurations,this.pendingEditsCount],()=>this.refreshCellContent()),p(()=>this.highlightIds,"change",e=>this._onHighlightIdsChange(e),{onListenerAdd:()=>this._syncSelection(),onListenerRemove:()=>this.defaultSelectionManager.clear()}),m(()=>this.effectiveSelectionManager,()=>this._syncSelection(),u),p(()=>this.effectiveSelectionManager,"selection-change",()=>this._syncSelection(),u)])}destroy(){this._drainColumns(),this.grid?.destroy(),this.columns.destroyed||this.columns.destroy(),this.layer=null,this.view=null}get _defaultHiddenFields(){return w(this.layer)}get _effectiveTableTemplate(){return this.tableTemplateOverride||this.tableTemplate}get _effectiveAttributeTableTemplate(){return this.attributeTableTemplate||this.layer?.attributeTableTemplate}get _subtypes(){return C(this.layer)}get actionColumn(){return super.actionColumn}get activeFilters(){const{filterGeometry:e,objectIds:t,filterBySelectionEnabled:i,highlightIds:s}=this,n=new l;return e&&n.push({type:"geometry",geometry:e}),i?n.push({type:"selection",objectIds:s.toArray()}):t.length&&n.push({type:"objectId",objectIds:t.toArray()}),n}get activeSortOrders(){return this.grid?.sortOrders?this.grid.sortOrders.map(({path:e,direction:t})=>({fieldName:e,direction:t})).filter(e=>e.fieldName&&e.direction):[]}get allColumns(){return super.allColumns}get allRelatedTablesVisible(){return!!(this.relatedRecordsEnabled&&this.relatedTables.length&&this.showAllRelatedTables)}get allVisibleColumns(){return super.allVisibleColumns}get attachmentsColumns(){return this.allColumns.filter(e=>B(e))}get attachmentsEnabled(){return this.store.attachmentsEnabled}set attachmentsEnabled(e){this.store.attachmentsEnabled=e}get autoSaveEnabled(){return this.store.autoSaveEnabled}set autoSaveEnabled(e){this.store.autoSaveEnabled=e}get canAddRelatedFeature(){return this.store.canAddRelatedFeature}get clearPrompt(){return()=>this.prompt=null}set clearPrompt(e){this._overrideIfSome("clearPrompt",e)}get defaultSelectionManager(){return this.store.defaultSelectionManager}get definitionExpression(){return this.store.where}set definitionExpression(e){this.store.where=e}get editingEnabled(){return super.editingEnabled}set editingEnabled(e){super.editingEnabled=e}get effectiveSelectionManager(){return this.store.effectiveSelectionManager}get effectiveMultipleSelectionEnabled(){return super.effectiveMultipleSelectionEnabled}get effectiveSize(){return super.effectiveSize}get fieldColumns(){return this.allColumns.filter(e=>L(e))}get filterByViewExtent(){return this.store.filterByViewExtent}set filterByViewExtent(e){this.store.filterByViewExtent=e}get filterByLayerScaleRange(){return this.store.filterByLayerScaleRange}set filterByLayerScaleRange(e){this.store.filterByLayerScaleRange=e}get filterGeometry(){return this.store.filterGeometry}set filterGeometry(e){this.store.filterGeometry=e}get filterBySelectionEnabled(){return!!this._get("filterBySelectionEnabled")}set filterBySelectionEnabled(e){const{objectIds:t}=this,i=t.length;e?(i&&(t.removeAll(),this._logWarning("Selection filter has been applied with an objectID filter. Object ID filter has been removed.")),this.filterGeometry&&this._logWarning("Selection filter has been applied with a geometry filter. Results may appear inconsistent"),this._syncObjectIdsWithStore(this.highlightIds.toArray())):i||this._syncObjectIdsWithStore(null),this._set("filterBySelectionEnabled",e)}get groupColumns(){return super.groupColumns}get hasContingentValues(){return this.relatedTableHasContingentValues||this.store.hasContingentValues}get hasInvalidPendingEdits(){return this.relatedTableHasInvalidPendingEdits||this.store.hasInvalidPendingEdits}get hasPendingEdits(){return this.relatedTableHasPendingEdits||this.store.hasPendingEdits}get hiddenFields(){return this._get("hiddenFields")??new l}set hiddenFields(e){this._set("hiddenFields",r(e,this._get("hiddenFields"),l))}get highlightEnabled(){return this.store.highlightEnabled}set highlightEnabled(e){this.store.highlightEnabled=e}get highlightIds(){return super.highlightIds}set highlightIds(e){super.highlightIds=e}get initialSize(){return this.store.initialSize}set initialSize(e){this.store.initialSize=e}get isEditing(){return super.isEditing}get isQuerying(){return super.isQuerying}get isSyncing(){return super.isSyncing}get isQueryingOrSyncing(){return this.isQuerying||this.isSyncing||this.relatedTables.some(e=>!!e.isQueryingOrSyncing)}get isSyncingAttachments(){return this.store.isSyncingAttachmentEdits||this.relatedTables.some(e=>!!e.isSyncingAttachments)}get layer(){return this._get("layer")}set layer(e){this.drainRelatedTables(),this._set("layer",e)}get layerFieldConfigurations(){const e=this.layer;return Z(e)?e.fieldConfigurations:void 0}get layerView(){return this.store.layerView}get maxSize(){return super.maxSize}set maxSize(e){super.maxSize=e}get objectIds(){return super.objectIds}set objectIds(e){super.objectIds=e}get outFields(){return this.store.outFields}set outFields(e){this.store.outFields=e}get pageCount(){return super.pageCount}get pageIndex(){return super.pageIndex}set pageIndex(e){super.pageIndex=e}get pageSize(){return super.pageSize}set pageSize(e){super.pageSize=e}get paginationEnabled(){return super.paginationEnabled}set paginationEnabled(e){super.paginationEnabled=e}get pendingEditsCount(){return this.store.pendingEditsCount}get relatedRecordsEnabled(){return this.store.relatedRecordsEnabled}set relatedRecordsEnabled(e){this.store.relatedRecordsEnabled=e}get relatedTable(){return this.relatedTables.at(-1)}get relatedTableHasContingentValues(){return!!this.relatedTable?.hasContingentValues}get relatedTableHasInvalidPendingEdits(){return!!this.relatedTable?.hasInvalidPendingEdits}get relatedTableHasPendingEdits(){return!!this.relatedTable?.hasPendingEdits}get relationship(){return this.store.relationship}get relationshipColumns(){return this.allColumns.filter(e=>G(e))}get relationshipConfig(){return this.store.relationshipConfig}set relationshipConfig(e){this.highlightIds.removeAll(),this.objectIds.removeAll(),this.filterBySelectionEnabled=!1,this.store.relationshipConfig=e}get relationshipInfos(){const{layer:e,layers:t,relationships:i,tableController:s}=this,n=this.store.relationshipInfos;if(n.length||!q(e)||!i?.length)return n;const l=[],r=s?.layers||t||[];return i.forEach(t=>{const i=Q(e,r,t);i&&(i.load().catch(()=>{}),l.push({layer:e,relatedLayer:i,relationshipId:t.id}))}),l}get relationships(){return this.store.relationships}get returnGeometryEnabled(){return this.store.returnGeometry}set returnGeometryEnabled(e){this.store.returnGeometry=e}get returnMEnabled(){return this.store.returnM}set returnMEnabled(e){this.store.returnM=e}get returnZEnabled(){return this.store.returnZ}set returnZEnabled(e){this.store.returnZ=e}get rowHighlightIds(){return super.rowHighlightIds}set rowHighlightIds(e){super.rowHighlightIds=e}get selectionManager(){return this.store.selectionManager}set selectionManager(e){this.store.selectionManager=e}get selectionSource(){return"table"}set selectionSource(e){this.syncViewSelection="view"===e,this._overrideIfSome("selectionSource",e)}get showAllRelatedTables(){return this._get("showAllRelatedTables")}set showAllRelatedTables(e){const{relatedTable:t}=this;this._set("showAllRelatedTables",e),t&&(e?this._showAllRelatedTables(t):this._hideAllRelatedTables(t))}get showPrompt(){return e=>{this.prompt?.cancel?.(),this.prompt=e}}set showPrompt(e){this._overrideIfSome("showPrompt",e)}get size(){return super.size}get state(){return super.state}get supportsAttachments(){return this.store.supportsAttachments}get supportsAddAttachments(){const{store:{supportsAddAttachments:e,supportsEditing:t}}=this;return this.editingEnabled&&t&&e}get supportsDeleteAttachments(){return this.supportsUpdateAttachments}get supportsResizeAttachments(){return this.store.supportsResizeAttachments}get supportsUpdateAttachments(){const{store:{supportsUpdateAttachments:e,supportsEditing:t}}=this;return this.editingEnabled&&t&&e}get syncViewSelection(){return this.store.syncViewSelection}set syncViewSelection(e){this.store.syncViewSelection=e}get timeExtent(){return this.store.timeExtent}set timeExtent(e){this.store.timeExtent=e}get timeZone(){return this.store.timeZone}set timeZone(e){this.store.timeZone=e}get view(){return this.store.view}set view(e){this.store.view=e,this.fieldColumns.forEach(t=>t.view=e),this.refreshCellContent()}get visibleColumns(){return super.visibleColumns}async addAttachment(e,t){const{attachmentsViewOptions:i,store:s}=this,n=i.objectId===e;await s.addAttachment(e,t).catch(e=>{n&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to add attachment. ${e.error.name} ${e.error.message}`),i.error=e.error)}),n&&!i.error&&(i.onEditComplete(),i.attachmentInfos=await s.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}addPendingEdits(e){this.store.addPendingEdits(e)}collapseRelatedTable(e,t){const{relatedLayer:i,objectId:s,relationshipId:n}=t,{objectIdField:r}=i,o=J(i,n),a=i.displayField||o?.keyField||r;e.set({highlightIds:new l([s]),multipleSelectionEnabledOverride:!1,tableTemplateOverride:this._getTableTemplateForRelatedTableView(e,a,n)});const d=e.hiddenFields;d.includes(K.action)||d.add(K.action),d.includes(K.attachments)||d.add(K.attachments),e.scrollLeft()}async deleteAttachments(e,t){const{attachmentsViewOptions:i,store:s}=this,n=i.objectId===e;await s.deleteAttachments(e,t).catch(e=>{n&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to delete attachment(s). ${e.error.name} ${e.error.message}`),i.error=e.error)}),n&&!i.error&&(i.onEditComplete(),i.attachmentInfos=await s.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}async deleteSelection(){const e=this.highlightIds.toArray();if(!e?.length)return;const{deleteFeatureResults:t}=await this.store.deleteRowsByObjectId(e),i=t.filter(e=>!e.error).map(e=>e.objectId);i.length&&(this.highlightIds.removeMany(i),await this.refresh())}async discardPendingEdits(e){return this.relatedTable&&this.relatedTableHasPendingEdits?this.relatedTable.discardPendingEdits(e):(this.store.discardPendingEdits(e),!0)}async downloadAttachmentById(e,t){const i=(await this.store.getAttachmentsByObjectId(e,!0)).find(e=>e.id===t);await M(i)}drainRelatedTables(){this.relatedTables.drain(e=>e.destroy()),this.set({multipleSelectionEnabledOverride:null,relationshipColumnConfigs:null,showAllRelatedTables:!1,tableTemplateOverride:null}),this.hiddenFields.removeMany([K.action,K.attachments])}drainRelatedTablesAboveIndex(e){const{relatedTables:t}=this,i=t.slice(e+1);t.removeMany(i).forEach(e=>e.destroy());const s=t.at(-1);s&&(s.attachmentsViewOptions.objectId=null,this.allRelatedTablesVisible?this._showAllRelatedTables(s):this._hideAllRelatedTables(s))}async exportSelectionToCSV(e){const{highlightIds:t,layer:i,outFields:s}=this;i&&t.length?await N({layer:i,objectIds:t.toArray(),outFields:s,includeGeometry:e}):this._logWarning("Export failed.")}getFeatureStoreItemByObjectId(e){return this.store.getItemByObjectId(e)}async getFeatureTitle(e,t){return this.store.getFeatureTitle(e,t)}getFeatureTitleSync(e){const t=this.layer;if(!t)return`${e}`;const i=`${t.objectIdField}: ${e}`;return null==e?i:this.store.featureTitleMap.get(e)??i}getObjectIdIndex(e){return this.store.getItemIndexByObjectId(e)}getValue(e,t){const i=this.getFeatureStoreItemByObjectId(e);return i?.feature?.attributes[t]}getVirtualPageIndex(){return this.grid?.getVirtualPageIndex()??0}goToPage(e){if(null==e||!Number.isInteger(e))return void this._logWarning("Invalid 'page' parameter provided to 'goToPage()'. Current page will remain the same.");const{pageCount:t}=this;(e>=t||-1===e)&&(e=t-1),e<-1&&(e=0),e!==this.pageIndex&&(this.pageIndex=e),this.paginationEnabled||this.scrollToIndex(e*this.pageSize)}hideAttachmentsView(){this.attachmentsViewOptions.objectId=null,this.set({relationshipColumnConfigs:null,multipleSelectionEnabledOverride:null,tableTemplateOverride:null}),this.hiddenFields.remove(K.action)}nextPage(){const e=this.paginationEnabled?this.pageIndex:this.getVirtualPageIndex();this.goToPage(e+1)}previousPage(){const e=this.paginationEnabled?this.pageIndex:this.getVirtualPageIndex();this.goToPage(e-1)}async refresh(){await Promise.all([...this.relatedTables.map(e=>e.refresh()),h(this._refreshDebounced())])}refreshCellContent(){this.grid?.requestContentUpdate()}refreshPageCache(){this.grid?.refreshPageCache()}async reset(){this.goToPage(0),await(this.grid?.reset())}async savePendingEdits(){!this.relatedTableHasPendingEdits||this.relatedTableHasInvalidPendingEdits?this.hasPendingEdits&&!this.relatedTable&&(await this.store.savePendingEdits(),await this.refresh()):await(this.relatedTable?.savePendingEdits())}scrollLeft(){this.grid?.scrollLeft(0)}scrollToBottom(){this.grid?.scrollToBottom()}scrollToIndex(e){this.grid?.scrollToIndex(e)}scrollToRow(e){const t=this.store.getItemIndexByObjectId(e);t>-1?this.grid?.scrollToIndex(t):this._logWarning("Row not found. Associated data may not be loaded yet.")}scrollToTop(){this.grid?.scrollToTop()}async saveAttachmentsViewForm(){const{attachmentId:e,form:t,objectId:i}=this.attachmentsViewOptions;null!=i&&t&&(null!=e?await this.updateAttachment(i,e,t):await this.addAttachment(i,t))}async showAttachmentsView({objectId:e}){const{attachmentsViewOptions:t,hiddenFields:i,layer:s}=this;if(!this.attachmentsEnabled||!s)return void this._logWarning("The 'attachmentsEnabled' property is currently false.");await s.load();const n=this._getDefaultLayerDisplayField(s),r=await this.store.getAttachmentsByObjectId(e,!0),o=this.store.getItemIndexByObjectId(e);t.set({attachmentInfos:r,mode:r.length?"list":"file",objectId:e}),this.set({highlightIds:new l([e]),multipleSelectionEnabledOverride:!1,relationshipColumnConfigs:[],tableTemplateOverride:this._getTableTemplateForAttachmentsView(n)}),i.includes(K.action)||i.add(K.action),null!=o&&this.scrollToIndex(o)}syncAttributeTableTemplate(){this._syncAttributeTableTemplate(!0)}syncSelectionSources(){this.store.syncSelectionSources()}async updateAttachment(e,t,i){const{attachmentsViewOptions:s,store:n}=this,l=s.objectId===e;await n.updateAttachment(e,t,i).catch(e=>{l&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to update attachment. ${e.error.name} ${e.error.message}`),s.error=e.error)}),l&&!s.error&&(s.onEditComplete(),s.attachmentInfos=await n.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}async zoomToSelection(){const{layer:e,view:t}=this,i=this.highlightIds.toArray();if(!e||!t||!i.length)return;const s=e.createQuery();s.objectIds=i,s.returnGeometry=!0;const n=await e.queryFeatures(s);try{await ie(t,n.features)}catch(l){"AbortError"!==l.name&&console.error(l)}}_syncAttributeTableTemplate(e=!1){const{_effectiveAttributeTableTemplate:t,layer:i,tableTemplateOverride:s,syncTemplateOnChangesEnabled:n}=this;if(!i||!t||!n&&!e||s||this.tableParent||this.relatedTable||null!==this.attachmentsViewOptions.objectId)return;const l=JSON.stringify(t.toJSON());E(t,this.columns.toArray(),this.activeSortOrders),t===i.attributeTableTemplate&&JSON.stringify(t.toJSON())!==l&&(i.attributeTableTemplate=t.clone())}async _refresh(){await super.refresh();const e=this.highlightIds.toArray();if(e.length){(await this.store.verifyFeaturesByObjectId(e)).forEach((t,i)=>{t||this.highlightIds.remove(e[i])})}this.refreshPageCache();const t=this.attachmentsViewOptions;null!=t?.objectId&&(t.attachmentInfos=await this.store.getAttachmentsByObjectId(t.objectId,!0))}async _onLayerLoad(){const{layer:e,pageSize:t}=this;if(!e)return;e.parent&&I(e.parent)&&await e.parent.loadAll();const i=e.capabilities.query?.maxRecordCount,s=i&&i<t,n=s?i:t;s&&(this._logWarning("The value for 'pageSize' has been adjusted due to the provided layer's max record count."),this.pageSize=n),this.grid?.set("pageSize",n),this.store.load().catch(()=>{}),this._generateColumns()}_onLayerRefresh(e){this.autoRefreshEnabled&&e.dataChanged&&this.refresh()}_generateColumns(){this._drainColumns();const{_effectiveTableTemplate:e,_effectiveAttributeTableTemplate:t,layer:i}=this,s=e?.columnTemplates;if(!i)return;const n=this._generateColumnsFromColumnTemplates(i,s)??this._generateColumnsFromAttributeTableTemplate(i,t)??this._generateDefaultFieldColumns(i);n.length&&(this.attachmentsEnabled&&!n.some(e=>B(e))&&n.push(this._generateDefaultAttachmentsColumn(i)),this.relatedRecordsEnabled&&this.relationshipInfos.length&&!n.some(e=>G(e))&&n.push(...this._generateDefaultRelationshipColumns()),this.actionColumnConfig&&n.push(this._generateActionColumn()),n.sort((e,t)=>e.frozen&&t.frozen||e.frozenToEnd&&t.frozenToEnd?0:e.frozen||t.frozenToEnd?-1:0),this.columns.addMany(n))}_generateColumnsFromAttributeTableTemplate(e,t){if(!t)return null;const{elements:i,orderByFields:s}=t,l=v(e),r=[];r.push(...this._generateColumnsFromAttributeTableElements(e,i,s));const o=l.map(t=>{if(!t.fieldName||X(t.fieldName,r))return null;const{fieldName:i}=t,n=Y(e,i);return n?this._generateDefaultFieldColumn(e,n,{hidden:!0,orderByFields:s}):(this._logTemplateWarning("A valid 'field' could not be found for the provided template."),null)}).filter(n);return r.push(...o),this.attachmentsEnabled&&ee(e)&&!r.some(e=>B(e))&&r.push(this._generateDefaultAttachmentsColumn(e,{hidden:!0})),this.relatedRecordsEnabled&&q(e)&&e.relationships?.forEach(({id:e},t)=>{const i=this.relationshipInfos.find(t=>t.relationshipId===e);i&&!r.some(t=>G(t)&&t.relationshipId===e)&&r.push(this._generateDefaultRelationshipColumn({hidden:!0,info:i,index:t}))}),r.length?r:null}_generateColumnsFromAttributeTableElements(e,t,i){return t?.map((t,s)=>{switch(t.type){case"field":return this._createFieldColumnFromElement({layer:e,element:t,orderByFields:i});case"group":return this._createGroupColumnFromElement({layer:e,element:t,orderByFields:i});case"attachment":return this._createAttachmentColumnFromElement({layer:e,element:t,index:s});case"relationship":return this._createRelationshipColumnFromElement({element:t,index:s})}}).filter(e=>!!e)??[]}_createFieldColumnFromElement(e){const{layer:t,element:i,orderByFields:s}=e,{fieldName:n}=i;if(null==n)return this._logTemplateWarning("A valid 'fieldName' must be provided."),null;const l=Y(t,n);if(!l)return this._logTemplateWarning("A valid 'field' could not be found for the provided template."),null;const{description:r,label:o}=i,a=s?.findIndex(({field:e})=>e&&e===n)??-1,d=a>-1?s?.at(a)?.order:void 0,h=a>-1?a:void 0,{grid:m,messages:c,messagesCommon:p,messagesURIUtils:u,store:g,view:b}=this;return new x({description:r,direction:d,field:l,fieldName:n,grid:m,initialSortPriority:h,label:o,layer:t,messages:c,messagesCommon:p,messagesURIUtils:u,store:g,view:b,onShowPromptCallback:this._onShowPromptCallback})}_createGroupColumnFromElement(e){const{layer:t,element:i,orderByFields:s}=e,{description:n,label:l}=i;if(!l)return this._logTemplateWarning("Group columns require a label."),null;if(!i.elements.length)return this._logTemplateWarning("Group columns require child columns."),null;const{grid:r,messages:o,messagesCommon:a,messagesURIUtils:d,store:h}=this;return new V({columns:this._generateColumnsFromAttributeTableElements(t,i.elements,s),description:n,grid:r,label:l,messages:o,messagesCommon:a,messagesURIUtils:d,store:h})}_createAttachmentColumnFromElement(e){if(!this.attachmentsEnabled)return void this._logTemplateWarning("The 'attachmentsEnabled' property is currently false.");const{layer:t,element:i,index:s}=e,{description:n,label:l}=i,{grid:r,messages:o,messagesCommon:a,messagesURIUtils:d,store:h}=this;return new j({description:n,fieldName:`${K.attachments}-${s}`,grid:r,label:l,layer:t,messages:o,messagesCommon:a,messagesURIUtils:d,store:h,onShowAttachments:e=>this._onShowAttachments(e)})}_createRelationshipColumnFromElement(e){if(!this.relatedRecordsEnabled)return void this._logTemplateWarning("Relationship columns require related records to be enabled on the table.");const{element:t,index:i}=e,{description:s,label:n,relationshipId:l}=t,r=this.relationshipInfos.find(e=>e.relationshipId===l);if(!r)return this._logTemplateWarning("Unable to find valid related layer target based on the provided relationship id."),null;const{grid:o,messages:a,messagesCommon:d,messagesURIUtils:h,store:m}=this;return new R({description:s,fieldName:`${K.relationship}-${l}-${i}`,grid:o,label:n,messages:a,messagesCommon:d,messagesURIUtils:h,relationshipId:l,store:m,layer:r.relatedLayer,relatedLayer:r.layer,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateColumnsFromColumnTemplates(e,t){const{grid:i,messages:s,messagesCommon:n,messagesURIUtils:l,store:r,view:o}=this;if(!t?.length)return null;const a=[];return t.forEach((t,d)=>{const{autoWidth:h,description:m,direction:c,flexGrow:p,fieldName:u,formatFunction:g,frozen:b,frozenToEnd:f,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,menuConfig:_,resizable:E,sortable:S,textAlign:A,textWrap:F,timeZone:j,type:R,width:P}=t;if(!R)return void this._logTemplateWarning("Property 'type' is missing from the provided template.");if(b&&f)return void this._logTemplateWarning("Properties 'frozen' and 'frozenToEnd' cannot both be true for the same column.");const U=!1===t.visible;if("group"===R){if(!t.columnTemplates?.length)return void this._logTemplateWarning("Group columns must contain column templates.");if(!t.label)return void this._logTemplateWarning("Group columns require a label.");const r=this._generateColumnsFromColumnTemplates(e,t.columnTemplates),o=U||this._isFieldHidden(t.label);a.push(new V({autoWidth:h,columns:r,description:m,flexGrow:p,frozen:b,frozenToEnd:f,grid:i,hidden:o,icon:y,iconText:T,invalid:C,label:I,labelTooltipText:v,menuConfig:_,messages:s,messagesCommon:n,messagesURIUtils:l,resizable:E,textAlign:A,textWrap:F,timeZone:j,width:P}))}else if("attachment"===R){if(!this.attachmentsEnabled)return void this._logTemplateWarning("Attachment columns require attachments to be enabled on the table.");a.push(this._generateAttachmentsColumnFromTemplate(e,t,d))}else if("relationship"===R){if(!this.relatedRecordsEnabled)return void this._logTemplateWarning("Relationship columns require related records to be enabled on the table.");const{relationshipId:e}=t;if(null==e)return void this._logTemplateWarning("Property 'relationshipId' is missing from the provided template.");const i=this.relationshipInfos.find(t=>t.relationshipId===e);if(!i)return void this._logTemplateWarning("Unable to find valid related layer target based on the provided relationship id.");a.push(this._generateRelationshipColumnFromTemplate(i,t,d))}else if(!u)return void this._logTemplateWarning("Value for 'fieldName' property was missing from the provided template.");const z=U||this._isFieldHidden(u);if("column"===R)a.push(new O({autoWidth:h,description:m,direction:c,fieldName:u,flexGrow:p,formatFunction:g,frozen:b,frozenToEnd:f,grid:i,hidden:z,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,menuConfig:_,messages:s,messagesCommon:n,messagesURIUtils:l,resizable:E,sortable:S,store:r,textAlign:A,textWrap:F,timeZone:j,width:P}));else if("field"===R){const d=Y(e,t.fieldName);if(!d)return void this._logTemplateWarning("A valid 'field' could not be found for the provided template.");const{editable:u,required:R}=t;a.push(new x({autoWidth:h,description:m,direction:c,editable:u,field:d,fieldName:d.name,flexGrow:p,formatFunction:g,frozen:b,frozenToEnd:f,grid:i,hidden:z,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,layer:e,messages:s,messagesCommon:n,messagesURIUtils:l,menuConfig:_,required:R,resizable:E,sortable:S,store:r,template:t,textAlign:A,textWrap:F,timeZone:j,width:P,view:o,onShowPromptCallback:this._onShowPromptCallback}))}}),a.length?a:null}_generateDefaultFieldColumns(e){return e.fields?.map(t=>this._generateDefaultFieldColumn(e,t)).filter(n)??[]}_generateDefaultFieldColumn(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o,view:a}=this;if(!t.visible||"geometry"===t.type)return null;const d=i?.orderByFields,h=t.name,m=d?.findIndex(({field:e})=>e&&e===h)??-1,c=m>-1?d?.at(m)?.order:void 0,p=m>-1?m:void 0;return new x({direction:c,field:t,fieldName:h,grid:s,hidden:i?.hidden||this._isFieldHidden(h),initialSortPriority:p,layer:e,messages:n,messagesCommon:l,messagesURIUtils:r,store:o,view:a,onShowPromptCallback:this._onShowPromptCallback})}_generateAttachmentsColumnFromTemplate(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o}=this,{attachmentsViewEnabled:a,autoWidth:d,description:h,flexGrow:m,fieldName:c,formatFunction:p,frozen:u,frozenToEnd:g,icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,resizable:I,textAlign:v,textWrap:_,thumbnailAppearance:E,thumbnailCount:S,thumbnailIconScale:A,thumbnailsEnabled:F,timeZone:x,width:R}=t;return new j({attachmentsViewEnabled:a,autoWidth:d,description:h,fieldName:`${K.attachments}-${i}`,flexGrow:m,formatFunction:p,frozen:u,frozenToEnd:g,grid:s,hidden:!1===t.visible||this._isFieldHidden(T)||this._isFieldHidden(c),icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,layer:e,menuConfig:C,messages:n,messagesCommon:l,messagesURIUtils:r,resizable:I,store:o,textAlign:v,textWrap:_,thumbnailAppearance:E,thumbnailCount:S,thumbnailIconScale:A,thumbnailsEnabled:F,timeZone:x,width:R,onShowAttachments:e=>this._onShowAttachments(e)})}_generateDefaultAttachmentsColumn(e,t){const{grid:i,messages:s,messagesCommon:n,messagesURIUtils:l,store:r}=this,o=K.attachments;return new j({fieldName:o,grid:i,hidden:t?.hidden||this._isFieldHidden(o),layer:e,messages:s,messagesCommon:n,messagesURIUtils:l,store:r,onShowAttachments:e=>this._onShowAttachments(e)})}_generateRelationshipColumnFromTemplate(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o}=this,{autoWidth:a,collapsed:d,description:h,flexGrow:m,fieldName:c,formatFunction:p,frozen:u,frozenToEnd:g,icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,relationshipId:I,resizable:v,textAlign:_,textWrap:E,timeZone:S,width:A}=t;return new R({autoWidth:a,collapsed:d,description:h,fieldName:`${K.relationship}-${I}-${i}`,flexGrow:m,formatFunction:p,frozen:u,frozenToEnd:g,grid:s,hidden:!1===t.visible||this._isFieldHidden(T)||this._isFieldHidden(c),icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,messages:n,messagesCommon:l,messagesURIUtils:r,relationshipId:I,resizable:v,store:o,textAlign:_,textWrap:E,timeZone:S,width:A,layer:e.relatedLayer,relatedLayer:e.layer,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateDefaultRelationshipColumns(){const{relationshipInfos:e,relationshipColumnConfigs:t}=this,i=[];return e?.length?(t?t.forEach((t,s)=>{const{relationshipId:n}=t,l=e.find(e=>e.relationshipId===n);l&&i.push(this._generateDefaultRelationshipColumn({config:t,index:s,info:l}))}):e.forEach((e,t)=>i.push(this._generateDefaultRelationshipColumn({index:t,info:e}))),i):i}_generateDefaultRelationshipColumn(e){const{config:t,hidden:i,index:s,info:n}=e,{grid:l,messages:r,messagesCommon:o,messagesURIUtils:a,store:d}=this,{relationshipId:h}=n;return new R({...t,fieldName:`${K.relationship}-${h}-${s}`,grid:l,hidden:!!i,messages:r,messagesCommon:o,messagesURIUtils:a,layer:n.relatedLayer,relatedLayer:n.layer,relationshipId:h,store:d,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateActionColumn(){const e=this.actionColumnConfig,t=!0!==e?.frozen&&(e?.frozenToEnd??!0);return new F({hidden:this._isFieldHidden(K.action),store:this.store,...e,frozenToEnd:t})}_isFieldHidden(e){const t=e?.toLowerCase();return(this.hiddenFields??this._defaultHiddenFields).some(e=>e.toLowerCase()===t)}_syncSelection(){const{layer:e}=this;A(e)?this.highlightIds.items=this.effectiveSelectionManager.getSelection(e)??[]:this.highlightIds.removeAll()}_addToSelection(e){const t=this.layer;A(t)&&this.effectiveSelectionManager.add(t,e)}_removeFromSelection(e){const t=this.layer;A(t)&&this.effectiveSelectionManager.remove(t,e)}async _onHighlightIdsChange(e){const{added:t,removed:i}=e,{attachmentsViewOptions:s}=this;if(this._removeFromSelection(i),this._addToSelection(t),this.filterBySelectionEnabled&&this._syncObjectIdsWithStore(this.highlightIds.toArray()),null!=s.objectId){const e=this.highlightIds.at(0);if(null!=e){const t=await this.store.getAttachmentsByObjectId(e,!0);s.set({attachmentInfos:t,objectId:e,mode:t.length?"list":"file"}),this.getFeatureTitle(e)}}}_syncTableParentSelection(e){const{tableParent:t}=this;t&&null!=e&&t.highlightIds.add(e)}_onShowRelatedTable(e){const{highlightIds:t}=this,{objectId:i}=e;t.removeAll(),t.add(i),this.showRelatedTableCallback?this.showRelatedTableCallback(e):this.emit("show-related-table",e)}_onObjectIdsChange(){const e=this.objectIds.toArray();e.length&&this.filterBySelectionEnabled&&(this.filterBySelectionEnabled=!1,this._logWarning("Object ID filter was applied while a selection filter was applied. Selection filter has been removed.")),this._syncObjectIdsWithStore(e)}_syncObjectIdsWithStore(e){this.store.objectIds=e,this.refreshPageCache()}_drainColumns(){this.columns.drain(e=>!e.destroyed&&e.destroy())}_showAllRelatedTables(e){const t=e.layer;if(!t)return;const i=this._getDefaultLayerDisplayField(t);e.set({relationshipColumnConfigs:[],tableTemplateOverride:this._getTableTemplateForShowAllTablesView(e,i)});const s=e.hiddenFields;s.includes(K.action)||s.add(K.action),s.includes(K.attachments)||s.add(K.attachments)}_hideAllRelatedTables(e){const{layer:t,relationship:i}=e;if(t&&null!=i?.id)if(null!=e.attachmentsViewOptions.objectId){const i=this._getDefaultLayerDisplayField(t);e.set({multipleSelectionEnabledOverride:!1,relationshipColumnConfigs:[],showAllRelatedTables:!1,tableTemplateOverride:this._getTableTemplateForAttachmentsView(i)})}else e.set({multipleSelectionEnabledOverride:null,relationshipColumnConfigs:te(t,i.id),showAllRelatedTables:!1,tableTemplateOverride:null}),e.hiddenFields.removeMany([K.action,K.attachments])}_getTableTemplateForRelatedTableView(e,t,i){return new $({columnTemplates:[new D({fieldName:t,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(e.viewModel).map(([s,n])=>({selected:s===t,label:n||s,clickFunction:()=>{e.tableTemplateOverride=this._getTableTemplateForRelatedTableView(e,s,i)}}))},resizable:!1}),new H({autoWidth:!1,collapsed:!0,flexGrow:0,label:"",resizable:!1,relationshipId:i,width:ne})]})}_getTableTemplateForShowAllTablesView(e,t){const i=[new D({fieldName:t,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(e.viewModel).map(([i,s])=>({selected:i===t,label:s||i,clickFunction:()=>{e.tableTemplateOverride=this._getTableTemplateForShowAllTablesView(e,i)}}))},resizable:!1})];return null!=e.attachmentsViewOptions.objectId&&i.push(new z({attachmentsViewEnabled:!1,autoWidth:!1,flexGrow:0,label:"",resizable:!1,thumbnailsEnabled:!1,width:ne})),new $({columnTemplates:i})}async _onShowPromptCallback(e){const{column:t,objectId:i,oldValue:s,value:n}=e,{_subtypes:l,layer:r}=this;if(!r||!l.length)return void t.cancel();const o=l.find(e=>e.code===n);if(!o)return void t.cancel();const a=Promise.withResolvers(),d=this._createSubtypeEditPrompt(s,o,a),h=!!r.parent&&this.autoSaveEnabled;try{this.showPrompt(d);const e=await a.promise,s=[{fieldName:t.fieldName,value:n}];switch(e){case"update-fields":for(const[e,t]of Object.entries(o.defaultValues))null!=t&&s.push({fieldName:e,value:t});await t.updateItems({objectId:i,updates:s}),h&&this.refresh();break;case"keep-existing":await t.updateItems({objectId:i,updates:s}),h&&this.refresh();break;case"undo":t.cancel()}}finally{this.clearPrompt()}}_createSubtypeEditPrompt(e,t,s){const{_subtypes:n,messages:l,messagesCommon:r}=this,o=n.find(t=>t.code===e)?.name??`${e}`;let a="update-fields";const d=[{label:l.subtypes.useDefaultValuesOption,value:"update-fields"},{label:l.subtypes.keepCurrentValuesOption,value:"keep-existing"}];return{context:"info",title:l.subtypes.changeWarningTitle,message:i(l.subtypes.changeWarning,{originalType:o,newType:t.name}),radios:d,defaultRadioSelection:"update-fields",onRadioSelection:e=>{a=e},actions:{primary:{label:r.apply,action:()=>s.resolve(a),type:"positive"},secondary:{label:r.cancel,type:"neutral",action:()=>s.resolve("undo")}},cancel:()=>s.reject()}}_onShowAttachments({objectId:e}){this.hasPendingEdits||(this.attachmentsViewOptions.objectId=e)}_getTableTemplateForAttachmentsView(e){return new $({columnTemplates:[new D({fieldName:e,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(this).map(([t,i])=>({selected:t===e,label:i||t,clickFunction:()=>{this.tableTemplateOverride=this._getTableTemplateForAttachmentsView(t)}}))},resizable:!1}),new z({attachmentsViewEnabled:!1,autoWidth:!1,flexGrow:0,label:"",resizable:!1,thumbnailsEnabled:!1,width:ne})]})}_extractFieldColumnInfosFromTableTemplate(e){const t=e??this,{layer:i,tableTemplate:s}=t;return s?s.columnTemplates.filter(({type:e})=>"field"===e||"column"===e).map(({fieldName:e,label:t})=>{if(null!=t&&""!==t)return[e,t];const s=i?.fieldsIndex.get(e);return[e,s&&y(s,i)]}):i?.fields.map(e=>[e.name,y(e,i)])??[]}_getDefaultLayerDisplayField(e){const{displayField:t,objectIdField:i}=e;return t&&""!==t.trim()?t:i||(e.fields.length?e.fields[0].name:"")}_getIndexOfFirstFrozenToEndColumn(){const e=this.columns.findIndex(e=>e.frozenToEnd);return e>-1?e:void 0}_logWarning(e,t){t?a.getLogger(this).warnOnce(e):a.getLogger(this).warn(e)}_logTemplateWarning(e){this._logWarning(`${e} Skipped generating a column using the provided template.`,!0)}_onCellInteraction(e){null!=e&&null!=this.attachmentsViewOptions.objectId&&this.highlightIds.add(e)}};e([b()],le.prototype,"_defaultHiddenFields",null),e([b()],le.prototype,"_effectiveTableTemplate",null),e([b()],le.prototype,"_effectiveAttributeTableTemplate",null),e([b()],le.prototype,"_subtypes",null),e([b()],le.prototype,"activeFilters",null),e([b({readOnly:!0})],le.prototype,"activeSortOrders",null),e([b()],le.prototype,"allRelatedTablesVisible",null),e([b()],le.prototype,"attachmentsColumns",null),e([b()],le.prototype,"attachmentsEnabled",null),e([b()],le.prototype,"attachmentsViewOptions",void 0),e([b({type:_})],le.prototype,"attributeTableTemplate",void 0),e([b()],le.prototype,"autoRefreshEnabled",void 0),e([b()],le.prototype,"autoSaveEnabled",null),e([b()],le.prototype,"canAddRelatedFeature",null),e([b()],le.prototype,"clearPrompt",null),e([b({readOnly:!0})],le.prototype,"columns",void 0),e([b()],le.prototype,"dataProvider",void 0),e([b()],le.prototype,"defaultSelectionManager",null),e([b()],le.prototype,"definitionExpression",null),e([b()],le.prototype,"effectiveSelectionManager",null),e([b()],le.prototype,"fieldColumns",null),e([b()],le.prototype,"filterByViewExtent",null),e([b()],le.prototype,"filterByLayerScaleRange",null),e([b({types:T})],le.prototype,"filterGeometry",null),e([b()],le.prototype,"filterBySelectionEnabled",null),e([b({readOnly:!0})],le.prototype,"grid",void 0),e([b()],le.prototype,"hasContingentValues",null),e([b()],le.prototype,"hasInvalidPendingEdits",null),e([b()],le.prototype,"hasPendingEdits",null),e([b()],le.prototype,"hiddenFields",null),e([b()],le.prototype,"highlightEnabled",null),e([b()],le.prototype,"initialSize",null),e([b()],le.prototype,"isQueryingOrSyncing",null),e([b()],le.prototype,"isSyncingAttachments",null),e([b()],le.prototype,"layer",null),e([b()],le.prototype,"layers",void 0),e([b()],le.prototype,"layerFieldConfigurations",null),e([b()],le.prototype,"layerView",null),e([b()],le.prototype,"menuConfig",void 0),e([b()],le.prototype,"messages",void 0),e([b(),se("esri/t9n/common")],le.prototype,"messagesCommon",void 0),e([b(),se("esri/core/t9n/Units")],le.prototype,"messagesUnits",void 0),e([b(),se("esri/widgets/support/t9n/uriUtils")],le.prototype,"messagesURIUtils",void 0),e([b()],le.prototype,"outFields",null),e([b()],le.prototype,"pendingEditsCount",null),e([b()],le.prototype,"prompt",void 0),e([b()],le.prototype,"relatedRecordsEnabled",null),e([b()],le.prototype,"relatedTable",null),e([b()],le.prototype,"relatedTableHasContingentValues",null),e([b()],le.prototype,"relatedTables",void 0),e([b()],le.prototype,"relationship",null),e([b()],le.prototype,"relationshipColumnConfigs",void 0),e([b()],le.prototype,"relationshipColumns",null),e([b()],le.prototype,"relationshipConfig",null),e([b()],le.prototype,"relationshipInfos",null),e([b()],le.prototype,"relationships",null),e([b()],le.prototype,"returnGeometryEnabled",null),e([b()],le.prototype,"returnMEnabled",null),e([b()],le.prototype,"returnZEnabled",null),e([b()],le.prototype,"selectionManager",null),e([b()],le.prototype,"selectionSource",null),e([b()],le.prototype,"showAllRelatedTables",null),e([b()],le.prototype,"showPrompt",null),e([b()],le.prototype,"showRelatedTableCallback",void 0),e([b({readOnly:!0,type:k})],le.prototype,"store",void 0),e([b()],le.prototype,"supportsAttachments",null),e([b()],le.prototype,"supportsAddAttachments",null),e([b()],le.prototype,"supportsDeleteAttachments",null),e([b()],le.prototype,"supportsResizeAttachments",null),e([b()],le.prototype,"supportsUpdateAttachments",null),e([b()],le.prototype,"syncTemplateOnChangesEnabled",void 0),e([b()],le.prototype,"syncViewSelection",null),e([b()],le.prototype,"tableController",void 0),e([b()],le.prototype,"tableParent",void 0),e([b({type:$})],le.prototype,"tableTemplate",void 0),e([b()],le.prototype,"tableTemplateOverride",void 0),e([b({type:S})],le.prototype,"timeExtent",null),e([b()],le.prototype,"timeZone",null),e([b()],le.prototype,"view",null),le=e([f("esri.widgets.FeatureTable.FeatureTableViewModel")],le);const re=le;export{re as default};
2
+ import{__decorate as e}from"tslib";import{onLocaleChange as t,substitute as i,fetchMessageBundle as s}from"../../intl.js";import{isSome as n}from"../../core/arrayUtils.js";import l from"../../core/Collection.js";import{referenceSetter as r}from"../../core/collectionUtils.js";import o from"../../core/Error.js";import a from"../../core/Logger.js";import{debounce as d,ignoreAbortErrors as h}from"../../core/promiseUtils.js";import{watch as m,initial as c,on as u,syncAndInitial as p}from"../../core/reactiveUtils.js";import{throttle as g}from"../../core/throttle.js";import{property as b,subclass as f}from"../../core/accessorSupport/decorators.js";import{getEffectiveFieldAlias as y}from"../../editing/fieldUtils.js";import{geometryTypes as T}from"../../geometry/support/typeUtils.js";import{getLowerCaseDefaultHiddenFields as w}from"../../layers/support/fieldUtils.js";import{getSubtypesFromLayer as C,isSubtypeGroupLayer as I}from"../../layers/support/layerUtils.js";import{createFieldInfos as v}from"../../support/popupUtils.js";import _ from"../../tables/AttributeTableTemplate.js";import{syncAttributeTableTemplateWithColumns as E}from"../../tables/support/templateUtils.js";import S from"../../time/TimeExtent.js";import{isSelectableLayerWithObjectIds as A}from"../../views/support/selectionUtils.js";import F from"./ActionColumn.js";import x from"./AttachmentsColumn.js";import j from"./FieldColumn.js";import R from"./RelationshipColumn.js";import O from"./Grid/Column.js";import P from"./Grid/Grid.js";import U from"./Grid/GridViewModel.js";import V from"./Grid/GroupColumn.js";import z from"./support/AttachmentsColumnTemplate.js";import W from"./support/AttachmentsViewOptions.js";import{isAttachmentsColumn as B,isFieldColumn as L,isRelationshipColumn as G}from"./support/columnUtils.js";import{downloadAttachmentInfo as M,exportToCSV as N}from"./support/exportUtils.js";import k from"./support/FeatureStore.js";import D from"./support/FieldColumnTemplate.js";import H from"./support/RelationshipColumnTemplate.js";import $ from"./support/TableTemplate.js";import{isIFeatureTableSupportedLayerWithFieldConfigurations as Z,isIFeatureTableSupportedLayerWithRelationships as q,findRelatedLayerInSources as Q,findRelationship as J,uniqueColumnNames as K,hasColumnForField as X,findField as Y,isIFeatureTableSupportedLayerWithAttachments as ee,getRelationshipIdsToShow as te}from"./support/tableUtils.js";import{goTo as ie}from"../support/goToUtils.js";import{messageBundle as se}from"../support/widget.js";const ne="80px";let le=class extends U{constructor(e){super(e),this._refreshDebounced=d(()=>this._refresh()),this._syncTemplateThrottled=g(()=>this._syncAttributeTableTemplate()),this.attachmentsViewOptions=new W,this.attributeTableTemplate=null,this.autoRefreshEnabled=!0,this.columns=new l,this.dataProvider=async(e,t)=>{const{layer:i,store:s}=this;if(!t)return;if(!i||!s)return void(t&&t([]));try{await i.load()}catch{return}const{objectIds:n}=this;if(this.filterBySelectionEnabled&&!this.highlightIds.length||1===n.length&&-1===n.items[0])return void t([]);if("loaded"!==s.state&&"loading"!==s.state)try{await s.load()}catch{return}const l=this.paginationEnabled?this.pageIndex:e.page;try{const i=await s.queryPage({...e,pageIndex:l});t?.(i)}catch{return}},this.grid=null,this.layers=null,this.menuConfig=null,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this.messagesURIUtils=null,this.prompt=null,this.relatedTables=new l,this.relationshipColumnConfigs=null,this.showRelatedTableCallback=null,this.store=null,this.syncTemplateOnChangesEnabled=!0,this.tableController=null,this.tableParent=null,this.tableTemplate=null,this.tableTemplateOverride=null,this._onLayerRefresh=this._onLayerRefresh.bind(this),this._onShowPromptCallback=this._onShowPromptCallback.bind(this),this._set("store",new k),this._set("grid",new P({viewModel:this}))}initialize(){const e=async()=>{this.messages=await s("esri/widgets/FeatureTable/t9n/FeatureTable"),this.messagesCommon=await s("esri/t9n/common"),this.messagesUnits=await s("esri/core/t9n/Units"),this.messagesURIUtils=await s("esri/widgets/support/t9n/uriUtils")};e(),this.addHandles([t(()=>{e(),this._generateColumns()}),m(()=>[this.messages,this.messagesCommon,this.messagesURIUtils],()=>{const e=this.messages;this.grid&&(this.grid.messages=e),this.allColumns.forEach(t=>{t.messages=e,t.messagesCommon=this.messagesCommon,t.messagesURIUtils=this.messagesURIUtils}),this.refreshCellContent()},c),m(()=>this.attachmentsEnabled,()=>this.layer?.loaded&&this._generateColumns()),m(()=>this.layer,async(e,t)=>{const i=this.grid;i&&(i.clearSort(),e&&t&&await this.reset()),this.goToPage(0),this._drainColumns(),this.store.layer=e,e&&(e.loaded?this._onLayerLoad().catch(()=>{}):e.load().catch(()=>{})),this.syncViewSelection&&this._syncSelection(),t&&null!=this.attachmentsViewOptions.objectId&&(this.attachmentsViewOptions.objectId=null)}),m(()=>this.layer?.loaded,e=>{e&&this._onLayerLoad().catch(()=>{})}),m(()=>this.store.state,e=>{"loaded"===e&&(this.scrollToTop(),this.refreshCellContent())}),m(()=>this._effectiveTableTemplate,()=>{this.scrollLeft(),this.layer?.loaded&&this._generateColumns()}),m(()=>this.editingEnabled,()=>this.refreshCellContent()),m(()=>this.timeZone??this.view?.timeZone,()=>this.refreshCellContent()),m(()=>[this.effectiveTimeExtent,this.effectiveWhere],()=>{"loaded"===this.store.state&&this.reset().catch(()=>{})}),u(()=>this.layer,"refresh",e=>this._onLayerRefresh(e)),u(()=>this.grid,["cell-click","cell-dblclick","cell-pointerover","cell-pointerout","cell-keydown","column-reorder"],({index:e,item:t,native:i,path:s,type:n})=>{const l=t?.feature,r=l?.getObjectId(),o="cell-keydown"===n&&i&&i instanceof KeyboardEvent&&"Enter"===i.key;this.emit(n,{feature:l,index:e,native:i,type:n,fieldName:s??void 0,objectId:r}),(o||"cell-click"===n)&&this._onCellInteraction(r)}),m(()=>this.actionColumnConfig,e=>{const{actionColumn:t,columns:i}=this;t?e?t.set(e):i.remove(t):e&&i.length&&i.add(this._generateActionColumn(),!1!==e.frozenToEnd?void 0:this._getIndexOfFirstFrozenToEndColumn())}),m(()=>this.relatedRecordsEnabled,()=>this.layer?.loaded&&this._generateColumns()),u(()=>this.objectIds,"change",()=>this._onObjectIdsChange(),{onListenerAdd:()=>this._onObjectIdsChange()}),m(()=>[this.paginationEnabled,this.pageIndex],()=>this.refreshPageCache()),m(()=>this.activeSortOrders,e=>{this.store.sortOrders=e,this._syncTemplateThrottled()}),m(()=>this.allVisibleColumns,()=>this._syncTemplateThrottled()),m(()=>this.pageCount,()=>{this.pageIndex>=this.pageCount&&this.goToPage(0)}),m(()=>this.state,e=>{"disabled"===e&&this.relatedTables.length&&this.drainRelatedTables()}),u(()=>this.tableParent?.highlightIds,"change",({added:e})=>{const{relationshipConfig:t}=this,i=e[0];if(null==i||!t)return;const{relatedLayer:s,relationshipId:n}=t;this.relationshipConfig={objectId:i,relatedLayer:s,relationshipId:n}}),u(()=>this.tableParent,"cell-click",async e=>{const{objectId:t}=e;this.tableController&&this.hasPendingEdits?await this.tableController.discardPendingEdits(void 0,!0).then(e=>e&&this._syncTableParentSelection(t)):this._syncTableParentSelection(t)}),m(()=>this.attachmentsViewOptions.objectId,(e,t)=>{null!=e?null==t&&this.showAttachmentsView({objectId:e}):this.hideAttachmentsView()}),m(()=>[this.layerFieldConfigurations,this.pendingEditsCount],()=>this.refreshCellContent()),u(()=>this.highlightIds,"change",e=>this._onHighlightIdsChange(e),{onListenerAdd:()=>this._syncSelection(),onListenerRemove:()=>this.defaultSelectionManager.clear()}),m(()=>this.effectiveSelectionManager,()=>this._syncSelection(),p),u(()=>this.effectiveSelectionManager,"selection-change",()=>this._syncSelection(),p)])}destroy(){this._drainColumns(),this.grid?.destroy(),this.columns.destroyed||this.columns.destroy(),this.layer=null,this.view=null}get _defaultHiddenFields(){return w(this.layer)}get _effectiveTableTemplate(){return this.tableTemplateOverride||this.tableTemplate}get _effectiveAttributeTableTemplate(){return this.attributeTableTemplate||this.layer?.attributeTableTemplate}get _subtypes(){return C(this.layer)}get actionColumn(){return super.actionColumn}get activeFilters(){const{filterGeometry:e,objectIds:t,filterBySelectionEnabled:i,highlightIds:s}=this,n=new l;return e&&n.push({type:"geometry",geometry:e}),i?n.push({type:"selection",objectIds:s.toArray()}):t.length&&n.push({type:"objectId",objectIds:t.toArray()}),n}get activeSortOrders(){return this.grid?.sortOrders?this.grid.sortOrders.map(({path:e,direction:t})=>({fieldName:e,direction:t})).filter(e=>e.fieldName&&e.direction):[]}get allColumns(){return super.allColumns}get allRelatedTablesVisible(){return!!(this.relatedRecordsEnabled&&this.relatedTables.length&&this.showAllRelatedTables)}get allVisibleColumns(){return super.allVisibleColumns}get attachmentsColumns(){return this.allColumns.filter(e=>B(e))}get attachmentsEnabled(){return this.store.attachmentsEnabled}set attachmentsEnabled(e){this.store.attachmentsEnabled=e}get autoSaveEnabled(){return this.store.autoSaveEnabled}set autoSaveEnabled(e){this.store.autoSaveEnabled=e}get cachedPageCount(){return this.store.cachedPageCount}get canAddRelatedFeature(){return this.store.canAddRelatedFeature}get clearPrompt(){return()=>this.prompt=null}set clearPrompt(e){this._overrideIfSome("clearPrompt",e)}get defaultSelectionManager(){return this.store.defaultSelectionManager}get definitionExpression(){return this.store.where}set definitionExpression(e){this.store.where=e}get editingEnabled(){return super.editingEnabled}set editingEnabled(e){super.editingEnabled=e}get effectiveSelectionManager(){return this.store.effectiveSelectionManager}get effectiveMultipleSelectionEnabled(){return super.effectiveMultipleSelectionEnabled}get effectiveSize(){return super.effectiveSize}get effectiveTimeExtent(){return this.store.effectiveTimeExtent}get effectiveWhere(){return this.store.effectiveWhere}get fieldColumns(){return this.allColumns.filter(e=>L(e))}get filterByViewExtent(){return this.store.filterByViewExtent}set filterByViewExtent(e){this.store.filterByViewExtent=e}get filterByLayerScaleRange(){return this.store.filterByLayerScaleRange}set filterByLayerScaleRange(e){this.store.filterByLayerScaleRange=e}get filterGeometry(){return this.store.filterGeometry}set filterGeometry(e){this.store.filterGeometry=e}get filterBySelectionEnabled(){return!!this._get("filterBySelectionEnabled")}set filterBySelectionEnabled(e){const{objectIds:t}=this,i=t.length;e?(i&&(t.removeAll(),this._logWarning("Selection filter has been applied with an objectID filter. Object ID filter has been removed.")),this.filterGeometry&&this._logWarning("Selection filter has been applied with a geometry filter. Results may appear inconsistent"),this._syncObjectIdsWithStore(this.highlightIds.toArray())):i||this._syncObjectIdsWithStore(null),this._set("filterBySelectionEnabled",e)}get groupColumns(){return super.groupColumns}get hasContingentValues(){return this.relatedTableHasContingentValues||this.store.hasContingentValues}get hasInvalidPendingEdits(){return this.relatedTableHasInvalidPendingEdits||this.store.hasInvalidPendingEdits}get hasPendingEdits(){return this.relatedTableHasPendingEdits||this.store.hasPendingEdits}get hiddenFields(){return this._get("hiddenFields")??new l}set hiddenFields(e){this._set("hiddenFields",r(e,this._get("hiddenFields"),l))}get highlightEnabled(){return this.store.highlightEnabled}set highlightEnabled(e){this.store.highlightEnabled=e}get highlightIds(){return super.highlightIds}set highlightIds(e){super.highlightIds=e}get initialSize(){return this.store.initialSize}set initialSize(e){this.store.initialSize=e}get isEditing(){return super.isEditing}get isQuerying(){return super.isQuerying}get isSyncing(){return super.isSyncing}get isQueryingOrSyncing(){return this.isQuerying||this.isSyncing||this.relatedTables.some(e=>!!e.isQueryingOrSyncing)}get isSyncingAttachments(){return this.store.isSyncingAttachmentEdits||this.relatedTables.some(e=>!!e.isSyncingAttachments)}get layer(){return this._get("layer")}set layer(e){this.drainRelatedTables(),this._set("layer",e)}get layerFieldConfigurations(){const e=this.layer;return Z(e)?e.fieldConfigurations:void 0}get layerView(){return this.store.layerView}get maxSize(){return super.maxSize}set maxSize(e){super.maxSize=e}get objectIds(){return super.objectIds}set objectIds(e){super.objectIds=e}get outFields(){return this.store.outFields}set outFields(e){this.store.outFields=e}get pageCount(){return super.pageCount}get pageIndex(){return super.pageIndex}set pageIndex(e){super.pageIndex=e}get pageSize(){return super.pageSize}set pageSize(e){super.pageSize=e}get paginationEnabled(){return super.paginationEnabled}set paginationEnabled(e){super.paginationEnabled=e}get pendingEditsCount(){return this.store.pendingEditsCount}get relatedRecordsEnabled(){return this.store.relatedRecordsEnabled}set relatedRecordsEnabled(e){this.store.relatedRecordsEnabled=e}get relatedTable(){return this.relatedTables.at(-1)}get relatedTableHasContingentValues(){return!!this.relatedTable?.hasContingentValues}get relatedTableHasInvalidPendingEdits(){return!!this.relatedTable?.hasInvalidPendingEdits}get relatedTableHasPendingEdits(){return!!this.relatedTable?.hasPendingEdits}get relationship(){return this.store.relationship}get relationshipColumns(){return this.allColumns.filter(e=>G(e))}get relationshipConfig(){return this.store.relationshipConfig}set relationshipConfig(e){this.highlightIds.removeAll(),this.objectIds.removeAll(),this.filterBySelectionEnabled=!1,this.store.relationshipConfig=e}get relationshipInfos(){const{layer:e,layers:t,relationships:i,tableController:s}=this,n=this.store.relationshipInfos;if(n.length||!q(e)||!i?.length)return n;const l=[],r=s?.layers||t||[];return i.forEach(t=>{const i=Q(e,r,t);i&&(i.load().catch(()=>{}),l.push({layer:e,relatedLayer:i,relationshipId:t.id}))}),l}get relationships(){return this.store.relationships}get returnGeometryEnabled(){return this.store.returnGeometry}set returnGeometryEnabled(e){this.store.returnGeometry=e}get returnMEnabled(){return this.store.returnM}set returnMEnabled(e){this.store.returnM=e}get returnZEnabled(){return this.store.returnZ}set returnZEnabled(e){this.store.returnZ=e}get rowHighlightIds(){return super.rowHighlightIds}set rowHighlightIds(e){super.rowHighlightIds=e}get selectionManager(){return this.store.selectionManager}set selectionManager(e){this.store.selectionManager=e}get selectionSource(){return"table"}set selectionSource(e){this.syncViewSelection="view"===e,this._overrideIfSome("selectionSource",e)}get showAllRelatedTables(){return this._get("showAllRelatedTables")}set showAllRelatedTables(e){const{relatedTable:t}=this;this._set("showAllRelatedTables",e),t&&(e?this._showAllRelatedTables(t):this._hideAllRelatedTables(t))}get showPrompt(){return e=>{this.prompt?.cancel?.(),this.prompt=e}}set showPrompt(e){this._overrideIfSome("showPrompt",e)}get size(){return super.size}get state(){return super.state}get supportsAttachments(){return this.store.supportsAttachments}get supportsAddAttachments(){const{store:{supportsAddAttachments:e,supportsEditing:t}}=this;return this.editingEnabled&&t&&e}get supportsDeleteAttachments(){return this.supportsUpdateAttachments}get supportsResizeAttachments(){return this.store.supportsResizeAttachments}get supportsUpdateAttachments(){const{store:{supportsUpdateAttachments:e,supportsEditing:t}}=this;return this.editingEnabled&&t&&e}get syncViewSelection(){return this.store.syncViewSelection}set syncViewSelection(e){this.store.syncViewSelection=e}get timeExtent(){return this.store.timeExtent}set timeExtent(e){this.store.timeExtent=e}get timeZone(){return this.store.timeZone}set timeZone(e){this.store.timeZone=e}get view(){return this.store.view}set view(e){this.store.view=e,this.fieldColumns.forEach(t=>t.view=e),this.refreshCellContent()}get viewTimeEnabled(){return this.store.viewTimeEnabled}set viewTimeEnabled(e){this.store.viewTimeEnabled=e}get visibleColumns(){return super.visibleColumns}async addAttachment(e,t){const{attachmentsViewOptions:i,store:s}=this,n=i.objectId===e;await s.addAttachment(e,t).catch(e=>{n&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to add attachment. ${e.error.name} ${e.error.message}`),i.error=e.error)}),n&&!i.error&&(i.onEditComplete(),i.attachmentInfos=await s.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}addPendingEdits(e){this.store.addPendingEdits(e)}collapseRelatedTable(e,t){const{relatedLayer:i,objectId:s,relationshipId:n}=t,{objectIdField:r}=i,o=J(i,n),a=i.displayField||o?.keyField||r;e.set({highlightIds:new l([s]),multipleSelectionEnabledOverride:!1,tableTemplateOverride:this._getTableTemplateForRelatedTableView(e,a,n)});const d=e.hiddenFields;d.includes(K.action)||d.add(K.action),d.includes(K.attachments)||d.add(K.attachments),e.scrollLeft()}async deleteAttachments(e,t){const{attachmentsViewOptions:i,store:s}=this,n=i.objectId===e;await s.deleteAttachments(e,t).catch(e=>{n&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to delete attachment(s). ${e.error.name} ${e.error.message}`),i.error=e.error)}),n&&!i.error&&(i.onEditComplete(),i.attachmentInfos=await s.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}async deleteSelection(){const e=this.highlightIds.toArray();if(!e?.length)return;const{deleteFeatureResults:t}=await this.store.deleteRowsByObjectId(e),i=t.filter(e=>!e.error).map(e=>e.objectId);i.length&&(this.highlightIds.removeMany(i),await this.refresh())}async discardPendingEdits(e){return this.relatedTable&&this.relatedTableHasPendingEdits?this.relatedTable.discardPendingEdits(e):(this.store.discardPendingEdits(e),!0)}async downloadAttachmentById(e,t){const i=(await this.store.getAttachmentsByObjectId(e,!0)).find(e=>e.id===t);await M(i)}drainRelatedTables(){this.relatedTables.drain(e=>e.destroy()),this.set({multipleSelectionEnabledOverride:null,relationshipColumnConfigs:null,showAllRelatedTables:!1,tableTemplateOverride:null}),this.hiddenFields.removeMany([K.action,K.attachments])}drainRelatedTablesAboveIndex(e){const{relatedTables:t}=this,i=t.slice(e+1);t.removeMany(i).forEach(e=>e.destroy());const s=t.at(-1);s&&(s.attachmentsViewOptions.objectId=null,this.allRelatedTablesVisible?this._showAllRelatedTables(s):this._hideAllRelatedTables(s))}async exportSelectionToCSV(e){const{highlightIds:t,layer:i,outFields:s}=this;i&&t.length?await N({layer:i,objectIds:t.toArray(),outFields:s,includeGeometry:e}):this._logWarning("Export failed.")}getCachedFeaturesByPageIndex(e){return this.store.getCachedFeaturesByPageIndex(e)}getFeatureStoreItemByObjectId(e){return this.store.getItemByObjectId(e)}async getFeatureTitle(e,t){return this.store.getFeatureTitle(e,t)}getFeatureTitleSync(e){const t=this.layer;if(!t)return`${e}`;const i=`${t.objectIdField}: ${e}`;return null==e?i:this.store.featureTitleMap.get(e)??i}getObjectIdIndex(e){return this.store.getItemIndexByObjectId(e)}getValue(e,t){const i=this.getFeatureStoreItemByObjectId(e);return i?.feature?.attributes[t]}getVirtualPageIndex(){return this.grid?.getVirtualPageIndex()??0}goToPage(e){if(null==e||!Number.isInteger(e))return void this._logWarning("Invalid 'page' parameter provided to 'goToPage()'. Current page will remain the same.");const{pageCount:t}=this;(e>=t||-1===e)&&(e=t-1),e<-1&&(e=0),e!==this.pageIndex&&(this.pageIndex=e),this.paginationEnabled||this.scrollToIndex(e*this.pageSize)}hideAttachmentsView(){this.attachmentsViewOptions.objectId=null,this.set({relationshipColumnConfigs:null,multipleSelectionEnabledOverride:null,tableTemplateOverride:null}),this.hiddenFields.remove(K.action)}nextPage(){const e=this.paginationEnabled?this.pageIndex:this.getVirtualPageIndex();this.goToPage(e+1)}previousPage(){const e=this.paginationEnabled?this.pageIndex:this.getVirtualPageIndex();this.goToPage(e-1)}async refresh(){await Promise.all([...this.relatedTables.map(e=>e.refresh()),h(this._refreshDebounced())])}refreshCellContent(){this.grid?.requestContentUpdate()}refreshPageCache(){this.grid?.refreshPageCache()}async reset(){this.goToPage(0),await(this.grid?.reset())}async savePendingEdits(){!this.relatedTableHasPendingEdits||this.relatedTableHasInvalidPendingEdits?this.hasPendingEdits&&!this.relatedTable&&(await this.store.savePendingEdits(),await this.refresh()):await(this.relatedTable?.savePendingEdits())}scrollLeft(){this.grid?.scrollLeft(0)}scrollToBottom(){this.grid?.scrollToBottom()}scrollToIndex(e){this.grid?.scrollToIndex(e)}scrollToRow(e){const t=this.store.getItemIndexByObjectId(e);t>-1?this.grid?.scrollToIndex(t):this._logWarning("Row not found. Associated data may not be loaded yet.")}scrollToTop(){this.grid?.scrollToTop()}async saveAttachmentsViewForm(){const{attachmentId:e,form:t,objectId:i}=this.attachmentsViewOptions;null!=i&&t&&(null!=e?await this.updateAttachment(i,e,t):await this.addAttachment(i,t))}async showAttachmentsView({objectId:e}){const{attachmentsViewOptions:t,hiddenFields:i,layer:s}=this;if(!this.attachmentsEnabled||!s)return void this._logWarning("The 'attachmentsEnabled' property is currently false.");await s.load();const n=this._getDefaultLayerDisplayField(s),r=await this.store.getAttachmentsByObjectId(e,!0),o=this.store.getItemIndexByObjectId(e);t.set({attachmentInfos:r,mode:r.length?"list":"file",objectId:e}),this.set({highlightIds:new l([e]),multipleSelectionEnabledOverride:!1,relationshipColumnConfigs:[],tableTemplateOverride:this._getTableTemplateForAttachmentsView(n)}),i.includes(K.action)||i.add(K.action),null!=o&&this.scrollToIndex(o)}syncAttributeTableTemplate(){this._syncAttributeTableTemplate(!0)}syncSelectionSources(){this.store.syncSelectionSources()}async updateAttachment(e,t,i){const{attachmentsViewOptions:s,store:n}=this,l=s.objectId===e;await n.updateAttachment(e,t,i).catch(e=>{l&&e&&"object"==typeof e&&"error"in e&&e.error instanceof o&&(this._logWarning(`Unable to update attachment. ${e.error.name} ${e.error.message}`),s.error=e.error)}),l&&!s.error&&(s.onEditComplete(),s.attachmentInfos=await n.getAttachmentsByObjectId(e,!0)),this.refreshCellContent()}async zoomToSelection(){const{layer:e,view:t}=this,i=this.highlightIds.toArray();if(!e||!t||!i.length)return;const s=e.createQuery();s.objectIds=i,s.returnGeometry=!0;const n=await e.queryFeatures(s);try{await ie(t,n.features)}catch(l){"AbortError"!==l.name&&console.error(l)}}_syncAttributeTableTemplate(e=!1){const{_effectiveAttributeTableTemplate:t,layer:i,tableTemplateOverride:s,syncTemplateOnChangesEnabled:n}=this;if(!i||!t||!n&&!e||s||this.tableParent||this.relatedTable||null!==this.attachmentsViewOptions.objectId)return;const l=JSON.stringify(t.toJSON());E(t,this.columns.toArray(),this.activeSortOrders),t===i.attributeTableTemplate&&JSON.stringify(t.toJSON())!==l&&(i.attributeTableTemplate=t.clone())}async _refresh(){await super.refresh();const e=this.highlightIds.toArray();if(e.length){(await this.store.verifyFeaturesByObjectId(e)).forEach((t,i)=>{t||this.highlightIds.remove(e[i])})}this.refreshPageCache();const t=this.attachmentsViewOptions;null!=t?.objectId&&(t.attachmentInfos=await this.store.getAttachmentsByObjectId(t.objectId,!0))}async _onLayerLoad(){const{layer:e,pageSize:t}=this;if(!e)return;e.parent&&I(e.parent)&&await e.parent.loadAll();const i=e.capabilities.query?.maxRecordCount,s=i&&i<t,n=s?i:t;s&&(this._logWarning("The value for 'pageSize' has been adjusted due to the provided layer's max record count."),this.pageSize=n),this.grid?.set("pageSize",n),this.store.load().catch(()=>{}),this._generateColumns()}_onLayerRefresh(e){this.autoRefreshEnabled&&e.dataChanged&&this.refresh()}_generateColumns(){this._drainColumns();const{_effectiveTableTemplate:e,_effectiveAttributeTableTemplate:t,layer:i}=this,s=e?.columnTemplates;if(!i)return;const n=this._generateColumnsFromColumnTemplates(i,s)??this._generateColumnsFromAttributeTableTemplate(i,t)??this._generateDefaultFieldColumns(i);n.length&&(this.attachmentsEnabled&&!n.some(e=>B(e))&&n.push(this._generateDefaultAttachmentsColumn(i)),this.relatedRecordsEnabled&&this.relationshipInfos.length&&!n.some(e=>G(e))&&n.push(...this._generateDefaultRelationshipColumns()),this.actionColumnConfig&&n.push(this._generateActionColumn()),n.sort((e,t)=>e.frozen&&t.frozen||e.frozenToEnd&&t.frozenToEnd?0:e.frozen||t.frozenToEnd?-1:0),this.columns.addMany(n))}_generateColumnsFromAttributeTableTemplate(e,t){if(!t)return null;const{elements:i,orderByFields:s}=t,l=v(e),r=[];r.push(...this._generateColumnsFromAttributeTableElements(e,i,s));const o=l.map(t=>{if(!t.fieldName||X(t.fieldName,r))return null;const{fieldName:i}=t,n=Y(e,i);return n?this._generateDefaultFieldColumn(e,n,{hidden:!0,orderByFields:s}):(this._logTemplateWarning("A valid 'field' could not be found for the provided template."),null)}).filter(n);return r.push(...o),this.attachmentsEnabled&&ee(e)&&!r.some(e=>B(e))&&r.push(this._generateDefaultAttachmentsColumn(e,{hidden:!0})),this.relatedRecordsEnabled&&q(e)&&e.relationships?.forEach(({id:e},t)=>{const i=this.relationshipInfos.find(t=>t.relationshipId===e);i&&!r.some(t=>G(t)&&t.relationshipId===e)&&r.push(this._generateDefaultRelationshipColumn({hidden:!0,info:i,index:t}))}),r.length?r:null}_generateColumnsFromAttributeTableElements(e,t,i){return t?.map((t,s)=>{switch(t.type){case"field":return this._createFieldColumnFromElement({layer:e,element:t,orderByFields:i});case"group":return this._createGroupColumnFromElement({layer:e,element:t,orderByFields:i});case"attachment":return this._createAttachmentColumnFromElement({layer:e,element:t,index:s});case"relationship":return this._createRelationshipColumnFromElement({element:t,index:s})}}).filter(e=>!!e)??[]}_createFieldColumnFromElement(e){const{layer:t,element:i,orderByFields:s}=e,{fieldName:n}=i;if(null==n)return this._logTemplateWarning("A valid 'fieldName' must be provided."),null;const l=Y(t,n);if(!l)return this._logTemplateWarning("A valid 'field' could not be found for the provided template."),null;const{description:r,label:o}=i,a=s?.findIndex(({field:e})=>e&&e===n)??-1,d=a>-1?s?.at(a)?.order:void 0,h=a>-1?a:void 0,{grid:m,messages:c,messagesCommon:u,messagesURIUtils:p,store:g,view:b}=this;return new j({description:r,direction:d,field:l,fieldName:n,grid:m,initialSortPriority:h,label:o,layer:t,messages:c,messagesCommon:u,messagesURIUtils:p,store:g,view:b,onShowPromptCallback:this._onShowPromptCallback})}_createGroupColumnFromElement(e){const{layer:t,element:i,orderByFields:s}=e,{description:n,label:l}=i;if(!l)return this._logTemplateWarning("Group columns require a label."),null;if(!i.elements.length)return this._logTemplateWarning("Group columns require child columns."),null;const{grid:r,messages:o,messagesCommon:a,messagesURIUtils:d,store:h}=this;return new V({columns:this._generateColumnsFromAttributeTableElements(t,i.elements,s),description:n,grid:r,label:l,messages:o,messagesCommon:a,messagesURIUtils:d,store:h})}_createAttachmentColumnFromElement(e){if(!this.attachmentsEnabled)return void this._logTemplateWarning("The 'attachmentsEnabled' property is currently false.");const{layer:t,element:i,index:s}=e,{description:n,label:l}=i,{grid:r,messages:o,messagesCommon:a,messagesURIUtils:d,store:h}=this;return new x({description:n,fieldName:`${K.attachments}-${s}`,grid:r,label:l,layer:t,messages:o,messagesCommon:a,messagesURIUtils:d,store:h,onShowAttachments:e=>this._onShowAttachments(e)})}_createRelationshipColumnFromElement(e){if(!this.relatedRecordsEnabled)return void this._logTemplateWarning("Relationship columns require related records to be enabled on the table.");const{element:t,index:i}=e,{description:s,label:n,relationshipId:l}=t,r=this.relationshipInfos.find(e=>e.relationshipId===l);if(!r)return this._logTemplateWarning("Unable to find valid related layer target based on the provided relationship id."),null;const{grid:o,messages:a,messagesCommon:d,messagesURIUtils:h,store:m}=this;return new R({description:s,fieldName:`${K.relationship}-${l}-${i}`,grid:o,label:n,messages:a,messagesCommon:d,messagesURIUtils:h,relationshipId:l,store:m,layer:r.relatedLayer,relatedLayer:r.layer,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateColumnsFromColumnTemplates(e,t){const{grid:i,messages:s,messagesCommon:n,messagesURIUtils:l,store:r,view:o}=this;if(!t?.length)return null;const a=[];return t.forEach((t,d)=>{const{autoWidth:h,description:m,direction:c,flexGrow:u,fieldName:p,formatFunction:g,frozen:b,frozenToEnd:f,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,menuConfig:_,resizable:E,sortable:S,textAlign:A,textWrap:F,timeZone:x,type:R,width:P}=t;if(!R)return void this._logTemplateWarning("Property 'type' is missing from the provided template.");if(b&&f)return void this._logTemplateWarning("Properties 'frozen' and 'frozenToEnd' cannot both be true for the same column.");const U=!1===t.visible;if("group"===R){if(!t.columnTemplates?.length)return void this._logTemplateWarning("Group columns must contain column templates.");if(!t.label)return void this._logTemplateWarning("Group columns require a label.");const r=this._generateColumnsFromColumnTemplates(e,t.columnTemplates),o=U||this._isFieldHidden(t.label);a.push(new V({autoWidth:h,columns:r,description:m,flexGrow:u,frozen:b,frozenToEnd:f,grid:i,hidden:o,icon:y,iconText:T,invalid:C,label:I,labelTooltipText:v,menuConfig:_,messages:s,messagesCommon:n,messagesURIUtils:l,resizable:E,textAlign:A,textWrap:F,timeZone:x,width:P}))}else if("attachment"===R){if(!this.attachmentsEnabled)return void this._logTemplateWarning("Attachment columns require attachments to be enabled on the table.");a.push(this._generateAttachmentsColumnFromTemplate(e,t,d))}else if("relationship"===R){if(!this.relatedRecordsEnabled)return void this._logTemplateWarning("Relationship columns require related records to be enabled on the table.");const{relationshipId:e}=t;if(null==e)return void this._logTemplateWarning("Property 'relationshipId' is missing from the provided template.");const i=this.relationshipInfos.find(t=>t.relationshipId===e);if(!i)return void this._logTemplateWarning("Unable to find valid related layer target based on the provided relationship id.");a.push(this._generateRelationshipColumnFromTemplate(i,t,d))}else if(!p)return void this._logTemplateWarning("Value for 'fieldName' property was missing from the provided template.");const z=U||this._isFieldHidden(p);if("column"===R)a.push(new O({autoWidth:h,description:m,direction:c,fieldName:p,flexGrow:u,formatFunction:g,frozen:b,frozenToEnd:f,grid:i,hidden:z,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,menuConfig:_,messages:s,messagesCommon:n,messagesURIUtils:l,resizable:E,sortable:S,store:r,textAlign:A,textWrap:F,timeZone:x,width:P}));else if("field"===R){const d=Y(e,t.fieldName);if(!d)return void this._logTemplateWarning("A valid 'field' could not be found for the provided template.");const{editable:p,required:R}=t;a.push(new j({autoWidth:h,description:m,direction:c,editable:p,field:d,fieldName:d.name,flexGrow:u,formatFunction:g,frozen:b,frozenToEnd:f,grid:i,hidden:z,icon:y,iconText:T,initialSortPriority:w,invalid:C,label:I,labelTooltipText:v,layer:e,messages:s,messagesCommon:n,messagesURIUtils:l,menuConfig:_,required:R,resizable:E,sortable:S,store:r,template:t,textAlign:A,textWrap:F,timeZone:x,width:P,view:o,onShowPromptCallback:this._onShowPromptCallback}))}}),a.length?a:null}_generateDefaultFieldColumns(e){return e.fields?.map(t=>this._generateDefaultFieldColumn(e,t)).filter(n)??[]}_generateDefaultFieldColumn(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o,view:a}=this;if(!t.visible||"geometry"===t.type)return null;const d=i?.orderByFields,h=t.name,m=d?.findIndex(({field:e})=>e&&e===h)??-1,c=m>-1?d?.at(m)?.order:void 0,u=m>-1?m:void 0;return new j({direction:c,field:t,fieldName:h,grid:s,hidden:i?.hidden||this._isFieldHidden(h),initialSortPriority:u,layer:e,messages:n,messagesCommon:l,messagesURIUtils:r,store:o,view:a,onShowPromptCallback:this._onShowPromptCallback})}_generateAttachmentsColumnFromTemplate(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o}=this,{attachmentsViewEnabled:a,autoWidth:d,description:h,flexGrow:m,fieldName:c,formatFunction:u,frozen:p,frozenToEnd:g,icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,resizable:I,textAlign:v,textWrap:_,thumbnailAppearance:E,thumbnailCount:S,thumbnailIconScale:A,thumbnailsEnabled:F,timeZone:j,width:R}=t;return new x({attachmentsViewEnabled:a,autoWidth:d,description:h,fieldName:`${K.attachments}-${i}`,flexGrow:m,formatFunction:u,frozen:p,frozenToEnd:g,grid:s,hidden:!1===t.visible||this._isFieldHidden(T)||this._isFieldHidden(c),icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,layer:e,menuConfig:C,messages:n,messagesCommon:l,messagesURIUtils:r,resizable:I,store:o,textAlign:v,textWrap:_,thumbnailAppearance:E,thumbnailCount:S,thumbnailIconScale:A,thumbnailsEnabled:F,timeZone:j,width:R,onShowAttachments:e=>this._onShowAttachments(e)})}_generateDefaultAttachmentsColumn(e,t){const{grid:i,messages:s,messagesCommon:n,messagesURIUtils:l,store:r}=this,o=K.attachments;return new x({fieldName:o,grid:i,hidden:t?.hidden||this._isFieldHidden(o),layer:e,messages:s,messagesCommon:n,messagesURIUtils:l,store:r,onShowAttachments:e=>this._onShowAttachments(e)})}_generateRelationshipColumnFromTemplate(e,t,i){const{grid:s,messages:n,messagesCommon:l,messagesURIUtils:r,store:o}=this,{autoWidth:a,collapsed:d,description:h,flexGrow:m,fieldName:c,formatFunction:u,frozen:p,frozenToEnd:g,icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,relationshipId:I,resizable:v,textAlign:_,textWrap:E,timeZone:S,width:A}=t;return new R({autoWidth:a,collapsed:d,description:h,fieldName:`${K.relationship}-${I}-${i}`,flexGrow:m,formatFunction:u,frozen:p,frozenToEnd:g,grid:s,hidden:!1===t.visible||this._isFieldHidden(T)||this._isFieldHidden(c),icon:b,iconText:f,invalid:y,label:T,labelTooltipText:w,menuConfig:C,messages:n,messagesCommon:l,messagesURIUtils:r,relationshipId:I,resizable:v,store:o,textAlign:_,textWrap:E,timeZone:S,width:A,layer:e.relatedLayer,relatedLayer:e.layer,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateDefaultRelationshipColumns(){const{relationshipInfos:e,relationshipColumnConfigs:t}=this,i=[];return e?.length?(t?t.forEach((t,s)=>{const{relationshipId:n}=t,l=e.find(e=>e.relationshipId===n);l&&i.push(this._generateDefaultRelationshipColumn({config:t,index:s,info:l}))}):e.forEach((e,t)=>i.push(this._generateDefaultRelationshipColumn({index:t,info:e}))),i):i}_generateDefaultRelationshipColumn(e){const{config:t,hidden:i,index:s,info:n}=e,{grid:l,messages:r,messagesCommon:o,messagesURIUtils:a,store:d}=this,{relationshipId:h}=n;return new R({...t,fieldName:`${K.relationship}-${h}-${s}`,grid:l,hidden:!!i,messages:r,messagesCommon:o,messagesURIUtils:a,layer:n.relatedLayer,relatedLayer:n.layer,relationshipId:h,store:d,showRelatedTableCallback:e=>this._onShowRelatedTable(e)})}_generateActionColumn(){const e=this.actionColumnConfig,t=!0!==e?.frozen&&(e?.frozenToEnd??!0);return new F({hidden:this._isFieldHidden(K.action),store:this.store,...e,frozenToEnd:t})}_isFieldHidden(e){const t=e?.toLowerCase();return(this.hiddenFields??this._defaultHiddenFields).some(e=>e.toLowerCase()===t)}_syncSelection(){const{layer:e}=this;A(e)?this.highlightIds.items=this.effectiveSelectionManager.getSelection(e)??[]:this.highlightIds.removeAll()}_addToSelection(e){const t=this.layer;A(t)&&this.effectiveSelectionManager.add(t,e)}_removeFromSelection(e){const t=this.layer;A(t)&&this.effectiveSelectionManager.remove(t,e)}async _onHighlightIdsChange(e){const{added:t,removed:i}=e,{attachmentsViewOptions:s}=this;if(this._removeFromSelection(i),this._addToSelection(t),this.filterBySelectionEnabled&&this._syncObjectIdsWithStore(this.highlightIds.toArray()),null!=s.objectId){const e=this.highlightIds.at(0);if(null!=e){const t=await this.store.getAttachmentsByObjectId(e,!0);s.set({attachmentInfos:t,objectId:e,mode:t.length?"list":"file"}),this.getFeatureTitle(e)}}}_syncTableParentSelection(e){const{tableParent:t}=this;t&&null!=e&&t.highlightIds.add(e)}_onShowRelatedTable(e){const{highlightIds:t}=this,{objectId:i}=e;t.removeAll(),t.add(i),this.showRelatedTableCallback?this.showRelatedTableCallback(e):this.emit("show-related-table",e)}_onObjectIdsChange(){const e=this.objectIds.toArray();e.length&&this.filterBySelectionEnabled&&(this.filterBySelectionEnabled=!1,this._logWarning("Object ID filter was applied while a selection filter was applied. Selection filter has been removed.")),this._syncObjectIdsWithStore(e)}_syncObjectIdsWithStore(e){this.store.objectIds=e,this.refreshPageCache()}_drainColumns(){this.columns.drain(e=>!e.destroyed&&e.destroy())}_showAllRelatedTables(e){const t=e.layer;if(!t)return;const i=this._getDefaultLayerDisplayField(t);e.set({relationshipColumnConfigs:[],tableTemplateOverride:this._getTableTemplateForShowAllTablesView(e,i)});const s=e.hiddenFields;s.includes(K.action)||s.add(K.action),s.includes(K.attachments)||s.add(K.attachments)}_hideAllRelatedTables(e){const{layer:t,relationship:i}=e;if(t&&null!=i?.id)if(null!=e.attachmentsViewOptions.objectId){const i=this._getDefaultLayerDisplayField(t);e.set({multipleSelectionEnabledOverride:!1,relationshipColumnConfigs:[],showAllRelatedTables:!1,tableTemplateOverride:this._getTableTemplateForAttachmentsView(i)})}else e.set({multipleSelectionEnabledOverride:null,relationshipColumnConfigs:te(t,i.id),showAllRelatedTables:!1,tableTemplateOverride:null}),e.hiddenFields.removeMany([K.action,K.attachments])}_getTableTemplateForRelatedTableView(e,t,i){return new $({columnTemplates:[new D({fieldName:t,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(e.viewModel).map(([s,n])=>({selected:s===t,label:n||s,clickFunction:()=>{e.tableTemplateOverride=this._getTableTemplateForRelatedTableView(e,s,i)}}))},resizable:!1}),new H({autoWidth:!1,collapsed:!0,flexGrow:0,label:"",resizable:!1,relationshipId:i,width:ne})]})}_getTableTemplateForShowAllTablesView(e,t){const i=[new D({fieldName:t,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(e.viewModel).map(([i,s])=>({selected:i===t,label:s||i,clickFunction:()=>{e.tableTemplateOverride=this._getTableTemplateForShowAllTablesView(e,i)}}))},resizable:!1})];return null!=e.attachmentsViewOptions.objectId&&i.push(new z({attachmentsViewEnabled:!1,autoWidth:!1,flexGrow:0,label:"",resizable:!1,thumbnailsEnabled:!1,width:ne})),new $({columnTemplates:i})}async _onShowPromptCallback(e){const{column:t,objectId:i,oldValue:s,value:n}=e,{_subtypes:l,layer:r}=this;if(!r||!l.length)return void t.cancel();const o=l.find(e=>e.code===n);if(!o)return void t.cancel();const a=Promise.withResolvers(),d=this._createSubtypeEditPrompt(s,o,a),h=!!r.parent&&this.autoSaveEnabled;try{this.showPrompt(d);const e=await a.promise,s=[{fieldName:t.fieldName,value:n}];switch(e){case"update-fields":for(const[e,t]of Object.entries(o.defaultValues))null!=t&&s.push({fieldName:e,value:t});await t.updateItems({objectId:i,updates:s}),h&&this.refresh();break;case"keep-existing":await t.updateItems({objectId:i,updates:s}),h&&this.refresh();break;case"undo":t.cancel()}}finally{this.clearPrompt()}}_createSubtypeEditPrompt(e,t,s){const{_subtypes:n,messages:l,messagesCommon:r}=this,o=n.find(t=>t.code===e)?.name??`${e}`;let a="update-fields";const d=[{label:l.subtypes.useDefaultValuesOption,value:"update-fields"},{label:l.subtypes.keepCurrentValuesOption,value:"keep-existing"}];return{context:"info",title:l.subtypes.changeWarningTitle,message:i(l.subtypes.changeWarning,{originalType:o,newType:t.name}),radios:d,defaultRadioSelection:"update-fields",onRadioSelection:e=>{a=e},actions:{primary:{label:r.apply,action:()=>s.resolve(a),type:"positive"},secondary:{label:r.cancel,type:"neutral",action:()=>s.resolve("undo")}},cancel:()=>s.reject()}}_onShowAttachments({objectId:e}){this.hasPendingEdits||(this.attachmentsViewOptions.objectId=e)}_getTableTemplateForAttachmentsView(e){return new $({columnTemplates:[new D({fieldName:e,editable:!1,menuConfig:{selectionMode:"single",icon:"chevron-down",items:this._extractFieldColumnInfosFromTableTemplate(this).map(([t,i])=>({selected:t===e,label:i||t,clickFunction:()=>{this.tableTemplateOverride=this._getTableTemplateForAttachmentsView(t)}}))},resizable:!1}),new z({attachmentsViewEnabled:!1,autoWidth:!1,flexGrow:0,label:"",resizable:!1,thumbnailsEnabled:!1,width:ne})]})}_extractFieldColumnInfosFromTableTemplate(e){const t=e??this,{layer:i,tableTemplate:s}=t;return s?s.columnTemplates.filter(({type:e})=>"field"===e||"column"===e).map(({fieldName:e,label:t})=>{if(null!=t&&""!==t)return[e,t];const s=i?.fieldsIndex.get(e);return[e,s&&y(s,i)]}):i?.fields.map(e=>[e.name,y(e,i)])??[]}_getDefaultLayerDisplayField(e){const{displayField:t,objectIdField:i}=e;return t&&""!==t.trim()?t:i||(e.fields.length?e.fields[0].name:"")}_getIndexOfFirstFrozenToEndColumn(){const e=this.columns.findIndex(e=>e.frozenToEnd);return e>-1?e:void 0}_logWarning(e,t){t?a.getLogger(this).warnOnce(e):a.getLogger(this).warn(e)}_logTemplateWarning(e){this._logWarning(`${e} Skipped generating a column using the provided template.`,!0)}_onCellInteraction(e){null!=e&&null!=this.attachmentsViewOptions.objectId&&this.highlightIds.add(e)}};e([b()],le.prototype,"_defaultHiddenFields",null),e([b()],le.prototype,"_effectiveTableTemplate",null),e([b()],le.prototype,"_effectiveAttributeTableTemplate",null),e([b()],le.prototype,"_subtypes",null),e([b()],le.prototype,"activeFilters",null),e([b({readOnly:!0})],le.prototype,"activeSortOrders",null),e([b()],le.prototype,"allRelatedTablesVisible",null),e([b()],le.prototype,"attachmentsColumns",null),e([b()],le.prototype,"attachmentsEnabled",null),e([b()],le.prototype,"attachmentsViewOptions",void 0),e([b({type:_})],le.prototype,"attributeTableTemplate",void 0),e([b()],le.prototype,"autoRefreshEnabled",void 0),e([b()],le.prototype,"autoSaveEnabled",null),e([b()],le.prototype,"cachedPageCount",null),e([b()],le.prototype,"canAddRelatedFeature",null),e([b()],le.prototype,"clearPrompt",null),e([b({readOnly:!0})],le.prototype,"columns",void 0),e([b()],le.prototype,"dataProvider",void 0),e([b()],le.prototype,"defaultSelectionManager",null),e([b()],le.prototype,"definitionExpression",null),e([b()],le.prototype,"effectiveSelectionManager",null),e([b()],le.prototype,"effectiveTimeExtent",null),e([b()],le.prototype,"effectiveWhere",null),e([b()],le.prototype,"fieldColumns",null),e([b()],le.prototype,"filterByViewExtent",null),e([b()],le.prototype,"filterByLayerScaleRange",null),e([b({types:T})],le.prototype,"filterGeometry",null),e([b()],le.prototype,"filterBySelectionEnabled",null),e([b({readOnly:!0})],le.prototype,"grid",void 0),e([b()],le.prototype,"hasContingentValues",null),e([b()],le.prototype,"hasInvalidPendingEdits",null),e([b()],le.prototype,"hasPendingEdits",null),e([b()],le.prototype,"hiddenFields",null),e([b()],le.prototype,"highlightEnabled",null),e([b()],le.prototype,"initialSize",null),e([b()],le.prototype,"isQueryingOrSyncing",null),e([b()],le.prototype,"isSyncingAttachments",null),e([b()],le.prototype,"layer",null),e([b()],le.prototype,"layers",void 0),e([b()],le.prototype,"layerFieldConfigurations",null),e([b()],le.prototype,"layerView",null),e([b()],le.prototype,"menuConfig",void 0),e([b()],le.prototype,"messages",void 0),e([b(),se("esri/t9n/common")],le.prototype,"messagesCommon",void 0),e([b(),se("esri/core/t9n/Units")],le.prototype,"messagesUnits",void 0),e([b(),se("esri/widgets/support/t9n/uriUtils")],le.prototype,"messagesURIUtils",void 0),e([b()],le.prototype,"outFields",null),e([b()],le.prototype,"pendingEditsCount",null),e([b()],le.prototype,"prompt",void 0),e([b()],le.prototype,"relatedRecordsEnabled",null),e([b()],le.prototype,"relatedTable",null),e([b()],le.prototype,"relatedTableHasContingentValues",null),e([b()],le.prototype,"relatedTables",void 0),e([b()],le.prototype,"relationship",null),e([b()],le.prototype,"relationshipColumnConfigs",void 0),e([b()],le.prototype,"relationshipColumns",null),e([b()],le.prototype,"relationshipConfig",null),e([b()],le.prototype,"relationshipInfos",null),e([b()],le.prototype,"relationships",null),e([b()],le.prototype,"returnGeometryEnabled",null),e([b()],le.prototype,"returnMEnabled",null),e([b()],le.prototype,"returnZEnabled",null),e([b()],le.prototype,"selectionManager",null),e([b()],le.prototype,"selectionSource",null),e([b()],le.prototype,"showAllRelatedTables",null),e([b()],le.prototype,"showPrompt",null),e([b()],le.prototype,"showRelatedTableCallback",void 0),e([b({readOnly:!0,type:k})],le.prototype,"store",void 0),e([b()],le.prototype,"supportsAttachments",null),e([b()],le.prototype,"supportsAddAttachments",null),e([b()],le.prototype,"supportsDeleteAttachments",null),e([b()],le.prototype,"supportsResizeAttachments",null),e([b()],le.prototype,"supportsUpdateAttachments",null),e([b()],le.prototype,"syncTemplateOnChangesEnabled",void 0),e([b()],le.prototype,"syncViewSelection",null),e([b()],le.prototype,"tableController",void 0),e([b()],le.prototype,"tableParent",void 0),e([b({type:$})],le.prototype,"tableTemplate",void 0),e([b()],le.prototype,"tableTemplateOverride",void 0),e([b({type:S})],le.prototype,"timeExtent",null),e([b()],le.prototype,"timeZone",null),e([b()],le.prototype,"view",null),e([b()],le.prototype,"viewTimeEnabled",null),le=e([f("esri.widgets.FeatureTable.FeatureTableViewModel")],le);const re=le;export{re as default};
@@ -22,7 +22,7 @@ import type { ExtentProperties } from "../../../geometry/Extent.js";
22
22
  import type { TimeExtentProperties } from "../../../time/TimeExtent.js";
23
23
 
24
24
  /** @internal */
25
- export interface FeatureStoreProperties extends Partial<Pick<FeatureStore, "attachmentsEnabled" | "autoSaveEnabled" | "editingEnabled" | "filterByLayerScaleRange" | "filterByViewExtent" | "highlightEnabled" | "initialSize" | "layer" | "maxSize" | "objectIds" | "outFields" | "pageIndex" | "pageSize" | "paginationEnabled" | "relatedRecordsEnabled" | "returnGeometry" | "returnM" | "returnZ" | "selectionManager" | "sortOrders" | "syncViewSelection" | "temporaryHighlightId" | "timeZone" | "view" | "where">> {
25
+ export interface FeatureStoreProperties extends Partial<Pick<FeatureStore, "attachmentsEnabled" | "autoSaveEnabled" | "editingEnabled" | "filterByLayerScaleRange" | "filterByViewExtent" | "highlightEnabled" | "initialSize" | "layer" | "maxSize" | "objectIds" | "outFields" | "pageIndex" | "pageSize" | "paginationEnabled" | "relatedRecordsEnabled" | "returnGeometry" | "returnM" | "returnZ" | "selectionManager" | "sortOrders" | "syncViewSelection" | "temporaryHighlightId" | "timeZone" | "view" | "viewTimeEnabled" | "where">> {
26
26
  /**
27
27
  * Geometry used to filter the current table.
28
28
  *
@@ -60,6 +60,12 @@ export default class FeatureStore extends Accessor {
60
60
  * @internal
61
61
  */
62
62
  accessor autoSaveEnabled: boolean;
63
+ /**
64
+ * Indicates the number of pages currently cached in the store.
65
+ *
66
+ * @internal
67
+ */
68
+ get cachedPageCount(): number;
63
69
  /**
64
70
  * Indicates whether the table supports adding a related record based on the current relationship
65
71
  * configuration. This accounts for whether table is currently configured to show related features.
@@ -106,7 +112,7 @@ export default class FeatureStore extends Accessor {
106
112
  */
107
113
  get effectiveTimeExtent(): TimeExtent | null | undefined;
108
114
  /**
109
- * The calculated where clause used by subsequent data queries.
115
+ * The 'effective' where clause used by data queries.
110
116
  *
111
117
  * @internal
112
118
  */
@@ -498,6 +504,16 @@ export default class FeatureStore extends Accessor {
498
504
  * @internal
499
505
  */
500
506
  accessor view: MapViewOrSceneView | null | undefined;
507
+ /**
508
+ * Controls time extent filtering behavior for the table. When `true`, the table's time extent will be derived from the intersection of the
509
+ * view and layer's time extent. When `false`, only the layer's time extent will be considered.
510
+ *
511
+ * When 'timeExtent' is defined, only that time extent will be used and this property will be ignored.
512
+ *
513
+ * @default false
514
+ * @internal
515
+ */
516
+ accessor viewTimeEnabled: boolean;
501
517
  /**
502
518
  * A reference to a where clause to use when querying for feature data. This value overrides the layer's definitionExpression.
503
519
  *
@@ -553,6 +569,14 @@ export default class FeatureStore extends Accessor {
553
569
  * @internal
554
570
  */
555
571
  getAttachmentsByObjectId(objectId: ObjectId, force?: boolean): Promise<AttachmentInfo[]>;
572
+ /**
573
+ * Returns cached features for a specific page index. If no cached features are found for the specified page, undefined is returned.
574
+ *
575
+ * @param pageIndex - The index of the page for which to retrieve cached features.
576
+ * @returns An array of FeatureStoreItem objects representing the cached features for the specified page, or undefined if no cached features are found for that page.
577
+ * @internal
578
+ */
579
+ getCachedFeaturesByPageIndex(pageIndex: number): FeatureStoreItem[] | undefined;
556
580
  /**
557
581
  * Returns a string representing the provided feature. If the feature does not exist locally an extra query is
558
582
  * made to the server to retrieve the feature information. Additionally, if 'force' is true, the store will query the