@arcgis/core 5.2.0-next.125 → 5.2.0-next.127

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 (472) hide show
  1. package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +3 -2
  2. package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +1 -0
  3. package/applications/Components/basemapToggleUtils.d.ts +53 -0
  4. package/applications/Components/basemapToggleUtils.js +2 -0
  5. package/arcgisGlobal.d.ts +2 -0
  6. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  7. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  8. package/assets/esri/core/workers/RemoteClient.js +1 -1
  9. package/assets/esri/core/workers/chunks/{e35eb93c0fb1f6de8db0.js → 00d9e41deecf5828975c.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{fe9582bc2244667e40ab.js → 05afa8c2b5929ce0545a.js} +1 -1
  11. package/assets/esri/core/workers/chunks/0a20f84b5f004a77a9f9.js +1 -0
  12. package/assets/esri/core/workers/chunks/{cfd56e0a716baf95e17b.js → 0a2b7c691a577cb3d189.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{6cf34cfdd063a1b6fe3e.js → 0ccd4200c5a2a5de6e16.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{ab8a1140bf31f46f8ebf.js → 1262918b2161d79851c0.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{bdf012e591a8476db467.js → 1406a884241809b62bff.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{d3ef23923424ad8c5048.js → 1c2723f9630e7d597843.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{378bdb4e5cd1ebada1f4.js → 1c33aa349beea9a3792f.js} +1 -1
  18. package/assets/esri/core/workers/chunks/1d040aa8951fff3141d9.js +1 -0
  19. package/assets/esri/core/workers/chunks/{54eeb4cac4fa092359ab.js → 2226c20c38e20713bcb5.js} +2 -2
  20. package/assets/esri/core/workers/chunks/{54eeb4cac4fa092359ab.js.LICENSE.txt → 2226c20c38e20713bcb5.js.LICENSE.txt} +2 -2
  21. package/assets/esri/core/workers/chunks/26995de0c18bef8db590.js +1 -0
  22. package/assets/esri/core/workers/chunks/2c7fc24649d91552e68a.js +1 -0
  23. package/assets/esri/core/workers/chunks/{f05becec0952a61bc654.js → 2ebad7e588b26e74cefe.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{2f52ad525744b8793d49.js → 3b7dff15a0058ea29886.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{4716693eca44e8f89f5c.js → 3bf56c33876ba56c4b21.js} +1 -1
  26. package/assets/esri/core/workers/chunks/3c6ee445e49da0076ac1.js +1 -0
  27. package/assets/esri/core/workers/chunks/3ef367c9b7bf1588307d.js +1 -0
  28. package/assets/esri/core/workers/chunks/{5b9b76e180cf206a8a0c.js → 4327d2c39a660bd89da7.js} +1 -1
  29. package/assets/esri/core/workers/chunks/4678a8170d8a3ccd1a7b.js +1 -0
  30. package/assets/esri/core/workers/chunks/474d9541d387b31ad275.js +1 -0
  31. package/assets/esri/core/workers/chunks/{26bc509a031788bfa678.js → 4f464047c6f6c9486efd.js} +1 -1
  32. package/assets/esri/core/workers/chunks/50c29d10ec53f0e48e8a.js +1 -0
  33. package/assets/esri/core/workers/chunks/{58528ccb7f72ae76d52b.js → 540f60e31b19d85e9371.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{44857a76be2c0ac65bb9.js → 55a560fd872f7463b33d.js} +1 -1
  35. package/assets/esri/core/workers/chunks/58fb92775d668cfd295c.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f0901f9c7135b708434f.js → 5adf2792416b22cd602f.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{b013b70e40dfb6ce013e.js → 668ec0bdfb2095e90c9e.js} +1 -1
  38. package/assets/esri/core/workers/chunks/67678054342178b601cf.js +1 -0
  39. package/assets/esri/core/workers/chunks/67dcf9b873cb037b2647.js +1 -0
  40. package/assets/esri/core/workers/chunks/75879ae88fd87b089a87.js +1 -0
  41. package/assets/esri/core/workers/chunks/76548469fe1b9c3b2051.js +1 -0
  42. package/assets/esri/core/workers/chunks/7d6da4e89aa951e6523f.js +1 -0
  43. package/assets/esri/core/workers/chunks/7dd94567833386dc74de.js +1 -0
  44. package/assets/esri/core/workers/chunks/{24673aac70d6c949b6fa.js → 86d7a3ae672a51b75fcc.js} +1 -1
  45. package/assets/esri/core/workers/chunks/88e11b645a1361f1bdbe.js +1 -0
  46. package/assets/esri/core/workers/chunks/{f0709c48daca93e759c8.js → 8b0d6205ceeec1ab446f.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{1f55701d23a5e5a0c70c.js → 8cb216404a6254bc695c.js} +123 -122
  48. package/assets/esri/core/workers/chunks/9d6a96e4c7ccedcb0c13.js +1 -0
  49. package/assets/esri/core/workers/chunks/9ec04faad97be55309b8.js +1 -0
  50. package/assets/esri/core/workers/chunks/a08385ebf1715414c1a6.js +1 -0
  51. package/assets/esri/core/workers/chunks/{b96358d475dc98034aa4.js → a15ed056e7493ddf3b4c.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{25e212fe9a2ea37c9e81.js → a3a33ffa34f4d645ddfe.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{e22a013ec38989caf9de.js → a790fc6b22acf651574b.js} +1 -1
  54. package/assets/esri/core/workers/chunks/af0704494398f33aa315.js +1 -0
  55. package/assets/esri/core/workers/chunks/{813dd84933b407c8fe86.js → b34305474a861aaf6ccb.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{ce1ccf9ec90b786591e5.js → b396c4b4bb144200acc7.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{bbaaebe1774a22dba39b.js → bbfb80a6983574007ce5.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{3f082329a544c2c1d62d.js → bcf2e5cf6b9c6d0442bb.js} +1 -1
  59. package/assets/esri/core/workers/chunks/c35e9dee87937f483a3d.js +1 -0
  60. package/assets/esri/core/workers/chunks/c5b733c3a5b2680042a2.js +1 -0
  61. package/assets/esri/core/workers/chunks/{4f7e8e4ddf52b5245ea4.js → c77496c350004ee66eb2.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{85739ed6af0f0a3cb302.js → c94bdfed831c775e04c0.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{2e3fd81653dc0d86456c.js → cfeba0ffb7fdc2a9af05.js} +1 -1
  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/d6e914f6ed45ea59034e.js +1 -0
  67. package/assets/esri/core/workers/chunks/{0fba5c0e89b057da548d.js → dc92710a8fdfb9135e55.js} +1 -1
  68. package/assets/esri/core/workers/chunks/e0894a308c84d5c158b0.js +1 -0
  69. package/assets/esri/core/workers/chunks/{df79c00b5ddbef7148a0.js → eaa7cb3ffa8c11706a09.js} +1 -1
  70. package/assets/esri/core/workers/chunks/eebbc86a15ae3adb5f38.js +1 -0
  71. package/assets/esri/core/workers/chunks/f479b4a4cee4bb2e046c.js +1 -0
  72. package/assets/esri/core/workers/chunks/{78abd6c42f39e6f6ffbb.js → f983296b6f4a62a911eb.js} +1 -1
  73. package/assets/esri/images/portal/gaussiansplatlayer16.png +0 -0
  74. package/assets/esri/images/portal/knowledgegraphlayer16.png +0 -0
  75. package/assets/esri/images/portal/propresentation16.png +0 -0
  76. package/assets/esri/images/portal/urbanproject16.png +0 -0
  77. package/assets/esri/images/support/loading-throb.gif +0 -0
  78. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  79. package/assets/esri/libs/pdfjs/pdf.worker.mjs +4 -63051
  80. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-arabic.woff2 +0 -0
  81. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-cyrillic.woff2 +0 -0
  82. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-ext.woff2 +0 -0
  83. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-georgian.woff2 +0 -0
  84. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-greek.woff2 +0 -0
  85. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-hebrew.woff2 +0 -0
  86. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-math.woff2 +0 -0
  87. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-thai.woff2 +0 -0
  88. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02-vietnamese.woff2 +0 -0
  89. package/assets/esri/themes/base/fonts/fonts/09ab0626-bb45-4650-acc8-0182d693df02.woff2 +0 -0
  90. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-arabic.woff2 +0 -0
  91. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-cyrillic.woff2 +0 -0
  92. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-ext.woff2 +0 -0
  93. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-georgian.woff2 +0 -0
  94. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-greek.woff2 +0 -0
  95. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-hebrew.woff2 +0 -0
  96. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-math.woff2 +0 -0
  97. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-thai.woff2 +0 -0
  98. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7-vietnamese.woff2 +0 -0
  99. package/assets/esri/themes/base/fonts/fonts/0c8a5d21-8a14-4451-8145-695071809cb7.woff2 +0 -0
  100. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-arabic.woff2 +0 -0
  101. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-cyrillic.woff2 +0 -0
  102. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-ext.woff2 +0 -0
  103. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-georgian.woff2 +0 -0
  104. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-greek.woff2 +0 -0
  105. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-hebrew.woff2 +0 -0
  106. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-math.woff2 +0 -0
  107. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-thai.woff2 +0 -0
  108. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688-vietnamese.woff2 +0 -0
  109. package/assets/esri/themes/base/fonts/fonts/12f4c786-0bef-4a48-b7c0-eebaa7591688.woff2 +0 -0
  110. package/assets/esri/themes/base/fonts/fonts/3ae1e25e-3aa6-4061-a016-a079159f9d65.woff2 +0 -0
  111. package/assets/esri/themes/base/fonts/fonts/41331c3c-3759-4462-8695-33c9a21b6a5b.woff2 +0 -0
  112. package/assets/esri/themes/base/fonts/fonts/94aa531e-7746-4df0-bb6e-349891f2eda5.woff2 +0 -0
  113. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-arabic.woff2 +0 -0
  114. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-cyrillic.woff2 +0 -0
  115. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-ext.woff2 +0 -0
  116. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-georgian.woff2 +0 -0
  117. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-greek.woff2 +0 -0
  118. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-hebrew.woff2 +0 -0
  119. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-math.woff2 +0 -0
  120. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-thai.woff2 +0 -0
  121. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939-vietnamese.woff2 +0 -0
  122. package/assets/esri/themes/base/fonts/fonts/b8b15cdf-85d1-4120-8daa-48863d803939.woff2 +0 -0
  123. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-cyrillic.woff2 +0 -0
  124. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-ext.woff2 +0 -0
  125. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-greek.woff2 +0 -0
  126. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-hebrew.woff2 +0 -0
  127. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-math.woff2 +0 -0
  128. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d-vietnamese.woff2 +0 -0
  129. package/assets/esri/themes/base/fonts/fonts/b9c5b839-db56-4419-8fcb-6ab661babb1d.woff2 +0 -0
  130. package/assets/esri/themes/base/fonts/fonts.scss +0 -0
  131. package/assets/esri/themes/base/icons/style.scss +0 -0
  132. package/assets/esri/themes/base/icons/variables.scss +0 -0
  133. package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
  134. package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
  135. package/assets/esri/themes/base/images/files/code-32.svg +0 -0
  136. package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
  137. package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
  138. package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
  139. package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
  140. package/assets/esri/themes/base/images/files/image-32.svg +0 -0
  141. package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
  142. package/assets/esri/themes/base/images/files/report-32.svg +0 -0
  143. package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
  144. package/assets/esri/themes/base/images/files/text-32.svg +0 -0
  145. package/assets/esri/themes/base/images/files/video-32.svg +0 -0
  146. package/assets/esri/themes/base/images/files/word-32.svg +0 -0
  147. package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
  148. package/assets/esri/themes/base/images/loading-throb.gif +0 -0
  149. package/assets/esri/themes/base/widgets/_Bookmarks.scss +0 -0
  150. package/assets/esri/themes/base/widgets/_Tooltip.scss +37 -0
  151. package/assets/esri/themes/dark/main.css +1 -1
  152. package/assets/esri/themes/light/main.css +1 -1
  153. package/assets/esri/themes/light/view.css +1 -1
  154. package/assets/esri/views/interactive/tooltip/t9n/messages.en.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/messages.ar.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/messages.bg.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/messages.bs.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/messages.ca.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/messages.cs.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/messages.da.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/messages.de.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/messages.el.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/messages.es.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/messages.et.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/messages.fi.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/messages.fr.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/messages.he.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/messages.hr.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/messages.hu.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/messages.id.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/messages.it.json +1 -1
  172. package/assets/esri/widgets/Editor/t9n/messages.ja.json +1 -1
  173. package/assets/esri/widgets/Editor/t9n/messages.ko.json +1 -1
  174. package/assets/esri/widgets/Editor/t9n/messages.lt.json +1 -1
  175. package/assets/esri/widgets/Editor/t9n/messages.lv.json +1 -1
  176. package/assets/esri/widgets/Editor/t9n/messages.nl.json +1 -1
  177. package/assets/esri/widgets/Editor/t9n/messages.no.json +1 -1
  178. package/assets/esri/widgets/Editor/t9n/messages.pl.json +1 -1
  179. package/assets/esri/widgets/Editor/t9n/messages.pt-BR.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/messages.pt-PT.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/messages.ro.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/messages.ru.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/messages.sk.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/messages.sl.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/messages.sr.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/messages.sv.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/messages.th.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/messages.tr.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/messages.uk.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/messages.vi.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/messages.zh-CN.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/messages.zh-HK.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/messages.zh-TW.json +1 -1
  194. package/chunks/GlobalIllumination.glsl.js +10 -9
  195. package/chunks/GlobalIlluminationBlur.glsl.js +8 -8
  196. package/chunks/HeatmapDensity.glsl.js +5 -5
  197. package/chunks/Pattern.glsl.js +30 -30
  198. package/chunks/RibbonLine.glsl.js +19 -19
  199. package/config.js +1 -1
  200. package/core/Accessor.d.ts +1 -1
  201. package/core/accessorSupport/types.d.ts +5 -1
  202. package/core/lang.js +1 -1
  203. package/interfaces.d.ts +3 -0
  204. package/kernel.js +1 -1
  205. package/layers/ParquetLayer.d.ts +24 -15
  206. package/layers/ParquetLayer.js +1 -1
  207. package/layers/SceneLayer.js +1 -1
  208. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  209. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +2 -2
  210. package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
  211. package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
  212. package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
  213. package/layers/geospatialPDF/geospatialPDFParserUtils.js +2 -0
  214. package/layers/geospatialPDF/projectionToWKTUtils.js +2 -0
  215. package/layers/geospatialPDF/renderExtentUtils.js +1 -1
  216. package/layers/geospatialPDF/sharedUtils.js +1 -1
  217. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  218. package/layers/graphics/dehydratedFeatures.js +1 -1
  219. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  220. package/layers/orientedImagery/transformations/utils.js +1 -1
  221. package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
  222. package/layers/raster/types.d.ts +6 -0
  223. package/layers/support/TimeSeriesCalculation.d.ts +32 -0
  224. package/layers/support/TimeSeriesCalculation.js +2 -0
  225. package/layers/support/TimeSeriesInfo.d.ts +19 -0
  226. package/layers/support/TimeSeriesInfo.js +1 -1
  227. package/layers/support/commonProperties.js +1 -1
  228. package/layers/support/timeSeriesUtils.d.ts +25 -1
  229. package/layers/support/timeSeriesUtils.js +1 -1
  230. package/layers/types.d.ts +1 -0
  231. package/package.json +3 -3
  232. package/popup/FeatureContentCollection.d.ts +19 -26
  233. package/popup/FeatureContentCollection.js +1 -1
  234. package/popup/types.d.ts +14 -3
  235. package/portal/schemas/definitions.js +1 -1
  236. package/portal/schemas/sceneLayerItem.js +1 -1
  237. package/renderers/support/AuthoringInfo.d.ts +8 -1
  238. package/renderers/support/AuthoringInfo.js +1 -1
  239. package/renderers/support/AuthoringInfoVisualVariable.d.ts +8 -1
  240. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  241. package/rest/imageService/fetchRasterInfo.js +1 -1
  242. package/rest/knowledgeGraph/DataModel.js +1 -1
  243. package/smartMapping/renderers/color.d.ts +12 -0
  244. package/smartMapping/renderers/color.js +1 -1
  245. package/smartMapping/renderers/opacity.d.ts +6 -0
  246. package/smartMapping/renderers/opacity.js +1 -1
  247. package/smartMapping/renderers/size.d.ts +12 -0
  248. package/smartMapping/renderers/size.js +1 -1
  249. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  250. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  251. package/smartMapping/renderers/support/timeSeriesUtils.js +1 -1
  252. package/smartMapping/renderers/type.d.ts +6 -0
  253. package/smartMapping/renderers/type.js +1 -1
  254. package/smartMapping/renderers/univariateColorSize.d.ts +6 -0
  255. package/smartMapping/renderers/univariateColorSize.js +1 -1
  256. package/support/revision.js +1 -1
  257. package/symbols/cim/callouts/calloutAnalysisUtils.js +2 -0
  258. package/symbols/cim/callouts/effects/BackgroundCallout.js +1 -1
  259. package/symbols/cim/callouts/effects/BalloonCallout.js +1 -1
  260. package/symbols/cim/callouts/effects/PointSymbolCallout.js +1 -1
  261. package/symbols/cim/callouts/effects/SimpleLineCallout.js +1 -1
  262. package/symbols/cim/callouts/effects/calloutUtils.js +1 -1
  263. package/symbols/cim/cimAnalyzer.js +1 -1
  264. package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
  265. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +8 -0
  266. package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
  267. package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
  268. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +8 -0
  269. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
  270. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +3 -2
  271. package/views/2d/engine/webgl/ClipMesh.js +1 -1
  272. package/views/2d/engine/webgl/mesh/factories/CalloutMeshWriterCoordinator.js +1 -1
  273. package/views/2d/engine/webgl/mesh/factories/MeshWriterGroupCoordinator.js +1 -1
  274. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/fill/AFillMeshWriter.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js +1 -1
  283. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  284. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
  285. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  286. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
  287. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  288. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  289. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +1 -1
  290. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  291. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterReferences.js +1 -1
  292. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
  293. package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
  294. package/views/2d/engine/webgl/util/Matcher.js +1 -1
  295. package/views/2d/layers/LayerView2D.js +1 -1
  296. package/views/2d/layers/support/annodime/MatcherGeometryOverride.js +1 -1
  297. package/views/2d/layers/support/annodime/PrivateMatcherGeometryOverrideEffect.js +1 -1
  298. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  299. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  300. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  301. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +3 -2
  302. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  303. package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
  304. package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
  305. package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
  306. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  307. package/views/3d/analysis/LineOfSight/LineOfSightRootPlugin.js +1 -1
  308. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  309. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  310. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +5 -3
  311. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  312. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  313. package/views/3d/analysis/Viewshed/ViewshedPlacementRootPlugin.js +1 -1
  314. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  315. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +1 -0
  316. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  317. package/views/3d/input/handlers/DragRotate.js +1 -1
  318. package/views/3d/input/handlers/PinchAndPanNavigation.js +1 -1
  319. package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
  320. package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
  321. package/views/3d/interactive/editingTools/manipulatedObjectUtils.js +1 -1
  322. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  323. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  324. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  325. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  326. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  327. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  328. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  329. package/views/3d/layers/support/FeatureMemory.js +2 -0
  330. package/views/3d/layers/support/FeatureTile.js +1 -1
  331. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  332. package/views/3d/layers/support/featureReference.js +1 -1
  333. package/views/3d/navigation/modes/GroundNavigationMode3D.js +1 -1
  334. package/views/3d/state/Constraints.js +1 -1
  335. package/views/3d/state/controllers/GroundNavigationController.js +1 -1
  336. package/views/3d/state/controllers/RotateController.js +1 -1
  337. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  338. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  339. package/views/3d/support/engineContent/line.js +1 -1
  340. package/views/3d/support/planarDistanceToGroundRatio.js +2 -0
  341. package/views/3d/support/popupHitTest.js +1 -1
  342. package/views/3d/terrain/OverlayManager.js +1 -1
  343. package/views/3d/terrain/OverlayRenderer.js +1 -1
  344. package/views/3d/terrain/TerrainSurface.js +1 -1
  345. package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +13 -13
  346. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +2 -2
  347. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  348. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  349. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  350. package/views/3d/webgl-engine/lib/GaussianSplatRenderUtils.js +1 -1
  351. package/views/3d/webgl-engine/lib/GaussianSplatShadows.js +1 -1
  352. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  353. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  354. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  355. package/views/DOMContainer.d.ts +2 -2
  356. package/views/DOMContainer.js +1 -1
  357. package/views/PopupView.d.ts +1 -1
  358. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  359. package/views/analysis/LengthDimensionResult.d.ts +4 -1
  360. package/views/draw/support/managers/TooltipManager.js +1 -1
  361. package/views/interactive/options/SnappingOptions.d.ts +4 -2
  362. package/views/interactive/options/SnappingOptions.js +1 -1
  363. package/views/interactive/options/ViewOptions.d.ts +18 -0
  364. package/views/interactive/options/bindViewToolOptions.js +2 -0
  365. package/views/interactive/snapping/SnappingManagerPool.js +1 -1
  366. package/views/interactive/snapping/allLayerSnapping.js +1 -1
  367. package/views/interactive/tooltip/components/ElevationModeSelect.js +2 -0
  368. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  369. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  370. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  371. package/views/interactive/tooltip/infos/SketchTooltipInfo.js +1 -1
  372. package/views/overlay/FocusRegionOverlayItem.js +1 -1
  373. package/views/selection/SelectionOperation.d.ts +27 -1
  374. package/views/selection/types.d.ts +8 -20
  375. package/views/support/hitTestSelectUtils.js +1 -1
  376. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -0
  377. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  378. package/widgets/AreaMeasurement2D.js +1 -1
  379. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +1 -0
  380. package/widgets/BasemapLayerList.d.ts +1 -0
  381. package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +1 -0
  382. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  383. package/widgets/BasemapToggle.js +1 -1
  384. package/widgets/BatchAttributeForm/expressions/types.d.ts +1 -0
  385. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +9 -1
  386. package/widgets/BatchAttributeForm/types.d.ts +5 -1
  387. package/widgets/BatchAttributeForm.d.ts +1 -0
  388. package/widgets/Bookmarks/BookmarksViewModel.d.ts +1 -0
  389. package/widgets/Bookmarks.d.ts +1 -0
  390. package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +1 -0
  391. package/widgets/CatalogLayerList.d.ts +1 -0
  392. package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +1 -0
  393. package/widgets/DirectionalPad/DirectionalPadViewModel.js +1 -1
  394. package/widgets/DirectionalPad.js +1 -1
  395. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -0
  396. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  397. package/widgets/DistanceMeasurement2D.js +1 -1
  398. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  399. package/widgets/Editor/legacy/UpdateFeatureWorkflow.js +1 -1
  400. package/widgets/Editor/workflowUtils.js +1 -1
  401. package/widgets/Editor.d.ts +1 -0
  402. package/widgets/FeatureForm.d.ts +1 -0
  403. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +14 -0
  404. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  405. package/widgets/FeatureTable/support/FeatureStore.d.ts +14 -0
  406. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  407. package/widgets/FeatureTable.d.ts +1 -0
  408. package/widgets/FeatureTemplates.d.ts +1 -0
  409. package/widgets/Features/FeaturesViewModel.d.ts +1 -0
  410. package/widgets/Features.d.ts +2 -1
  411. package/widgets/HistogramRangeSlider.d.ts +1 -0
  412. package/widgets/Home/HomeViewModel.d.ts +1 -0
  413. package/widgets/Home.d.ts +1 -0
  414. package/widgets/LayerList/LayerListViewModel.d.ts +1 -0
  415. package/widgets/LayerList.d.ts +1 -0
  416. package/widgets/Locate/LocateViewModel.d.ts +1 -0
  417. package/widgets/Locate.d.ts +1 -0
  418. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  419. package/widgets/OrientedImageryViewer/navigation/NavigationManagerPanoramic.js +1 -1
  420. package/widgets/OrientedImageryViewer/types.d.ts +4 -1
  421. package/widgets/OrientedImageryViewer.d.ts +4 -1
  422. package/widgets/Popup/types.d.ts +0 -7
  423. package/widgets/Popup.d.ts +8 -7
  424. package/widgets/Print/PrintViewModel.d.ts +1 -0
  425. package/widgets/Print.d.ts +1 -0
  426. package/widgets/Search.d.ts +1 -0
  427. package/widgets/Sketch.d.ts +1 -0
  428. package/widgets/Slider.d.ts +4 -0
  429. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -0
  430. package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
  431. package/widgets/TimeSlider.d.ts +1 -0
  432. package/widgets/TimeSlider.js +1 -1
  433. package/widgets/Track/TrackViewModel.d.ts +1 -0
  434. package/widgets/Track.d.ts +1 -0
  435. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +1 -0
  436. package/widgets/UtilityNetworkTrace.d.ts +1 -0
  437. package/widgets/ValuePicker/types.d.ts +1 -0
  438. package/widgets/ValuePicker.d.ts +1 -0
  439. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +1 -0
  440. package/widgets/support/SelectionList/types.d.ts +2 -0
  441. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +2 -1
  442. package/assets/esri/core/workers/chunks/0148cb611bf7c8c5fe8a.js +0 -1
  443. package/assets/esri/core/workers/chunks/0a4a5ed831a4e4d8e0fc.js +0 -1
  444. package/assets/esri/core/workers/chunks/0acc754907395e83bbc6.js +0 -1
  445. package/assets/esri/core/workers/chunks/0f8ff964461cf8e0673b.js +0 -1
  446. package/assets/esri/core/workers/chunks/1e46703cb566c25458ad.js +0 -1
  447. package/assets/esri/core/workers/chunks/25c90092def215949db9.js +0 -1
  448. package/assets/esri/core/workers/chunks/2a34760b3f0c134898ec.js +0 -1
  449. package/assets/esri/core/workers/chunks/38890ac5917942374ab8.js +0 -1
  450. package/assets/esri/core/workers/chunks/3b4ceaf21be540cb3499.js +0 -1
  451. package/assets/esri/core/workers/chunks/4c4ba466e23159991322.js +0 -1
  452. package/assets/esri/core/workers/chunks/5afc12671a9a1bb6c56c.js +0 -1
  453. package/assets/esri/core/workers/chunks/606ac9358f508bda94f2.js +0 -1
  454. package/assets/esri/core/workers/chunks/6c3535aa7250c08b9e5b.js +0 -1
  455. package/assets/esri/core/workers/chunks/6c4def0faaef861a09c9.js +0 -1
  456. package/assets/esri/core/workers/chunks/7285a37cd5359aa4bac5.js +0 -1
  457. package/assets/esri/core/workers/chunks/753d1ff177ecee8e2377.js +0 -1
  458. package/assets/esri/core/workers/chunks/8a8e94b5d7d153361b0b.js +0 -1
  459. package/assets/esri/core/workers/chunks/923c45ebcf45d9ce8ae0.js +0 -1
  460. package/assets/esri/core/workers/chunks/9af36ee6a0df224859bc.js +0 -1
  461. package/assets/esri/core/workers/chunks/a7ce5b958dfeb240c4a5.js +0 -1
  462. package/assets/esri/core/workers/chunks/aed479c14d93955f4798.js +0 -1
  463. package/assets/esri/core/workers/chunks/be52c319a0a81ce1ba36.js +0 -1
  464. package/assets/esri/core/workers/chunks/c0ec87800faf99cbd8bd.js +0 -1
  465. package/assets/esri/core/workers/chunks/ca5a4f62b09cc8579dc0.js +0 -1
  466. package/assets/esri/core/workers/chunks/d090baaa974e1e83fa44.js +0 -1
  467. package/assets/esri/core/workers/chunks/e9f8325a4cf89ae816cc.js +0 -1
  468. package/assets/esri/core/workers/chunks/ed7d4e8725aaa0ca4589.js +0 -1
  469. package/assets/esri/core/workers/chunks/f4572ad25712d204f258.js +0 -1
  470. package/layers/geospatialPDF/GeospatialPDFParserUtils.js +0 -2
  471. package/layers/geospatialPDF/Projection.js +0 -2
  472. package/views/2d/engine/webgl/mesh/bufcut.js +0 -2
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as r,equals as n,addMany as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{handlesGroup as a,makeHandle as s,abortHandle as l}from"../../core/handleUtils.js";import{clone as c}from"../../core/lang.js";import u from"../../core/Logger.js";import{getOrCreateMapValue as p}from"../../core/MapUtils.js";import{debounce as d,isPromiseLike as f,whenOrAbort as y}from"../../core/promiseUtils.js";import{watch as m,on as h,whenOnce as g,when as b}from"../../core/reactiveUtils.js";import{px2pt as w}from"../../core/screenUtils.js";import{addMany as I}from"../../core/SetUtils.js";import{isSharedTemplateOrMetadata as v,isSharedGroupTemplate as T,getCreationAttributes as F,isSharedPresetTemplate as j}from"../../editing/templateUtils.js";import{isCurvedGeometry as k,hasUnsupportedCurve as A}from"../../geometry/support/curves/curveUtils.js";import S from"../../layers/GraphicsLayer.js";import{featureHasFields as O,fixFields as U,getDisplayFieldName as L}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as V}from"../../layers/support/layerUtils.js";import{calculateTolerance as M}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as x}from"../../renderers/support/lengthUtils.js";import{isRenderer as q}from"../../renderers/support/typeUtils.js";import{getTransformationType as z}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as E}from"../../support/graphicInstanceUtils.js";import P from"../../symbols/SimpleFillSymbol.js";import R from"../../symbols/SimpleLineSymbol.js";import C from"../../symbols/SimpleMarkerSymbol.js";import{to3D as D}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as G}from"../../symbols/support/symbolUtils.js";import{getServices as B}from"../../undoredo/support/Services.js";import{defaultDrawingMode as N}from"../../views/draw/drawingModes.js";import{updateGraphicSymbolWhenRequired as Z,fetchFullFeaturesByObjectId as W}from"../../views/draw/support/editingSessionUtils.js";import{createQueryGeometry as $}from"../../views/support/drapedUtils.js";import{filterGraphicHits as Q,hitTestSelectSimilarDistance as H}from"../../views/support/hitTestSelectUtils.js";import{isNextOrLegacyUpdateWorkflow as J,isNextOrLegacyUpdateFeaturesWorkflow as K}from"./compatibilityAdapters.js";import{dependencySort as X}from"./support/dependencySort.js";import{isDrawGraphicTool as Y,isDrawTool as _}from"../Sketch/support/sketchUtils.js";const ee=()=>u.getLogger("esri.widgets.Editor.workflowUtils");function te(e){return oe(e)||ne(e)}function re(e){return!!e&&"features"in e}function ne(e){return null!=e&&"update-features"===e.type}function oe(e){return null!=e&&e.type.includes("update-")&&"fullFeature"in e}function ie(e){return null!=e&&"merge-features"===e.type}function ae(e){return null!=e&&"split-feature"===e.type}function se(e){const t=e?.type;return"update-feature"===t||"update-table-record"===t||"update-features"===t||"split-feature"===t}function le(e){return"merge"===e?.type}function ce(e){return"split"===e?.type}function ue(e){return ie(e)||ae(e)}function pe(e){return"update-multiple"===e?.type}function de(e){const t=e&&"renderer"in e?e.renderer:null;if(!we(t))return{rotation:null,size:null};const r=t.getVisualVariablesForType("rotation").filter(e=>(!e.axis||"heading"===e.axis)&&e.field&&!e.valueExpression),n=t.getVisualVariablesForType("size").filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&"real-world-size"===z(e));return{rotation:1===r.length?r[0]:null,size:1===n.length?n[0]:null}}function fe(e){const t=e.sourceLayer;if(!(t&&"renderer"in t&&we(t.renderer)))return{rotation:null,size:null};const{rotation:r,size:n}=de(t);let o=null,i=null;if(r){const e=t.fields?.filter(e=>e.name===r.field),n=1===e?.length?e[0]:null;o=ye(r,n)}if(n){const e=t.fields?.filter(e=>e.name===n.field),r=1===e?.length?e[0]:null;i=ge(n,r)}return{rotation:o,size:i}}function ye(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,n=t?.type??"double",o={initial:0,current:0};return{field:e.field,fieldType:n,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(o.current=o.initial-r*e,be((o.current+360)%360,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function me(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function he(e,t,r){if(null==t)return 0;const{symbol:n}=D(t);if(null==n||"web-style"===n.type||"cim"===n.type)return 0;const o=n.symbolLayers.at(0);if(!o)return 0;switch(o.type){case"icon":{const{computeIconLayerResourceSize:e}=await(import("../../symbols/support/symbolLayerUtils.js"));return Math.min(rt.icon,(await e(o,rt.icon))[0])||rt.icon}case"text":return rt.text;case"line":return rt.line;case"object":{const{computeObjectLayerResourceSize:t}=await(import("../../symbols/support/symbolLayerUtils.js"));return me(await t(o,e.scale/rt.viewScaleSizeFactor),r)}case"path":case"extrude":return e.scale/rt.viewScaleSizeFactor;default:return 0}}function ge(e,t){const r=e.axis,n=t?.type??"double",o={initial:0,current:0},i=x[e.valueUnit]??1;let a;return a="area"===e.valueRepresentation?e=>(e*i/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*i/2:e=>e*i,{field:e.field,fieldType:n,getDefaultValue:async(e,t)=>be(a(await he(t,e,r)),n),getValue:(e,t)=>(o.initial||(o.initial=t.pixelSizeAt(t.center)),o.current=o.initial*e,be(o.current,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,displayUnit:it(e.valueUnit),axis:e.axis}}function be(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function we(e){if(!q(e))return!1;switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}function Ie(e,t){if(!e||!t)throw new Error("no geometry type");if("multipatch"===e)return{tool:"mesh",createOptions:{mode:"hybrid"}};const r=new Map;r.set("circle",{mode:"freehand"}),r.set("rectangle",{mode:"freehand"});const n={mode:N,optionsPerTool:r};if(v(t)){const o=t.defaultTool,i=T(t)?t.definition?.inputGeometryType??e:e;switch(o){case"freehand":case"stream-line":return{tool:"polyline"===i?"freehandPolyline":"freehandPolygon",createOptions:n};case"autocomplete-freehand-polygons":case"stream-polygon":return{tool:"freehandPolygon",createOptions:n};case"autocomplete-polygons":case"difference-polygon":case"create-structures":case"polygon":case"trace":return{tool:"polygon"===i?"polygon":"polyline",createOptions:n};case"circle":return r.get("circle").preserveAspectRatio=!0,{tool:"circle",createOptions:n};case"ellipse":return r.get("circle").preserveAspectRatio=!1,{tool:"circle",createOptions:n};case"create-points-along-line":case"multipoint":return{tool:"multipoint",createOptions:n};case"line":case"radial-line":case"right-angle-line":case"split":case"two-point-line":return{tool:"polyline",createOptions:n};case"rectangle":case"regular-polygon":case"right-angle-polygon":return{tool:"rectangle",createOptions:n};case"elevation-point-from-contour":case"elevation-point-from-dem":case"parcel-seed":case"point":case"point-and-rotation":case"point-at-end-of-line":return{tool:"point",createOptions:n}}}else{const o=t.drawingTool;if("circle"===o||"ellipse"===o)return r.get("circle").preserveAspectRatio="circle"===o,{tool:"circle",createOptions:n};if("rectangle"===o)return{tool:"rectangle",createOptions:n};if("freehand"===o)return{tool:"polygon"===e?"freehandPolygon":"freehandPolyline",createOptions:n}}return{tool:e,createOptions:n}}async function ve(e,t,r){const{creationInfo:n,fullTemplate:o}=r;if(!n)throw new i("featureworkflow","No creation info provided.");const a=n.layer,s=F(o,n.attributeOverrides,n.layer),{view:l}=e,c="2d"===l?.type;T(o)||j(o)||await Ce(e,a,s,c?l.scale:null);const{capabilities:u}=a;t.elevationInfo=a.elevationInfo;const p=Ie(a.geometryType,o);e.defaultCreateOptions={graphicProperties:{attributes:s,sourceLayer:a},mode:p.createOptions.mode,optionsPerTool:p.createOptions.optionsPerTool,preserveAspectRatio:p.createOptions.preserveAspectRatio,hasZ:u.data.supportsZ,defaultZ:(c?u.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},null==n.geometryToPlace?await e.create(p.tool):await e.place(n.geometryToPlace,{graphicProperties:{attributes:s,sourceLayer:a}})}async function Te(e){return a([Fe(e),je(e)])}function Fe({creationAttributes:e,data:t,sketchViewModel:r,view:n}){const{creationInfo:o}=t,{fullTemplate:i}=t;if(!o||"2d"!==n?.type||T(i)||j(i))return null;const a=d(t=>Ce(r,o.layer,e,t));return m(()=>n.scale,e=>a(e))}function je({data:t,sketchViewModel:r,view:n}){const{templateExecutorInfo:o}=t;if(!o)return null;const l=r.activeComponent;if(!n||!Y(l)&&!_(l))return ee().error(new i("featureworkflow","Failed to set up template feedback.")),null;const c=new S({effect:"saturate(0.6) opacity(0.8)",listMode:"hide",title:"Shared Template Feedback Graphics"});n.map?.add(c);const{executor:u,serviceLayersById:p}=o,d=n.theme?.accentColor??new e([255,165,0,1]);return a([h(()=>l,["cursor-update","vertex-add"],()=>{c.removeAll();const e=Y(l)?l.graphic?.geometry:l.unprocessedGeometry;if(!e||!ke(e))return;const t=u(e,"digitizing");if(!f(t))for(const r of t.edits){const e=p.get(r.id);if(e&&r.addFeatures&&0!==r.addFeatures.length)for(const t of e)if(!t.isTable)for(const e of r.addFeatures){const t=Ae(e,d);t&&c.add(t)}}}),s(()=>{n.map.remove(c),c.destroy()})])}function ke(e){switch(e.type){case"point":case"multipoint":return!0;case"polyline":{if(k(e))return e.curvePaths[0].length>1;const t=e.paths[0];return!!t&&t.length>1}case"polygon":{if(k(e))return e.curveRings[0].length>2;const t=e.rings[0];return!!t&&(n(t.at(0),t.at(-1))?t.length>2:t.length>1)}default:return!1}}function Ae(e,r){let n=null;switch(e.geometry?.type){case"point":case"multipoint":n=new C({angle:0,color:r,outline:new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:1}),path:"undefined",size:8,style:"circle",xoffset:0,yoffset:0});break;case"polygon":n=new P({color:r,outline:new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:3}),style:"none"});break;case"polyline":n=new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:2});break;default:return null}return new t({geometry:e.geometry,symbol:n,attributes:{...e.attributes}})}function Se(e,t){const r=B(t),n=V(e)?e.parent:e;return r.tablesAndLayersLookup.get(n)}function Oe(e,t){const r=Se(e,t);if(!r)return new Map;const n=new Map;for(const o of r.layersAndTables)p(n,o.layerId,()=>[]).push(o);return n}function Ue(e){const t=e.objectIdField,r=e.globalIdField??"";return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:r},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function Le(e){const{edits:t,serviceInfo:n,view:o,findOriginalFeature:i}=e,a=Ve(n.layersAndTables),s=n.layersAndTables.toArray(),{allEditData:l,editDataByLayerIdMap:c,editDataByIdMap:u}=xe(t,a,i),p=qe(l,Me(s,c),c);if(o&&Pe(l,p,o),0===p.length)return t;const d=X(p,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(r),f=new Map;for(const r of d)f.set(r.uniqueId,r);const y=[];for(const r of l)f.has(r.uniqueId)||y.push(r);const m=[];let h=null;for(const r of d){const{layer:e}=r;switch(null==h?h=Ue(e):h.id!==e.layerId&&(m.push(h),h=Ue(e)),r.operationType){case"add":case"modify":h.addFeatures.push(r.after);break;case"delete":h.deleteFeatures.push(r.before)}}null!==h&&m.push(h);for(const r of y){const e=r.layer.layerId,t=m.find(t=>t.id===e)??Ue(r.layer);switch(m.includes(t)||m.push(t),r.operationType){case"add":t.addFeatures.push(r.after);break;case"modify":t.updateFeatures.push(r.after);break;case"delete":t.deleteFeatures.push(r.before);break;case"deleteAttachment":t.deleteAttachments.push(r.attachmentId);break;case"addAttachment":t.addAttachments.push(r.attachment)}}for(const r of m)void 0!==r.deleteAttachments&&0===r.deleteAttachments.length&&delete r.deleteAttachments,void 0!==r.addAttachments&&0===r.addAttachments.length&&delete r.addAttachments;return m}function Ve(e){const t=new Map;for(const r of e)t.set(r.layerId,r);return t}function Me(e,t){const r=new Map;for(const n of e)for(const e of n.relationships??[])if(r.set(ze(n,e),""),t.has(e.relatedTableId)){const o=t.get(e.relatedTableId);if(o.length>0)for(const t of o[0].layer.relationships??[])if(t.id===e.id){r.set(ze(n,e),t.keyField);break}}return r}function xe(e,t,r){const n=new Map,o=[],a=new Map;let s=1;for(const l of e){const e=[],c=t.get(l.id);if(!c)throw new i("featureworkflow",`Failed to prepare applyEdits payload. Layer with id ${l.id} not found.`);for(const t of l.addFeatures??[])e.push({uniqueId:"T"+s++,operationType:"add",layer:c,after:t});for(const t of l.deleteFeatures??[])e.push({uniqueId:"T"+s++,operationType:"delete",before:t,layer:c});for(const t of l.deleteAttachments??[])e.push({uniqueId:"T"+s++,operationType:"deleteAttachment",attachmentId:t,layer:c});for(const t of l.addAttachments??[])e.push({uniqueId:"T"+s++,operationType:"addAttachment",attachment:t,layer:c});for(const t of l.updateFeatures??[])e.push({uniqueId:"T"+s++,operationType:"modify",before:r(t),after:t,layer:c});n.set(c.layerId,e);for(const t of e)o.push(t),a.set(t.uniqueId,t)}return{allEditData:o,editDataByIdMap:a,editDataByLayerIdMap:n}}function qe(e,t,r){const n=[];for(const o of e){const e=o.layer.relationships??[],{uniqueId:i}=o;for(const a of e){const e=a.keyField;if("origin"===a.role){const s=r.get(a.relatedTableId);if(!s||0===s.length)continue;const l=ze(o.layer,a),c=t.get(l);if(void 0===c||""===c)continue;switch(o.operationType){case"add":for(const t of s)t!==o&&("add"!==t.operationType&&"modify"!==t.operationType||t.after.attributes[c]===o.after.attributes[e]&&n.push([i,t.uniqueId]));break;case"modify":if(o.before.attributes[e]!==o.after.attributes[e])for(const t of s){const r=t.uniqueId;t!==o&&("delete"===t.operationType?t.before.attributes[c]===o.before.attributes[e]?n.push([r,i]):t.before.attributes[c]===o.after.attributes[e]&&n.push([i,r]):"add"===t.operationType?t.after.attributes[c]===o.after.attributes[e]?n.push([i,r]):t.after.attributes[c]===o.before.attributes[e]&&n.push([r,i]):"modify"===t.operationType&&(t.before.attributes[c]!==t.after.attributes[c]?t.after.attributes[c]===o.after.attributes[e]?n.push([i,r]):n.push([r,i]):n.push([i,r])))}break;case"delete":for(const t of s)t!==o&&("delete"!==t.operationType&&"modify"!==t.operationType||t.before.attributes[c]===o.before.attributes[e]&&n.push([t.uniqueId,i]))}}}}return n}function ze(e,t){return`${e.layerId}:${t.id}`}function Ee(e,t){return!!(t?.map&&"utilityNetworks"in t.map&&t.map.utilityNetworks?.length&&t.map.utilityNetworks.some(t=>!(!t.loaded||!e.url?.startsWith(t.featureServiceUrl)||e.layerId!==t.networkSystemLayers.associationsTableId)))}function Pe(e,t,r){const n=[];for(const i of e)Ee(i.layer,r)&&n.push(i);if(0===n.length)return;let o=[];for(const i of n){const r=i.layer;switch(i.operationType){case"delete":o=[...Re(i.before.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Re(i.before.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([i.uniqueId,e.uniqueId]);break;case"add":o=[...Re(i.after.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Re(i.after.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([e.uniqueId,i.uniqueId])}}}function Re(e,t){const r=[],n=t.filter(({layer:e})=>""!==e.globalIdField&&null!=e.globalIdField);for(const o of n){const t=o.layer.globalIdField;("before"in o&&o.before?.attributes[t]===e||"after"in o&&o.after?.attributes[t]===e)&&r.push(o)}return r}async function Ce(e,r,n,o){const i=new t({sourceLayer:r,attributes:n}),{rotation:a,size:s}=fe(i);let l=await G(i,{useSourceLayer:!0,scale:o}),c=!1;for(const t of[s,a]){if(null==t)continue;null==n[t.field]&&(n[t.field]=await t.getDefaultValue(l,e.view),c=!0)}switch(c&&(l=await G(i,{useSourceLayer:!0,scale:o})),l?.type){case"simple-fill":case"polygon-3d":e.polygonSymbol=l;break;case"simple-line":case"line-3d":e.polylineSymbol=l;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":e.pointSymbol=l;break;case"mesh-3d":e.meshSymbol=l}De(e.tooltipOptions,s,a)}function De(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function Ge(e,t){return e.find(e=>e.layer===t)}function Be(e,t){const r=Ge(e,t);if(null==r)throw new i("no-editorItem-found","The EditorViewModel provided did not have an EditorItem associated with the specified layer");return r}function Ne(e,t){return e?.find(e=>e.layer===t)}async function Ze(e,t,r,n){switch(t.type){case"3d":return We(e,t,r,n);case"2d":return $e(e,t,r,n)}}async function We(e,t,r,n){if(0===e.length)return[];const{updatable:i,graphicsByLayer:a}=await r.defer(async()=>{const{results:o}=await y(H(t,r),n),i=new Map,a=e=>{const t=e.layer,r=i.get(t);if(!r){const e=new Array;return i.set(t,e),e}return r};Q(o).forEach(({graphic:e})=>a(e).push(e));const s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&i.has(t));return 0!==s.length&&r.stopPropagation(),{updatable:s,graphicsByLayer:i}});return y(Promise.allSettled(i.map(async({layer:e})=>{const t=a.get(e),r=Qe(e);if(t.every(e=>O(e,r)))return t;const i=[];for(const n of t){i.push(n.getObjectId());const e=Object.keys(n.attributes);o(r,e)}const s=e.createQuery();return s.returnGeometry=!1,s.objectIds=i,s.outFields=U(e.fieldsIndex,r),e.queryFeatures(s,{signal:n}).then(({features:e})=>e)})),n)}async function $e(e,t,r,n){if(0===e.length)return[];const{mapPoint:o}=r;if(null==o)return[];let i=null;const a=await r.defer(async()=>{const{results:o}=await y(t.hitTest(r),n);if(0===o.length)return[];const a=new Set;i=Q(o),i.forEach(({graphic:e})=>e&&a.add(e.layer));const s=e.filter(e=>a.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&r.stopPropagation(),s});return y(Promise.allSettled(a.map(async({layer:e})=>{const a=e.createQuery();a.returnGeometry=!0,a.outFields=Qe(e);const s="renderer"in e?M({renderer:e.renderer,pointerType:r.pointerType}):0;a.geometry=$(o,s,t),a.outSpatialReference=t.spatialReference;const{features:l}=await e.queryFeatures(a,{signal:n});return i?.forEach(({graphic:t})=>{t.layer!==e||l.some(e=>e.getObjectId()===t.getObjectId())||l.push(t)}),l})),n)}function Qe(e){return U(e.fieldsIndex,[e.objectIdField,L({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function He(e,t,n,o){const i=e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(r);return await W(i,t,n,o)}async function Je(e){const{graphic:t,sketchViewModel:r,sourceLayer:n,updateOptions:o,visualVariables:i}=e;await Xe(e);const a={multipleSelectionEnabled:!1,...o};return"point"===n.geometryType&&(a.enableRotation=null!=i.rotation,a.enableScaling=null!=i.size),r.update(t,a)}function Ke(e,t){const{activeUpdateOptions:r}=e;r&&(e.activeUpdateOptions={...r,...t,reshapeOptions:{...r.reshapeOptions,...t.reshapeOptions},highlightOptions:{...r.highlightOptions,...t.highlightOptions}})}async function Xe(e){const{graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:o,visualVariables:i}=e;let a=!1;const{rotation:s,size:l}=i;for(const c of[s,l]){if(null==c)continue;const e=t.getAttribute(c.field);if(null!=e)c.setInitialValue(e);else{const e=await c.getDefaultValue(t.symbol,n.view);c.setInitialValue(e),t.setAttribute(c.field,e),a=!0}}if(a){const e="2d"===n.view?.type?n.view.scale:null;await Z(t,e)}De(n.tooltipOptions,l,s),r.elevationInfo=o.elevationInfo}function Ye(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function _e(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}function et(e,t,r,n){if(null==t.geometry||"point"!==t.geometry?.type)return!1;const o=t.attributes;let i=!1;const a=n.rotation,s=Ye(r.toolEventInfo);if(null!=a&&null!=s){const{field:r,getValue:n}=a;if("rotate-stop"===s.type)a.isUpdatingInteractively=!1,a.setInitialValue(t.getAttribute(r));else{a.isUpdatingInteractively=!0;const l=n(s.angle,e);l!==o[r]&&t.setAttribute(r,l),i=!0}}const l=n.size,c=_e(r.toolEventInfo);if(null!=l&&null!=c){const{field:r,getValue:n}=l;if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r));else{l.isUpdatingInteractively=!0;const a=n(c.xScale,e);a!==o[r]&&t.setAttribute(r,a),i=!0}}return i}async function tt({feature:e,featureClone:t,sketchLayer:r,sketchViewModel:n,getUpdateOptions:o,view:i,visualVariableAttributes:c,addHandle:u,addUpdatingPromise:p,onUpdate:f}){await Z(t,"2d"===i.type?i.scale:null);let y=null;if("2d"===n?.view?.type){const e=d(e=>Z(t,e));y=m(()=>n?.view?.scale,t=>e(t))}const h=t.sourceLayer,w=st(i,h);await Je({graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:h,updateOptions:o(),visualVariables:c});let I=null;w.then(e=>I=e).catch(()=>{});const v=c.size,T=c.rotation,F=m(()=>e.attributes,async e=>{let r=!1;for(const n in e){const o=e[n];o!==t.getAttribute(n)&&(t.setAttribute(n,o),null==v||v.isUpdatingInteractively||v.field!==n||v.setInitialValue(o),null==T||T.isUpdatingInteractively||T.field!==n||T.setInitialValue(o),(null==I||I.requiredFields.includes(n))&&(r=!0))}r&&await Z(t,"2d"===i.type?i.scale:null)}),j=n.on("update",async e=>{const t=e.graphics[0],a={graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:h,updateOptions:o(),visualVariables:c};if("complete"===e.state){const e=new AbortController,t=l(e);return u(t),p(g(()=>null===i.activeTool,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),Je(a)}))}et(i,t,e,c)&&await Z(t,"2d"===i.type?i.scale:null),f(ct(t),e)}),k=b(()=>null!=i.activeTool&&i.activeTool!==n.activeComponent,()=>n.cancel()),A=n.on(["undo","redo"],e=>{f(ct(e.graphics[0]),e)});return a([A,j,k,s(()=>n.cancel()),F,y])}const rt={icon:w(24),text:w(12),line:w(1),viewScaleSizeFactor:100};function nt(e,t,r){let n=!1;return e.filter(e=>!!n||(n=e===t,n)).map(e=>r[e]())}function ot(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const n=r.layer,o=e.viewModel.getTemplatesForLayer(n);1===o.length&&"scene"!==n.type&&(r.template=o[0],t.shift())}return t}function it(e){return"unknown"===e?null:e}const at=e=>e.includes("-stop")||e.includes("vertex-"),st=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function lt(e){return"createInteractiveEditSession"in e}function ct(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=c(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function ut(e){return e.acquireCursor("progress")}function pt(e){for(const t of e){const{destinationGraphic:e,destinationField:r,sourceGraphic:n,sourceField:o}=t;e.setAttribute(r,n.getAttribute(o))}}function dt(e){const t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>pt(e.relationships)),t.flatMap(e=>e.edits)):null}function ft(e){const t=J(e)?e.activeWorkflow:e;if(null==t)return[];if(K(t))return t.data.layers;const r=t.layer;return r?[r]:[]}function yt({attributes:e},t){const r=new Set;r.add(t.objectIdField),"uniqueIdFields"in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&I(r,t.uniqueIdFields);const n={};for(const o of r)null!=e[o]&&(n[o]=e[o]);if("scene"===t.type&&null!=t.infoFor3D){const r=t.associatedLayer?.globalIdField;null!=r&&(e[r]=e[r])}return n}function mt(e){if(!ht(e))return e;const t=new Map;for(const r of e){const e=r.getObjectId();if(null!=e){const n=r.sourceLayer??r.layer;p(t,n,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function ht(e){return 0===e.length||E(e[0])}function gt({drawTool:e},t){const r=e?.mostDownstreamPlugin?.configuration?.curveTypes;if(!t||!r||0===r.length)return!1;const n=new Set(t.capabilities.supportedCurveTypes);return r.some(e=>!n.has(e))}function bt(e,t){const r=new Set(t.capabilities.supportedCurveTypes);return e.some(({geometry:e})=>e&&k(e)&&A(e,r))}function wt({filter:e,forEachFeature:t,forEachValueChange:r}){return n=>{for(const{feature:o,changes:i}of n.data)if(!e||e(o)){for(const{fieldName:e,value:t}of i)r?.(e,t,o);t?.(o,i)}}}export{gt as activeSketchToolDrawsUnsupportedCurve,Pe as appendAllUtilityNetworkAssociationRelationships,ot as avoidFeatureTemplateSelectionWithOnlyOneItem,lt as canCreateInteractiveEditSession,ct as cloneGraphicExceptMesh,bt as containsUnsupportedCurve,Ve as createLayerIdMap,Me as createRelationshipKeyMap,Ie as createToolFromGeometryType,nt as createWorkflowSteps,Ze as fetchCandidates,He as fetchFullFeatures,qe as findAllDependencies,Re as findChangesByGlobalId,Ge as findEditorItemForLayer,Be as findEditorItemForLayerOrThrow,Ne as findLayerInfo,ze as generateHashForRelationship,ft as getLayersFromWorkflow,ye as getRotationVariableAttribute,dt as getServiceEditsFromWorkflowData,Se as getServiceInfoForLayer,Oe as getServiceLayersById,ge as getSizeVariableAttribute,fe as getVisualVariableAttributes,de as getVisualVariablesForLayer,wt as handleFormValuesChangeEvent,te as isAnyUpdateLeafWorkflow,re as isBatchAttributeFormViewModel,ht as isGraphicsArray,ie as isMergeFeaturesWorkflow,le as isMergeWorkflowOptions,se as isParentWorkflow,ae as isSplitFeatureWorkflow,ce as isSplitWorkflowOptions,at as isTerminalUpdateEventType,ne as isUpdateFeaturesWorkflow,pe as isUpdateFeaturesWorkflowOptions,oe as isUpdateRecordWorkflow,Ee as isUtilityNetworkAssociationsTable,yt as makeMinimalAttributes,Le as orderEditsByRelationshipDependencies,pt as setRelationshipFields,tt as setUpGeometryUpdate,Te as setUpSketchCreateWatchers,Xe as setVisualVariablesAndElevationInfoForUpdate,ut as showProgressCursor,rt as sizeDefaults,it as sizeVariableUnitToLengthUnit,ve as startCreatingNewFeature,Je as startUpdatingFeatureGeometry,Ke as syncUpdateOptions,mt as toFeatureInfos,et as visualVariableInteractiveUpdate,st as whenEditorLayerView,ue as workflowInfluencesOutcomeOfParent};
2
+ import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as r,equals as n,addMany as o}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{handlesGroup as a,makeHandle as s,abortHandle as l}from"../../core/handleUtils.js";import{clone as c}from"../../core/lang.js";import u from"../../core/Logger.js";import{getOrCreateMapValue as p}from"../../core/MapUtils.js";import{debounce as d,isPromiseLike as f,whenOrAbort as y}from"../../core/promiseUtils.js";import{watch as m,on as h,whenOnce as g,when as b}from"../../core/reactiveUtils.js";import{px2pt as w}from"../../core/screenUtils.js";import{addMany as I}from"../../core/SetUtils.js";import{isSharedTemplateOrMetadata as v,isSharedGroupTemplate as T,getCreationAttributes as F,isSharedPresetTemplate as j}from"../../editing/templateUtils.js";import{isCurvedGeometry as k,hasUnsupportedCurve as A}from"../../geometry/support/curves/curveUtils.js";import S from"../../layers/GraphicsLayer.js";import{featureHasFields as O,fixFields as U,getDisplayFieldName as L}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as V}from"../../layers/support/layerUtils.js";import{calculateTolerance as M}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as x}from"../../renderers/support/lengthUtils.js";import{isRenderer as q}from"../../renderers/support/typeUtils.js";import{getTransformationType as P}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as z}from"../../support/graphicInstanceUtils.js";import E from"../../symbols/SimpleFillSymbol.js";import R from"../../symbols/SimpleLineSymbol.js";import C from"../../symbols/SimpleMarkerSymbol.js";import{to3D as D}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as G}from"../../symbols/support/symbolUtils.js";import{getServices as B}from"../../undoredo/support/Services.js";import{defaultDrawingMode as N}from"../../views/draw/drawingModes.js";import{updateGraphicSymbolWhenRequired as Z,fetchFullFeaturesByObjectId as W}from"../../views/draw/support/editingSessionUtils.js";import{createQueryGeometry as $}from"../../views/support/drapedUtils.js";import{filterGraphicHits as H,hitTestSelectSimilarDistance as Q}from"../../views/support/hitTestSelectUtils.js";import{isNextOrLegacyUpdateWorkflow as J,isNextOrLegacyUpdateFeaturesWorkflow as K}from"./compatibilityAdapters.js";import{dependencySort as X}from"./support/dependencySort.js";import{isDrawGraphicTool as Y,isDrawTool as _}from"../Sketch/support/sketchUtils.js";const ee=()=>u.getLogger("esri.widgets.Editor.workflowUtils");function te(e){return oe(e)||ne(e)}function re(e){return!!e&&"features"in e}function ne(e){return null!=e&&"update-features"===e.type}function oe(e){return null!=e&&e.type.includes("update-")&&"fullFeature"in e}function ie(e){return null!=e&&"merge-features"===e.type}function ae(e){return null!=e&&"split-feature"===e.type}function se(e){const t=e?.type;return"update-feature"===t||"update-table-record"===t||"update-features"===t||"split-feature"===t}function le(e){return"merge"===e?.type}function ce(e){return"split"===e?.type}function ue(e){return ie(e)||ae(e)}function pe(e){return"update-multiple"===e?.type}function de(e){const t=e&&"renderer"in e?e.renderer:null;if(!we(t))return{rotation:null,size:null};const r=t.getVisualVariablesForType("rotation").filter(e=>(!e.axis||"heading"===e.axis)&&e.field&&!e.valueExpression),n=t.getVisualVariablesForType("size").filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&"real-world-size"===P(e));return{rotation:1===r.length?r[0]:null,size:1===n.length?n[0]:null}}function fe(e){const t=e.sourceLayer;if(!(t&&"renderer"in t&&we(t.renderer)))return{rotation:null,size:null};const{rotation:r,size:n}=de(t);let o=null,i=null;if(r){const e=t.fields?.filter(e=>e.name===r.field),n=1===e?.length?e[0]:null;o=ye(r,n)}if(n){const e=t.fields?.filter(e=>e.name===n.field),r=1===e?.length?e[0]:null;i=ge(n,r)}return{rotation:o,size:i}}function ye(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,n=t?.type??"double",o={initial:0,current:0};return{field:e.field,fieldType:n,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(o.current=o.initial-r*e,be((o.current+360)%360,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function me(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function he(e,t,r){if(null==t)return 0;const{symbol:n}=D(t);if(null==n||"web-style"===n.type||"cim"===n.type)return 0;const o=n.symbolLayers.at(0);if(!o)return 0;switch(o.type){case"icon":{const{computeIconLayerResourceSize:e}=await(import("../../symbols/support/symbolLayerUtils.js"));return Math.min(rt.icon,(await e(o,rt.icon))[0])||rt.icon}case"text":return rt.text;case"line":return rt.line;case"object":{const{computeObjectLayerResourceSize:t}=await(import("../../symbols/support/symbolLayerUtils.js"));return me(await t(o,e.scale/rt.viewScaleSizeFactor),r)}case"path":case"extrude":return e.scale/rt.viewScaleSizeFactor;default:return 0}}function ge(e,t){const r=e.axis,n=t?.type??"double",o={initial:0,current:0},i=x[e.valueUnit]??1;let a;return a="area"===e.valueRepresentation?e=>(e*i/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*i/2:e=>e*i,{field:e.field,fieldType:n,getDefaultValue:async(e,t)=>be(a(await he(t,e,r)),n),getValue:(e,t)=>(o.initial||(o.initial=t.pixelSizeAt(t.center)),o.current=o.initial*e,be(o.current,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,displayUnit:it(e.valueUnit),axis:e.axis}}function be(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function we(e){if(!q(e))return!1;switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}function Ie(e,t){if(!e||!t)throw new Error("no geometry type");if("multipatch"===e)return{tool:"mesh",createOptions:{mode:"hybrid"}};const r=new Map;r.set("circle",{mode:"freehand"}),r.set("rectangle",{mode:"freehand"});const n={mode:N,optionsPerTool:r};if(v(t)){const o=t.defaultTool,i=T(t)?t.definition?.inputGeometryType??e:e;switch(o){case"freehand":case"stream-line":return{tool:"polyline"===i?"freehandPolyline":"freehandPolygon",createOptions:n};case"autocomplete-freehand-polygons":case"stream-polygon":return{tool:"freehandPolygon",createOptions:n};case"autocomplete-polygons":case"difference-polygon":case"create-structures":case"polygon":case"trace":return{tool:"polygon"===i?"polygon":"polyline",createOptions:n};case"circle":return r.get("circle").preserveAspectRatio=!0,{tool:"circle",createOptions:n};case"ellipse":return r.get("circle").preserveAspectRatio=!1,{tool:"circle",createOptions:n};case"create-points-along-line":case"multipoint":return{tool:"multipoint",createOptions:n};case"line":case"radial-line":case"right-angle-line":case"split":case"two-point-line":return{tool:"polyline",createOptions:n};case"rectangle":case"regular-polygon":case"right-angle-polygon":return{tool:"rectangle",createOptions:n};case"elevation-point-from-contour":case"elevation-point-from-dem":case"parcel-seed":case"point":case"point-and-rotation":case"point-at-end-of-line":return{tool:"point",createOptions:n}}}else{const o=t.drawingTool;if("circle"===o||"ellipse"===o)return r.get("circle").preserveAspectRatio="circle"===o,{tool:"circle",createOptions:n};if("rectangle"===o)return{tool:"rectangle",createOptions:n};if("freehand"===o)return{tool:"polygon"===e?"freehandPolygon":"freehandPolyline",createOptions:n}}return{tool:e,createOptions:n}}async function ve(e,t,r){const{creationInfo:n,fullTemplate:o}=r;if(!n)throw new i("featureworkflow","No creation info provided.");const a=n.layer,s=F(o,n.attributeOverrides,n.layer),{view:l}=e,c="2d"===l?.type;T(o)||j(o)||await Ce(e,a,s,c?l.scale:null);const{capabilities:u}=a;t.elevationInfo=a.elevationInfo;const p=Ie(a.geometryType,o);e.defaultCreateOptions={graphicProperties:{attributes:s,sourceLayer:a},mode:p.createOptions.mode,optionsPerTool:p.createOptions.optionsPerTool,preserveAspectRatio:p.createOptions.preserveAspectRatio,hasZ:u.data.supportsZ,defaultZ:(c?u.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},null==n.geometryToPlace?await e.create(p.tool):await e.place(n.geometryToPlace,{graphicProperties:{attributes:s,sourceLayer:a}})}async function Te(e){return a([Fe(e),je(e)])}function Fe({creationAttributes:e,data:t,sketchViewModel:r,view:n}){const{creationInfo:o}=t,{fullTemplate:i}=t;if(!o||"2d"!==n?.type||T(i)||j(i))return null;const a=d(t=>Ce(r,o.layer,e,t));return m(()=>n.scale,e=>a(e))}function je({data:t,sketchViewModel:r,view:n}){const{templateExecutorInfo:o}=t;if(!o)return null;const l=r.activeComponent;if(!n||!Y(l)&&!_(l))return ee().error(new i("featureworkflow","Failed to set up template feedback.")),null;const c=new S({effect:"saturate(0.6) opacity(0.8)",listMode:"hide",title:"Shared Template Feedback Graphics"});n.map?.add(c);const{executor:u,serviceLayersById:p}=o,d=n.theme?.accentColor??new e([255,165,0,1]);return a([h(()=>l,["cursor-update","vertex-add"],()=>{c.removeAll();const e=Y(l)?l.graphic?.geometry:l.unprocessedGeometry;if(!e||!ke(e))return;const t=u(e,"digitizing");if(!f(t))for(const r of t.edits){const e=p.get(r.id);if(e&&r.addFeatures&&0!==r.addFeatures.length)for(const t of e)if(!t.isTable)for(const e of r.addFeatures){const t=Ae(e,d);t&&c.add(t)}}}),s(()=>{n.map.remove(c),c.destroy()})])}function ke(e){switch(e.type){case"point":case"multipoint":return!0;case"polyline":{if(k(e))return e.curvePaths[0].length>1;const t=e.paths[0];return!!t&&t.length>1}case"polygon":{if(k(e))return e.curveRings[0].length>2;const t=e.rings[0];return!!t&&(n(t.at(0),t.at(-1))?t.length>2:t.length>1)}default:return!1}}function Ae(e,r){let n=null;switch(e.geometry?.type){case"point":case"multipoint":n=new C({angle:0,color:r,outline:new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:1}),path:"undefined",size:8,style:"circle",xoffset:0,yoffset:0});break;case"polygon":n=new E({color:r,outline:new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:3}),style:"none"});break;case"polyline":n=new R({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:2});break;default:return null}return new t({geometry:e.geometry,symbol:n,attributes:{...e.attributes}})}function Se(e,t){const r=B(t),n=V(e)?e.parent:e;return r.tablesAndLayersLookup.get(n)}function Oe(e,t){const r=Se(e,t);if(!r)return new Map;const n=new Map;for(const o of r.layersAndTables)p(n,o.layerId,()=>[]).push(o);return n}function Ue(e){const t=e.objectIdField,r=e.globalIdField??"";return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:r},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function Le(e){const{edits:t,serviceInfo:n,view:o,findOriginalFeature:i}=e,a=Ve(n.layersAndTables),s=n.layersAndTables.toArray(),{allEditData:l,editDataByLayerIdMap:c,editDataByIdMap:u}=xe(t,a,i),p=qe(l,Me(s,c),c);if(o&&Ee(l,p,o),0===p.length)return t;const d=X(p,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(r),f=new Map;for(const r of d)f.set(r.uniqueId,r);const y=[];for(const r of l)f.has(r.uniqueId)||y.push(r);const m=[];let h=null;for(const r of d){const{layer:e}=r;switch(null==h?h=Ue(e):h.id!==e.layerId&&(m.push(h),h=Ue(e)),r.operationType){case"add":case"modify":h.addFeatures.push(r.after);break;case"delete":h.deleteFeatures.push(r.before)}}null!==h&&m.push(h);for(const r of y){const e=r.layer.layerId,t=m.find(t=>t.id===e)??Ue(r.layer);switch(m.includes(t)||m.push(t),r.operationType){case"add":t.addFeatures.push(r.after);break;case"modify":t.updateFeatures.push(r.after);break;case"delete":t.deleteFeatures.push(r.before);break;case"deleteAttachment":t.deleteAttachments.push(r.attachmentId);break;case"addAttachment":t.addAttachments.push(r.attachment)}}for(const r of m)void 0!==r.deleteAttachments&&0===r.deleteAttachments.length&&delete r.deleteAttachments,void 0!==r.addAttachments&&0===r.addAttachments.length&&delete r.addAttachments;return m}function Ve(e){const t=new Map;for(const r of e)t.set(r.layerId,r);return t}function Me(e,t){const r=new Map;for(const n of e)for(const e of n.relationships??[])if(r.set(Pe(n,e),""),t.has(e.relatedTableId)){const o=t.get(e.relatedTableId);if(o.length>0)for(const t of o[0].layer.relationships??[])if(t.id===e.id){r.set(Pe(n,e),t.keyField);break}}return r}function xe(e,t,r){const n=new Map,o=[],a=new Map;let s=1;for(const l of e){const e=[],c=t.get(l.id);if(!c)throw new i("featureworkflow",`Failed to prepare applyEdits payload. Layer with id ${l.id} not found.`);for(const t of l.addFeatures??[])e.push({uniqueId:"T"+s++,operationType:"add",layer:c,after:t});for(const t of l.deleteFeatures??[])e.push({uniqueId:"T"+s++,operationType:"delete",before:t,layer:c});for(const t of l.deleteAttachments??[])e.push({uniqueId:"T"+s++,operationType:"deleteAttachment",attachmentId:t,layer:c});for(const t of l.addAttachments??[])e.push({uniqueId:"T"+s++,operationType:"addAttachment",attachment:t,layer:c});for(const t of l.updateFeatures??[])e.push({uniqueId:"T"+s++,operationType:"modify",before:r(t),after:t,layer:c});n.set(c.layerId,e);for(const t of e)o.push(t),a.set(t.uniqueId,t)}return{allEditData:o,editDataByIdMap:a,editDataByLayerIdMap:n}}function qe(e,t,r){const n=[];for(const o of e){const e=o.layer.relationships??[],{uniqueId:i}=o;for(const a of e){const e=a.keyField;if("origin"===a.role){const s=r.get(a.relatedTableId);if(!s||0===s.length)continue;const l=Pe(o.layer,a),c=t.get(l);if(void 0===c||""===c)continue;switch(o.operationType){case"add":for(const t of s)t!==o&&("add"!==t.operationType&&"modify"!==t.operationType||t.after.attributes[c]===o.after.attributes[e]&&n.push([i,t.uniqueId]));break;case"modify":if(o.before.attributes[e]!==o.after.attributes[e])for(const t of s){const r=t.uniqueId;t!==o&&("delete"===t.operationType?t.before.attributes[c]===o.before.attributes[e]?n.push([r,i]):t.before.attributes[c]===o.after.attributes[e]&&n.push([i,r]):"add"===t.operationType?t.after.attributes[c]===o.after.attributes[e]?n.push([i,r]):t.after.attributes[c]===o.before.attributes[e]&&n.push([r,i]):"modify"===t.operationType&&(t.before.attributes[c]!==t.after.attributes[c]?t.after.attributes[c]===o.after.attributes[e]?n.push([i,r]):n.push([r,i]):n.push([i,r])))}break;case"delete":for(const t of s)t!==o&&("delete"!==t.operationType&&"modify"!==t.operationType||t.before.attributes[c]===o.before.attributes[e]&&n.push([t.uniqueId,i]))}}}}return n}function Pe(e,t){return`${e.layerId}:${t.id}`}function ze(e,t){return!!(t?.map&&"utilityNetworks"in t.map&&t.map.utilityNetworks?.length&&t.map.utilityNetworks.some(t=>!(!t.loaded||!e.url?.startsWith(t.featureServiceUrl)||e.layerId!==t.networkSystemLayers.associationsTableId)))}function Ee(e,t,r){const n=[];for(const i of e)ze(i.layer,r)&&n.push(i);if(0===n.length)return;let o=[];for(const i of n){const r=i.layer;switch(i.operationType){case"delete":o=[...Re(i.before.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Re(i.before.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([i.uniqueId,e.uniqueId]);break;case"add":o=[...Re(i.after.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Re(i.after.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([e.uniqueId,i.uniqueId])}}}function Re(e,t){const r=[],n=t.filter(({layer:e})=>""!==e.globalIdField&&null!=e.globalIdField);for(const o of n){const t=o.layer.globalIdField;("before"in o&&o.before?.attributes[t]===e||"after"in o&&o.after?.attributes[t]===e)&&r.push(o)}return r}async function Ce(e,r,n,o){const i=new t({sourceLayer:r,attributes:n}),{rotation:a,size:s}=fe(i);let l=await G(i,{useSourceLayer:!0,scale:o}),c=!1;for(const t of[s,a]){if(null==t)continue;null==n[t.field]&&(n[t.field]=await t.getDefaultValue(l,e.view),c=!0)}switch(c&&(l=await G(i,{useSourceLayer:!0,scale:o})),l?.type){case"simple-fill":case"polygon-3d":e.polygonSymbol=l;break;case"simple-line":case"line-3d":e.polylineSymbol=l;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":e.pointSymbol=l;break;case"mesh-3d":e.meshSymbol=l}De(e.tooltipOptions,s,a)}function De(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function Ge(e,t){return e.find(e=>e.layer===t)}function Be(e,t){const r=Ge(e,t);if(null==r)throw new i("no-editorItem-found","The EditorViewModel provided did not have an EditorItem associated with the specified layer");return r}function Ne(e,t){return e?.find(e=>e.layer===t)}async function Ze(e,t,r,n){switch(t.type){case"3d":return We(e,t,r,n);case"2d":return $e(e,t,r,n)}}async function We(e,t,r,n){if(0===e.length)return[];const{updatable:i,graphicsByLayer:a}=await r.defer(async()=>{const{results:o}=await y(Q(t,r),n),i=new Map,a=e=>{const t=e.layer,r=i.get(t);if(!r){const e=new Array;return i.set(t,e),e}return r};H(o).forEach(({graphic:e})=>a(e).push(e));const s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&i.has(t));return 0!==s.length&&r.stopPropagation(),{updatable:s,graphicsByLayer:i}});return y(Promise.allSettled(i.map(async({layer:e})=>{const t=a.get(e),r=He(e);if(t.every(e=>O(e,r)))return t;const i=[];for(const n of t){i.push(n.getObjectId());const e=Object.keys(n.attributes);o(r,e)}const s=e.createQuery();return s.returnGeometry=!1,s.objectIds=i,s.outFields=U(e.fieldsIndex,r),e.queryFeatures(s,{signal:n}).then(({features:e})=>e)})),n)}async function $e(e,t,r,n){if(0===e.length)return[];const{mapPoint:o}=r;if(null==o)return[];let i=null;const a=await r.defer(async()=>{const{results:o}=await y(t.hitTest(r),n);if(0===o.length)return[];const a=new Set;i=H(o),i.forEach(({graphic:e})=>e&&a.add(e.layer));const s=e.filter(e=>a.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&r.stopPropagation(),s});return y(Promise.allSettled(a.map(async({layer:e})=>{const a=e.createQuery();a.returnGeometry=!0,a.outFields=He(e);const s="renderer"in e?M({renderer:e.renderer,pointerType:r.pointerType}):0;a.geometry=$(o,s,t),a.outSpatialReference=t.spatialReference;const{features:l}=await e.queryFeatures(a,{signal:n});return i?.forEach(({graphic:t})=>{t.layer!==e||l.some(e=>e.getObjectId()===t.getObjectId())||l.push(t)}),l})),n)}function He(e){return U(e.fieldsIndex,[e.objectIdField,L({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function Qe(e,t,n,o){const i=e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(r);return await W(i,t,n,o)}async function Je(e){const{graphic:t,sketchViewModel:r,sourceLayer:n,updateOptions:o,visualVariables:i}=e;await Xe(e);const a={multipleSelectionEnabled:!1,...o};return"point"===n.geometryType&&(a.enableRotation=null!=i.rotation,a.enableScaling=null!=i.size),r.update(t,a)}function Ke(e,t){const{activeUpdateOptions:r}=e;r&&(e.activeUpdateOptions={...r,...t,reshapeOptions:{...r.reshapeOptions,...t.reshapeOptions},highlightOptions:{...r.highlightOptions,...t.highlightOptions}})}async function Xe(e){const{graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:o,visualVariables:i}=e;let a=!1;const{rotation:s,size:l}=i;for(const c of[s,l]){if(null==c)continue;const e=t.getAttribute(c.field);if(null!=e)c.setInitialValue(e);else{const e=await c.getDefaultValue(t.symbol,n.view);c.setInitialValue(e),t.setAttribute(c.field,e),a=!0}}if(a){const e="2d"===n.view?.type?n.view.scale:null;await Z(t,e)}De(n.tooltipOptions,l,s),r.elevationInfo=o.elevationInfo}function Ye(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function _e(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}function et(e,t,r,n){if(null==t.geometry||"point"!==t.geometry?.type)return!1;const o=t.attributes;let i=!1;const a=n.rotation,s=Ye(r.toolEventInfo);if(null!=a&&null!=s){const{field:r,getValue:n}=a;if("rotate-stop"===s.type)a.isUpdatingInteractively=!1,a.setInitialValue(t.getAttribute(r));else{a.isUpdatingInteractively=!0;const l=n(s.angle,e);l!==o[r]&&t.setAttribute(r,l),i=!0}}const l=n.size,c=_e(r.toolEventInfo);if(null!=l&&null!=c){const{field:r,getValue:n}=l;if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r));else{l.isUpdatingInteractively=!0;const a=n(c.xScale,e);a!==o[r]&&t.setAttribute(r,a),i=!0}}return i}async function tt({feature:e,featureClone:t,sketchLayer:r,sketchViewModel:n,getUpdateOptions:o,view:i,visualVariableAttributes:c,addHandle:u,updatingHandles:p,onUpdate:f}){await Z(t,"2d"===i.type?i.scale:null);let y=null;if("2d"===n?.view?.type){const e=d(e=>Z(t,e));y=p.add(()=>n?.view?.scale,t=>p.consumePromise(e(t)))}const m=t.sourceLayer,h=st(i,m);await Je({graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:m,updateOptions:o(),visualVariables:c});let w=null;h.then(e=>w=e).catch(()=>{});const I=c.size,v=c.rotation,T=p.add(()=>e.attributes,async e=>{let r=!1;for(const n in e){const o=e[n];o!==t.getAttribute(n)&&(t.setAttribute(n,o),null==I||I.isUpdatingInteractively||I.field!==n||I.setInitialValue(o),null==v||v.isUpdatingInteractively||v.field!==n||v.setInitialValue(o),(null==w||w.requiredFields.includes(n))&&(r=!0))}r&&await p.addPromise(Z(t,"2d"===i.type?i.scale:null))}),F=n.on("update",async e=>{const t=e.graphics[0],a={graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:m,updateOptions:o(),visualVariables:c};if("complete"===e.state){const e=new AbortController,t=l(e);return u(t),void p.consumePromise(g(()=>null===i.activeTool,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),Je(a)}))}et(i,t,e,c)&&await p.addPromise(Z(t,"2d"===i.type?i.scale:null)),f(ct(t),e)}),j=b(()=>null!=i.activeTool&&i.activeTool!==n.activeComponent,()=>n.cancel()),k=n.on(["undo","redo"],e=>{f(ct(e.graphics[0]),e)});return a([k,F,j,s(()=>n.cancel()),T,y])}const rt={icon:w(24),text:w(12),line:w(1),viewScaleSizeFactor:100};function nt(e,t,r){let n=!1;return e.filter(e=>!!n||(n=e===t,n)).map(e=>r[e]())}function ot(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const n=r.layer,o=e.viewModel.getTemplatesForLayer(n);1===o.length&&"scene"!==n.type&&(r.template=o[0],t.shift())}return t}function it(e){return"unknown"===e?null:e}const at=e=>e.includes("-stop")||e.includes("vertex-"),st=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function lt(e){return"createInteractiveEditSession"in e}function ct(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=c(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function ut(e){return e.acquireCursor("progress")}function pt(e){for(const t of e){const{destinationGraphic:e,destinationField:r,sourceGraphic:n,sourceField:o}=t;e.setAttribute(r,n.getAttribute(o))}}function dt(e){const t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>pt(e.relationships)),t.flatMap(e=>e.edits)):null}function ft(e){const t=J(e)?e.activeWorkflow:e;if(null==t)return[];if(K(t))return t.data.layers;const r=t.layer;return r?[r]:[]}function yt({attributes:e},t){const r=new Set;r.add(t.objectIdField),"uniqueIdFields"in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&I(r,t.uniqueIdFields);const n={};for(const o of r)null!=e[o]&&(n[o]=e[o]);if("scene"===t.type&&null!=t.infoFor3D){const r=t.associatedLayer?.globalIdField;null!=r&&(e[r]=e[r])}return n}function mt(e){if(!ht(e))return e;const t=new Map;for(const r of e){const e=r.getObjectId();if(null!=e){const n=r.sourceLayer??r.layer;p(t,n,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function ht(e){return 0===e.length||z(e[0])}function gt({drawTool:e},t){const r=e?.mostDownstreamPlugin?.configuration?.curveTypes;if(!t||!r||0===r.length)return!1;const n=new Set(t.capabilities.supportedCurveTypes);return r.some(e=>!n.has(e))}function bt(e,t){const r=new Set(t.capabilities.supportedCurveTypes);return e.some(({geometry:e})=>e&&k(e)&&A(e,r))}function wt({filter:e,forEachFeature:t,forEachValueChange:r}){return n=>{for(const{feature:o,changes:i}of n.data)if(!e||e(o)){for(const{fieldName:e,value:t}of i)r?.(e,t,o);t?.(o,i)}}}export{gt as activeSketchToolDrawsUnsupportedCurve,Ee as appendAllUtilityNetworkAssociationRelationships,ot as avoidFeatureTemplateSelectionWithOnlyOneItem,lt as canCreateInteractiveEditSession,ct as cloneGraphicExceptMesh,bt as containsUnsupportedCurve,Ve as createLayerIdMap,Me as createRelationshipKeyMap,Ie as createToolFromGeometryType,nt as createWorkflowSteps,Ze as fetchCandidates,Qe as fetchFullFeatures,qe as findAllDependencies,Re as findChangesByGlobalId,Ge as findEditorItemForLayer,Be as findEditorItemForLayerOrThrow,Ne as findLayerInfo,Pe as generateHashForRelationship,ft as getLayersFromWorkflow,ye as getRotationVariableAttribute,dt as getServiceEditsFromWorkflowData,Se as getServiceInfoForLayer,Oe as getServiceLayersById,ge as getSizeVariableAttribute,fe as getVisualVariableAttributes,de as getVisualVariablesForLayer,wt as handleFormValuesChangeEvent,te as isAnyUpdateLeafWorkflow,re as isBatchAttributeFormViewModel,ht as isGraphicsArray,ie as isMergeFeaturesWorkflow,le as isMergeWorkflowOptions,se as isParentWorkflow,ae as isSplitFeatureWorkflow,ce as isSplitWorkflowOptions,at as isTerminalUpdateEventType,ne as isUpdateFeaturesWorkflow,pe as isUpdateFeaturesWorkflowOptions,oe as isUpdateRecordWorkflow,ze as isUtilityNetworkAssociationsTable,yt as makeMinimalAttributes,Le as orderEditsByRelationshipDependencies,pt as setRelationshipFields,tt as setUpGeometryUpdate,Te as setUpSketchCreateWatchers,Xe as setVisualVariablesAndElevationInfoForUpdate,ut as showProgressCursor,rt as sizeDefaults,it as sizeVariableUnitToLengthUnit,ve as startCreatingNewFeature,Je as startUpdatingFeatureGeometry,Ke as syncUpdateOptions,mt as toFeatureInfos,et as visualVariableInteractiveUpdate,st as whenEditorLayerView,ue as workflowInfluencesOutcomeOfParent};
@@ -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
  /**
@@ -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
  /**
@@ -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.
@@ -1166,6 +1172,14 @@ export default class FeatureTableViewModel extends GridViewModel {
1166
1172
  * @since 4.31
1167
1173
  */
1168
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;
1169
1183
  /**
1170
1184
  * Returns information about the feature with the provided object ID.
1171
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 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(()=>{})}),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 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.")}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 j({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 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: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: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: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: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(!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: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:u,required:R}=t;a.push(new j({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: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,p=m>-1?m:void 0;return new j({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:j,width:R}=t;return new x({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: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: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,"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};
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};
@@ -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.
@@ -563,6 +569,14 @@ export default class FeatureStore extends Accessor {
563
569
  * @internal
564
570
  */
565
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;
566
580
  /**
567
581
  * Returns a string representing the provided feature. If the feature does not exist locally an extra query is
568
582
  * made to the server to retrieve the feature information. Additionally, if 'force' is true, the store will query the