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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (739) hide show
  1. package/Map.js +1 -1
  2. package/WebScene.js +1 -1
  3. package/analysis/DimensionAnalysis.js +1 -1
  4. package/analysis/LineOfSightAnalysis.js +1 -1
  5. package/analysis/ViewshedAnalysis.js +1 -1
  6. package/applications/ExperienceBuilder/sketchUtils.d.ts +1 -0
  7. package/applications/ExperienceBuilder/sketchUtils.js +1 -1
  8. package/arcade/Voxel.js +1 -1
  9. package/arcade/functions/knowledgegraph.js +1 -1
  10. package/assets/esri/core/workers/RemoteClient.js +1 -1
  11. package/assets/esri/core/workers/chunks/0039dee1337160366112.js +1 -0
  12. package/assets/esri/core/workers/chunks/{54ea93f416ab52b413c1.js → 076f830d6d0337dfce9d.js} +1 -1
  13. package/assets/esri/core/workers/chunks/09907c9ff597df9bc954.js +1 -0
  14. package/assets/esri/core/workers/chunks/0dbb350ce651bc236ec8.js +1 -0
  15. package/assets/esri/core/workers/chunks/0ed4ec00ef16aa58a33d.js +1 -0
  16. package/assets/esri/core/workers/chunks/{ead5d4e271effc04def3.js → 1415d4e2f5f3193be004.js} +1 -1
  17. package/assets/esri/core/workers/chunks/18011c691e0aca4144dd.js +1 -0
  18. package/assets/esri/core/workers/chunks/1dc1084eb34748a35d35.js +1 -0
  19. package/assets/esri/core/workers/chunks/1f315f0eeb26dad1addd.js +1 -0
  20. package/assets/esri/core/workers/chunks/2254989ca3ff3960f2fe.js +1 -0
  21. package/assets/esri/core/workers/chunks/2dc54925d473a959119c.js +1 -0
  22. package/assets/esri/core/workers/chunks/2ddb776434a93b8d9e63.js +1 -0
  23. package/assets/esri/core/workers/chunks/2e1ceff3f88a6c78dfa2.js +1 -0
  24. package/assets/esri/core/workers/chunks/{847e88e1d6da1e74cdc8.js → 2ecc1057d53e0b4a60b7.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{ece68a25651ef03fc95d.js → 342f61e784c9364a493b.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{0d23610475c85385fbff.js → 355e6bcdb401ada71f39.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{bba6d7615d8f3862fe70.js → 36f0046ff6b46adce7b7.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{1c86aa3802d9ae0230ae.js → 3916879b9ca8c6979011.js} +1 -1
  29. package/assets/esri/core/workers/chunks/3adcf78ed1e7cd82666d.js +1 -0
  30. package/assets/esri/core/workers/chunks/3ae2e9f469020f777d9f.js +1 -0
  31. package/assets/esri/core/workers/chunks/3b63edcd34f832ac7bd8.js +1 -0
  32. package/assets/esri/core/workers/chunks/3cbc498388fb1931a9f8.js +1 -0
  33. package/assets/esri/core/workers/chunks/{b0522dffa5600345c07e.js → 3e85e63148b5e93d3074.js} +1 -1
  34. package/assets/esri/core/workers/chunks/4088f4c25a09932a3eb1.js +1 -0
  35. package/assets/esri/core/workers/chunks/427318722815bef1496b.js +1 -0
  36. package/assets/esri/core/workers/chunks/462cc6966d060be59c7c.js +1 -0
  37. package/assets/esri/core/workers/chunks/464c15b2779f9b803a06.js +1 -0
  38. package/assets/esri/core/workers/chunks/467cacb501b0417bb4df.js +1 -0
  39. package/assets/esri/core/workers/chunks/49089731ecfe7e8bb2f6.js +1 -0
  40. package/assets/esri/core/workers/chunks/4c3bd6cc0badb78c7112.js +1 -0
  41. package/assets/esri/core/workers/chunks/4e0bae3671fe1c7efa76.js +1 -0
  42. package/assets/esri/core/workers/chunks/500fb5f615f0c1db1b66.js +1 -0
  43. package/assets/esri/core/workers/chunks/52c34d6ecd9d45a33e69.js +1 -0
  44. package/assets/esri/core/workers/chunks/539541dec5fcf3b657aa.js +1 -0
  45. package/assets/esri/core/workers/chunks/{fa63b0f7fa799cb2f81d.js → 562800b0af52a38a311b.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{b87fec1753f164c845c5.js → 58f403f956b7b3467344.js} +1 -1
  47. package/assets/esri/core/workers/chunks/5bfcb3d87380e7f85b08.js +1 -0
  48. package/assets/esri/core/workers/chunks/5d3246b8fc50f9d9e2c4.js +1 -0
  49. package/assets/esri/core/workers/chunks/5e539ce4751bcfa57145.js +1 -0
  50. package/assets/esri/core/workers/chunks/{6ee41e9c92ed8ba4c763.js → 5ef1095842e21090f1f4.js} +1 -1
  51. package/assets/esri/core/workers/chunks/6194636638b0439fccd8.js +1 -0
  52. package/assets/esri/core/workers/chunks/{9fc35ec8185beba96715.js → 632d1a1287dde980479e.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{1d043965dcdc11b3aeaa.js → 63852887b3f07d50f7c9.js} +1 -1
  54. package/assets/esri/core/workers/chunks/6a86fee4e945e61d9639.js +1 -0
  55. package/assets/esri/core/workers/chunks/6b0ae9ccdd1acef5b5b4.js +1 -0
  56. package/assets/esri/core/workers/chunks/6d90887dc605261dd7b3.js +1 -0
  57. package/assets/esri/core/workers/chunks/72ea996b03932c0f004f.js +1 -0
  58. package/assets/esri/core/workers/chunks/7317346ed8d7c5bb859d.js +1 -0
  59. package/assets/esri/core/workers/chunks/74276044cb75b51967f2.js +1 -0
  60. package/assets/esri/core/workers/chunks/766e08d0c56b2b31b63b.js +1 -0
  61. package/assets/esri/core/workers/chunks/{bd7b54db7fd278b15500.js → 7a2189614f2dad49ffcd.js} +1 -1
  62. package/assets/esri/core/workers/chunks/7ae88c141a5d85e5bb88.js +1 -0
  63. package/assets/esri/core/workers/chunks/7aef81778155be373d3e.js +1 -0
  64. package/assets/esri/core/workers/chunks/7e1906d35a764f7f10b0.js +1 -0
  65. package/assets/esri/core/workers/chunks/7fa46d1e9fcd8c0c6302.js +1 -0
  66. package/assets/esri/core/workers/chunks/{06eb4832b6c86744e52e.js → 8008f5479f4d16964088.js} +1 -1
  67. package/assets/esri/core/workers/chunks/80777a9db53bee2ad8a8.js +1 -0
  68. package/assets/esri/core/workers/chunks/83db8bd42f94f97c7cf1.js +1 -0
  69. package/assets/esri/core/workers/chunks/88b1214c284c2ec7d51b.js +1 -0
  70. package/assets/esri/core/workers/chunks/91d484960df25ec9554b.js +1 -0
  71. package/assets/esri/core/workers/chunks/92a5dccb328229a9336b.js +1 -0
  72. package/assets/esri/core/workers/chunks/948c5454881e661c3bdc.js +1 -0
  73. package/assets/esri/core/workers/chunks/{631205dc4d73d49ec9ed.js → 95507ff0a243e451b99e.js} +1 -1
  74. package/assets/esri/core/workers/chunks/9cb242dfc3765b590f51.js +1 -0
  75. package/assets/esri/core/workers/chunks/{1051a5a57b2fb843a555.js → 9cd55043f3d789f41815.js} +1 -1
  76. package/assets/esri/core/workers/chunks/9ddb0b07be31c3747238.js +1 -0
  77. package/assets/esri/core/workers/chunks/9f0f1472f36b42c507d1.js +1 -0
  78. package/assets/esri/core/workers/chunks/{ac2607f1e8cd2e99907c.js → 9f964467f7353039dd9c.js} +3 -3
  79. package/assets/esri/core/workers/chunks/a1a42b0d7cd47b647f8a.js +1 -0
  80. package/assets/esri/core/workers/chunks/a2e9141ff4efd13413a1.js +66 -0
  81. package/assets/esri/core/workers/chunks/a622ed3f182648ab3ff6.js +1 -0
  82. package/assets/esri/core/workers/chunks/a693cd3af2e995972252.js +1 -0
  83. package/assets/esri/core/workers/chunks/a6fb75929e456f87f804.js +1 -0
  84. package/assets/esri/core/workers/chunks/aaa564c84ee8ea36fbb4.js +1 -0
  85. package/assets/esri/core/workers/chunks/ad4f65d764654c70a117.js +1 -0
  86. package/assets/esri/core/workers/chunks/af0d7a7cbbaad47a49c6.js +1 -0
  87. package/assets/esri/core/workers/chunks/af2f2df3c43b49ad1a70.js +1 -0
  88. package/assets/esri/core/workers/chunks/b09539a4b491a90a6bbe.js +1 -0
  89. package/assets/esri/core/workers/chunks/{d9b2263e0a9f9068ab62.js → b6c3a2d93a59df9a1418.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{d7b640f7a181bd26c7c7.js → bac5e1d50b69f0d94694.js} +1 -1
  91. package/assets/esri/core/workers/chunks/bbbd58b02a3ee8fe595e.js +1 -0
  92. package/assets/esri/core/workers/chunks/{9ca480eb8b2312381ccf.js → bcadcb709e622f2aaaf9.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{6993a59cbb78bc26f029.js → c45a314ace9725aa250e.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{c16e0da7a19310c71e8b.js → c6cd8784a3e222eb2d4a.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{571252c9822d73cf7b01.js → c6fa79ce324122e08dbb.js} +1 -1
  96. package/assets/esri/core/workers/chunks/c8856370bae65d9eeb2b.js +1 -0
  97. package/assets/esri/core/workers/chunks/{97c148adf0347c69a79c.js → c9604f8df909ec4fad46.js} +1 -1
  98. package/assets/esri/core/workers/chunks/c96fed4889712f5a9135.js +1 -0
  99. package/assets/esri/core/workers/chunks/{faa40ef04604c7cce706.js → cb63ea6a53d3c2fc3179.js} +1 -1
  100. package/assets/esri/core/workers/chunks/cfc5e0ec9b0290407383.js +1 -0
  101. package/assets/esri/core/workers/chunks/{9a06476b834584d00d5c.js → d0372bac0c5f4fbed468.js} +1 -1
  102. package/assets/esri/core/workers/chunks/d28d874c1337b69fedc0.js +1 -0
  103. package/assets/esri/core/workers/chunks/{54f4a1131f99468db076.js → d33a5d79f2163ad62b1d.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{0bbb38f59f37c51c72f0.js → d45a4e5806a80b69ceec.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{7a23dc625a812a562c21.js → d5f770302dc686e55ba7.js} +1 -1
  106. package/assets/esri/core/workers/chunks/d942cb9cf82b1c056979.js +1 -0
  107. package/assets/esri/core/workers/chunks/dc14507cfc052faa5890.js +1 -0
  108. package/assets/esri/core/workers/chunks/{ca60b34c3e1ed2ff5934.js → dd2b316baae02bbdddac.js} +1 -1
  109. package/assets/esri/core/workers/chunks/dea3e131bbd48cc48e1a.js +346 -0
  110. package/assets/esri/core/workers/chunks/df84863cb0600f658541.js +1 -0
  111. package/assets/esri/core/workers/chunks/e0ae33206f519b159b49.js +1 -0
  112. package/assets/esri/core/workers/chunks/e7589c39b13295af8f1d.js +1 -0
  113. package/assets/esri/core/workers/chunks/e7a440476cd1eb4c6547.js +1 -0
  114. package/assets/esri/core/workers/chunks/{e3c1aea34ece8336dae1.js → e9aa1d9ded8a52a40c57.js} +1 -1
  115. package/assets/esri/core/workers/chunks/eb23ce385b0d18959c7c.js +1 -0
  116. package/assets/esri/core/workers/chunks/ec922f876e1465d36045.js +1 -0
  117. package/assets/esri/core/workers/chunks/{80b596496800e8d60eb8.js → ed75e0962358523f4439.js} +1 -1
  118. package/assets/esri/core/workers/chunks/ede9738ac20e7dd5ce63.js +1 -0
  119. package/assets/esri/core/workers/chunks/eec034d88db320880133.js +1 -0
  120. package/assets/esri/core/workers/chunks/f2aa8090827086c62dde.js +1 -0
  121. package/assets/esri/core/workers/chunks/f48eb59b94ba8b7d4d72.js +1 -0
  122. package/assets/esri/core/workers/chunks/f5741d09fd4e1809f580.js +1 -0
  123. package/assets/esri/core/workers/chunks/fe3832107278244dc04d.js +1 -0
  124. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  125. package/assets/esri/themes/base/widgets/_Directions.scss +1 -1
  126. package/assets/esri/themes/dark/main.css +1 -1
  127. package/assets/esri/themes/light/main.css +1 -1
  128. package/assets/esri/themes/light/view.css +1 -1
  129. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  130. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  131. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  132. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  133. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  134. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  135. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  136. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  137. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  138. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  139. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  140. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  141. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  142. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  143. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  144. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  145. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  146. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  147. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  148. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  149. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  150. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  151. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  152. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  153. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  154. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  155. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  156. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  157. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  158. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  159. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  160. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  161. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  162. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  163. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  164. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  165. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  166. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  167. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  168. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  169. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  170. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  171. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  172. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable.json +1 -1
  173. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
  174. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
  175. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
  176. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
  177. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
  178. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
  179. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
  180. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
  181. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_en.json +1 -1
  182. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
  183. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
  184. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
  185. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
  186. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
  187. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
  188. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
  189. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
  190. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
  191. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
  192. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
  193. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
  194. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
  195. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
  196. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
  197. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
  198. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
  199. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
  200. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
  201. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
  202. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
  203. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
  204. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
  205. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
  206. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
  207. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
  208. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
  209. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
  210. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
  211. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
  212. package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
  213. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  214. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  215. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  216. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  217. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  218. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  219. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  220. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  221. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  222. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  223. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  224. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  225. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  226. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  227. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  228. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  229. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  252. package/chunks/FocusAreaColor.glsl.js +10 -8
  253. package/chunks/FocusAreaMask.glsl.js +1 -1
  254. package/chunks/Laserlines.glsl.js +2 -2
  255. package/chunks/aiServices.js +1 -1
  256. package/chunks/cameraUtilsSpherical.js +1 -1
  257. package/chunks/persistableUrlUtils.js +1 -1
  258. package/chunks/sphere.js +1 -1
  259. package/chunks/vec42.js +1 -1
  260. package/config.js +1 -1
  261. package/core/accessorSupport/decorators/persistable.js +1 -1
  262. package/core/accessorSupport/ensureType.js +1 -1
  263. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  264. package/core/libs/gl-matrix-2/math/vec4.js +1 -1
  265. package/core/workers/Connection.js +1 -1
  266. package/core/workers/RemoteClient.js +1 -1
  267. package/core/workers/WorkerHandle.js +1 -1
  268. package/effects/FocusArea.d.ts +4 -0
  269. package/effects/FocusArea.js +5 -0
  270. package/effects/FocusAreaOutline.d.ts +4 -0
  271. package/effects/FocusAreaOutline.js +5 -0
  272. package/effects/FocusAreas.d.ts +4 -0
  273. package/effects/FocusAreas.js +5 -0
  274. package/form/elements/GroupElement.js +1 -1
  275. package/form/elements/inputs.js +1 -1
  276. package/form/elements.js +1 -1
  277. package/geometry/projection/projectPointToVector.js +1 -1
  278. package/geometry/projection/projectVectorToPoint.js +1 -1
  279. package/geometry/projection/projectVectorToVector.js +1 -1
  280. package/geometry/projection.js +1 -1
  281. package/geometry/projectionUtils.js +5 -0
  282. package/geometry/support/frustum.js +1 -1
  283. package/geometry/support/meshUtils/elevation.js +1 -1
  284. package/geometry/support/meshUtils/extent.js +1 -1
  285. package/geometry/support/sphere.js +1 -1
  286. package/geometry.js +1 -1
  287. package/interfaces.d.ts +745 -555
  288. package/intl/date.js +1 -1
  289. package/intl/number.js +1 -1
  290. package/kernel.js +1 -1
  291. package/layers/BuildingSceneLayer.js +1 -1
  292. package/layers/CatalogLayer.js +1 -1
  293. package/layers/GeoJSONLayer.js +1 -1
  294. package/layers/GroupLayer.js +1 -1
  295. package/layers/ImageryLayer.js +1 -1
  296. package/layers/ImageryTileLayer.js +1 -1
  297. package/layers/MapNotesLayer.js +1 -1
  298. package/layers/OGCFeatureLayer.js +1 -1
  299. package/layers/RouteLayer.js +1 -1
  300. package/layers/VideoLayer.js +1 -1
  301. package/layers/WFSLayer.js +1 -1
  302. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  303. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  304. package/layers/graphics/applyEditsUtils.js +1 -1
  305. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  306. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  307. package/layers/graphics/data/QueryEngine.js +1 -1
  308. package/layers/graphics/data/projectionSupport.js +1 -1
  309. package/layers/graphics/data/queryUtils.js +1 -1
  310. package/layers/graphics/editingSupport.js +1 -1
  311. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  312. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  313. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  314. package/layers/mixins/ImageryTileMixin.js +1 -1
  315. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  316. package/layers/mixins/operationalLayers.js +1 -1
  317. package/layers/ogc/wfsUtils.js +1 -1
  318. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  319. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  320. package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
  321. package/layers/orientedImagery/transformations/utils.js +1 -1
  322. package/layers/support/BuildingSummaryStatistics.js +1 -1
  323. package/layers/support/ControlPointsGeoreference.js +1 -1
  324. package/layers/support/CornersGeoreference.js +1 -1
  325. package/layers/support/ElevationQuery.js +1 -1
  326. package/layers/support/ExtentAndRotationGeoreference.js +1 -1
  327. package/layers/support/GeoreferenceBase.js +1 -1
  328. package/layers/support/LocalMediaElementSource.js +1 -1
  329. package/layers/support/MediaElementView.js +1 -1
  330. package/layers/support/PolygonCollection.js +1 -1
  331. package/layers/support/PromiseQueue.js +1 -1
  332. package/layers/support/SceneModification.js +1 -1
  333. package/layers/support/TelemetryDisplay.js +1 -1
  334. package/layers/support/TitleCreator.js +1 -1
  335. package/layers/support/arcgisLayers.js +1 -1
  336. package/layers/support/featurePopupQueryUtils.js +5 -0
  337. package/layers/support/fieldUtils.js +1 -1
  338. package/layers/support/layersCreator.js +1 -1
  339. package/layers/support/multiLayerServiceUtils.js +5 -0
  340. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  341. package/layers/video/VideoController.js +1 -1
  342. package/layers/video/videoUtils.js +1 -1
  343. package/networks/CircuitManager.js +1 -1
  344. package/networks/UnitIdentifierManager.js +1 -1
  345. package/networks/UtilityNetwork.js +1 -1
  346. package/networks/support/UNTraceConfiguration.js +1 -1
  347. package/networks/support/typeUtils.js +1 -1
  348. package/package.json +1 -1
  349. package/portal/PortalItem.js +1 -1
  350. package/portal/schemas/definitions.js +1 -1
  351. package/portal/schemas/webScene.js +1 -1
  352. package/portal/support/layersLoader.js +1 -1
  353. package/portal/support/portalItemUtils.js +1 -1
  354. package/portal/support/portalLayers.js +1 -1
  355. package/rasterRenderers.js +1 -1
  356. package/renderers/RasterStretchRenderer.js +1 -1
  357. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  358. package/renderers/support/RasterSymbolizer.js +1 -1
  359. package/renderers/support/colorRampUtils.js +1 -1
  360. package/renderers/support/rasterRendererHelper.js +1 -1
  361. package/renderers.js +1 -1
  362. package/rest/featureService/FeatureService.js +1 -1
  363. package/rest/knowledgeGraph/GraphAddFieldIndexResult.js +5 -0
  364. package/rest/knowledgeGraph/GraphAddNamedTypesResult.js +1 -1
  365. package/rest/knowledgeGraph/GraphAddPropertyResult.js +1 -1
  366. package/rest/knowledgeGraph/GraphDataModelOperationResult.js +5 -0
  367. package/rest/knowledgeGraph/GraphDeleteFieldIndexResult.js +5 -0
  368. package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.js +1 -1
  369. package/rest/knowledgeGraph/GraphDeletePropertyResult.js +1 -1
  370. package/rest/knowledgeGraph/GraphUpdateNamedTypesResult.js +1 -1
  371. package/rest/knowledgeGraph/GraphUpdatePropertyResult.js +1 -1
  372. package/rest/knowledgeGraph/GraphUpdateSearchIndexResult.js +1 -1
  373. package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
  374. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +1 -1
  375. package/rest/knowledgeGraphService.js +1 -1
  376. package/rest/locator/locationToAddress.js +1 -1
  377. package/rest/networks/circuits/queryCircuits.js +1 -1
  378. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  379. package/rest/networks/queryAssociations.js +1 -1
  380. package/rest/networks/support/CircuitPath.js +5 -0
  381. package/rest/networks/support/CircuitPathConnectivityElement.js +5 -0
  382. package/rest/networks/support/CircuitTraceResult.js +5 -0
  383. package/rest/networks/support/TraceLocation.js +1 -1
  384. package/rest/networks/support/TraceResult.js +1 -1
  385. package/rest/networks/unitIdentifiers/support/{QueryUnitIdentifiersParamters.js → QueryUnitIdentifiersParameters.js} +1 -1
  386. package/rest/support/LocationToAddressParameters.js +1 -1
  387. package/rest/support/geocodeEnums.js +5 -0
  388. package/smartMapping/renderers/pieChart.js +1 -1
  389. package/smartMapping/renderers/predominance.js +1 -1
  390. package/smartMapping/renderers/size.js +1 -1
  391. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  392. package/smartMapping/renderers/support/spikeUtils.d.ts +4 -0
  393. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  394. package/smartMapping/statistics/histogram.js +1 -1
  395. package/smartMapping/statistics/summaryStatistics.js +1 -1
  396. package/support/persistableUrlUtils.js +1 -1
  397. package/support/revision.js +1 -1
  398. package/symbols/cim/animationUtils.js +1 -1
  399. package/symbols/cim/cimAnalyzer.js +1 -1
  400. package/symbols/cim/defaultCIMValues.js +1 -1
  401. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  402. package/symbols/cim/utils.js +1 -1
  403. package/symbols/support/ElevationInfo.d.ts +4 -0
  404. package/symbols/support/ElevationInfo.js +1 -1
  405. package/symbols/support/FeatureExpressionInfo.d.ts +4 -0
  406. package/symbols/support/FeatureExpressionInfo.js +1 -1
  407. package/symbols/support/cimSymbolUtils.js +1 -1
  408. package/symbols/support/previewCIMSymbol.js +1 -1
  409. package/symbols.js +1 -1
  410. package/undoredo/support/Services.js +1 -1
  411. package/views/2d/ViewStateManager.js +1 -1
  412. package/views/2d/constraints/GeometryConstraint.js +1 -1
  413. package/views/2d/engine/Bitmap.js +1 -1
  414. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  415. package/views/2d/engine/vectorTiles/GlyphMosaic.js +1 -1
  416. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  417. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  418. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  419. package/views/2d/engine/vectorTiles/decluttering/SymbolDeclutterer.js +1 -1
  420. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  421. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  422. package/views/2d/engine/webgl/Overlay.js +1 -1
  423. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  424. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  425. package/views/2d/engine/webgl/animations/infos.js +1 -1
  426. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  427. package/views/2d/engine/webgl/animations/utils.js +1 -1
  428. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  429. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  430. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  431. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  432. package/views/2d/engine/webgl/effects/post-processing/Opacity.js +1 -1
  433. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  434. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js +1 -1
  435. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +1 -1
  436. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +5 -0
  437. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +5 -0
  438. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +5 -0
  439. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +5 -0
  440. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  441. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  442. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +5 -0
  443. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  444. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechniques.js +5 -0
  445. package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +5 -0
  446. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +5 -0
  447. package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +1 -1
  448. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  449. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  450. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  451. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  452. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  453. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  454. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
  455. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  456. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  457. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  458. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  459. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  460. package/views/2d/grid/GridView2D.js +1 -1
  461. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  462. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  463. package/views/2d/layers/KMLLayerView2D.js +1 -1
  464. package/views/2d/layers/MediaLayerView2D.js +1 -1
  465. package/views/2d/layers/TileLayerView2D.js +1 -1
  466. package/views/2d/layers/VideoLayerView2D.js +1 -1
  467. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  468. package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
  469. package/views/2d/viewpointUtils.js +1 -1
  470. package/views/3d/FocusAreasView.js +1 -1
  471. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  472. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  473. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  474. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  475. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  476. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  477. package/views/3d/analysis/support/projectionUtils.js +1 -1
  478. package/views/3d/camera/constraintUtils/distance.js +1 -1
  479. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  480. package/views/3d/environment/EnvironmentManager.js +1 -1
  481. package/views/3d/environment/LocalAtmosphere.js +1 -1
  482. package/views/3d/environment/MarsAtmosphere.js +1 -1
  483. package/views/3d/interactive/Manipulator3D.js +1 -1
  484. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  485. package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
  486. package/views/3d/interactive/editingTools/media/MediaElementControllerShape.js +1 -1
  487. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  488. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  489. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  490. package/views/3d/interactive/visualElements/support/Segment.js +1 -1
  491. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  492. package/views/3d/layers/DrapedSubView3D.js +1 -1
  493. package/views/3d/layers/DynamicLayerView3D.js +1 -1
  494. package/views/3d/layers/FeatureLayerView3D.js +1 -1
  495. package/views/3d/layers/FlowSubView3D.js +1 -1
  496. package/views/3d/layers/I3SMeshView3D.js +1 -1
  497. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  498. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  499. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  500. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  501. package/views/3d/layers/SceneLayerWorker.js +1 -1
  502. package/views/3d/layers/SubView3D.js +1 -1
  503. package/views/3d/layers/TileLayerView3D.js +1 -1
  504. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  505. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  506. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  507. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  508. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  509. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  510. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  511. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  512. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  513. package/views/3d/layers/graphics/focusAreaStyle.js +1 -1
  514. package/views/3d/layers/graphics/graphicUtils.js +1 -1
  515. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  516. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
  517. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  518. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  519. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  520. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  521. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  522. package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
  523. package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
  524. package/views/3d/state/NearFarHeuristic.js +1 -1
  525. package/views/3d/state/ViewStateManager.js +1 -1
  526. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  527. package/views/3d/state/utils/navigationUtils.js +1 -1
  528. package/views/3d/support/cameraUtils.js +1 -1
  529. package/views/3d/support/engineContent/marker.js +1 -1
  530. package/views/3d/support/geometryUtils/sphere.js +1 -1
  531. package/views/3d/support/sunUtils.js +1 -1
  532. package/views/3d/support/viewpointUtils.js +1 -1
  533. package/views/3d/terrain/ExtentHelper.js +1 -1
  534. package/views/3d/terrain/OverlayManager.js +1 -1
  535. package/views/3d/terrain/OverlayRenderer.js +1 -1
  536. package/views/3d/terrain/TerrainRenderer.js +1 -1
  537. package/views/3d/terrain/TerrainSurface.js +1 -1
  538. package/views/3d/terrain/TileRenderer.js +1 -1
  539. package/views/3d/webgl/RenderCamera.js +1 -1
  540. package/views/3d/webgl/RenderNode.js +1 -1
  541. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  542. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  543. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  544. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  545. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  546. package/views/3d/webgl-engine/effects/focusArea/FocusAreaEffect.js +5 -0
  547. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  548. package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +5 -0
  549. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  550. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechniqueConfiguration.js +1 -1
  551. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  552. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  553. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  554. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  555. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  556. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  557. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  558. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  559. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  560. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  561. package/views/SceneView.js +1 -1
  562. package/views/SelectionManager.js +1 -1
  563. package/views/VideoView.js +1 -1
  564. package/views/View2D.js +1 -1
  565. package/views/draw/support/GraphicMover.js +1 -1
  566. package/views/interactive/GraphicManipulator.js +1 -1
  567. package/views/interactive/dragEventPipeline.js +1 -1
  568. package/views/interactive/snapping/GridSnappingEngine.js +1 -1
  569. package/views/interactive/snapping/SnappingManager.js +1 -1
  570. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  571. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  572. package/views/layers/CatalogFootprintLayerView.js +1 -1
  573. package/views/layers/FeatureLayerView.js +1 -1
  574. package/views/layers/ImageryLayerView.js +1 -1
  575. package/views/layers/ImageryTileLayerView.js +1 -1
  576. package/views/layers/PointCloudLayerView.js +1 -1
  577. package/views/layers/SceneLayerView.js +1 -1
  578. package/views/support/TextureCompressionTracker.js +5 -0
  579. package/views/support/imageReprojection.js +1 -1
  580. package/views/support/projectionUtils.js +1 -1
  581. package/views/webgl/RenderingContext.js +1 -1
  582. package/views/webgl/Texture.js +1 -1
  583. package/views/webgl/rasterUtils.js +1 -1
  584. package/webdoc/support/writeUtils.js +1 -1
  585. package/webmap/utils.js +1 -1
  586. package/webscene/Slide.js +1 -1
  587. package/widgets/Attachments.js +1 -1
  588. package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
  589. package/widgets/BasemapToggle/BasemapToggleViewModel.js +1 -1
  590. package/widgets/BatchAttributeForm.js +1 -1
  591. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  592. package/widgets/CoordinateConversion/support/Format.js +1 -1
  593. package/widgets/Daylight/DaylightViewModel.js +1 -1
  594. package/widgets/Directions/DirectionsVisibleElements.js +1 -1
  595. package/widgets/Directions/css.js +1 -1
  596. package/widgets/Directions.js +1 -1
  597. package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
  598. package/widgets/Editor/EditorViewModel.js +1 -1
  599. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  600. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  601. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  602. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  603. package/widgets/Editor/UpdateWorkflow.js +1 -1
  604. package/widgets/Editor/Upload.js +1 -1
  605. package/widgets/Editor/components/Notices.js +1 -1
  606. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  607. package/widgets/Editor/support/SketchController.js +1 -1
  608. package/widgets/Editor/workflowUtils.js +1 -1
  609. package/widgets/Editor.js +1 -1
  610. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  611. package/widgets/Expand.js +1 -1
  612. package/widgets/Feature/support/featureUtils.js +1 -1
  613. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  614. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  615. package/widgets/FeatureForm/VisibleElements.js +1 -1
  616. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  617. package/widgets/FeatureForm.js +1 -1
  618. package/widgets/FeatureTable/FieldColumn.js +1 -1
  619. package/widgets/FeatureTable/Grid/EditorColumn.js +1 -1
  620. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  621. package/widgets/Features/FeaturesViewModel.js +1 -1
  622. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  623. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  624. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  625. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  626. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  627. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  628. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  629. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  630. package/widgets/OrientedImageryViewer/videoViewerUtils.js +5 -0
  631. package/widgets/OrientedImageryViewer.js +1 -1
  632. package/widgets/Search/LocatorSearchSource.js +1 -1
  633. package/widgets/Search/SearchSource.js +1 -1
  634. package/widgets/Search/SearchViewModel.js +1 -1
  635. package/widgets/Search/support/locatorUtils.js +1 -1
  636. package/widgets/ShadowCast/DiscreteOptions.js +1 -1
  637. package/widgets/ShadowCast/DurationOptions.js +1 -1
  638. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  639. package/widgets/ShadowCast/ShadowCastVisibleElements.js +1 -1
  640. package/widgets/ShadowCast/ThresholdOptions.js +1 -1
  641. package/widgets/Sketch/SketchViewModel.js +1 -1
  642. package/widgets/Sketch.js +1 -1
  643. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  644. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  645. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  646. package/widgets/VideoPlayer.js +1 -1
  647. package/widgets/support/AnchorElementViewModel.js +1 -1
  648. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  649. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  650. package/widgets/support/SelectionToolbar.js +1 -1
  651. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  652. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  653. package/widgets/support/UtilityNetworkAssociations/utils/isFromElement.js +1 -1
  654. package/widgets/support/tests.js +1 -1
  655. package/assets/esri/core/workers/chunks/003ddb190a5cc56f7925.js +0 -1
  656. package/assets/esri/core/workers/chunks/0624ae07d3af8d5f1ac8.js +0 -1
  657. package/assets/esri/core/workers/chunks/094e8aae6dada24c8115.js +0 -1
  658. package/assets/esri/core/workers/chunks/0a770f283eb77c8dc97a.js +0 -1
  659. package/assets/esri/core/workers/chunks/0b70b2ee62904318a12c.js +0 -1
  660. package/assets/esri/core/workers/chunks/0c2dccec20c0994366fe.js +0 -1
  661. package/assets/esri/core/workers/chunks/0cf979a093e9744d1e80.js +0 -1
  662. package/assets/esri/core/workers/chunks/0fb5de3f8a4d69b2d514.js +0 -1
  663. package/assets/esri/core/workers/chunks/1d7f2abfccc54659d6f2.js +0 -1
  664. package/assets/esri/core/workers/chunks/1f9c6fbcd4d0eae1e574.js +0 -1
  665. package/assets/esri/core/workers/chunks/24327d01cb2c5c55a4b7.js +0 -1
  666. package/assets/esri/core/workers/chunks/253bcc3cc7bc4c2dc6ea.js +0 -1
  667. package/assets/esri/core/workers/chunks/2b1486a466760d2152f5.js +0 -1
  668. package/assets/esri/core/workers/chunks/2cf82d3645c75d311e99.js +0 -1
  669. package/assets/esri/core/workers/chunks/2d90806faa4269828948.js +0 -1
  670. package/assets/esri/core/workers/chunks/306e262f148b3057b11b.js +0 -1
  671. package/assets/esri/core/workers/chunks/32ee2708edd307954125.js +0 -1
  672. package/assets/esri/core/workers/chunks/36b0d6b4089a96475201.js +0 -1
  673. package/assets/esri/core/workers/chunks/377a7f0f7d304ff9fe5b.js +0 -1
  674. package/assets/esri/core/workers/chunks/3a743653b786b010a57f.js +0 -1
  675. package/assets/esri/core/workers/chunks/3bf1cf6c3cba172e2f6d.js +0 -1
  676. package/assets/esri/core/workers/chunks/3d7eedb787c1e3b9fbfc.js +0 -1
  677. package/assets/esri/core/workers/chunks/3fe7be535affae31de7e.js +0 -1
  678. package/assets/esri/core/workers/chunks/40f54c4f8ae63c6f3df9.js +0 -1
  679. package/assets/esri/core/workers/chunks/417293f00b2c21cc3175.js +0 -1
  680. package/assets/esri/core/workers/chunks/41cbba9b286cf5558a9c.js +0 -1
  681. package/assets/esri/core/workers/chunks/42d9989b2aad3ac28d4d.js +0 -1
  682. package/assets/esri/core/workers/chunks/465f2db4ab8aa9c9f907.js +0 -1
  683. package/assets/esri/core/workers/chunks/4ca0738ed38c15b68a77.js +0 -1
  684. package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +0 -1
  685. package/assets/esri/core/workers/chunks/51c31e6d014005107d42.js +0 -1
  686. package/assets/esri/core/workers/chunks/523046e04679e301797d.js +0 -1
  687. package/assets/esri/core/workers/chunks/536d7986ebb710a8a452.js +0 -1
  688. package/assets/esri/core/workers/chunks/55f087bca75c3f2a4515.js +0 -1
  689. package/assets/esri/core/workers/chunks/5617532299f73d186968.js +0 -1
  690. package/assets/esri/core/workers/chunks/56d2a20c1b143697aa19.js +0 -1
  691. package/assets/esri/core/workers/chunks/585c7b485c42555ec554.js +0 -346
  692. package/assets/esri/core/workers/chunks/5890740d5a761b038560.js +0 -1
  693. package/assets/esri/core/workers/chunks/5dbd8d81d94cfda5bb32.js +0 -1
  694. package/assets/esri/core/workers/chunks/5e1f7fe6bbc5754efee1.js +0 -1
  695. package/assets/esri/core/workers/chunks/62b2d3720693c93a60f2.js +0 -1
  696. package/assets/esri/core/workers/chunks/66e79aa02b3aa12b3778.js +0 -1
  697. package/assets/esri/core/workers/chunks/67338948e470c1251d8a.js +0 -66
  698. package/assets/esri/core/workers/chunks/6b23ca6570357f9fb724.js +0 -1
  699. package/assets/esri/core/workers/chunks/6d1e1a4fcb90ea8b6848.js +0 -1
  700. package/assets/esri/core/workers/chunks/6ecc3a3737ae8622dfa4.js +0 -1
  701. package/assets/esri/core/workers/chunks/85efb318cda7260221ae.js +0 -1
  702. package/assets/esri/core/workers/chunks/86023cc5ccbc7ac43479.js +0 -1
  703. package/assets/esri/core/workers/chunks/87eca6de502d18d8b7eb.js +0 -1
  704. package/assets/esri/core/workers/chunks/87fc7b6c3e2d4f7775e2.js +0 -1
  705. package/assets/esri/core/workers/chunks/937b653b10e8704b38bf.js +0 -1
  706. package/assets/esri/core/workers/chunks/98ef17d15517368d2383.js +0 -1
  707. package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
  708. package/assets/esri/core/workers/chunks/a036503087baa1f9fd00.js +0 -1
  709. package/assets/esri/core/workers/chunks/a0c35521e677459f6fa3.js +0 -1
  710. package/assets/esri/core/workers/chunks/aaa6d45316a7d3466d0f.js +0 -1
  711. package/assets/esri/core/workers/chunks/ae733c963d61065faa54.js +0 -1
  712. package/assets/esri/core/workers/chunks/b06cb23048c32940f5de.js +0 -1
  713. package/assets/esri/core/workers/chunks/b5d68d8460b7c15001dd.js +0 -1
  714. package/assets/esri/core/workers/chunks/bf3555f91492a1a3b613.js +0 -1
  715. package/assets/esri/core/workers/chunks/bf9b6b74654d303a6dae.js +0 -1
  716. package/assets/esri/core/workers/chunks/c6580fdcdc33153008b0.js +0 -1
  717. package/assets/esri/core/workers/chunks/c779335f5d5455c77a62.js +0 -1
  718. package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +0 -1
  719. package/assets/esri/core/workers/chunks/d2ebb72a43d995ed368a.js +0 -1
  720. package/assets/esri/core/workers/chunks/d3d98ea5b5e56fc60a31.js +0 -1
  721. package/assets/esri/core/workers/chunks/d52f5214a0330ed2e05e.js +0 -1
  722. package/assets/esri/core/workers/chunks/d839a237d5edc243d645.js +0 -1
  723. package/assets/esri/core/workers/chunks/dbe10c20df7e0e563a0b.js +0 -1
  724. package/assets/esri/core/workers/chunks/df7ca2fe12e22ccfde17.js +0 -1
  725. package/assets/esri/core/workers/chunks/df933eac03dc63064723.js +0 -1
  726. package/assets/esri/core/workers/chunks/e04bcc98a557f77cc6fa.js +0 -1
  727. package/assets/esri/core/workers/chunks/e77371ddbaf4b2d9be8d.js +0 -1
  728. package/assets/esri/core/workers/chunks/e89345c7af9d3d4d8452.js +0 -1
  729. package/assets/esri/core/workers/chunks/ee6240636d04d7d37b7b.js +0 -1
  730. package/assets/esri/core/workers/chunks/f00f8609bf0d14b488b8.js +0 -1
  731. package/assets/esri/core/workers/chunks/fc0a3db3d6d26c763fb9.js +0 -1
  732. package/assets/esri/core/workers/chunks/fc61d02286b6ff5447cc.js +0 -1
  733. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +0 -5
  734. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedShader.js +0 -5
  735. package/views/FocusArea.js +0 -5
  736. package/views/FocusAreaOutline.js +0 -5
  737. package/views/FocusAreaOutlineItem.js +0 -5
  738. package/views/FocusAreas.js +0 -5
  739. package/views/support/TextureCompressionHandle.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Logger.js";import{renderingSanitizer as i}from"../../core/sanitizerUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import{convertDateFormatToIntlOptions as l}from"../../intl/date.js";import{convertNumberFormatToIntlOptions as r,formatNumber as a}from"../../intl/number.js";import{isEditableLayer as s}from"../../layers/support/editableLayers.js";import{computeDomainFromTypes as u}from"../../layers/support/featureLayerUtils.js";import p from"../../layers/support/Field.js";import{validateFieldValue as d,isDateField as c,isTimeOnlyField as m,isIntegerField as f,isNumericField as h,isStringField as g,isDateOnlyField as y,isTimestampOffsetField as v}from"../../layers/support/fieldUtils.js";import{isAnyDateField as F}from"../../smartMapping/support/utils.js";import{system as _}from"../../time/constants.js";import{getTimeZoneFormattingOptions as C}from"../../time/timeZoneUtils.js";import b from"../FeatureForm/FieldInput.js";import D from"./Grid/EditorColumn.js";import{isEmptyStringOrWhitespace as x}from"./support/tableUtils.js";import{dateFieldsWithStringFieldValue as I,getLabelForDateFieldValue as E,valueIsInRange as w,dateTimeIsInRange as T,getUnixFieldValueFromDateComponents as V,getISOFieldValueFromDateComponents as L,normalizeTimeOnlyString as O,prepareISOFieldValueForDateComponents as Z,prepareUnixFieldValueForDateComponents as j}from"../support/dateUtils.js";import{setFocus as R}from"../support/widgetUtils.js";const S={cancelEdit:"Escape"},N="esri-column",A={input:`${N}__cell-input`,inputContainer:`${N}__cell__input-container`},U=l("short-date-short-time"),q=l("short-date"),k={useGrouping:!0,maximumFractionDigits:20};let z=class extends D{constructor(e){super(e),this._activeFieldInput=null,this.cellValueFormatFunction=({root:e,rowData:t,value:n})=>{const{formatFunction:o}=this;if(o&&t){const{index:l,item:{attachments:r,feature:a,relatedRecords:s}}=t;return o({attachments:r,column:this,feature:a,field:this.field,index:l,relatedRecords:s,value:i.sanitize(n),virtualIndex:this.getVirtualRowIndex(e)})}if(null===n)return"&nbsp;";const{field:l}=this,s=this._getDomainForFeature(t?.item?.feature);if(s){const e=this._getComputedDomain(n,s);if("date"===l.type&&"range"===s.type)return this._formatDateValueForDisplay(l,e);if(this._isNumericField&&"range"===s.type){const e=this.template?.format,t=e?r(e):k;return a(parseFloat(n),t)}return I.has(l.type)?"range"===s.type?i.sanitize(E(l,e)):i.sanitize(e):e}if("date"===l.type||I.has(l.type))return this._formatDateValueForDisplay(l,n);if(this._isNumericField){const e=this.template?.format,t=e?r(e):k;return a(parseFloat(n),t)}return i.sanitize(n)},this.cellValueValidatorFunction=({oldValue:e,value:i})=>{const{_effectiveRange:n,field:o}=this,{max:l,min:r}=n;if(this.effectiveRequired&&(null==i||""===i))return!1;if(this._isNumericField&&(d(o,i)||!w({max:l,min:r,value:i})))return t.getLogger(this).warn("value-exceeds-valid-range","Field value exceeds valid range. Attempted edit was rejected."),!1;if(this._isAnyDateOrTimeField){const e=o.type;if(!T({type:e,range:n,value:i}))return!1}return e!==i},this.field=null,this.formatFunction=null,this.inputRenderFunction=async({root:e,column:i,rowData:n})=>{if(this.editInfo||!this.effectiveEditable)return;const o=this.getCellValue(n),{field:l}=this;if("big-integer"===l.type&&d(l,o))return void t.getLogger(this).warn("value-exceeds-valid-range","Field value is beyond supported limit. Editing is disabled for this field value.");const r=n?.item.feature;if(!r)return;this._activeFieldInput=this._setUpFieldInput(r,o);const a=document.createElement("div");a.classList.add(A.inputContainer);const s=[],u="coded-value"===this._effectiveDomain?.type;if(this._isAnyDateOrTimeField&&!u){const e=document.createElement("div"),t=this._setUpDateComponents(o),i=this._setUpDateActionBar();t.forEach((t=>e.appendChild(t))),a.appendChild(e),a.appendChild(i),s.push(...t)}else{const e=this.createInputElement({value:o});a.appendChild(e),s.push(e)}this._set("editInfo",{column:i,inputs:s,root:e,rowData:n,oldValue:o}),this.removeCellContent(e),e.appendChild(a),this._syncRowEditingState(e,!0),this.grid?.generateCellPartNames();const p=s[0];await R(p),"selectText"in p&&await p.selectText()},this.layer=null,this.parseInputValueFunction=({inputs:e})=>{const{editInfo:t,field:i,includeTime:n}=this;if(!t||!e.length)return null;const o=e[0];if(this._isAnyDateOrTimeField){if("coded-value"===this._effectiveDomain?.type){if(null==o.value)return null;const e=String(o.value);return c(i)?parseFloat(e):e}const{timeZone:l}=this.effectiveTimeZoneOptions,r=t.oldValue??void 0;switch(i.type){case"date-only":{const e=o.value;return""!==e?e:null}case"time-only":{const e=O(o.value);return""!==e?e:null}case"timestamp-offset":{const t=n?e[1]:void 0,i=e.at(-1);return L({oldValue:r,dateComponent:o,timeComponent:t,timeZoneComponent:i,defaultTimeZone:l})}case"date":{const{max:t,min:i}=this._effectiveRange;return V({oldValue:r,dateComponent:o,timeComponent:e[1],timeZone:l,max:t,min:i})}}return null}const l=o.value,{effectiveRequired:r}=this;return r||null!=l&&""!==l?this._isNumericField?parseFloat(l):this._isStringField?l.trim():l:null},this.sortable=!0,this.store=null,this.template=null,this.view=null}get _effectiveDomain(){const e=this._activeFieldInput?.feature;return e?this._getDomainForFeature(e):null}get _effectiveRange(){return this._activeFieldInput?.range??{max:null,min:null}}get _isAnyDateOrTimeField(){const{field:e}=this;return F(e)||m(e)}get _isIntegerField(){return f(this.field)}get _isNumericField(){return h(this.field)}get _isStringField(){return g(this.field)}get _isSubtypeField(){const{layer:e}=this;if(e?.subtypeField){const{subtypeField:t,fieldsIndex:i}=e;return(i.get(t)?.name??t)===this.fieldName}return!1}get alias(){return this.field?.alias}get defaultValue(){return this.field?.defaultValue}get effectiveDescription(){const{description:e,field:t}=this,n=t.description,o=x(e)?x(n)?null:n:e;return null==o?null:i.sanitize(o)}get effectiveEditable(){const{editable:e,field:t,layer:i,tableEditingEnabled:n}=this;if(!t||!i)return!1;const o=s(i),l=i.effectiveCapabilities??i.capabilities,r=l?.operations?.supportsUpdate;return!!(t.editable&&o&&r&&"oid"!==t.type&&n)&&e}get effectiveLabel(){return i.sanitize(this.label||this.alias||this.fieldName)}get effectiveRequired(){return!this.nullable||this._isSubtypeField||this._activeFieldInput?.required||this.required}get effectiveTimeZoneOptions(){const{layer:e,field:t}=this;if(!e||"date"!==t?.type&&"timestamp-offset"!==t?.type)return{timeZone:void 0,timeZoneName:void 0};const{tableTimeZone:i,timeZone:n,view:o}=this;return C(e.preferredTimeZone||null,!!e.datesInUnknownTimezone,n??i??o?.timeZone??_,l("short-time"),t.type)}get includeTime(){const{field:e,template:t}=this;return"time-only"===e.type||"date-only"!==e.type&&(!t?.input||"includeTime"in t.input&&!1!==t.input.includeTime)}get loadingMessage(){return this.messages?.loading||"..."}get maxLength(){const{field:e,template:t}=this,i=e?.length??-1,n=t?.input&&"maxLength"in t.input?t.input.maxLength:null;return null!=n&&!isNaN(n)&&n>=-1&&(-1===i||n<=i)?n:i}get minLength(){const{template:e,maxLength:t}=this,i=e?.input&&"minLength"in e.input?e.input.minLength:null;return t&&i<=t?i:null}get name(){return this.field?.name}get nullable(){return!1!==this.field.nullable}get shouldShowPrompt(){return this._isSubtypeField}createInputElement({value:e}){const{_effectiveDomain:t,maxLength:i,minLength:n,effectiveRequired:o}=this;let l;if("coded-value"===t?.type)l=this.createCalciteSelect(e,t.codedValues.map((({code:e,name:t})=>({value:e,name:t})))),l.addEventListener("calciteSelectChange",(()=>this.onInputBlur(l)));else if(this._isNumericField){const{_effectiveRange:{max:t,min:i}}=this;l=document.createElement("calcite-input"),l.type="number",this._isIntegerField&&(l.step=1),null!=t&&(l.max=t),null!=i&&(l.min=i),l.status=w({max:t,min:i,value:e})?"idle":"invalid"}else l=document.createElement("calcite-input"),l.addEventListener("calciteInputChange",(()=>this.onInputBlur(l))),i>-1&&(l.maxLength=i),n>0&&(l.minLength=n);return l.classList.add(A.input),l.required=o,l.value=null!=e?e.toString():"",l.onkeydown=e=>{e.key===S.cancelEdit&&this.onInputBlur(l,!0)},l.onblur=()=>this.onInputBlur(l),l}onEditComplete(){const e=this.editInfo?.root;e&&this._syncRowEditingState(e,!1),this._activeFieldInput=null,super.onEditComplete()}_clearActiveEditValues(){this.editInfo?.inputs?.forEach((e=>e.value=""))}_setUpDateActionBar(){const{messagesCommon:e}=this,t=e?.cancel??"",i=e?.clear??"",n=e?.save??"",o=document.createElement("calcite-action-bar");return o.expandDisabled=!0,o.layout="horizontal",o.appendChild(this.createCalciteAction({text:n,icon:"save",onclick:()=>this.submit()})),this.effectiveRequired||o.appendChild(this.createCalciteAction({text:i,icon:"trash",onclick:()=>{this._clearActiveEditValues(),this.submit()}})),o.appendChild(this.createCalciteAction({text:t,icon:"x",onclick:()=>this.cancel()})),o}_formatDateValueForDisplay(e,t){const{timeZone:i,timeZoneName:n}=this.effectiveTimeZoneOptions;return null!=t?E(e,t,{...this._getDateFormatOptions(),timeZone:i,timeZoneName:n}):null}_setUpDateComponents(e){const{_effectiveRange:{max:t,min:i,rawMax:n,rawMin:o},field:l,effectiveRequired:r}=this,a=this._getDateFieldValuesForComponents(l,e),s=[];if(F(l)){const e=this.createDateComponent(),u=y(l)||v(l)?n:t,p=y(l)||v(l)?o:i,d=this._getDateFieldValuesForComponents(l,u??null),c=this._getDateFieldValuesForComponents(l,p??null);e.value=a.date??"",e.max=d.date??"",e.min=c.date??"",e.required=r,e.addEventListener("calciteInputDatePickerOpen",(()=>this._onDateComponentOpen(e))),s.push(e)}if(this.includeTime){const e=this.createTimeComponent();e.value=a.time??"",e.required=r,e.addEventListener("calciteInputTimePickerOpen",(()=>this._onDateComponentOpen(e))),s.push(e)}if("timestamp-offset"===l.type){const e=this.createTimeZoneComponent();e.value=a.timeZoneOffset??"0",e.addEventListener("calciteInputTimeZoneOpen",(()=>this._onDateComponentOpen(e))),s.push(e)}return s}_onDateComponentOpen(e){this.editInfo?.inputs.forEach((t=>{t!==e&&"open"in t&&(t.open=!1)}))}_syncRowEditingState(e,t=!1){const i=this.grid?.getRowContainingNode(e);i&&(t?i.setAttribute("editing","true"):i.removeAttribute("editing"))}_getDateFieldValuesForComponents(e,t){switch(e.type){case"date":return j(t,this.effectiveTimeZoneOptions.timeZone);case"date-only":return{date:t};case"time-only":return{time:t};case"timestamp-offset":return Z(t);default:return{}}}_setUpFieldInput(e,t){const{field:i,layer:n,effectiveTimeZoneOptions:{timeZone:o}}=this,l=new b({feature:e,field:i,initialFeature:e.clone(),layer:n,timeZone:o});return l.set("value",t),l}_isDomainCompatible(e){if(!e)return!1;const{_isNumericField:t,_isStringField:i}=this,{type:n}=e;if("coded-value"===n){const n=typeof e.codedValues[0].code;if("string"===n&&i||"number"===n&&t)return!0}return!("range"!==n||!t)}_getDomainForFeature(e){const{fieldName:t,layer:i,template:n}=this;if(!e||!i?.getFieldDomain)return null;if("wfs"===i.type||"geojson"===i.type||"csv"===i.type||"knowledge-graph-sublayer"===i.type)return null;if(n?.domain&&this._isDomainCompatible(n.domain))return n.domain;if("feature"!==i.type&&"subtype-group"!==i.type&&null==i.getField(t)?.domain){const e=u(i,t);if(e)return e}return i.getFieldDomain(t,{feature:e})}_getComputedDomain(e,t){if(!t)return null;if("range"===t.type)return e;if("coded-value"===t.type){const i=t.codedValues.filter((t=>t.hasOwnProperty("code")&&t.code===e));return i&&i.length?i[0].name:e}return null}_getDateFormatOptions(){const{template:e}=this,t=e?.format?.dateFormat;return t?l(t):e?.input&&"includeTime"in e.input&&!1===e.input.includeTime?q:U}};e([n()],z.prototype,"_effectiveDomain",null),e([n()],z.prototype,"_activeFieldInput",void 0),e([n()],z.prototype,"_effectiveRange",null),e([n()],z.prototype,"_isAnyDateOrTimeField",null),e([n()],z.prototype,"_isIntegerField",null),e([n()],z.prototype,"_isNumericField",null),e([n()],z.prototype,"_isStringField",null),e([n()],z.prototype,"_isSubtypeField",null),e([n({readOnly:!0})],z.prototype,"alias",null),e([n()],z.prototype,"cellValueFormatFunction",void 0),e([n()],z.prototype,"cellValueValidatorFunction",void 0),e([n({readOnly:!0})],z.prototype,"defaultValue",null),e([n()],z.prototype,"effectiveDescription",null),e([n()],z.prototype,"effectiveEditable",null),e([n()],z.prototype,"effectiveLabel",null),e([n()],z.prototype,"effectiveRequired",null),e([n()],z.prototype,"effectiveTimeZoneOptions",null),e([n({type:p})],z.prototype,"field",void 0),e([n()],z.prototype,"formatFunction",void 0),e([n()],z.prototype,"includeTime",null),e([n()],z.prototype,"inputRenderFunction",void 0),e([n()],z.prototype,"layer",void 0),e([n({readOnly:!0})],z.prototype,"loadingMessage",null),e([n()],z.prototype,"maxLength",null),e([n()],z.prototype,"minLength",null),e([n({readOnly:!0})],z.prototype,"name",null),e([n({readOnly:!0})],z.prototype,"nullable",null),e([n()],z.prototype,"parseInputValueFunction",void 0),e([n()],z.prototype,"shouldShowPrompt",null),e([n()],z.prototype,"sortable",void 0),e([n()],z.prototype,"store",void 0),e([n()],z.prototype,"template",void 0),e([n()],z.prototype,"view",void 0),z=e([o("esri.widgets.FeatureTable.FieldColumn")],z);const B=z;export{B as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Logger.js";import{on as i,sync as n}from"../../core/reactiveUtils.js";import{renderingSanitizer as o}from"../../core/sanitizerUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import{convertDateFormatToIntlOptions as s}from"../../intl/date.js";import{convertNumberFormatToIntlOptions as a,formatNumber as u}from"../../intl/number.js";import{isEditableLayer as p}from"../../layers/support/editableLayers.js";import{computeDomainFromTypes as d}from"../../layers/support/featureLayerUtils.js";import c from"../../layers/support/Field.js";import{validateFieldValue as m,isDateField as f,isTimeOnlyField as h,isIntegerField as g,isNumericField as y,isStringField as v,isDateOnlyField as F,isTimestampOffsetField as _}from"../../layers/support/fieldUtils.js";import{isAnyDateField as C}from"../../smartMapping/support/utils.js";import{system as b}from"../../time/constants.js";import{getTimeZoneFormattingOptions as D}from"../../time/timeZoneUtils.js";import I from"../FeatureForm/FieldInput.js";import x from"./Grid/EditorColumn.js";import{isEmptyStringOrWhitespace as w}from"./support/tableUtils.js";import{dateFieldsWithStringFieldValue as T,getLabelForDateFieldValue as V,valueIsInRange as E,dateTimeIsInRange as O,getUnixFieldValueFromDateComponents as Z,getISOFieldValueFromDateComponents as j,normalizeTimeOnlyString as L,prepareISOFieldValueForDateComponents as R,prepareUnixFieldValueForDateComponents as S}from"../support/dateUtils.js";import{setFocus as N}from"../support/widgetUtils.js";const U={cancelEdit:"Escape"},A=Symbol(),q="esri-column",k={input:`${q}__cell-input`,inputContainer:`${q}__cell__input-container`},z=s("short-date-short-time"),B=s("short-date"),H={useGrouping:!0,maximumFractionDigits:20};let P=class extends x{constructor(e){super(e),this._activeFieldInput=null,this.cellValueFormatFunction=({root:e,rowData:t,value:i})=>{const{formatFunction:n}=this;if(n&&t){const{index:l,item:{attachments:r,feature:s,relatedRecords:a}}=t;return n({attachments:r,column:this,feature:s,field:this.field,index:l,relatedRecords:a,value:o.sanitize(i),virtualIndex:this.getVirtualRowIndex(e)})}if(null===i)return"&nbsp;";const{field:l}=this,r=this._getDomainForFeature(t?.item?.feature);if(r){const e=this._getComputedDomain(i,r);if("date"===l.type&&"range"===r.type)return this._formatDateValueForDisplay(l,e);if(this._isNumericField&&"range"===r.type){const e=this.template?.format,t=e?a(e):H;return u(parseFloat(i),t)}return T.has(l.type)?"range"===r.type?o.sanitize(V(l,e)):o.sanitize(e):e}if("date"===l.type||T.has(l.type))return this._formatDateValueForDisplay(l,i);if(this._isNumericField){const e=this.template?.format,t=e?a(e):H;return u(parseFloat(i),t)}return o.sanitize(i)},this.cellValueValidatorFunction=({oldValue:e,value:i})=>{const{_effectiveRange:n,field:o}=this,{max:l,min:r}=n;if(this.effectiveRequired&&(null==i||""===i))return!1;if(this._isNumericField&&(m(o,i)||!E({max:l,min:r,value:i})))return t.getLogger(this).warn("value-exceeds-valid-range","Field value exceeds valid range. Attempted edit was rejected."),!1;if(this._isAnyDateOrTimeField){const e=o.type;if(!O({type:e,range:n,value:i}))return!1}return e!==i},this.field=null,this.formatFunction=null,this.inputRenderFunction=async({root:e,column:i,rowData:n})=>{if(this.editInfo||!this.effectiveEditable)return;const o=this.getCellValue(n),{field:l}=this;if("big-integer"===l.type&&m(l,o))return void t.getLogger(this).warn("value-exceeds-valid-range","Field value is beyond supported limit. Editing is disabled for this field value.");const r=n?.item.feature;if(!r)return;this._activeFieldInput=this._setUpFieldInput(r,o);const s=document.createElement("div");s.classList.add(k.inputContainer);const a=[],u="coded-value"===this._effectiveDomain?.type;if(this._isAnyDateOrTimeField&&!u){const e=document.createElement("div"),t=this._setUpDateComponents(o),i=this._setUpDateActionBar();t.forEach((t=>e.appendChild(t))),s.appendChild(e),s.appendChild(i),a.push(...t)}else{const e=this.createInputElement({value:o});s.appendChild(e),a.push(e)}this._set("editInfo",{column:i,inputs:a,root:e,rowData:n,oldValue:o}),this.removeCellContent(e),e.appendChild(s),this._syncRowEditingState(e,!0),this.grid?.generateCellPartNames();const p=a[0];await N(p),"selectText"in p&&await p.selectText()},this.layer=null,this.parseInputValueFunction=({inputs:e})=>{const{editInfo:t,field:i,includeTime:n}=this;if(!t||!e.length)return null;const o=e[0];if(this._isAnyDateOrTimeField){if("coded-value"===this._effectiveDomain?.type){if(null==o.value||""===o.value)return null;const e=String(o.value);return f(i)?parseFloat(e):e}const{timeZone:l}=this.effectiveTimeZoneOptions,r=t.oldValue??void 0;switch(i.type){case"date-only":{const e=o.value;return""!==e?e:null}case"time-only":{const e=L(o.value);return""!==e?e:null}case"timestamp-offset":{const t=n?e[1]:void 0,i=e.at(-1);return j({oldValue:r,dateComponent:o,timeComponent:t,timeZoneComponent:i,defaultTimeZone:l})}case"date":{const{max:t,min:i}=this._effectiveRange;return Z({oldValue:r,dateComponent:o,timeComponent:e[1],timeZone:l,max:t,min:i})}}return null}const l=o.value,{effectiveRequired:r}=this;return r||null!=l&&""!==l?this._isNumericField?parseFloat(l):this._isStringField?l.trim():l:null},this.sortable=!0,this.store=null,this.template=null,this.view=null}get _effectiveDomain(){const e=this._activeFieldInput?.feature;return e?this._getDomainForFeature(e):null}get _effectiveRange(){return this._activeFieldInput?.range??{max:null,min:null}}get _isAnyDateOrTimeField(){const{field:e}=this;return C(e)||h(e)}get _isIntegerField(){return g(this.field)}get _isNumericField(){return y(this.field)}get _isStringField(){return v(this.field)}get _isSubtypeField(){const{layer:e}=this;if(e?.subtypeField){const{subtypeField:t,fieldsIndex:i}=e;return(i.get(t)?.name??t)===this.fieldName}return!1}get alias(){return this.field?.alias}get defaultValue(){return this.field?.defaultValue}get effectiveDescription(){const{description:e,field:t}=this,i=t.description,n=w(e)?w(i)?null:i:e;return null==n?null:o.sanitize(n)}get effectiveEditable(){const{editable:e,field:t,layer:i,tableEditingEnabled:n}=this;if(!t||!i)return!1;const o=p(i),l=i.effectiveCapabilities??i.capabilities,r=l?.operations?.supportsUpdate;return!!(t.editable&&o&&r&&"oid"!==t.type&&n)&&e}get effectiveLabel(){return o.sanitize(this.label||this.alias||this.fieldName)}get effectiveRequired(){return!this.nullable||this._isSubtypeField||this._activeFieldInput?.required||this.required}get effectiveTimeZoneOptions(){const{layer:e,field:t}=this;if(!e||"date"!==t?.type&&"timestamp-offset"!==t?.type)return{timeZone:void 0,timeZoneName:void 0};const{tableTimeZone:i,timeZone:n,view:o}=this;return D(e.preferredTimeZone||null,!!e.datesInUnknownTimezone,n??i??o?.timeZone??b,s("short-time"),t.type)}get includeTime(){const{field:e,template:t}=this;return"time-only"===e.type||"date-only"!==e.type&&(!t?.input||"includeTime"in t.input&&!1!==t.input.includeTime)}get loadingMessage(){return this.messages?.loading||"..."}get maxLength(){const{field:e,template:t}=this,i=e?.length??-1,n=t?.input&&"maxLength"in t.input?t.input.maxLength:null;return null!=n&&!isNaN(n)&&n>=-1&&(-1===i||n<=i)?n:i}get minLength(){const{template:e,maxLength:t}=this,i=e?.input&&"minLength"in e.input?e.input.minLength:null;return t&&i<=t?i:null}get name(){return this.field?.name}get nullable(){return!1!==this.field.nullable}get shouldShowPrompt(){return this._isSubtypeField}createInputElement({value:e}){const{_effectiveDomain:t,maxLength:o,minLength:l,effectiveRequired:r}=this;let s;if("coded-value"===t?.type)s=this.createCalciteSelect(e,t.codedValues.map((({code:e,name:t})=>({value:e,name:t})))),this.addHandles([i((()=>s),"calciteSelectChange",(()=>this.onInputBlur()),n)],A);else if(this._isNumericField){const{_effectiveRange:{max:t,min:i}}=this;s=document.createElement("calcite-input"),s.type="number",this._isIntegerField&&(s.step=1),null!=t&&(s.max=t),null!=i&&(s.min=i),s.status=E({max:t,min:i,value:e})?"idle":"invalid"}else s=document.createElement("calcite-input"),this.addHandles([i((()=>s),"calciteInputChange",(()=>this.onInputBlur()),n)],A),o>-1&&(s.maxLength=o),l>0&&(s.minLength=l);return s.classList.add(k.input),s.required=r,s.value=null!=e?e.toString():"",this.addHandles([i((()=>s),"keydown",(e=>{e.key===U.cancelEdit&&this.onInputBlur(!0)}),n),i((()=>s),"blur",(()=>this.onInputBlur()),n)],A),s}onInputBlur(e=!1){this.removeHandles(A),super.onInputBlur(e)}onEditComplete(){const e=this.editInfo?.root;e&&this._syncRowEditingState(e,!1),this._activeFieldInput=null,super.onEditComplete()}_clearActiveEditValues(){this.editInfo?.inputs?.forEach((e=>e.value=""))}_setUpDateActionBar(){const{messagesCommon:e}=this,t=e?.cancel??"",i=e?.clear??"",n=e?.save??"",o=document.createElement("calcite-action-bar");return o.expandDisabled=!0,o.layout="horizontal",o.appendChild(this.createCalciteAction({text:n,icon:"save",onclick:()=>this.submit()})),this.effectiveRequired||o.appendChild(this.createCalciteAction({text:i,icon:"trash",onclick:()=>{this._clearActiveEditValues(),this.submit()}})),o.appendChild(this.createCalciteAction({text:t,icon:"x",onclick:()=>this.cancel()})),o}_formatDateValueForDisplay(e,t){const{timeZone:i,timeZoneName:n}=this.effectiveTimeZoneOptions;return null!=t?V(e,t,{...this._getDateFormatOptions(),timeZone:i,timeZoneName:n}):null}_setUpDateComponents(e){const{_effectiveRange:{max:t,min:n,rawMax:o,rawMin:l},field:r,effectiveRequired:s}=this,a=this._getDateFieldValuesForComponents(r,e),u=[];if(C(r)){const e=this.createDateComponent(),p=F(r)||_(r)?o:t,d=F(r)||_(r)?l:n,c=this._getDateFieldValuesForComponents(r,p??null),m=this._getDateFieldValuesForComponents(r,d??null);e.value=a.date??"",e.max=c.date??"",e.min=m.date??"",e.required=s,this.addHandles([i((()=>e),"calciteInputDatePickerOpen",(()=>this._onDateComponentOpen(e)))],A),u.push(e)}if(this.includeTime){const e=this.createTimeComponent();e.value=a.time??"",e.required=s,this.addHandles([i((()=>e),"calciteInputTimePickerOpen",(()=>this._onDateComponentOpen(e)))],A),u.push(e)}if("timestamp-offset"===r.type){const e=this.createTimeZoneComponent();e.value=a.timeZoneOffset??"0",this.addHandles([i((()=>e),"calciteInputTimeZoneOpen",(()=>this._onDateComponentOpen(e)))],A),u.push(e)}return u}_onDateComponentOpen(e){this.editInfo?.inputs.forEach((t=>{t!==e&&"open"in t&&(t.open=!1)}))}_syncRowEditingState(e,t=!1){const i=this.grid?.getRowContainingNode(e);i&&(t?i.setAttribute("editing","true"):i.removeAttribute("editing"))}_getDateFieldValuesForComponents(e,t){switch(e.type){case"date":return S(t,this.effectiveTimeZoneOptions.timeZone);case"date-only":return{date:t};case"time-only":return{time:t};case"timestamp-offset":return R(t);default:return{}}}_setUpFieldInput(e,t){const{field:i,layer:n,effectiveTimeZoneOptions:{timeZone:o}}=this,l=new I({feature:e,field:i,initialFeature:e.clone(),layer:n,timeZone:o});return l.set("value",t),l}_isDomainCompatible(e){if(!e)return!1;const{_isNumericField:t,_isStringField:i}=this,{type:n}=e;if("coded-value"===n){const n=typeof e.codedValues[0].code;if("string"===n&&i||"number"===n&&t)return!0}return!("range"!==n||!t)}_getDomainForFeature(e){const{fieldName:t,layer:i,template:n}=this;if(!e||!i?.getFieldDomain)return null;if("wfs"===i.type||"geojson"===i.type||"csv"===i.type||"knowledge-graph-sublayer"===i.type)return null;if(n?.domain&&this._isDomainCompatible(n.domain))return n.domain;if("feature"!==i.type&&"subtype-group"!==i.type&&null==i.getField(t)?.domain){const e=d(i,t);if(e)return e}return i.getFieldDomain(t,{feature:e})}_getComputedDomain(e,t){if(!t)return null;if("range"===t.type)return e;if("coded-value"===t.type){const i=t.codedValues.filter((t=>t.hasOwnProperty("code")&&t.code===e));return i&&i.length?i[0].name:e}return null}_getDateFormatOptions(){const{template:e}=this,t=e?.format?.dateFormat;return t?s(t):e?.input&&"includeTime"in e.input&&!1===e.input.includeTime?B:z}};e([l()],P.prototype,"_effectiveDomain",null),e([l()],P.prototype,"_activeFieldInput",void 0),e([l()],P.prototype,"_effectiveRange",null),e([l()],P.prototype,"_isAnyDateOrTimeField",null),e([l()],P.prototype,"_isIntegerField",null),e([l()],P.prototype,"_isNumericField",null),e([l()],P.prototype,"_isStringField",null),e([l()],P.prototype,"_isSubtypeField",null),e([l({readOnly:!0})],P.prototype,"alias",null),e([l()],P.prototype,"cellValueFormatFunction",void 0),e([l()],P.prototype,"cellValueValidatorFunction",void 0),e([l({readOnly:!0})],P.prototype,"defaultValue",null),e([l()],P.prototype,"effectiveDescription",null),e([l()],P.prototype,"effectiveEditable",null),e([l()],P.prototype,"effectiveLabel",null),e([l()],P.prototype,"effectiveRequired",null),e([l()],P.prototype,"effectiveTimeZoneOptions",null),e([l({type:c})],P.prototype,"field",void 0),e([l()],P.prototype,"formatFunction",void 0),e([l()],P.prototype,"includeTime",null),e([l()],P.prototype,"inputRenderFunction",void 0),e([l()],P.prototype,"layer",void 0),e([l({readOnly:!0})],P.prototype,"loadingMessage",null),e([l()],P.prototype,"maxLength",null),e([l()],P.prototype,"minLength",null),e([l({readOnly:!0})],P.prototype,"name",null),e([l({readOnly:!0})],P.prototype,"nullable",null),e([l()],P.prototype,"parseInputValueFunction",void 0),e([l()],P.prototype,"shouldShowPrompt",null),e([l()],P.prototype,"sortable",void 0),e([l()],P.prototype,"store",void 0),e([l()],P.prototype,"template",void 0),e([l()],P.prototype,"view",void 0),P=e([r("esri.widgets.FeatureTable.FieldColumn")],P);const M=P;export{M as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../chunks/tslib.es6.js";import{property as e}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as n}from"../../../core/accessorSupport/decorators/subclass.js";import o from"./Column.js";import{autoLink as i}from"../../support/uriUtils.js";const l={showInput:"Enter",hideInput:"Escape"};let r=class extends o{constructor(t){super(t),this.editInfo=null,this.cellValueValidatorFunction=({oldValue:t,value:e})=>t!==e,this.editable=!0,this.headerRenderFunction=t=>{const{root:e}=t,n=this.createHeaderContent();this.tableEditingEnabled&&!this.effectiveEditable&&n.prepend(this._lockIconNode),this.removeCellContent(e),e.appendChild(n)},this.inputRenderFunction=({root:t,column:e,rowData:n})=>{if(this.editInfo||!this.effectiveEditable||!n)return;const o=this.getCellValue(n),i=this.createInputElement({value:o});this._set("editInfo",{column:e,inputs:[i],root:t,rowData:n,oldValue:o});const l=document.createElement("div");l.appendChild(i),this.removeCellContent(t),t.appendChild(l),i.focus(),i instanceof HTMLInputElement&&i.select()},this.loadingMessage="",this.inputType="text",this.maxLength=null,this.onShowPromptCallback=()=>{},this.parseInputValueFunction=({inputs:t})=>t?.length||1!==t.length||Array.isArray(t[0].value)?null:t[0].value,this.renderFunction=t=>{const{root:e,rowData:n}=t,{editInfo:o}=this;if(o)return;const r=this.getCellValue(n),s=this.cellValueFormatFunction({root:e,rowData:n,value:r});let a=null;e.onclick=()=>e.focus(),e.ondblclick=()=>this.inputRenderFunction(t),e.ontouchend=()=>this.inputRenderFunction(t);const c=this.grid?.getSlotElementByName(e.slot),u=c?.parentElement;u&&!u.onkeydown&&(u.onkeydown=e=>{e.key!==l.showInput||this.editInfo||this.inputRenderFunction(t),e.key===l.hideInput&&this.editInfo&&this.cancel()}),null!=r&&null!=s?e.title=s.toString():e.title&&e.removeAttribute("title"),a=s instanceof HTMLElement?s:i(this.messagesURIUtils,s),this.removeCellContent(e),a instanceof HTMLElement?e.appendChild(a):null!=a&&(e.innerHTML=a.toString())},this.required=!1,this.tableEditingEnabled=!1}get _lockIconNode(){return this.createCalciteIcon({icon:"lock",textLabel:this.messages?.editingPreventedColumn})}get effectiveEditable(){return this.tableEditingEnabled&&this.editable}get effectiveRequired(){return this.required}get editing(){return!!this.editInfo}get shouldShowPrompt(){return!1}cancel(){const{editInfo:t}=this;if(!t)return;const{column:e,root:n,rowData:o}=t;this.onEditComplete(),this.renderFunction({column:e,root:n,rowData:o})}createCalciteOption(t,e,n=!1){const o=document.createElement("calcite-option");return o.label=t,o.value=`${e}`,o.selected=n,o}createCalciteSelect(t,e){const{effectiveRequired:n,messages:o}=this;let i=!1;const l=e.map((({name:e,value:n})=>{const o=n===t;return o&&(i=!0),this.createCalciteOption(e,n,o)}));if(null!=t&&""!==t&&!i){const e=t.toString(),n=this.createCalciteOption(e,e);l.unshift(n)}n||l.unshift(this.createCalciteOption(`<${o?.noValue}>`,""));const r=document.createElement("calcite-select");return l.forEach((t=>r.appendChild(t))),r}createInputElement({value:t}){const{effectiveRequired:e,maxLength:n}=this,o=document.createElement("calcite-input");return null!=n&&(o.maxLength=n),o.required=e,o.value=t,o.addEventListener("calciteInputChange",(()=>this.onInputBlur(o))),o.onkeydown=t=>{t.key===l.hideInput&&this.onInputBlur(o,!0)},o.onblur=()=>this.onInputBlur(o),o}createDateComponent(){const t=document.createElement("calcite-input-date-picker");return t.focusTrapDisabled=!0,t.overlayPositioning="fixed",t}createTimeComponent(){const t=document.createElement("calcite-input-time-picker");return t.overlayPositioning="fixed",t.placement="auto-start",t.step=1,t}createTimeZoneComponent(){const t=document.createElement("calcite-input-time-zone");return t.maxItems=4,t.overlayPositioning="fixed",t}onEditComplete(){this._set("editInfo",null),this.grid?.generateCellPartNames()}onInputBlur(t,e=!1){t.onblur=null,e?this.cancel():this.submit()}async submit(){const{editInfo:t}=this;if(!t)return void this.cancel();const{inputs:e,rowData:n,oldValue:o}=t,i=this.parseInputValueFunction({inputs:e});if(!this.cellValueValidatorFunction({value:i,oldValue:o}))return void this.cancel();const{root:l}=t,r=n.item.objectId,{fieldName:s}=this;l.textContent=this.loadingMessage,this.shouldShowPrompt?this.onShowPromptCallback({column:this,objectId:r,oldValue:o,value:i}):await this.updateItems({objectId:r,updates:[{fieldName:s,value:i}]})}async updateItems(t){const{store:e}=this;if(e)try{await e.updateItem(t),this.onEditComplete()}catch{this.cancel()}else this.cancel()}};t([e()],r.prototype,"_lockIconNode",null),t([e({readOnly:!0})],r.prototype,"editInfo",void 0),t([e()],r.prototype,"cellValueValidatorFunction",void 0),t([e()],r.prototype,"editable",void 0),t([e()],r.prototype,"effectiveEditable",null),t([e()],r.prototype,"effectiveRequired",null),t([e()],r.prototype,"editing",null),t([e()],r.prototype,"headerRenderFunction",void 0),t([e()],r.prototype,"inputRenderFunction",void 0),t([e({constructOnly:!0})],r.prototype,"loadingMessage",void 0),t([e()],r.prototype,"inputType",void 0),t([e()],r.prototype,"maxLength",void 0),t([e()],r.prototype,"onShowPromptCallback",void 0),t([e()],r.prototype,"parseInputValueFunction",void 0),t([e()],r.prototype,"renderFunction",void 0),t([e()],r.prototype,"required",void 0),t([e()],r.prototype,"shouldShowPrompt",null),t([e()],r.prototype,"tableEditingEnabled",void 0),r=t([n("esri.widgets.FeatureTable.Grid.EditorColumn")],r);const s=r;export{s as default};
5
+ import{_ as t}from"../../../chunks/tslib.es6.js";import{on as e,sync as n}from"../../../core/reactiveUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import l from"./Column.js";import{autoLink as r}from"../../support/uriUtils.js";const s={showInput:"Enter",cancelEdit:"Escape"},a=Symbol();let c=class extends l{constructor(t){super(t),this.editInfo=null,this.cellValueValidatorFunction=({oldValue:t,value:e})=>t!==e,this.editable=!0,this.headerRenderFunction=t=>{const{root:e}=t,n=this.createHeaderContent();this.tableEditingEnabled&&!this.effectiveEditable&&n.prepend(this._lockIconNode),this.removeCellContent(e),e.appendChild(n)},this.inputRenderFunction=({root:t,column:e,rowData:n})=>{if(this.editInfo||!this.effectiveEditable||!n)return;const o=this.getCellValue(n),i=this.createInputElement({value:o});this._set("editInfo",{column:e,inputs:[i],root:t,rowData:n,oldValue:o});const l=document.createElement("div");l.appendChild(i),this.removeCellContent(t),t.appendChild(l),i.focus(),i instanceof HTMLInputElement&&i.select()},this.loadingMessage="",this.inputType="text",this.maxLength=null,this.onShowPromptCallback=()=>{},this.parseInputValueFunction=({inputs:t})=>t?.length||1!==t.length||Array.isArray(t[0].value)?null:t[0].value,this.renderFunction=t=>{const{root:e,rowData:n}=t,{editInfo:o}=this;if(o)return;const i=this.getCellValue(n),l=this.cellValueFormatFunction({root:e,rowData:n,value:i});let a=null;e.onclick=()=>e.focus(),e.ondblclick=()=>this.inputRenderFunction(t),e.ontouchend=()=>this.inputRenderFunction(t);const c=this.grid?.getSlotElementByName(e.slot),u=c?.parentElement;u&&!u.onkeydown&&(u.onkeydown=e=>{e.key!==s.showInput||this.editInfo||this.inputRenderFunction(t),e.key===s.cancelEdit&&this.editInfo&&this.cancel()}),null!=i&&null!=l?e.title=l.toString():e.title&&e.removeAttribute("title"),a=l instanceof HTMLElement?l:r(this.messagesURIUtils,l),this.removeCellContent(e),a instanceof HTMLElement?e.appendChild(a):null!=a&&(e.innerHTML=a.toString())},this.required=!1,this.tableEditingEnabled=!1}get _lockIconNode(){return this.createCalciteIcon({icon:"lock",textLabel:this.messages?.editingPreventedColumn})}get effectiveEditable(){return this.tableEditingEnabled&&this.editable}get effectiveRequired(){return this.required}get editing(){return!!this.editInfo}get shouldShowPrompt(){return!1}cancel(){this.onEditComplete()}createCalciteOption(t,e,n=!1){const o=document.createElement("calcite-option");return o.label=t,o.value=`${e}`,o.selected=n,o}createCalciteSelect(t,e){const{effectiveRequired:n,messages:o}=this;let i=!1;const l=e.map((({name:e,value:n})=>{const o=n===t;return o&&(i=!0),this.createCalciteOption(e,n,o)}));if(null!=t&&""!==t&&!i){const e=t.toString(),n=this.createCalciteOption(e,e);l.unshift(n)}n||l.unshift(this.createCalciteOption(`<${o?.noValue}>`,""));const r=document.createElement("calcite-select");return l.forEach((t=>r.appendChild(t))),r}createInputElement({value:t}){const{effectiveRequired:o,maxLength:i}=this,l=document.createElement("calcite-input");return null!=i&&(l.maxLength=i),l.required=o,l.value=null!=t?t.toString():"",this.addHandles([e((()=>l),"calciteInputChange",(()=>this.onInputBlur()),n),e((()=>l),"keydown",(t=>{t.key===s.cancelEdit&&this.onInputBlur(!0)}),n),e((()=>l),"blur",(()=>this.onInputBlur()),n)],a),l}createDateComponent(){const t=document.createElement("calcite-input-date-picker");return t.focusTrapDisabled=!0,t.overlayPositioning="fixed",t}createTimeComponent(){const t=document.createElement("calcite-input-time-picker");return t.overlayPositioning="fixed",t.placement="auto-start",t.step=1,t}createTimeZoneComponent(){const t=document.createElement("calcite-input-time-zone");return t.maxItems=4,t.overlayPositioning="fixed",t}onEditComplete(){this._set("editInfo",null),this.grid?.generateCellPartNames(),this.grid?.requestContentUpdate()}onInputBlur(t=!1){this.removeHandles(a),t?this.cancel():this.submit()}async submit(){const{editInfo:t}=this;if(!t)return void this.cancel();const{inputs:e,rowData:n,oldValue:o}=t,i=this.parseInputValueFunction({inputs:e});if(!this.cellValueValidatorFunction({value:i,oldValue:o}))return void this.cancel();const{root:l}=t,r=n.item.objectId,{fieldName:s}=this;l.textContent=this.loadingMessage,this.shouldShowPrompt?this.onShowPromptCallback({column:this,objectId:r,oldValue:o,value:i}):await this.updateItems({objectId:r,updates:[{fieldName:s,value:i}]})}async updateItems(t){const{store:e}=this;if(e)try{await e.updateItem(t),this.onEditComplete()}catch{this.cancel()}else this.cancel()}};t([o()],c.prototype,"_lockIconNode",null),t([o({readOnly:!0})],c.prototype,"editInfo",void 0),t([o()],c.prototype,"cellValueValidatorFunction",void 0),t([o()],c.prototype,"editable",void 0),t([o()],c.prototype,"effectiveEditable",null),t([o()],c.prototype,"effectiveRequired",null),t([o()],c.prototype,"editing",null),t([o()],c.prototype,"headerRenderFunction",void 0),t([o()],c.prototype,"inputRenderFunction",void 0),t([o({constructOnly:!0})],c.prototype,"loadingMessage",void 0),t([o()],c.prototype,"inputType",void 0),t([o()],c.prototype,"maxLength",void 0),t([o()],c.prototype,"onShowPromptCallback",void 0),t([o()],c.prototype,"parseInputValueFunction",void 0),t([o()],c.prototype,"renderFunction",void 0),t([o()],c.prototype,"required",void 0),t([o()],c.prototype,"shouldShowPrompt",null),t([o()],c.prototype,"tableEditingEnabled",void 0),c=t([i("esri.widgets.FeatureTable.Grid.EditorColumn")],c);const u=c;export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"@vaadin/grid/vaadin-grid.js";import"@vaadin/grid/vaadin-grid-column-group.js";import"@vaadin/grid/vaadin-grid-selection-column.js";import"@vaadin/grid/vaadin-grid-sorter.js";import{isSome as t}from"../../../core/arrayUtils.js";import{on as i}from"../../../core/events.js";import{assertIsSome as r}from"../../../core/maybe.js";import{on as o,watch as n}from"../../../core/reactiveUtils.js";import{renderingSanitizer as l}from"../../../core/sanitizerUtils.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../../Widget.js";import h from"./GridViewModel.js";import{globalCss as u}from"../../support/globalCss.js";import"../../support/widgetUtils.js";import{messageBundle as g}from"../../support/decorators/messageBundle.js";import{tsx as m}from"../../support/jsxFactory.js";const c="esri-grid",p="compact column-borders",_={base:c,content:`${c}__content`,grid:`${c}__grid`,noDataMessage:`${c}__no-data-message`},f={sort:["Enter"," "]};let v=class extends a{constructor(e,t){super(e,t),this._columnElements=[],this._grid=null,this._temporaryHighlightId=null,this.itemIdPath="objectId",this.messages=null,this.selectionColumnEnabled=!0,this.viewModel=new h,this._onSelectedItemsChange=this._onSelectedItemsChange.bind(this)}initialize(){this.addHandles([this.columns.on("before-changes",(()=>this.renderNow())),this.columns.on("change",(()=>this.onColumnChange())),o((()=>this.highlightIds),"before-add",(({target:e})=>{!this.multipleSelectionEnabled&&e.length&&e.removeAll()})),this.rowHighlightIds.on("change",(()=>this.generateCellPartNames())),n((()=>this.effectiveSize),(()=>this._updateGridSize())),n((()=>this.isEditing),(()=>{this.generateCellPartNames(),this.requestContentUpdate()})),n((()=>this.store?.state),((e,t)=>{"ready"!==e||"loaded"!==t&&"error"!==t||this.refreshPageCache()})),o((()=>this._table),"scroll",(()=>this.viewModel.closeColumnMenus())),o((()=>this._table),"scrollend",(()=>{this.paginationEnabled||(this.pageIndex=this.getVirtualPageIndex())})),n((()=>this.multipleSelectionEnabled),(e=>{!e&&this.highlightIds.length>1&&this.highlightIds.removeAll()}))])}destroy(){this.resetColumns(),this.columns.destroyed||this.columns.destroy()}resetColumns(){this.columns.drain((e=>!e.destroyed&&e.destroy()))}get _columnRendering(){return this.columnPerformanceModeEnabled?"lazy":"eager"}get _selectedItems(){const{highlightIds:e,store:t}=this;return e.toArray().map((e=>t?.getItemByObjectId(e)??{objectId:e}))}get _noDataMessage(){return l.sanitize(this.noDataMessage)}get _table(){return this._grid?.$?.table}get cellPartNameGenerator(){return this.viewModel.cellPartNameGenerator}set cellPartNameGenerator(e){this.viewModel.cellPartNameGenerator=e}get columns(){return this.viewModel.columns}set columns(e){this.viewModel.columns=e}get columnPerformanceModeEnabled(){return this.viewModel.columnPerformanceModeEnabled}set columnPerformanceModeEnabled(e){this.viewModel.columnPerformanceModeEnabled=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get dataProvider(){return this.viewModel.dataProvider}set dataProvider(e){this.viewModel.dataProvider=e}get editingEnabled(){return this.viewModel.editingEnabled}set editingEnabled(e){this.viewModel.editingEnabled=e}get effectiveSize(){return this.viewModel.effectiveSize}get groupColumns(){return this.viewModel.groupColumns}get hasInvalidColumnConfiguration(){return this.viewModel.hasInvalidColumnConfiguration}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get temporaryHighlightId(){return this._temporaryHighlightId}get isEditing(){return this.viewModel.isEditing}get isReady(){return!!this._grid}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get multipleSelectionEnabled(){return this.viewModel.multipleSelectionEnabled}set multipleSelectionEnabled(e){this.viewModel.multipleSelectionEnabled=e}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get noDataMessage(){return this.viewModel.noDataMessage}set noDataMessage(e){this.viewModel.noDataMessage=e}get pageIndex(){return this.viewModel.pageIndex}set pageIndex(e){this.viewModel.pageIndex=e}get multipleSortPriority(){return this.viewModel.multipleSortPriority}set multipleSortPriority(e){this.viewModel.multipleSortPriority=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get paginationEnabled(){return this.viewModel.paginationEnabled}set paginationEnabled(e){this.viewModel.paginationEnabled=e}get rowDetailsRenderer(){return this.viewModel.rowDetailsRenderer}set rowDetailsRenderer(e){this.viewModel.rowDetailsRenderer=e}get rowHighlightIds(){return this.viewModel.rowHighlightIds}set rowHighlightIds(e){this.viewModel.rowHighlightIds=e}get size(){return this.viewModel.size}get sortOrders(){return this._grid?._sorters?this._grid._sorters.filter((e=>!!e&&e.path)).map((({direction:e,path:t})=>({direction:e,path:t}))):[]}get store(){return this.viewModel.store}set store(e){this.viewModel.store=e}get state(){return this.viewModel.state}addSorter(e){this._grid?.__updateSorter(e,!1,!1),this.notifyChange("sortOrders")}getColumnProps(e,t){const{id:i}=this,{autoWidth:r,direction:o,fieldName:n,flexGrow:l,frozen:s,frozenToEnd:d,hidden:a,label:h,resizable:u,textAlign:g,width:m}=e,c=`${i}_${n}_${t}`,{renderFunction:p,footerRenderFunction:_,headerRenderFunction:f}=e,v=_?(e,t)=>_({root:e,column:t}):void 0,y=f?(e,t)=>f({root:e,column:t}):void 0,C=p?(e,t,i)=>p({root:e,column:t,rowData:i}):void 0;let w="";return e.direction&&(w+=" direction"),e.invalid&&(w+=" invalid"),{footerRenderer:v,headerRenderer:y,renderer:C,autoWidth:r,direction:o,flexGrow:l,frozen:s,frozenToEnd:d,headerPartName:w,key:c,resizable:u,bind:this,"data-fieldName":n,header:h,hidden:this.hasInvalidColumnConfiguration||a,path:n,"text-align":g,width:"number"==typeof m?`${m}px`:m,afterCreate:this._afterColumnCreate,afterRemoved:this._afterColumnRemoved}}clearSelection(){this._clearSelection(),this.scheduleRender()}clearSort(){let e=!1;if(this._grid){if(this._grid._sorters?.length&&(this._grid._sorters.forEach((e=>{e._order=null,e.direction=null})),e=!0),this.columns.length){this.columns.some((e=>!!e.direction))&&(this.columns.forEach((e=>e.direction=null)),e=!0)}e&&(this.notifyChange("sortOrders"),this.scheduleRender())}}findColumn(e){return this.viewModel.findColumn(e)}generateCellPartNames(){this._grid?.generateCellPartNames()}getFirstVisibleRowIndex(){return this._grid?._firstVisibleIndex||0}getVirtualPageIndex(){return Math.floor(this.getFirstVisibleRowIndex()/this.pageSize)}getLastVisibleRowIndex(){return this._grid?._lastVisibleIndex||0}getVisibleItemsCount(){return this._grid?._visibleItemsCount||0}getRowContainingNode(e){try{return this._grid?._getRowContainingNode(e)}catch{return null}}getSlotElementByName(e){return this._grid?.shadowRoot?.querySelector(`slot[name='${e}']`)??null}hasSorter(e){return this._grid?._sorters?.includes(e)||!1}hideColumn(e){this.viewModel.hideColumn(e)}recalculateColumnWidths(){this._grid?.recalculateColumnWidths()}async reset(){this._clearSelection(),await(this.store?.reset()),this.scrollToTop()}refreshPageCache(){this._grid?.clearCache(),this._temporaryHighlightId=null}requestContentUpdate(){this._grid?.requestContentUpdate(),this._temporaryHighlightId=null}selectRows(e){const{itemIdPath:t}=this,i=e?.filter((e=>!this.highlightIds.includes(e[t]))),r=i.map((e=>e[t]));r.length&&(this.multipleSelectionEnabled||(this.highlightIds.removeAll(),r.splice(1)),this.highlightIds.addMany(r))}deselectRows(e){const{itemIdPath:t}=this,i=e?.map((e=>e[t]))||[];i.length&&this.highlightIds.removeMany(i)}showColumn(e){this.viewModel.showColumn(e)}sort({path:e,direction:t}){this.viewModel.sortColumn(e,t),this.notifyChange("sortOrders")}scrollToIndex(e){0!==this.size&&(this._grid?.isConnected&&this._grid?.scrollToIndex(e),this._temporaryHighlightId=null)}scrollToTop(){this.scrollToIndex(0)}scrollToBottom(){this.scrollToIndex(1/0)}scrollLeft(e){const{_table:t}=this;t&&(t.scrollLeft=e)}toggleColumnVisibility(e){this.viewModel.toggleColumnVisibility(e)}onColumnChange(){this._columnElements.forEach((e=>{this._applyRenderersToColumnElement(e)})),this.requestContentUpdate()}render(){return m("div",{bind:this,class:this.classes(_.base,u.widget)},m("div",{bind:this,class:_.content},this._renderGrid()))}_renderGrid(){return m("vaadin-grid",{afterCreate:this._afterGridCreate,afterUpdate:this._afterGridUpdate,bind:this,cellPartNameGenerator:this.cellPartNameGenerator,class:_.grid,columnRendering:this._columnRendering,columnReorderingAllowed:this.columnReorderingEnabled,dataProvider:this.dataProvider,id:`${this.id}_grid`,itemIdPath:this.itemIdPath,multiSort:this.multiSortEnabled,multiSortPriority:this.multipleSortPriority,pageSize:this.pageSize,ref:"grid",rowDetailsRenderer:this.rowDetailsRenderer,selectedItems:this._selectedItems,size:this.effectiveSize},this._renderAllColumns(),this._renderEmptyState())}_renderAllColumns(){return"disabled"!==this.state&&this.columns.length?[this._renderSelectionColumn(),this._renderColumns()]:null}_renderSelectionColumn(){return m("vaadin-grid-selection-column",{_selectAllHidden:!0,autoWidth:!1,bind:this,dragSelect:!0,frozen:!0,hidden:this.hasInvalidColumnConfiguration||!this.selectionColumnEnabled,selectAll:!1,sortable:!1,textAlign:"center"})}_renderColumns(){return Array.from(this.columns,((e,t)=>"columns"in e?this._renderGroupColumn(e,t):m("vaadin-grid-column",{...this.getColumnProps(e,t)}))).filter(t)}_renderGroupColumn(e,t){const i=this.getColumnProps(e,t);if(i.hidden||!e.columns)return null;const r=e.columns.filter((({hidden:e})=>!e));return r.length?m("vaadin-grid-column-group",{...i},r.map((e=>m("vaadin-grid-column",{...this.getColumnProps(e,t)})))):null}_renderEmptyState(){const e=this.viewModel;if("loaded"===e.state&&!e.isQueryingOrSyncing)return m("div",{class:_.noDataMessage,slot:"empty-state"},this._noDataMessage??this.messages.noDataFound)}_afterGridCreate(e){const t=this._grid=e;t.setAttribute("theme",p),customElements.whenDefined("vaadin-grid").then((()=>{this._appendStyles(),this._addGridEventListeners()})),t.__updateSorter=(e,i,r)=>{const o=t._sorters,n=!o.includes(e),{multiSort:l,multiSortOnShiftClick:s,multiSortPriority:d}=t,a=o.filter((t=>t!==e)),h=l&&(!s||!r)||s&&i;e._order=null,e.direction?h?null!=e._initialOrder?(n?o[e._initialOrder]=e:o.splice(e._initialOrder,0,e),e._initialOrder=null):"append"===d&&n?t._sorters=[...a,e]:"prepend"===d&&(t._sorters=[e,...a]):(e.direction||s)&&(t._sorters=e.direction?[e]:[],a.forEach((e=>{e._order=null,e.direction=null}))):n||(t._sorters=[...a])},t.__removeSorters=e=>{if(0===e.length)return;const i=new Set(e.filter((e=>!e.direction)));t._sorters=t._sorters.filter((e=>!i.has(e))),t.__applySorters()}}_appendStyles(){const e=this._grid?.shadowRoot,t=document.createElement("style");e&&(t.textContent='\n #items [part~="row"][editing],\n #items [part~="row"][editing][selected] {\n z-index: 2;\n }\n\n #items [part~="editing"],\n #items [part~="editing"][selected] {\n z-index: 3;\n }\n\n [frozen], [frozen-to-end] {\n z-index: 4;\n }\n\n [last-frozen] {\n overflow: visible;\n }\n\n [part~=\'cell\'] ::slotted(vaadin-grid-cell-content) {\n align-items: center;\n box-sizing: border-box !important;\n height: 100%;\n line-height: 2em;\n min-height: 40px;\n }\n\n #items [part~="text-wrap"] {\n text-wrap: wrap;\n }\n ',e.appendChild(t))}_afterGridUpdate(e){this._grid||(this._grid=e)}_afterColumnCreate(e){this._columnElements.push(e)}_afterColumnRemoved(e){const t=this._columnElements.indexOf(e,0);t>-1&&this._columnElements.splice(t,1)}_updateGridSize(){this._grid&&(this._grid.size=this.effectiveSize,this.scheduleRender())}_addGridEventListeners(){const e=this._grid;r(e),this.addHandles([i(e,["click","dblclick","keydown","pointerover","pointerout"],(e=>this._onGridInteraction(e))),i(e,["pointerover","pointerout","cell-focus"],(e=>this._onTransientGridInteraction(e))),i(e,"selected-items-changed",this._onSelectedItemsChange),i(e,"sorter-changed",(()=>this.notifyChange("sortOrders"))),i(e,"column-resize",(e=>{const t=e.detail.resizedColumn,i=t.getAttribute("data-fieldName"),r=this.findColumn(i);r?.set({width:t.width})})),i(e,"column-reorder",(()=>this._onColumnOrderChange()))])}_onGridInteraction(e){const t=this._grid;if(r(t),("pointerover"===e.type||"pointerout"===e.type)&&e.relatedTarget!==t){const{target:t,relatedTarget:i}=e;if(!this._isGridCellContentNode(t)||!this._isGridCellContentNode(i))return}let i=null;try{i=t.getEventContext(e)}catch(a){}if(!i)return;const{column:o,index:n,item:l,section:s}=i;if(!s)return;if("header"===s&&"keydown"===e.type&&o?.path){const t=e.key;f.sort.includes(t)&&this.findColumn(o.path)?.sort()}const d=`cell-${e.type}`;this.emit(d,{type:d,context:i,index:n,item:l,native:e,path:o?.path??void 0})}_onTransientGridInteraction(e){if("pointerout"===e.type)return void(this._temporaryHighlightId=null);const t=this._grid;if(t)try{const{item:i}=t.getEventContext(e);this._temporaryHighlightId=i?.objectId}catch{this._temporaryHighlightId=null}}_isGridCellContentNode(e){return!!(e&&e instanceof HTMLElement&&"vaadin-grid-cell-content"===e.localName)}_onColumnOrderChange(){const e=this._grid;r(e);const t=e._getColumnsInOrder(0),i=[],o=(this.viewModel.groupColumns.length?e._getColumnsInOrder(1):t).map((e=>e.getAttribute("data-fieldName")));t?.forEach((e=>{const t=e.getAttribute("data-fieldName");if(null!=t){const e=this.findColumn(t);i.push(t),e&&"columns"in e&&e.columns?.length&&e.columns.sort(((e,t)=>o.indexOf(e.fieldName)>o.indexOf(t.fieldName)?1:-1))}})),this.columns.sort(((e,t)=>i.indexOf(e.fieldName)>i.indexOf(t.fieldName)?1:-1)),this.notifyChange("sortOrders"),this.emit("column-reorder",{type:"column-reorder"})}_clearSelection(){this.highlightIds.removeAll(),this._temporaryHighlightId=null}_onSelectedItemsChange(e){const{highlightIds:t,itemIdPath:i}=this,r=e.detail.value.map((e=>e[i])),o=r.filter((e=>!t.includes(e)));if(!this.multipleSelectionEnabled&&o.length&&t.length)t.removeAll(),t.add(o[0]);else{const e=t.filter((e=>!r.includes(e)));t.removeMany(e),t.addMany(o)}}_applyRenderersToColumnElement(e){const t=e?.path,i=null!=t?this.findColumn(t):void 0;if(i)try{const{renderFunction:t,footerRenderFunction:r,headerRenderFunction:o}=i;t&&"renderer"in e&&(e.renderer=(e,i,r)=>t({root:e,column:i,rowData:r})),r&&(e.footerRenderer=(e,t)=>r({root:e,column:t})),o&&(e.headerRenderer=(e,t)=>o({root:e,column:t}))}catch(r){}}};e([s()],v.prototype,"_columnElements",void 0),e([s()],v.prototype,"_columnRendering",null),e([s()],v.prototype,"_selectedItems",null),e([s()],v.prototype,"_grid",void 0),e([s()],v.prototype,"_noDataMessage",null),e([s()],v.prototype,"_table",null),e([s()],v.prototype,"_temporaryHighlightId",void 0),e([s()],v.prototype,"cellPartNameGenerator",null),e([s()],v.prototype,"columns",null),e([s()],v.prototype,"columnPerformanceModeEnabled",null),e([s()],v.prototype,"columnReorderingEnabled",null),e([s()],v.prototype,"dataProvider",null),e([s()],v.prototype,"editingEnabled",null),e([s()],v.prototype,"effectiveSize",null),e([s()],v.prototype,"groupColumns",null),e([s()],v.prototype,"hasInvalidColumnConfiguration",null),e([s()],v.prototype,"highlightIds",null),e([s()],v.prototype,"temporaryHighlightId",null),e([s()],v.prototype,"isEditing",null),e([s()],v.prototype,"isReady",null),e([s()],v.prototype,"itemIdPath",void 0),e([s()],v.prototype,"label",null),e([s(),g("esri/widgets/FeatureTable/t9n/FeatureTable")],v.prototype,"messages",void 0),e([s()],v.prototype,"multipleSelectionEnabled",null),e([s()],v.prototype,"multiSortEnabled",null),e([s()],v.prototype,"noDataMessage",null),e([s()],v.prototype,"pageIndex",null),e([s()],v.prototype,"multipleSortPriority",null),e([s()],v.prototype,"pageSize",null),e([s()],v.prototype,"paginationEnabled",null),e([s()],v.prototype,"rowDetailsRenderer",null),e([s()],v.prototype,"rowHighlightIds",null),e([s()],v.prototype,"selectionColumnEnabled",void 0),e([s()],v.prototype,"size",null),e([s({readOnly:!0})],v.prototype,"sortOrders",null),e([s()],v.prototype,"store",null),e([s()],v.prototype,"state",null),e([s()],v.prototype,"viewModel",void 0),v=e([d("esri.widgets.FeatureTable.Grid.Grid")],v);const y=v;export{y as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"@vaadin/grid/vaadin-grid.js";import"@vaadin/grid/vaadin-grid-column-group.js";import"@vaadin/grid/vaadin-grid-selection-column.js";import"@vaadin/grid/vaadin-grid-sorter.js";import{isSome as t}from"../../../core/arrayUtils.js";import{on as i}from"../../../core/events.js";import{assertIsSome as r}from"../../../core/maybe.js";import{on as o,watch as n}from"../../../core/reactiveUtils.js";import{renderingSanitizer as l}from"../../../core/sanitizerUtils.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import{subclass as d}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../../Widget.js";import h from"./GridViewModel.js";import{globalCss as u}from"../../support/globalCss.js";import"../../support/widgetUtils.js";import{messageBundle as g}from"../../support/decorators/messageBundle.js";import{tsx as m}from"../../support/jsxFactory.js";const c="esri-grid",p="compact column-borders",_={base:c,content:`${c}__content`,grid:`${c}__grid`,noDataMessage:`${c}__no-data-message`},f={sort:["Enter"," "]};let v=class extends a{constructor(e,t){super(e,t),this._columnElements=[],this._grid=null,this._temporaryHighlightId=null,this.itemIdPath="objectId",this.messages=null,this.selectionColumnEnabled=!0,this.viewModel=new h,this._onSelectedItemsChange=this._onSelectedItemsChange.bind(this)}initialize(){this.addHandles([this.columns.on("before-changes",(()=>this.renderNow())),this.columns.on("change",(()=>this.onColumnChange())),o((()=>this.highlightIds),"before-add",(({target:e})=>{!this.multipleSelectionEnabled&&e.length&&e.removeAll()})),this.rowHighlightIds.on("change",(()=>this.generateCellPartNames())),n((()=>this.effectiveSize),(()=>this._updateGridSize())),n((()=>this.isEditing),(()=>{this.generateCellPartNames(),this.requestContentUpdate()})),n((()=>this.store?.state),((e,t)=>{"ready"!==e||"loaded"!==t&&"error"!==t||this.refreshPageCache()})),o((()=>this._table),"scroll",(()=>this.viewModel.closeColumnMenus())),i(window,"resize",(()=>this._updateColumnBorderStyles())),o((()=>this._table),"scrollend",(()=>{this.paginationEnabled||(this.pageIndex=this.getVirtualPageIndex()),this._updateColumnBorderStyles()})),n((()=>this.multipleSelectionEnabled),(e=>{!e&&this.highlightIds.length>1&&this.highlightIds.removeAll()}))])}destroy(){this.resetColumns(),this.columns.destroyed||this.columns.destroy()}resetColumns(){this.columns.drain((e=>!e.destroyed&&e.destroy()))}get _columnRendering(){return this.columnPerformanceModeEnabled?"lazy":"eager"}get _selectedItems(){const{highlightIds:e,store:t}=this;return e.toArray().map((e=>t?.getItemByObjectId(e)??{objectId:e}))}get _gridIsDisabled(){return 0===this.viewModel.allVisibleColumns.length||this.hasInvalidColumnConfiguration}get _noDataMessage(){return l.sanitize(this.noDataMessage)}get _table(){return this._grid?.$?.table}get cellPartNameGenerator(){return this.viewModel.cellPartNameGenerator}set cellPartNameGenerator(e){this.viewModel.cellPartNameGenerator=e}get columns(){return this.viewModel.columns}set columns(e){this.viewModel.columns=e}get columnPerformanceModeEnabled(){return this.viewModel.columnPerformanceModeEnabled}set columnPerformanceModeEnabled(e){this.viewModel.columnPerformanceModeEnabled=e}get columnReorderingEnabled(){return this.viewModel.columnReorderingEnabled}set columnReorderingEnabled(e){this.viewModel.columnReorderingEnabled=e}get dataProvider(){return this.viewModel.dataProvider}set dataProvider(e){this.viewModel.dataProvider=e}get editingEnabled(){return this.viewModel.editingEnabled}set editingEnabled(e){this.viewModel.editingEnabled=e}get effectiveSize(){return this.viewModel.effectiveSize}get groupColumns(){return this.viewModel.groupColumns}get hasInvalidColumnConfiguration(){return this.viewModel.hasInvalidColumnConfiguration}get highlightIds(){return this.viewModel.highlightIds}set highlightIds(e){this.viewModel.highlightIds=e}get temporaryHighlightId(){return this._temporaryHighlightId}get isEditing(){return this.viewModel.isEditing}get isReady(){return!!this._grid}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get multipleSelectionEnabled(){return this.viewModel.multipleSelectionEnabled}set multipleSelectionEnabled(e){this.viewModel.multipleSelectionEnabled=e}get multiSortEnabled(){return this.viewModel.multiSortEnabled}set multiSortEnabled(e){this.viewModel.multiSortEnabled=e}get noDataMessage(){return this.viewModel.noDataMessage}set noDataMessage(e){this.viewModel.noDataMessage=e}get pageIndex(){return this.viewModel.pageIndex}set pageIndex(e){this.viewModel.pageIndex=e}get multipleSortPriority(){return this.viewModel.multipleSortPriority}set multipleSortPriority(e){this.viewModel.multipleSortPriority=e}get pageSize(){return this.viewModel.pageSize}set pageSize(e){this.viewModel.pageSize=e}get paginationEnabled(){return this.viewModel.paginationEnabled}set paginationEnabled(e){this.viewModel.paginationEnabled=e}get rowDetailsRenderer(){return this.viewModel.rowDetailsRenderer}set rowDetailsRenderer(e){this.viewModel.rowDetailsRenderer=e}get rowHighlightIds(){return this.viewModel.rowHighlightIds}set rowHighlightIds(e){this.viewModel.rowHighlightIds=e}get size(){return this.viewModel.size}get sortOrders(){return this._grid?._sorters?this._grid._sorters.filter((e=>!!e&&e.path)).map((({direction:e,path:t})=>({direction:e,path:t}))):[]}get store(){return this.viewModel.store}set store(e){this.viewModel.store=e}get state(){return this.viewModel.state}addSorter(e){this._grid?.__updateSorter(e,!1,!1),this.notifyChange("sortOrders")}getColumnProps(e,t){const{id:i}=this,{autoWidth:r,direction:o,fieldName:n,flexGrow:l,frozen:s,frozenToEnd:d,hidden:a,label:h,resizable:u,textAlign:g,width:m}=e,c=`${i}_${n}_${t}`,{renderFunction:p,footerRenderFunction:_,headerRenderFunction:f}=e,v=_?(e,t)=>_({root:e,column:t}):void 0,y=f?(e,t)=>f({root:e,column:t}):void 0,C=p?(e,t,i)=>p({root:e,column:t,rowData:i}):void 0;let w="";return e.direction&&(w+=" direction"),e.invalid&&(w+=" invalid"),{footerRenderer:v,headerRenderer:y,renderer:C,autoWidth:r,direction:o,flexGrow:l,frozen:s,frozenToEnd:d,headerPartName:w,key:c,resizable:u,bind:this,"data-fieldName":n,header:h,hidden:this.hasInvalidColumnConfiguration||a,path:n,"text-align":g,width:"number"==typeof m?`${m}px`:m,afterCreate:this._afterColumnCreate,afterRemoved:this._afterColumnRemoved}}clearSelection(){this._clearSelection(),this.scheduleRender()}clearSort(){let e=!1;if(this._grid){if(this._grid._sorters?.length&&(this._grid._sorters.forEach((e=>{e._order=null,e.direction=null})),e=!0),this.columns.length){this.columns.some((e=>!!e.direction))&&(this.columns.forEach((e=>e.direction=null)),e=!0)}e&&(this.notifyChange("sortOrders"),this.scheduleRender())}}findColumn(e){return this.viewModel.findColumn(e)}generateCellPartNames(){this._grid?.generateCellPartNames()}getFirstVisibleRowIndex(){return this._grid?._firstVisibleIndex||0}getVirtualPageIndex(){return Math.floor(this.getFirstVisibleRowIndex()/this.pageSize)}getLastVisibleRowIndex(){return this._grid?._lastVisibleIndex||0}getVisibleItemsCount(){return this._grid?._visibleItemsCount||0}getRowContainingNode(e){try{return this._grid?._getRowContainingNode(e)}catch{return null}}getSlotElementByName(e){return this._grid?.shadowRoot?.querySelector(`slot[name='${e}']`)??null}hasSorter(e){return this._grid?._sorters?.includes(e)||!1}hideColumn(e){this.viewModel.hideColumn(e)}recalculateColumnWidths(){this._grid?.recalculateColumnWidths()}async reset(){this._clearSelection(),await(this.store?.reset()),this.scrollToTop()}refreshPageCache(){this._grid?.clearCache(),this._temporaryHighlightId=null}requestContentUpdate(){this._grid?.requestContentUpdate(),this._temporaryHighlightId=null}selectRows(e){const{itemIdPath:t}=this,i=e?.filter((e=>!this.highlightIds.includes(e[t]))),r=i.map((e=>e[t]));r.length&&(this.multipleSelectionEnabled||(this.highlightIds.removeAll(),r.splice(1)),this.highlightIds.addMany(r))}deselectRows(e){const{itemIdPath:t}=this,i=e?.map((e=>e[t]))||[];i.length&&this.highlightIds.removeMany(i)}showColumn(e){this.viewModel.showColumn(e)}sort({path:e,direction:t}){this.viewModel.sortColumn(e,t),this.notifyChange("sortOrders")}scrollToIndex(e){0!==this.size&&(this._grid?.isConnected&&this._grid?.scrollToIndex(e),this._temporaryHighlightId=null)}scrollToTop(){this.scrollToIndex(0)}scrollToBottom(){this.scrollToIndex(1/0)}scrollLeft(e){const{_table:t}=this;t&&(t.scrollLeft=e)}toggleColumnVisibility(e){this.viewModel.toggleColumnVisibility(e)}onColumnChange(){this._columnElements.forEach((e=>this._applyRenderersToColumnElement(e))),this.requestContentUpdate()}render(){return m("div",{bind:this,class:this.classes(_.base,u.widget)},m("div",{bind:this,class:_.content},this._renderGrid()))}_renderGrid(){return m("vaadin-grid",{afterCreate:this._afterGridCreate,afterUpdate:this._afterGridUpdate,bind:this,cellPartNameGenerator:this.cellPartNameGenerator,class:_.grid,columnRendering:this._columnRendering,columnReorderingAllowed:this.columnReorderingEnabled,dataProvider:this.dataProvider,disabled:this._gridIsDisabled,id:`${this.id}_grid`,itemIdPath:this.itemIdPath,multiSort:this.multiSortEnabled,multiSortPriority:this.multipleSortPriority,pageSize:this.pageSize,ref:"grid",rowDetailsRenderer:this.rowDetailsRenderer,selectedItems:this._selectedItems,size:this.effectiveSize},this._renderAllColumns(),this._renderEmptyState())}_renderAllColumns(){return"disabled"!==this.state&&this.columns.length?[this._renderSelectionColumn(),this._renderColumns()]:null}_renderSelectionColumn(){return m("vaadin-grid-selection-column",{_selectAllHidden:!0,autoWidth:!1,bind:this,dragSelect:!0,frozen:!0,hidden:this.hasInvalidColumnConfiguration||!this.selectionColumnEnabled,selectAll:!1,sortable:!1,textAlign:"center"})}_renderColumns(){return Array.from(this.columns,((e,t)=>"columns"in e?this._renderGroupColumn(e,t):m("vaadin-grid-column",{...this.getColumnProps(e,t)}))).filter(t)}_renderGroupColumn(e,t){const i=this.getColumnProps(e,t);if(i.hidden||!e.columns)return null;const r=e.columns.filter((({hidden:e})=>!e));return r.length?m("vaadin-grid-column-group",{...i},r.map((e=>m("vaadin-grid-column",{...this.getColumnProps(e,t)})))):null}_renderEmptyState(){const e=this.viewModel;if("loaded"===e.state&&!e.isQueryingOrSyncing)return m("div",{class:_.noDataMessage,slot:"empty-state"},this._noDataMessage??this.messages.noDataFound)}_afterGridCreate(e){const t=this._grid=e;t.setAttribute("theme",p),customElements.whenDefined("vaadin-grid").then((()=>{this._appendStyles(),this._addGridEventListeners()})),t.__updateSorter=(e,i,r)=>{const o=t._sorters,n=!o.includes(e),{multiSort:l,multiSortOnShiftClick:s,multiSortPriority:d}=t,a=o.filter((t=>t!==e)),h=l&&(!s||!r)||s&&i;e._order=null,e.direction?h?null!=e._initialOrder?(n?o[e._initialOrder]=e:o.splice(e._initialOrder,0,e),e._initialOrder=null):"append"===d&&n?t._sorters=[...a,e]:"prepend"===d&&(t._sorters=[e,...a]):(e.direction||s)&&(t._sorters=e.direction?[e]:[],a.forEach((e=>{e._order=null,e.direction=null}))):n||(t._sorters=[...a])},t.__removeSorters=e=>{if(0===e.length)return;const i=new Set(e.filter((e=>!e.direction)));t._sorters=t._sorters.filter((e=>!i.has(e))),t.__applySorters()}}_appendStyles(){const e=this._grid?.shadowRoot,t=document.createElement("style");e&&(t.textContent='\n #items [part~="row"][editing],\n #items [part~="row"][editing][selected] {\n z-index: 2;\n }\n\n #items [part~="editing"],\n #items [part~="editing"][selected] {\n z-index: 3;\n }\n\n [frozen], [frozen-to-end] {\n z-index: 4;\n }\n\n [last-frozen] {\n overflow: visible;\n }\n\n [part~=\'cell\'] ::slotted(vaadin-grid-cell-content) {\n align-items: center;\n box-sizing: border-box !important;\n height: 100%;\n line-height: 2em;\n min-height: 40px;\n }\n\n #items [part~="text-wrap"] {\n text-wrap: wrap;\n }\n ',e.appendChild(t))}_afterGridUpdate(e){this._grid||(this._grid=e)}_afterColumnCreate(e){this._columnElements.push(e)}_afterColumnRemoved(e){const t=this._columnElements.indexOf(e,0);t>-1&&this._columnElements.splice(t,1)}_updateGridSize(){this._grid&&(this._grid.size=this.effectiveSize,this.scheduleRender())}_addGridEventListeners(){const e=this._grid;r(e),this.addHandles([i(e,["click","dblclick","keydown","pointerover","pointerout"],(e=>this._onGridInteraction(e))),i(e,["pointerover","pointerout","cell-focus"],(e=>this._onTransientGridInteraction(e))),i(e,"selected-items-changed",this._onSelectedItemsChange),i(e,"sorter-changed",(()=>{this.notifyChange("sortOrders"),this._updateColumnBorderStyles()})),i(e,"column-resize",(e=>{const t=e.detail.resizedColumn,i=t.getAttribute("data-fieldName"),r=this.findColumn(i);r?.set({width:t.width}),this._updateColumnBorderStyles()})),i(e,"column-reorder",(()=>this._onColumnOrderChange()))])}_onGridInteraction(e){const t=this._grid;if(r(t),("pointerover"===e.type||"pointerout"===e.type)&&e.relatedTarget!==t){const{target:t,relatedTarget:i}=e;if(!this._isGridCellContentNode(t)||!this._isGridCellContentNode(i))return}let i=null;try{i=t.getEventContext(e)}catch(a){}if(!i)return;const{column:o,index:n,item:l,section:s}=i;if(!s)return;if("header"===s&&"keydown"===e.type&&o?.path){const t=e.key;f.sort.includes(t)&&this.findColumn(o.path)?.sort()}const d=`cell-${e.type}`;this.emit(d,{type:d,context:i,index:n,item:l,native:e,path:o?.path??void 0})}_onTransientGridInteraction(e){if("pointerout"===e.type)return void(this._temporaryHighlightId=null);const t=this._grid;if(t)try{const{item:i}=t.getEventContext(e);this._temporaryHighlightId=i?.objectId}catch{this._temporaryHighlightId=null}}_isGridCellContentNode(e){return!!(e&&e instanceof HTMLElement&&"vaadin-grid-cell-content"===e.localName)}_onColumnOrderChange(){const e=this._grid;r(e);const t=e._getColumnsInOrder(0),i=[],o=(this.viewModel.groupColumns.length?e._getColumnsInOrder(1):t).map((e=>e.getAttribute("data-fieldName")));t?.forEach((e=>{const t=e.getAttribute("data-fieldName");if(null!=t){const e=this.findColumn(t);i.push(t),e&&"columns"in e&&e.columns?.length&&e.columns.sort(((e,t)=>o.indexOf(e.fieldName)>o.indexOf(t.fieldName)?1:-1))}})),this.columns.sort(((e,t)=>i.indexOf(e.fieldName)>i.indexOf(t.fieldName)?1:-1)),this.notifyChange("sortOrders"),this.emit("column-reorder",{type:"column-reorder"})}_clearSelection(){this.highlightIds.removeAll(),this._temporaryHighlightId=null}_onSelectedItemsChange(e){const{highlightIds:t,itemIdPath:i}=this,r=e.detail.value.map((e=>e[i])),o=r.filter((e=>!t.includes(e)));if(!this.multipleSelectionEnabled&&o.length&&t.length)t.removeAll(),t.add(o[0]);else{const e=t.filter((e=>!r.includes(e)));t.removeMany(e),t.addMany(o)}}_applyRenderersToColumnElement(e){const t=e?.path,i=null!=t?this.findColumn(t):void 0;if(i)try{const{renderFunction:t,footerRenderFunction:r,headerRenderFunction:o}=i;t&&"renderer"in e&&(e.renderer=(e,i,r)=>t({root:e,column:i,rowData:r})),r&&(e.footerRenderer=(e,t)=>r({root:e,column:t})),o&&(e.headerRenderer=(e,t)=>o({root:e,column:t}))}catch(r){}}_updateColumnBorderStyles(){this._grid?._updateFirstAndLastColumn()}};e([s()],v.prototype,"_columnElements",void 0),e([s()],v.prototype,"_columnRendering",null),e([s()],v.prototype,"_selectedItems",null),e([s()],v.prototype,"_grid",void 0),e([s()],v.prototype,"_gridIsDisabled",null),e([s()],v.prototype,"_noDataMessage",null),e([s()],v.prototype,"_table",null),e([s()],v.prototype,"_temporaryHighlightId",void 0),e([s()],v.prototype,"cellPartNameGenerator",null),e([s()],v.prototype,"columns",null),e([s()],v.prototype,"columnPerformanceModeEnabled",null),e([s()],v.prototype,"columnReorderingEnabled",null),e([s()],v.prototype,"dataProvider",null),e([s()],v.prototype,"editingEnabled",null),e([s()],v.prototype,"effectiveSize",null),e([s()],v.prototype,"groupColumns",null),e([s()],v.prototype,"hasInvalidColumnConfiguration",null),e([s()],v.prototype,"highlightIds",null),e([s()],v.prototype,"temporaryHighlightId",null),e([s()],v.prototype,"isEditing",null),e([s()],v.prototype,"isReady",null),e([s()],v.prototype,"itemIdPath",void 0),e([s()],v.prototype,"label",null),e([s(),g("esri/widgets/FeatureTable/t9n/FeatureTable")],v.prototype,"messages",void 0),e([s()],v.prototype,"multipleSelectionEnabled",null),e([s()],v.prototype,"multiSortEnabled",null),e([s()],v.prototype,"noDataMessage",null),e([s()],v.prototype,"pageIndex",null),e([s()],v.prototype,"multipleSortPriority",null),e([s()],v.prototype,"pageSize",null),e([s()],v.prototype,"paginationEnabled",null),e([s()],v.prototype,"rowDetailsRenderer",null),e([s()],v.prototype,"rowHighlightIds",null),e([s()],v.prototype,"selectionColumnEnabled",void 0),e([s()],v.prototype,"size",null),e([s({readOnly:!0})],v.prototype,"sortOrders",null),e([s()],v.prototype,"store",null),e([s()],v.prototype,"state",null),e([s()],v.prototype,"viewModel",void 0),v=e([d("esri.widgets.FeatureTable.Grid.Grid")],v);const y=v;export{y as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{isSome as i}from"../../core/arrayUtils.js";import s from"../../core/Error.js";import r from"../../core/Logger.js";import{debounce as o,isAbortError as a}from"../../core/promiseUtils.js";import n from"../../core/ReactiveSet.js";import{watch as l,when as u,sync as h}from"../../core/reactiveUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import d from"../../geometry/Point.js";import{project as g,initializeProjection as f}from"../../geometry/projection.js";import m from"../../geometry/SpatialReference.js";import{getPointFromGeometry as y}from"../../geometry/support/geometryUtils.js";import{geographicToWebMercator as w}from"../../geometry/support/webMercatorUtils.js";import{fallbackObjectIDAttribute as F}from"../../layers/LayerConstants.js";import v from"../../symbols/SimpleFillSymbol.js";import{getDisplayedSymbol as _}from"../../symbols/support/symbolUtils.js";import{system as b}from"../../time/constants.js";import{highlightsSupported as C}from"../../views/support/layerViewUtils.js";import P from"../Feature/FeatureViewModel.js";import{ActionsCollection as M,zoomToClusteredFeatures as E,browseClusteredFeatures as V,zoomToFeature as j}from"../Popup/actions.js";import{triggerAction as L,isClusterFeature as A,getSelectedTarget as I,removeClusteredFeaturesForBrowsing as R,displayClusterExtent as x,browseAggregateFeatures as O}from"../Popup/actionUtils.js";import T from"../support/AnchorElementViewModel.js";import S from"../support/GoTo.js";const B="location-scale-handle",H=()=>[j.clone()],G=()=>[E.clone(),V.clone()];let U=null;function Z(e,t){return"building-scene"===e||"map-image"===e||"tile"===e||"imagery"===e||"2d"===t&&"imagery-tile"===e}let z=class extends(S(T)){constructor(e){super(e),this._pendingPromises=new n,this._fetchFeaturesController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._selectedClusterFeature=null,this.actions=new M,this.activeFeature=null,this.autoCloseEnabled=!1,this.browseClusterEnabled=!1,this.content=null,this.defaultPopupTemplateEnabled=!1,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureMenuTitle=null,this.featureViewModelAbilities=null,this.featureViewModels=[],this.highlightEnabled=!0,this.includeDefaultActions=!0,this.initialDisplayMode="feature",this.selectedClusterBoundaryFeature=new t({symbol:new v({outline:{width:1.5,color:"cyan"},style:"none"})}),this.title=null,this.updateLocationEnabled=!1,this.view=null,this.visible=!1,this.zoomFactor=4,this.zoomToLocation=null,this._debouncedLocationUpdate=o((async e=>{const{spatialReference:t}=this,i=this.selectedFeature?.geometry?.type,s=this.location??e;if(i&&"mesh"!==i&&t&&s&&this.selectedFeature)if("point"!==i)try{const e=this.selectedFeature;let i=e.geometry;const r=this._getHighlightLayer(e),o=e.getObjectId();if(!r||!this.view)return;if(o){const e=this.view?.allLayerViews.find((e=>e.layer.uid===r.uid));if(!e||!("queryFeatures"in e))return;const s=e.createQuery();s.outSpatialReference=t,s.objectIds=[o],s.returnGeometry=!0;const{features:a}=await e.queryFeatures(s);i=a[0]?.geometry}if(!i||"mesh"===i.type)return;i=g(i,t),U||(U=await Promise.all([await import("../../geometry/operators/intersectsOperator.js"),await import("../../geometry/operators/proximityOperator.js")]));const[a,n]=U;if(!a.execute(i,s)){const t=n.getNearestCoordinate(i,s).coordinate??s;this.selectedFeature===e&&(this.location=t)}}catch(o){a(o)||r.getLogger(this).error(o)}else this.location=y(this.selectedFeature.geometry)??s}))}initialize(){this.addHandles([this.on("view-change",(()=>this._autoClose())),l((()=>[this.highlightEnabled,this.selectedFeature,this.visible,this.view]),(()=>this._highlightSelectedFeature())),l((()=>[this.highlightEnabled,this.activeFeature,this.visible,this.view]),(()=>this._highlightActiveFeature())),l((()=>this.view?.animation?.state),(e=>this._animationStateChange(e))),l((()=>this.location),(e=>this._locationChange(e))),l((()=>this.selectedFeature),(e=>this._selectedFeatureChange(e))),l((()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage]),(()=>this._selectedFeatureIndexChange())),l((()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureViewModels]),(()=>this._setGraphicOnFeatureViewModels())),l((()=>this.featureViewModels),(()=>this._featureViewModelsChange())),this.on("trigger-action",(e=>L({event:e,viewModel:this,view:this.view}))),u((()=>!this.waitingForResult),(()=>this._waitingForResultChange()),h),l((()=>[this.features,this.map,this.spatialReference,this.timeZone]),(()=>this._updateFeatureVMs())),l((()=>this.view?.scale),(()=>this._viewScaleChange())),u((()=>!this.visible),(()=>this.browseClusterEnabled=!1)),l((()=>this.browseClusterEnabled),(e=>e?this.enableClusterBrowsing():this.disableClusterBrowsing()))])}destroy(){this._cancelFetchingFeatures(),this._pendingPromises.clear(),this.browseClusterEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get active(){return!(!this.visible||this.waitingForResult)}get allActions(){const e=this._get("allActions")||new M;e.removeAll();const{actions:t,defaultActions:i,defaultPopupTemplateEnabled:s,includeDefaultActions:r,selectedFeature:o}=this,a=r?i.concat(t):t,n=o&&("function"==typeof o.getEffectivePopupTemplate&&o.getEffectivePopupTemplate(s)||o.popupTemplate),l=n?.actions,u=n?.overwriteActions?l:l?.concat(a)??a;return u?.filter(Boolean).forEach((t=>e.add(t))),e}get defaultActions(){const e=this._get("defaultActions")||new M;return e.removeAll(),e.addMany(A(this.selectedFeature)?G():H()),e}get featureCount(){return this.features.length}set features(e){const t=e||[];this._set("features",t);const{pendingPromisesCount:i,promiseCount:s,selectedFeatureIndex:r}=this,o=s&&t.length;"list"!==this.initialDisplayMode?o&&i&&-1===r?this.selectedFeatureIndex=0:o&&-1!==r||(this.selectedFeatureIndex=t.length?0:-1):(!o||o&&i===s)&&(this.selectedFeatureIndex=-1)}set location(e){let t=e;const i=this.spatialReference?.isWebMercator,s=e?.spatialReference?.isWGS84;s&&i&&(t=w(e)),this._set("location",t)}get map(){return this.view?.map??null}set map(e){this._override("map",e)}get pendingPromisesCount(){return this._pendingPromises.size}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){this._pendingPromises.clear(),this.features=[],Array.isArray(e)&&e.length?(this._set("promises",e),(e=e.slice()).forEach((e=>this._pendingPromises.add(e))),e.reduce(((e,t)=>e.finally((()=>t.then((e=>{this._pendingPromises.has(t)&&this._updateFeatures(e)})).finally((()=>this._pendingPromises.delete(t))).catch((()=>{}))))),Promise.resolve())):this._set("promises",[])}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set("selectedFeatureIndex",e)}get selectedFeatureViewModel(){return this.featureViewModels[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get state(){const{view:e,map:t}=this;return e?e.ready?"ready":"disabled":t?"ready":"disabled"}get timeZone(){return this.view?.timeZone??b}set timeZone(e){this._overrideIfSome("timeZone",e)}get waitingForContents(){return this.featureViewModels.some((e=>e.waitingForContent))}get waitingForResult(){return!(!(!!this._fetchFeaturesController||this.pendingPromisesCount>0)||0!==this.featureCount)}centerAtLocation(){const{view:e}=this,t=I(this);return t&&e?this.callGoTo({target:{target:t,scale:e.scale}}):Promise.reject(new s("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e}))}zoomTo(e){return this.callGoTo(e)}clear(){this.set({promises:[],features:[],content:null,title:null,location:null,activeFeature:null})}fetchFeatures(e,t){const{view:i}=this;if(!i||!e)throw new s("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:i});return i.fetchPopupFeatures(e,{pointerType:t?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t?.signal})}open(e){const t={updateLocationEnabled:!1,promises:[],fetchFeatures:!1,...e,visible:!0},{fetchFeatures:i}=t;delete t.fetchFeatures,i&&this._setFetchFeaturesPromises(t.location);const s=["actionsMenuOpen","collapsed"];for(const r of s)delete t[r];this.set(t)}triggerAction(e){const t=this.allActions.at(e);t&&!t.disabled&&this.emit("trigger-action",{action:t})}next(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount),this}previous(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount),this}disableClusterBrowsing(){R(this),this._clearBrowsedClusterGraphics()}async enableClusterBrowsing(){const{view:e,selectedFeature:t}=this;"2d"===e?.type?A(t)?(await x(this),await O(this)):r.getLogger(this).warn("enableClusterBrowsing:invalid-selectedFeature: Selected feature must represent an aggregate/cluster graphic.",t):r.getLogger(this).warn("enableClusterBrowsing:invalid-view: View must be 2d MapView.",t)}handleViewClick(e){this._fetchFeaturesAndOpen(e)}_getRoundRobinIndex(e,t){return(e+t)%t}_animationStateChange(e){this.zoomToLocation||(j.disabled="waiting-for-target"===e)}_clearBrowsedClusterGraphics(){const e=[this.selectedClusterBoundaryFeature,this._selectedClusterFeature].filter(i);this.view?.graphics?.removeMany(e),this._selectedClusterFeature=null,this.selectedClusterBoundaryFeature.geometry=null}_viewScaleChange(){if(A(this.selectedFeature))return this.browseClusterEnabled=!1,this.visible=!1,void this.clear();this.browseClusterEnabled&&(this.features=this.selectedFeature?[this.selectedFeature]:[])}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:i,view:s}=this;s&&i&&e&&(!t||t.geometry)&&this.centerAtLocation()}_selectedFeatureIndexChange(){this.featurePage=this.featureCount>0?Math.floor((this.selectedFeatureIndex+1)/this.featuresPerPage):null}_featureViewModelsChange(){this.featurePage=this.featureCount>0?1:null}_setGraphicOnFeatureViewModels(){const{features:e,featureCount:t,featurePage:i,featuresPerPage:s,featureViewModels:r}=this;if(null==i)return;const o=((i-1)*s+t)%t,a=o+s;r.slice(o,a).forEach(((t,i)=>{t&&(t.graphic??=e[o+i])}))}async _selectedFeatureChange(e){const{location:t,updateLocationEnabled:i,view:s}=this;if(!e||!s)return;if(this.browseClusterEnabled){if(this._selectedClusterFeature&&(s.graphics.remove(this._selectedClusterFeature),this._selectedClusterFeature=null),A(e))return;return e.symbol=await _(e),this._selectedClusterFeature=e,void s.graphics.add(this._selectedClusterFeature)}const r=e.sourceLayer?.type;if("map-image"!==r&&"imagery"!==r&&"imagery-tile"!==r||(e.symbol=await _(e)),!i&&t||!e.geometry){if(i&&!e.geometry){await this.centerAtLocation();const e=s.center?.clone();e&&(this.location=e)}}else this.location=y(e.geometry)}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.visible=!1)}async _setFetchFeaturesPromises(e){const{pendingFeatures:t}=await this._fetchFeaturesWithController({mapPoint:e});this.promises=t}_destroyFeatureVMs(){this.featureViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",[])}_updateFeatureVMs(){const{selectedFeature:e,features:t,featureViewModels:i,view:s,spatialReference:r,map:o,timeZone:a,location:n}=this;if(A(t[0])||(this.browseClusterEnabled=!1),this._destroyFeatureVMs(),!t?.length)return;const l=i.slice(),u=[];t.forEach(((t,i)=>{if(!t)return;let h=null;if(l.some(((e,i)=>(e&&e.graphic===t&&(h=e,l.splice(i,1)),!!h))),h)u[i]=h;else{const l=new P({abilities:this.featureViewModelAbilities,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:r,graphic:t===e?t:null,location:n,map:o,view:s,timeZone:a});u[i]=l}})),l.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",u)}async _getScreenPoint(e,t){const{spatialReference:i,view:s}=this;if(!s)return null;await(s?.when());const r=e?.spatialReference;return r&&i?(await f(r,i,null,t),s.toScreen(e)):null}_cancelFetchingFeatures(){const e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null}async _projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,event:i,signal:s}){return this.fetchFeatures(t??await this._getScreenPoint(e??this.location,{signal:s}),{signal:s,event:i})}_fetchFeaturesWithController({mapPoint:e,screenPoint:t,event:i}){this._cancelFetchingFeatures();const s=new AbortController,{signal:r}=s;this._fetchFeaturesController=s;const o=this._projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,signal:r,event:i});return o.catch((()=>{})).then((()=>{this._fetchFeaturesController=null})),o}async _fetchFeaturesAndOpen(e){const{mapPoint:t,screenPoint:i}=e,{view:s}=this;this.removeHandles(B),this.addHandles([l((()=>this.view?.scale),(()=>this._debouncedLocationUpdate(t).catch((e=>{a(e)||r.getLogger(this).error(e)})))),u((()=>!this.visible),(()=>{this.removeHandles(B)}),{once:!0})],B);const{pendingFeatures:o}=await this._fetchFeaturesWithController({mapPoint:t,screenPoint:i,event:e});s?.popup&&"open"in s.popup&&s.popup.open({location:t??void 0,promises:o})}_autoClose(){this.autoCloseEnabled&&(this.visible=!1)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){const{layer:t,sourceLayer:i}=e;return i&&"layer"in i&&i.layer?i.layer:"map-notes"===i?.type||"subtype-group"===i?.type?i:t}_getHighlightLayerView(e,t){return"subtype-sublayer"===t.type&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,i){if(Z(t.type,i))return e;const s=e.getObjectId();if(null!=s)return s;const r="imagery"===t.type?void 0:"objectIdField"in t?t.objectIdField||F:null,o=e.attributes;return o&&r&&o[r]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);const i=this[t];if(!i)return;const{highlightEnabled:s,view:r,visible:o}=this;if(!r||!s||!o)return;const a=this._getHighlightLayer(i);if(!a)return;const n=this._getHighlightLayerView(r,a);if(!n)return;this._highlightPromises[e]=n;const l=await n;if(!(l&&C(l)&&this._highlightPromises[e]===n&&this[t]&&this.highlightEnabled))return;const u=l.highlight(this._getHighlightTarget(i,a,r.type));this.addHandles(u,e)}async _highlightActiveFeature(){return this._highlightFeature("highlight-active-feature","activeFeature")}async _highlightSelectedFeature(){return this._highlightFeature("highlight-selected-feature","selectedFeature")}_updateFeatures(e){const{features:t}=this,i=e.filter((e=>!t.includes(e)));i?.length&&(this.features=t.concat(i))}};e([c()],z.prototype,"_fetchFeaturesController",void 0),e([c({type:M})],z.prototype,"actions",void 0),e([c({readOnly:!0})],z.prototype,"active",null),e([c()],z.prototype,"activeFeature",void 0),e([c({readOnly:!0})],z.prototype,"allActions",null),e([c()],z.prototype,"autoCloseEnabled",void 0),e([c()],z.prototype,"browseClusterEnabled",void 0),e([c()],z.prototype,"content",void 0),e([c({type:M,readOnly:!0})],z.prototype,"defaultActions",null),e([c({type:Boolean})],z.prototype,"defaultPopupTemplateEnabled",void 0),e([c({readOnly:!0})],z.prototype,"featureCount",null),e([c()],z.prototype,"featurePage",void 0),e([c({value:[]})],z.prototype,"features",null),e([c()],z.prototype,"featuresPerPage",void 0),e([c()],z.prototype,"featureMenuOpen",void 0),e([c()],z.prototype,"featureMenuTitle",void 0),e([c()],z.prototype,"featureViewModelAbilities",void 0),e([c({readOnly:!0})],z.prototype,"featureViewModels",void 0),e([c()],z.prototype,"highlightEnabled",void 0),e([c()],z.prototype,"includeDefaultActions",void 0),e([c()],z.prototype,"initialDisplayMode",void 0),e([c({type:d})],z.prototype,"location",null),e([c()],z.prototype,"map",null),e([c({readOnly:!0})],z.prototype,"pendingPromisesCount",null),e([c({readOnly:!0})],z.prototype,"promiseCount",null),e([c()],z.prototype,"promises",null),e([c({readOnly:!0})],z.prototype,"selectedClusterBoundaryFeature",void 0),e([c({value:null,readOnly:!0})],z.prototype,"selectedFeature",null),e([c({value:-1})],z.prototype,"selectedFeatureIndex",null),e([c({readOnly:!0})],z.prototype,"selectedFeatureViewModel",null),e([c({type:m})],z.prototype,"spatialReference",null),e([c({readOnly:!0})],z.prototype,"state",null),e([c()],z.prototype,"timeZone",null),e([c()],z.prototype,"title",void 0),e([c()],z.prototype,"updateLocationEnabled",void 0),e([c()],z.prototype,"view",void 0),e([c()],z.prototype,"visible",void 0),e([c({readOnly:!0})],z.prototype,"waitingForContents",null),e([c({readOnly:!0})],z.prototype,"waitingForResult",null),e([c()],z.prototype,"zoomFactor",void 0),e([c()],z.prototype,"zoomToLocation",void 0),e([c()],z.prototype,"centerAtLocation",null),z=e([p("esri.widgets.Features.FeaturesViewModel")],z);export{z as default};
5
+ import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{isSome as i}from"../../core/arrayUtils.js";import s from"../../core/Error.js";import r from"../../core/Logger.js";import{debounce as o,isAbortError as a}from"../../core/promiseUtils.js";import n from"../../core/ReactiveSet.js";import{watch as l,when as u,sync as h}from"../../core/reactiveUtils.js";import{property as c}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import d from"../../geometry/Point.js";import{project as g,initializeProjection as f}from"../../geometry/projectionUtils.js";import m from"../../geometry/SpatialReference.js";import{getPointFromGeometry as y}from"../../geometry/support/geometryUtils.js";import{geographicToWebMercator as w}from"../../geometry/support/webMercatorUtils.js";import{fallbackObjectIDAttribute as F}from"../../layers/LayerConstants.js";import v from"../../symbols/SimpleFillSymbol.js";import{getDisplayedSymbol as _}from"../../symbols/support/symbolUtils.js";import{system as b}from"../../time/constants.js";import{highlightsSupported as C}from"../../views/support/layerViewUtils.js";import P from"../Feature/FeatureViewModel.js";import{ActionsCollection as M,zoomToClusteredFeatures as E,browseClusteredFeatures as V,zoomToFeature as j}from"../Popup/actions.js";import{triggerAction as L,isClusterFeature as A,getSelectedTarget as I,removeClusteredFeaturesForBrowsing as R,displayClusterExtent as x,browseAggregateFeatures as O}from"../Popup/actionUtils.js";import T from"../support/AnchorElementViewModel.js";import S from"../support/GoTo.js";const B="location-scale-handle",H=()=>[j.clone()],U=()=>[E.clone(),V.clone()];let G=null;function Z(e,t){return"building-scene"===e||"map-image"===e||"tile"===e||"imagery"===e||"2d"===t&&"imagery-tile"===e}let z=class extends(S(T)){constructor(e){super(e),this._pendingPromises=new n,this._fetchFeaturesController=null,this._highlightPromises={"highlight-active-feature":null,"highlight-selected-feature":null},this._selectedClusterFeature=null,this.actions=new M,this.activeFeature=null,this.autoCloseEnabled=!1,this.browseClusterEnabled=!1,this.content=null,this.defaultPopupTemplateEnabled=!1,this.featurePage=null,this.featuresPerPage=20,this.featureMenuOpen=!1,this.featureMenuTitle=null,this.featureViewModelAbilities=null,this.featureViewModels=[],this.highlightEnabled=!0,this.includeDefaultActions=!0,this.initialDisplayMode="feature",this.selectedClusterBoundaryFeature=new t({symbol:new v({outline:{width:1.5,color:"cyan"},style:"none"})}),this.title=null,this.updateLocationEnabled=!1,this.view=null,this.visible=!1,this.zoomFactor=4,this.zoomToLocation=null,this._debouncedLocationUpdate=o((async e=>{const{spatialReference:t}=this,i=this.selectedFeature?.geometry?.type,s=this.location??e;if(i&&"mesh"!==i&&t&&s&&this.selectedFeature)if("point"!==i)try{const e=this.selectedFeature;let i=e.geometry;const r=this._getHighlightLayer(e),o=e.getObjectId();if(!r||!this.view)return;if(o){const e=this.view?.allLayerViews.find((e=>e.layer.uid===r.uid));if(!e||!("queryFeatures"in e))return;const s=e.createQuery();s.outSpatialReference=t,s.objectIds=[o],s.returnGeometry=!0;const{features:a}=await e.queryFeatures(s);i=a[0]?.geometry}if(!i||"mesh"===i.type)return;i=g(i,t),G||(G=await Promise.all([await import("../../geometry/operators/intersectsOperator.js"),await import("../../geometry/operators/proximityOperator.js")]));const[a,n]=G;if(!a.execute(i,s)){const t=n.getNearestCoordinate(i,s).coordinate??s;this.selectedFeature===e&&(this.location=t)}}catch(o){a(o)||r.getLogger(this).error(o)}else this.location=y(this.selectedFeature.geometry)??s}))}initialize(){this.addHandles([this.on("view-change",(()=>this._autoClose())),l((()=>[this.highlightEnabled,this.selectedFeature,this.visible,this.view]),(()=>this._highlightSelectedFeature())),l((()=>[this.highlightEnabled,this.activeFeature,this.visible,this.view]),(()=>this._highlightActiveFeature())),l((()=>this.view?.animation?.state),(e=>this._animationStateChange(e))),l((()=>this.location),(e=>this._locationChange(e))),l((()=>this.selectedFeature),(e=>this._selectedFeatureChange(e))),l((()=>[this.selectedFeatureIndex,this.featureCount,this.featuresPerPage]),(()=>this._selectedFeatureIndexChange())),l((()=>[this.featurePage,this.selectedFeatureIndex,this.featureCount,this.featuresPerPage,this.featureViewModels]),(()=>this._setGraphicOnFeatureViewModels())),l((()=>this.featureViewModels),(()=>this._featureViewModelsChange())),this.on("trigger-action",(e=>L({event:e,viewModel:this,view:this.view}))),u((()=>!this.waitingForResult),(()=>this._waitingForResultChange()),h),l((()=>[this.features,this.map,this.spatialReference,this.timeZone]),(()=>this._updateFeatureVMs())),l((()=>this.view?.scale),(()=>this._viewScaleChange())),u((()=>!this.visible),(()=>this.browseClusterEnabled=!1)),l((()=>this.browseClusterEnabled),(e=>e?this.enableClusterBrowsing():this.disableClusterBrowsing()))])}destroy(){this._cancelFetchingFeatures(),this._pendingPromises.clear(),this.browseClusterEnabled=!1,this.view=null,this.map=null,this.spatialReference=null,this.timeZone=null}get active(){return!(!this.visible||this.waitingForResult)}get allActions(){const e=this._get("allActions")||new M;e.removeAll();const{actions:t,defaultActions:i,defaultPopupTemplateEnabled:s,includeDefaultActions:r,selectedFeature:o}=this,a=r?i.concat(t):t,n=o&&("function"==typeof o.getEffectivePopupTemplate&&o.getEffectivePopupTemplate(s)||o.popupTemplate),l=n?.actions,u=n?.overwriteActions?l:l?.concat(a)??a;return u?.filter(Boolean).forEach((t=>e.add(t))),e}get defaultActions(){const e=this._get("defaultActions")||new M;return e.removeAll(),e.addMany(A(this.selectedFeature)?U():H()),e}get featureCount(){return this.features.length}set features(e){const t=e||[];this._set("features",t);const{pendingPromisesCount:i,promiseCount:s,selectedFeatureIndex:r}=this,o=s&&t.length;"list"!==this.initialDisplayMode?o&&i&&-1===r?this.selectedFeatureIndex=0:o&&-1!==r||(this.selectedFeatureIndex=t.length?0:-1):(!o||o&&i===s)&&(this.selectedFeatureIndex=-1)}set location(e){let t=e;const i=this.spatialReference?.isWebMercator,s=e?.spatialReference?.isWGS84;s&&i&&(t=w(e)),this._set("location",t)}get map(){return this.view?.map??null}set map(e){this._override("map",e)}get pendingPromisesCount(){return this._pendingPromises.size}get promiseCount(){return this.promises.length}get promises(){return this._get("promises")||[]}set promises(e){this._pendingPromises.clear(),this.features=[],Array.isArray(e)&&e.length?(this._set("promises",e),(e=e.slice()).forEach((e=>this._pendingPromises.add(e))),e.reduce(((e,t)=>e.finally((()=>t.then((e=>{this._pendingPromises.has(t)&&this._updateFeatures(e)})).finally((()=>this._pendingPromises.delete(t))).catch((()=>{}))))),Promise.resolve())):this._set("promises",[])}get selectedFeature(){const{features:e,selectedFeatureIndex:t}=this;if(-1===t)return null;return e[t]||null}get selectedFeatureIndex(){const e=this._get("selectedFeatureIndex");return"number"==typeof e?e:-1}set selectedFeatureIndex(e){const{featureCount:t}=this;(isNaN(e)||e<0||!t)&&(e=-1),this.activeFeature=null,this._set("selectedFeatureIndex",e)}get selectedFeatureViewModel(){return this.featureViewModels[this.selectedFeatureIndex]||null}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get state(){const{view:e,map:t}=this;return e?e.ready?"ready":"disabled":t?"ready":"disabled"}get timeZone(){return this.view?.timeZone??b}set timeZone(e){this._overrideIfSome("timeZone",e)}get waitingForContents(){return this.featureViewModels.some((e=>e.waitingForContent))}get waitingForResult(){return!(!(!!this._fetchFeaturesController||this.pendingPromisesCount>0)||0!==this.featureCount)}centerAtLocation(){const{view:e}=this,t=I(this);return t&&e?this.callGoTo({target:{target:t,scale:e.scale}}):Promise.reject(new s("center-at-location:invalid-target-or-view","Cannot center at a location without a target and view.",{target:t,view:e}))}zoomTo(e){return this.callGoTo(e)}clear(){this.set({promises:[],features:[],content:null,title:null,location:null,activeFeature:null})}fetchFeatures(e,t){const{view:i}=this;if(!i||!e)throw new s("fetch-features:invalid-screenpoint-or-view","Cannot fetch features without a screenPoint and view.",{screenPoint:e,view:i});return i.fetchPopupFeatures(e,{pointerType:t?.event?.pointerType,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,signal:t?.signal})}open(e){const t={updateLocationEnabled:!1,promises:[],fetchFeatures:!1,...e,visible:!0},{fetchFeatures:i}=t;delete t.fetchFeatures,i&&this._setFetchFeaturesPromises(t.location);const s=["actionsMenuOpen","collapsed"];for(const r of s)delete t[r];this.set(t)}triggerAction(e){const t=this.allActions.at(e);t&&!t.disabled&&this.emit("trigger-action",{action:t})}next(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex+1,this.featureCount),this}previous(){return this.selectedFeatureIndex=this._getRoundRobinIndex(this.selectedFeatureIndex-1,this.featureCount),this}disableClusterBrowsing(){R(this),this._clearBrowsedClusterGraphics()}async enableClusterBrowsing(){const{view:e,selectedFeature:t}=this;"2d"===e?.type?A(t)?(await x(this),await O(this)):r.getLogger(this).warn("enableClusterBrowsing:invalid-selectedFeature: Selected feature must represent an aggregate/cluster graphic.",t):r.getLogger(this).warn("enableClusterBrowsing:invalid-view: View must be 2d MapView.",t)}handleViewClick(e){this._fetchFeaturesAndOpen(e)}_getRoundRobinIndex(e,t){return(e+t)%t}_animationStateChange(e){this.zoomToLocation||(j.disabled="waiting-for-target"===e)}_clearBrowsedClusterGraphics(){const e=[this.selectedClusterBoundaryFeature,this._selectedClusterFeature].filter(i);this.view?.graphics?.removeMany(e),this._selectedClusterFeature=null,this.selectedClusterBoundaryFeature.geometry=null}_viewScaleChange(){if(A(this.selectedFeature))return this.browseClusterEnabled=!1,this.visible=!1,void this.clear();this.browseClusterEnabled&&(this.features=this.selectedFeature?[this.selectedFeature]:[])}_locationChange(e){const{selectedFeature:t,updateLocationEnabled:i,view:s}=this;s&&i&&e&&(!t||t.geometry)&&this.centerAtLocation()}_selectedFeatureIndexChange(){this.featurePage=this.featureCount>0?Math.floor(this.selectedFeatureIndex/this.featuresPerPage)+1:null}_featureViewModelsChange(){this.featurePage=this.featureCount>0?1:null}_setGraphicOnFeatureViewModels(){const{features:e,featureCount:t,featurePage:i,featuresPerPage:s,featureViewModels:r}=this;if(null==i)return;const o=((i-1)*s+t)%t,a=o+s;r.slice(o,a).forEach(((t,i)=>{t&&(t.graphic??=e[o+i])}))}async _selectedFeatureChange(e){const{location:t,updateLocationEnabled:i,view:s}=this;if(!e||!s)return;if(this.browseClusterEnabled){if(this._selectedClusterFeature&&(s.graphics.remove(this._selectedClusterFeature),this._selectedClusterFeature=null),A(e))return;return e.symbol=await _(e),this._selectedClusterFeature=e,void s.graphics.add(this._selectedClusterFeature)}const r=e.sourceLayer?.type;if("map-image"!==r&&"imagery"!==r&&"imagery-tile"!==r||(e.symbol=await _(e)),!i&&t||!e.geometry){if(i&&!e.geometry){await this.centerAtLocation();const e=s.center?.clone();e&&(this.location=e)}}else this.location=y(e.geometry)}_waitingForResultChange(){!this.featureCount&&this.promises&&(this.visible=!1)}async _setFetchFeaturesPromises(e){const{pendingFeatures:t}=await this._fetchFeaturesWithController({mapPoint:e});this.promises=t}_destroyFeatureVMs(){this.featureViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",[])}_updateFeatureVMs(){const{selectedFeature:e,features:t,featureViewModels:i,view:s,spatialReference:r,map:o,timeZone:a,location:n}=this;if(A(t[0])||(this.browseClusterEnabled=!1),this._destroyFeatureVMs(),!t?.length)return;const l=i.slice(),u=[];t.forEach(((t,i)=>{if(!t)return;let h=null;if(l.some(((e,i)=>(e&&e.graphic===t&&(h=e,l.splice(i,1)),!!h))),h)u[i]=h;else{const l=new P({abilities:this.featureViewModelAbilities,defaultPopupTemplateEnabled:this.defaultPopupTemplateEnabled,spatialReference:r,graphic:t===e?t:null,location:n,map:o,view:s,timeZone:a});u[i]=l}})),l.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("featureViewModels",u)}async _getScreenPoint(e,t){const{spatialReference:i,view:s}=this;if(!s)return null;await(s?.when());const r=e?.spatialReference;return r&&i?(await f(r,i,null,t),s.toScreen(e)):null}_cancelFetchingFeatures(){const e=this._fetchFeaturesController;e&&e.abort(),this._fetchFeaturesController=null}async _projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,event:i,signal:s}){return this.fetchFeatures(t??await this._getScreenPoint(e??this.location,{signal:s}),{signal:s,event:i})}_fetchFeaturesWithController({mapPoint:e,screenPoint:t,event:i}){this._cancelFetchingFeatures();const s=new AbortController,{signal:r}=s;this._fetchFeaturesController=s;const o=this._projectScreenPointAndFetchFeatures({mapPoint:e,screenPoint:t,signal:r,event:i});return o.catch((()=>{})).then((()=>{this._fetchFeaturesController=null})),o}async _fetchFeaturesAndOpen(e){const{mapPoint:t,screenPoint:i}=e,{view:s}=this;this.removeHandles(B),this.addHandles([l((()=>this.view?.scale),(()=>this._debouncedLocationUpdate(t).catch((e=>{a(e)||r.getLogger(this).error(e)})))),u((()=>!this.visible),(()=>{this.removeHandles(B)}),{once:!0})],B);const{pendingFeatures:o}=await this._fetchFeaturesWithController({mapPoint:t,screenPoint:i,event:e});s?.popup&&"open"in s.popup&&s.popup.open({location:t??void 0,promises:o})}_autoClose(){this.autoCloseEnabled&&(this.visible=!1)}async _getLayerView(e,t){return await e.when(),e.whenLayerView(t)}_getHighlightLayer(e){const{layer:t,sourceLayer:i}=e;return i&&"layer"in i&&i.layer?i.layer:"map-notes"===i?.type||"subtype-group"===i?.type?i:t}_getHighlightLayerView(e,t){return"subtype-sublayer"===t.type&&t.parent&&this._mapIncludesLayer(t.parent)?this._getLayerView(e,t.parent):t&&this._mapIncludesLayer(t)?this._getLayerView(e,t):null}_getHighlightTarget(e,t,i){if(Z(t.type,i))return e;const s=e.getObjectId();if(null!=s)return s;const r="imagery"===t.type?void 0:"objectIdField"in t?t.objectIdField||F:null,o=e.attributes;return o&&r&&o[r]||e}_mapIncludesLayer(e){return!!this.map?.allLayers?.includes(e)}async _highlightFeature(e,t){this.removeHandles(e);const i=this[t];if(!i)return;const{highlightEnabled:s,view:r,visible:o}=this;if(!r||!s||!o)return;const a=this._getHighlightLayer(i);if(!a)return;const n=this._getHighlightLayerView(r,a);if(!n)return;this._highlightPromises[e]=n;const l=await n;if(!(l&&C(l)&&this._highlightPromises[e]===n&&this[t]&&this.highlightEnabled))return;const u=l.highlight(this._getHighlightTarget(i,a,r.type));this.addHandles(u,e)}async _highlightActiveFeature(){return this._highlightFeature("highlight-active-feature","activeFeature")}async _highlightSelectedFeature(){return this._highlightFeature("highlight-selected-feature","selectedFeature")}_updateFeatures(e){const{features:t}=this,i=e.filter((e=>!t.includes(e)));i?.length&&(this.features=t.concat(i))}};e([c()],z.prototype,"_fetchFeaturesController",void 0),e([c({type:M})],z.prototype,"actions",void 0),e([c({readOnly:!0})],z.prototype,"active",null),e([c()],z.prototype,"activeFeature",void 0),e([c({readOnly:!0})],z.prototype,"allActions",null),e([c()],z.prototype,"autoCloseEnabled",void 0),e([c()],z.prototype,"browseClusterEnabled",void 0),e([c()],z.prototype,"content",void 0),e([c({type:M,readOnly:!0})],z.prototype,"defaultActions",null),e([c({type:Boolean})],z.prototype,"defaultPopupTemplateEnabled",void 0),e([c({readOnly:!0})],z.prototype,"featureCount",null),e([c()],z.prototype,"featurePage",void 0),e([c({value:[]})],z.prototype,"features",null),e([c()],z.prototype,"featuresPerPage",void 0),e([c()],z.prototype,"featureMenuOpen",void 0),e([c()],z.prototype,"featureMenuTitle",void 0),e([c()],z.prototype,"featureViewModelAbilities",void 0),e([c({readOnly:!0})],z.prototype,"featureViewModels",void 0),e([c()],z.prototype,"highlightEnabled",void 0),e([c()],z.prototype,"includeDefaultActions",void 0),e([c()],z.prototype,"initialDisplayMode",void 0),e([c({type:d})],z.prototype,"location",null),e([c()],z.prototype,"map",null),e([c({readOnly:!0})],z.prototype,"pendingPromisesCount",null),e([c({readOnly:!0})],z.prototype,"promiseCount",null),e([c()],z.prototype,"promises",null),e([c({readOnly:!0})],z.prototype,"selectedClusterBoundaryFeature",void 0),e([c({value:null,readOnly:!0})],z.prototype,"selectedFeature",null),e([c({value:-1})],z.prototype,"selectedFeatureIndex",null),e([c({readOnly:!0})],z.prototype,"selectedFeatureViewModel",null),e([c({type:m})],z.prototype,"spatialReference",null),e([c({readOnly:!0})],z.prototype,"state",null),e([c()],z.prototype,"timeZone",null),e([c()],z.prototype,"title",void 0),e([c()],z.prototype,"updateLocationEnabled",void 0),e([c()],z.prototype,"view",void 0),e([c()],z.prototype,"visible",void 0),e([c({readOnly:!0})],z.prototype,"waitingForContents",null),e([c({readOnly:!0})],z.prototype,"waitingForResult",null),e([c()],z.prototype,"zoomFactor",void 0),e([c()],z.prototype,"zoomToLocation",void 0),e([c()],z.prototype,"centerAtLocation",null),z=e([p("esri.widgets.Features.FeaturesViewModel")],z);export{z as default};