@arcgis/core 4.34.0-next.93 → 4.34.0-next.95

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 (850) hide show
  1. package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +4 -0
  2. package/analysis/ElevationProfile/{ElevationProfileUnits.js → ElevationProfileDisplayUnits.js} +1 -1
  3. package/analysis/ElevationProfile/ElevationProfileViewOptions.js +1 -1
  4. package/analysis/ElevationProfileAnalysis.js +1 -1
  5. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  6. package/analysis/featureReferenceUtils.js +1 -1
  7. package/applications/Components/featureUtils.d.ts +1 -0
  8. package/applications/Components/featureUtils.js +1 -1
  9. package/applications/KnowledgeStudio/resourceSerializationUtils.js +1 -1
  10. package/assets/esri/core/workers/RemoteClient.js +1 -1
  11. package/assets/esri/core/workers/chunks/{57c08ccb75e3135978d1.js → 0086a09441627842d34a.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{35ca317490540fae437c.js → 04c30eec4387078cd38f.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{155dcbd957f8787a45c3.js → 05eee334d58a0b9f6316.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{0f37204f86d2997a2811.js → 06e60fc7715d08ede59d.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{94ddf029698991d853b9.js → 0811ac64d08454460fb1.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{6391ce002fbde9f27a77.js → 081a7082dc281ca7662a.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{3c3b1dc95f03082e4d5b.js → 083f1c2fd0b59a0bf4c3.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{9d9a639f7388a29e7c96.js → 08ee3a97d2b8adb44ea9.js} +1 -1
  19. package/assets/esri/core/workers/chunks/097e5deb51ee7e25e654.js +1 -0
  20. package/assets/esri/core/workers/chunks/{c86ca87959f04075e834.js → 0a7efed82d8e47290147.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{147f6e7b147beaa4ed29.js → 0d94a08769727875bf0e.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{e2fdc4dc1ab9decd731e.js → 135e270b4f03c4270870.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{c6cae8471c5d4ae40c65.js → 145c6a7cdcc9893efb27.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{0cfded1acf92f89a13cb.js → 14ace5dc4b8984212a57.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{39a5863355cccaabd2d6.js → 1762ff76350065750c75.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{d9d86cf0500fa29d1d43.js → 188272af9a6470ccfe31.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{ce8f56cf371812b57a46.js → 19699769deff862e29ce.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{bf9d09493fd849ea69fd.js → 1fd459234917a51b6ae1.js} +1 -1
  29. package/assets/esri/core/workers/chunks/20f4c6d8b310ecab97be.js +1 -0
  30. package/assets/esri/core/workers/chunks/{0aaaf4d1c4a5d284216e.js → 22bb877b85ae250d7819.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{05072093e0209ef5db20.js → 24c14e4a1d2a2267097e.js} +1 -1
  32. package/assets/esri/core/workers/chunks/25639559336109ff3df1.js +1 -0
  33. package/assets/esri/core/workers/chunks/{e5d974593043d5e2b502.js → 2795a2817ebe3298c350.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{71fef0a33b7ed9456e47.js → 28a5f8978817e0471a2a.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{07a7ca89ef2ca4fc090b.js → 2a30afa043e3f88655d9.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{41f275401e1cde7eee20.js → 2a8b75d2445680571759.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{6b208f5d423da64c8559.js → 2a900a632a1231deb713.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{0e5e565df6ec71445f2e.js → 2bbe8277578b033f92d4.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{48133effac2eacc2196e.js → 2bf29faeb23120dc1916.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{77e611724a499d36eacc.js → 2c72e185b780bbbb1c9f.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{38d874d7f815f5329420.js → 2ca8b0c1ca399fd5dc2f.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{c799f1c03cb22ef52f5f.js → 2d51e9c9b73301b6879c.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{cd0c222a36caa7f80860.js → 2e4dccee7ea387263f15.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{0856cd281efd71bfe3c4.js → 3116b35a92cc0afd9fd3.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{c27783ce7ea51a5e49c5.js → 319c3f46f2afb8f3e5a9.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{b8f55ee77ab6ea4c289e.js → 326a76a4e80269d4029d.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{28bb6896c5fd353ca5e9.js → 3367b8565226646decec.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{c38360d912f256519e06.js → 3496e025e48cf580250d.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{4753793daf0b7ff8b5ff.js → 35255e2b980f650490d8.js} +1 -1
  50. package/assets/esri/core/workers/chunks/37d05d9796917c3d4b7a.js +1 -0
  51. package/assets/esri/core/workers/chunks/{7b17f52019762aa21af8.js → 3815ffa13e7b439bca6e.js} +1 -1
  52. package/assets/esri/core/workers/chunks/3a2d4b78a48ebb181105.js +1 -0
  53. package/assets/esri/core/workers/chunks/{de34c21d3e6913befe5a.js → 3b65d6a78fbffca37fbd.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{c473b15d4d52f0a63d20.js → 3c78208a97c4cbd8d6d1.js} +1 -1
  55. package/assets/esri/core/workers/chunks/3ccdce156b906574bd29.js +1 -0
  56. package/assets/esri/core/workers/chunks/{68f5a2d2666636c3f807.js → 40b81d1c2d53cf598b8e.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{f3284d4e0d41efb0b4a0.js → 441ead5bce80f639934e.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{97eb2cfc1f036feea9a9.js → 44c3b5a507814103f4b4.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{6f29951f5a2da068b257.js → 456161a323be7d640c61.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{b18887a6dc86f0c8324a.js → 48646f3d95a3f2b17e78.js} +1 -1
  61. package/assets/esri/core/workers/chunks/49571d6875de1f2e7e25.js +33 -0
  62. package/assets/esri/core/workers/chunks/{1bbc0dfad4cd72a1c42b.js → 4a2bf3c8da24abd8b9e2.js} +6 -6
  63. package/assets/esri/core/workers/chunks/4b13749b74059a7837d2.js +1 -0
  64. package/assets/esri/core/workers/chunks/{c8e4fe0e3b109eb80e8e.js → 4b83b45df0c4005d078d.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{896c7d137bfd7a8fa0bc.js → 4f01be74dd26e639330f.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{b5c829e904bc9cb5347d.js → 50a5caa96c111dda5c60.js} +1 -1
  67. package/assets/esri/core/workers/chunks/50e1c63d0b6196dd365e.js +1 -0
  68. package/assets/esri/core/workers/chunks/{899f493412acd5a5d91f.js → 5132ca68e8c7af111a47.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{d08b80583a23ba253c7e.js → 56916e56c20465428dd4.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{bbdadced49446c907361.js → 578789c040846ea3759b.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{f62717338075df626eda.js → 5a527a47285a5995cff9.js} +1 -1
  72. package/assets/esri/core/workers/chunks/5cb92abb1f0f38bd0eab.js +1 -0
  73. package/assets/esri/core/workers/chunks/{56edb55b53779e7fd31e.js → 5d2e5774768d8f290343.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{6e5175b43220d6692263.js → 5d3661d1fe46dd29aae9.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{0652d7e525d99e39c957.js → 5fb2ce028b371b3a8acb.js} +1 -1
  76. package/assets/esri/core/workers/chunks/63019a7eb5222dc5e420.js +1 -0
  77. package/assets/esri/core/workers/chunks/{71c6c0b26253c4ca1b68.js → 630efe10c871425b6a95.js} +1 -1
  78. package/assets/esri/core/workers/chunks/64629ddcf008349eaf41.js +1 -0
  79. package/assets/esri/core/workers/chunks/{61e8e159f1f336569b27.js → 65111858957f43eacd8c.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{0427f66b56ec6601deb0.js → 6ac90d88e5f931b1a003.js} +1 -1
  81. package/assets/esri/core/workers/chunks/6c842b955fdd40b39914.js +1 -0
  82. package/assets/esri/core/workers/chunks/{08b0fc6bfe9640ee2525.js → 6cd379bb66dc4cf5d2bf.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{1f2d13466c60a6b57717.js → 6e5b3bbee054d072b594.js} +1 -1
  84. package/assets/esri/core/workers/chunks/6ec77a8142fbfa805b5a.js +1 -0
  85. package/assets/esri/core/workers/chunks/{541bffd61006d0e36166.js → 6f4bd0ee85e7e5a74340.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{648c91a9822bc9d6ee47.js → 701a1835684cf815bcb7.js} +1 -1
  87. package/assets/esri/core/workers/chunks/{f71b76c9506178124fa3.js → 70af1b5b3d2f3f395441.js} +1 -1
  88. package/assets/esri/core/workers/chunks/{d7adef4093ce19ad356d.js → 72846fb9c87c6642daf0.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{f88fe2e8fbc763bdc940.js → 73c1d43070b4fe1e5c1e.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{cab2a1382bdd32bb34d8.js → 7421f9575487cdc9e28e.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{a845c68e76382a73da5e.js → 7633537dc0c65d655baf.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{82e0d22619dc26920ca9.js → 7698f4f4471b6e1c12ef.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{9a0b9d931c1a29e81475.js → 76e444bd625cf3d35877.js} +1 -1
  94. package/assets/esri/core/workers/chunks/{b265472ac3f949a7f40c.js → 773d76253588bcf14eaa.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{77705d0c7c17bd46d81a.js → 7810f870d71f80ca4f41.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{56de25a6fe659a5b5c2b.js → 78b35a19332e58c8c279.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{e4833b718a813a8d125b.js → 79012b873d2b7786be77.js} +1 -1
  98. package/assets/esri/core/workers/chunks/7a6a96edc892d7060b7d.js +1 -0
  99. package/assets/esri/core/workers/chunks/7b3ff47cdbb6af38530d.js +1 -0
  100. package/assets/esri/core/workers/chunks/{04dbdaa63c950f32b8f0.js → 7e8f7fa884d6d41ebae2.js} +1 -1
  101. package/assets/esri/core/workers/chunks/81bbe5251ed13c0d91cc.js +1 -0
  102. package/assets/esri/core/workers/chunks/{0037abf0a82d1ed32e91.js → 8215015f11221a354273.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{cb6a9b43406f4fbe10b2.js → 82f1cd3896401c85df35.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{2bb61f80473b495163e3.js → 83ab8c8bc9e6990114a8.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{03b455e9405a8b6fec68.js → 8659abd4b46f153b6902.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{19bd0b56d82446dbb7c5.js → 868ee8f429e7caddc045.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{ad67e5eb4b8c0c14cea6.js → 86b978a48b539e9fc5b8.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{4dfcd03082be83600f3a.js → 88add09190569b04e824.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{65e279516170ddbd4a65.js → 89027f6800e17fab8973.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{3e11a893271caa11a881.js → 8ad8fe758c615fcf2185.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{a6533bab3b2fbc1e2a47.js → 8b16aa50d879b92a5375.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{edaf059c7ea18088c3dd.js → 91df8638b8b904e6d8c5.js} +1 -1
  113. package/assets/esri/core/workers/chunks/92c306d02569e7cd9af3.js +1 -0
  114. package/assets/esri/core/workers/chunks/{fdadf11f31384c09db9f.js → 94486f3fcba48fa93aa8.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{8513c9282c44bb0a736e.js → 9834bc11586a2d8d6f35.js} +1 -1
  116. package/assets/esri/core/workers/chunks/{a0fab8cd791c33d3895d.js → 98dbafa4d45fdf790fff.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{2b867cec6ada339f1c8f.js → 9958a3ed4aa787d19e00.js} +1 -1
  118. package/assets/esri/core/workers/chunks/9a723d739ac44b45432c.js +1 -0
  119. package/assets/esri/core/workers/chunks/{4660798b3b45dcb5cecb.js → 9b0ea5e50aeeea615592.js} +14 -14
  120. package/assets/esri/core/workers/chunks/9c6fc4fe2c46f40d63d9.js +1 -0
  121. package/assets/esri/core/workers/chunks/a1c4509a3865139eb570.js +1 -0
  122. package/assets/esri/core/workers/chunks/{992b1389710d716d3450.js → a410dcf80d17a2383337.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{db5a985ccc6b7d0ad855.js → a7bd294996e6c8b8354a.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{80a155496deef2c02a3e.js → a878061845e594b2d72c.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{8f426cb210a4250517d5.js → ad3e18c4c65aa2cd1ceb.js} +1 -1
  126. package/assets/esri/core/workers/chunks/{0328eaea66c1db98da1c.js → ae807912acc19a166264.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{0a981061df08da19372c.js → ae8c387d59be87457567.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{5caf49e679ed0c27e0bd.js → aea8553a2aa54cfd694b.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{0ceb68ff73e5d39e837a.js → b13ccda702b714fe6161.js} +1 -1
  130. package/assets/esri/core/workers/chunks/b1f667006cba60ef4aa7.js +1 -0
  131. package/assets/esri/core/workers/chunks/{70c8f69eed14d55c5cf6.js → b2add7338258ca7c24dd.js} +1 -1
  132. package/assets/esri/core/workers/chunks/b2d9f4e057af26a538fb.js +1 -0
  133. package/assets/esri/core/workers/chunks/b4ea675831627d9808dd.js +1 -0
  134. package/assets/esri/core/workers/chunks/{8de9e50de0ac66ae1573.js → b8339c1d60847a9eed3e.js} +1 -1
  135. package/assets/esri/core/workers/chunks/bae0dfe9a2f5aabae42c.js +1 -0
  136. package/assets/esri/core/workers/chunks/{95bae3c275f1483eb7ed.js → bcff6178e9d16b1b6191.js} +1 -1
  137. package/assets/esri/core/workers/chunks/{2845a0810e9c00bf30f8.js → bf775fe489213cfc08b1.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{4823e4522bd7379d858e.js → bfc1e8aec7aace3ff30e.js} +1 -1
  139. package/assets/esri/core/workers/chunks/{20003728a679479b14dc.js → c31583229a1100b66a18.js} +1 -1
  140. package/assets/esri/core/workers/chunks/{9346437b152b20bdcf8a.js → c941d15190fc08523d0d.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{5746c4861af83c1d57a8.js → cf11b1dcc2cff30229b6.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{f6806780ca2aa591475a.js → cf13625a033f9903655f.js} +1 -1
  143. package/assets/esri/core/workers/chunks/d28ea91f7458daa67fae.js +1 -0
  144. package/assets/esri/core/workers/chunks/{1990162dcf73601d54f7.js → d3cd9c24edf7520d0824.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{bec9ddd38c9ab9f2561b.js → d4f16c2b9297a479731e.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{73db6c070b049fe05147.js → d57edb77c6deee36cce5.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{6e4ec9fa931c69e4e4ba.js → da573ecc68e6aa8f6da9.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{bdf0ab95401c6d8fbc7d.js → db559437b571462fb3db.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{512dcd6e34e217029391.js → deb2854bb7d082a26f52.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{5993427325d1add18ed9.js → dede989d59c4b416af68.js} +1 -1
  151. package/assets/esri/core/workers/chunks/{18e9cb71fa020e93d139.js → df5ecb3339d9301a6f5b.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{e22b400636094fc7b6c0.js → dfbf2e17058aa876f96a.js} +1 -1
  153. package/assets/esri/core/workers/chunks/dfc37c2ce51e6a34fd87.js +1 -0
  154. package/assets/esri/core/workers/chunks/dff8e15958423e0212e5.js +1 -0
  155. package/assets/esri/core/workers/chunks/{c5c6a32a24005478c976.js → e032f3d2ee19790f8c79.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{3d7923d25734d03a4d27.js → e1dba29f5fd1ee5fc999.js} +1 -1
  157. package/assets/esri/core/workers/chunks/e2c293331515f3bd0355.js +1 -0
  158. package/assets/esri/core/workers/chunks/{352511dbc67166face40.js → e2e32e2f04cce9e932fd.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{bb0a1be03bb9d621432c.js → e7638b9ab6674bc8a18f.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{edef1e2254c992459c63.js → eb1a7bb8b14e651bc241.js} +1 -1
  161. package/assets/esri/core/workers/chunks/ec7b156425f25d231078.js +1 -0
  162. package/assets/esri/core/workers/chunks/{779ee975efebb838b5d6.js → f154336b4af011cd0c56.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{3807d0b9b1894731174d.js → f1be3a177328a169128f.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{0810dbbf348a927392e7.js → f59c782898d931810374.js} +1 -1
  165. package/assets/esri/core/workers/chunks/f5d89b48f62fba78fd10.js +1 -0
  166. package/assets/esri/core/workers/chunks/f7846523adacbfe5047e.js +1 -0
  167. package/assets/esri/core/workers/chunks/{b510c07dfd0d31683b08.js → f7a9d2da07196a0989ae.js} +1 -1
  168. package/assets/esri/core/workers/chunks/{143503f6eb270c4683f8.js → f7c99e9c8d19352af38d.js} +1 -1
  169. package/assets/esri/core/workers/chunks/{79ab06fb4c91ac8da323.js → f839b86bee15deaf84e4.js} +1 -1
  170. package/assets/esri/core/workers/chunks/{9adecee0ed2f1df3b0d2.js → f85e2b6a285fa8ad60aa.js} +1 -1
  171. package/assets/esri/core/workers/chunks/{024063fe2bbb27899094.js → fbbccca5b1bcffb31c4e.js} +1 -1
  172. package/assets/esri/core/workers/chunks/{009556f323e58271bc7a.js → fc4417d1260b717a9385.js} +1 -1
  173. package/assets/esri/core/workers/chunks/{6810ecdeccf4b7eae5e2.js → fdaf8fb5a3cc7abea44b.js} +1 -1
  174. package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
  175. package/assets/esri/themes/base/widgets/_Editor.scss +4 -0
  176. package/assets/esri/themes/dark/main.css +1 -1
  177. package/assets/esri/themes/light/main.css +1 -1
  178. package/assets/esri/themes/light/view.css +1 -1
  179. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  180. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  181. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  182. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  183. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  184. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  185. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  186. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  187. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  188. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  189. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  190. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  191. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  192. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  193. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  194. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  195. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  196. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  197. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  198. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  199. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  200. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  201. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  202. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  203. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  204. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  205. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  206. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  207. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  208. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  209. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  210. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  211. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  212. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  213. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  214. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  215. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  216. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  217. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  218. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  219. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  220. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  221. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  222. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  223. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  224. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  225. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  226. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  227. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  228. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  229. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  230. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  231. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  232. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  233. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  234. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  235. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  236. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  237. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  238. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  239. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  240. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  243. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  244. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  245. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  246. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  247. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  248. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  249. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  250. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  251. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  252. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  253. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  254. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  255. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  256. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  257. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  258. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  259. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  260. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  261. package/assets/esri/widgets/Sketch/t9n/Sketch.json +1 -1
  262. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  263. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  264. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  265. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  266. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  267. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  268. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  269. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  270. package/assets/esri/widgets/Sketch/t9n/Sketch_en.json +1 -1
  271. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  272. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  273. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  274. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  275. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  276. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  277. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  278. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  279. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  280. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  281. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  282. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  283. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  284. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  285. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  286. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  287. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  288. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  289. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  290. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  291. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  292. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  293. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  294. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  295. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  296. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  297. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  298. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  299. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  300. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  301. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  302. package/chunks/Envelope.js +1 -1
  303. package/chunks/Fog.glsl.js +2 -2
  304. package/chunks/Geometry.js +1 -1
  305. package/chunks/GlowBlur.glsl.js +8 -9
  306. package/chunks/GlowComposition.glsl.js +15 -16
  307. package/chunks/Laserlines.glsl.js +12 -12
  308. package/chunks/MultiPathImpl.js +1 -1
  309. package/chunks/Point2D.js +1 -1
  310. package/chunks/PointRenderer.glsl.js +1 -1
  311. package/chunks/Precipitation.glsl.js +2 -2
  312. package/chunks/Terrain.glsl.js +1 -1
  313. package/chunks/WaterSurface.glsl.js +0 -1
  314. package/chunks/boundedPlane.js +1 -1
  315. package/chunks/bundle.js +1 -1
  316. package/chunks/cameraUtilsPlanar.js +1 -1
  317. package/chunks/cameraUtilsSpherical.js +1 -1
  318. package/chunks/sphere.js +1 -1
  319. package/chunks/vec32.js +1 -1
  320. package/colorUtils.js +1 -1
  321. package/config.js +1 -1
  322. package/core/accessorSupport/extensions/serializableProperty/reader.js +1 -1
  323. package/core/accessorSupport/extensions/serializableProperty/utils.js +5 -0
  324. package/core/accessorSupport/extensions/serializableProperty.js +1 -1
  325. package/core/accessorSupport/read.js +1 -1
  326. package/core/accessorSupport/write.js +1 -1
  327. package/core/has.js +1 -1
  328. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  329. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  330. package/core/perspectiveUtils.js +1 -1
  331. package/core/workers/workerFactory.js +1 -1
  332. package/editing/geometry/lineUtils.js +1 -1
  333. package/geometry/Mesh.js +1 -1
  334. package/geometry/operators/support/jsonConverter.js +1 -1
  335. package/geometry/projection/localLinearScaleFactors.js +1 -1
  336. package/geometry/projection/projectDirection.js +1 -1
  337. package/geometry/projection/projectVec3Array.js +1 -1
  338. package/geometry/support/axisAngle.js +1 -1
  339. package/geometry/support/axisAngleDegrees.js +1 -1
  340. package/geometry/support/buffer/internals/Vec3.js +1 -1
  341. package/geometry/support/clipRay.js +1 -1
  342. package/geometry/support/coordinateSystem.js +1 -1
  343. package/geometry/support/frustum.js +1 -1
  344. package/geometry/support/lineSegment.js +1 -1
  345. package/geometry/support/meshUtils/centerAt.js +1 -1
  346. package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
  347. package/geometry/support/meshUtils/loadExternal.js +1 -1
  348. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  349. package/geometry/support/meshUtils/merge.js +1 -1
  350. package/geometry/support/meshUtils/rotate.js +1 -1
  351. package/geometry/support/meshUtils/scale.js +1 -1
  352. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  353. package/geometry/support/plane.js +1 -1
  354. package/geometry/support/polygonUtils.js +1 -1
  355. package/geometry/support/ray.js +1 -1
  356. package/geometry/support/sphereUtils.js +1 -1
  357. package/geometry/support/triangle.js +1 -1
  358. package/geometry/support/vector.js +1 -1
  359. package/interfaces.d.ts +476 -220
  360. package/kernel.js +1 -1
  361. package/layers/FeatureLayer.js +1 -1
  362. package/layers/GaussianSplatLayer.js +1 -1
  363. package/layers/VoxelWasmPerSceneView.js +1 -1
  364. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  365. package/layers/graphics/dehydratedFeatureComparison.js +1 -1
  366. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  367. package/layers/graphics/sources/ParquetSource.js +1 -1
  368. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  369. package/layers/graphics/sources/support/QueryTask.js +1 -1
  370. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  371. package/layers/knowledgeGraph/layerUtils.js +1 -1
  372. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  373. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  374. package/layers/orientedImagery/transformations/utils.js +1 -1
  375. package/layers/orientedImagery/transformations/worldToImage.js +1 -1
  376. package/layers/support/featurePopupQueryUtils.js +1 -1
  377. package/layers/support/layerUtils.js +1 -1
  378. package/layers/support/rasterDatasets/FunctionRaster.js +1 -1
  379. package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
  380. package/layers/support/tiles3DUtils.js +1 -1
  381. package/layers/video/VideoCameraSensorModel.js +1 -1
  382. package/layers/voxel/VoxelVolume.js +1 -1
  383. package/layers/voxel/voxelPlaneUtils.js +1 -1
  384. package/networks/UtilityNetwork.js +1 -1
  385. package/networks/support/NetworkSystemLayers.js +1 -1
  386. package/package.json +4 -3
  387. package/popup/content/AttachmentsContent.js +1 -1
  388. package/portal/schemas/definitions.js +1 -1
  389. package/rest/knowledgeGraph/GraphApplyEdits.js +1 -1
  390. package/rest/knowledgeGraphService.js +1 -1
  391. package/rest/query/executePivotQuery.js +5 -0
  392. package/rest/query/operations/query.js +1 -1
  393. package/rest/query/operations/queryPivot.js +5 -0
  394. package/rest/query/operations/queryUtils.js +5 -0
  395. package/rest/support/PivotDefinition.js +5 -0
  396. package/rest/support/PivotQuery.js +5 -0
  397. package/rest/support/UnPivotDefinition.js +5 -0
  398. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  399. package/smartMapping/support/adapters/support/utils.js +1 -1
  400. package/support/revision.js +1 -1
  401. package/views/2d/analysis/ElevationProfile/ElevationProfileInputVisualization2D.js +1 -1
  402. package/views/2d/analysis/ElevationProfile/ElevationProfileLineVisualization2D.js +1 -1
  403. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
  404. package/views/2d/engine/flow/dataUtils.js +1 -1
  405. package/views/2d/engine/flow/utils.js +1 -1
  406. package/views/2d/engine/webgl/AFeatureTile.js +1 -1
  407. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  408. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  409. package/views/2d/interactive/editingTools/manipulations/RotateManipulation.js +1 -1
  410. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  411. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  412. package/views/2d/layers/MapNotesLayerView2D.js +1 -1
  413. package/views/2d/layers/RouteLayerView2D.js +1 -1
  414. package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
  415. package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
  416. package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
  417. package/views/2d/navigation/actions/Pan.js +1 -1
  418. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  419. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  420. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  421. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  422. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  423. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  424. package/views/3d/analysis/ElevationProfile/ElevationProfileGeometryVisualization3D.js +5 -0
  425. package/views/3d/analysis/ElevationProfile/ElevationProfileLineSceneComputation.js +1 -1
  426. package/views/3d/analysis/ElevationProfile/ElevationProfileLineVisualization3D.js +1 -1
  427. package/views/3d/analysis/ElevationProfile/ElevationProfileVisualization3D.js +1 -1
  428. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  429. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  430. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  431. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  432. package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
  433. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  434. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  435. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  436. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  437. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  438. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  439. package/views/3d/analysis/Viewshed/ViewshedShapeVisualElement.js +1 -1
  440. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  441. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  442. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  443. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  444. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  445. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementConfiguration.js +1 -1
  446. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillComputation.js +1 -1
  447. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  448. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  449. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.js +1 -1
  450. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  451. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  452. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  453. package/views/3d/analysis/support/measurementUtils.js +1 -1
  454. package/views/3d/animation/pointToPoint/Animation.js +1 -1
  455. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  456. package/views/3d/camera/constraintUtils/altitude.js +1 -1
  457. package/views/3d/camera/constraintUtils/common.js +1 -1
  458. package/views/3d/camera/constraintUtils/distance.js +1 -1
  459. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  460. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  461. package/views/3d/camera/intersectionUtils.js +1 -1
  462. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  463. package/views/3d/environment/CloudsParameters.js +1 -1
  464. package/views/3d/environment/EnvironmentManager.js +1 -1
  465. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  466. package/views/3d/environment/Fog.js +1 -1
  467. package/views/3d/environment/MarsAtmosphere.js +1 -1
  468. package/views/3d/glTF/loader.js +1 -1
  469. package/views/3d/interactive/Manipulator3D.js +1 -1
  470. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  471. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  472. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  473. package/views/3d/interactive/editingTools/lineObjectVisualElementUtils.js +1 -1
  474. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  475. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  476. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  477. package/views/3d/interactive/editingTools/media/MediaElementManipulator3D.js +1 -1
  478. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  479. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  480. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  481. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  482. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  483. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  484. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  485. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  486. package/views/3d/interactive/manipulatorUtils.js +1 -1
  487. package/views/3d/interactive/support/viewUtils.js +1 -1
  488. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  489. package/views/3d/interactive/visualElements/LabelVisualElement.js +1 -1
  490. package/views/3d/interactive/visualElements/LaserlineVisualElement.js +1 -1
  491. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  492. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  493. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  494. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  495. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  496. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  497. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  498. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  499. package/views/3d/interactive/visualElements/support/Segment.js +1 -1
  500. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  501. package/views/3d/layers/FlowSubView3D.js +1 -1
  502. package/views/3d/layers/I3SMeshView3D.js +1 -1
  503. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  504. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  505. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  506. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  507. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  508. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  509. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  510. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  511. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  512. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  513. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  514. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  515. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  516. package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
  517. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  518. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  519. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  520. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  521. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  522. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  523. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  524. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  525. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  526. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  527. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  528. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  529. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  530. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  531. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  532. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  533. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  534. package/views/3d/layers/support/uvUtils.js +1 -1
  535. package/views/3d/state/Frustum.js +1 -1
  536. package/views/3d/state/NearFarHeuristic.js +1 -1
  537. package/views/3d/state/controllers/FovController.js +1 -1
  538. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  539. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  540. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  541. package/views/3d/state/controllers/RotateController.js +1 -1
  542. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  543. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  544. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  545. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  546. package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
  547. package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
  548. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  549. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  550. package/views/3d/state/utils/navigationUtils.js +1 -1
  551. package/views/3d/state/utils/viewUtils.js +1 -1
  552. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  553. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  554. package/views/3d/support/RenderCoordsHelper.js +1 -1
  555. package/views/3d/support/cameraUtils.js +1 -1
  556. package/views/3d/support/cameraUtilsInternal.js +1 -1
  557. package/views/3d/support/dito.js +1 -1
  558. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  559. package/views/3d/support/flow/StreamlineResources3DOverlay.js +1 -1
  560. package/views/3d/support/flow/StreamlineResources3DShape.js +1 -1
  561. package/views/3d/support/flow/constants.js +1 -1
  562. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  563. package/views/3d/support/geometryUtils/ray.js +1 -1
  564. package/views/3d/support/intersectionUtils.js +1 -1
  565. package/views/3d/support/mathUtils.js +1 -1
  566. package/views/3d/support/orientedBoundingBox.js +1 -1
  567. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  568. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  569. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  570. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  571. package/views/3d/support/sunUtils.js +1 -1
  572. package/views/3d/support/viewpointUtils.js +1 -1
  573. package/views/3d/terrain/OverlayManager.js +1 -1
  574. package/views/3d/terrain/OverlayRenderer.js +1 -1
  575. package/views/3d/terrain/PatchGeometry.js +1 -1
  576. package/views/3d/terrain/PatchRenderData.js +1 -1
  577. package/views/3d/terrain/SphericalPatch.js +1 -1
  578. package/views/3d/terrain/TerrainRenderer.js +1 -1
  579. package/views/3d/terrain/TerrainSurface.js +1 -1
  580. package/views/3d/terrain/Tile.js +1 -1
  581. package/views/3d/webgl/RenderCamera.js +1 -1
  582. package/views/3d/webgl-engine/Stage.js +1 -1
  583. package/views/3d/webgl-engine/collections/Component/ComponentObject.js +1 -1
  584. package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticBVH.js +1 -1
  585. package/views/3d/webgl-engine/collections/Component/ComponentObjectElevationAgnosticComponentGeometryBVH.js +1 -1
  586. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  587. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  588. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js +1 -1
  589. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  590. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +2 -2
  591. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +1 -1
  592. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +1 -1
  593. package/views/3d/webgl-engine/core/shaderLibrary/util/ScreenSizePerspective.glsl.js +1 -1
  594. package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
  595. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  596. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  597. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  598. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +7 -7
  599. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  600. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  601. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  602. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  603. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  604. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  605. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  606. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  607. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  608. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  609. package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
  610. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  611. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  612. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  613. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  614. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  615. package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
  616. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  617. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  618. package/views/3d/webgl-engine/lib/Path.js +1 -1
  619. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  620. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  621. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  622. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  623. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  624. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  625. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  626. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  627. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  628. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  629. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  630. package/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js +1 -1
  631. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  632. package/views/3d/webgl-engine/lib/geometryDataUtils.js +1 -1
  633. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  634. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  635. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  636. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  637. package/views/3d/webgl-engine/lib/triangleIntersectionUtils.js +1 -1
  638. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  639. package/views/3d/webgl-engine/lighting/SceneLighting.js +1 -1
  640. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  641. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  642. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  643. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  644. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  645. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  646. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  647. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  648. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  649. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  650. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  651. package/views/3d/webgl-engine/shaders/GaussianSplatDepthCompositionTechnique.js +1 -1
  652. package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
  653. package/views/3d/webgl.js +1 -1
  654. package/views/DOMContainer.js +1 -1
  655. package/views/PopupView.js +1 -1
  656. package/views/SceneView.js +1 -1
  657. package/views/View.js +1 -1
  658. package/views/View2D.js +1 -1
  659. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  660. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  661. package/views/analysis/ElevationProfile/ElevationProfileError.d.ts +4 -0
  662. package/views/analysis/ElevationProfile/ElevationProfileError.js +5 -0
  663. package/views/analysis/ElevationProfile/ElevationProfileHoveredPointsVisualization.js +1 -1
  664. package/views/analysis/ElevationProfile/ElevationProfileLineComputation.js +1 -1
  665. package/views/analysis/ElevationProfile/ElevationProfileLineInputComputation.js +1 -1
  666. package/views/analysis/ElevationProfile/ElevationProfileResult.js +1 -1
  667. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  668. package/views/analysis/ElevationProfile/elevationProfileErrors.js +5 -0
  669. package/views/analysis/ElevationProfile/elevationProfileGenerationUtils.js +1 -1
  670. package/views/analysis/ElevationProfile/elevationProfileGeometryUtils.js +1 -1
  671. package/views/analysis/ElevationProfile/elevationProfileInputVisualizationUtils.js +1 -1
  672. package/views/analysis/ExclusiveOperationManager.js +1 -1
  673. package/views/draw/support/Reshape.js +1 -1
  674. package/views/draw/support/createUtils.js +1 -1
  675. package/views/draw/support/helpMessageUtils3d.js +1 -1
  676. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  677. package/views/interactive/GraphicManipulator.js +1 -1
  678. package/views/interactive/coordinateHelper.js +1 -1
  679. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  680. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  681. package/views/interactive/sketch/constraintUtils.js +1 -1
  682. package/views/interactive/sketch/constraints.js +1 -1
  683. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  684. package/views/interactive/snapping/LineSnapper.js +1 -1
  685. package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
  686. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  687. package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
  688. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  689. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  690. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  691. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  692. package/views/interactive/snapping/featureSources/sceneLayerSource/sceneLayerSnappingUtils.js +1 -1
  693. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  694. package/views/interactive/snapping/snappingUtils.js +1 -1
  695. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  696. package/views/layers/FeatureLayerView.d.ts +1 -1
  697. package/views/layers/FeatureLayerView.js +1 -1
  698. package/views/layers/SceneLayerView.js +1 -1
  699. package/views/navigation/PanPlanarMomentumEstimator.js +1 -1
  700. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  701. package/views/navigation/gamepadAndKeyboardUtils.js +1 -1
  702. package/views/popupAdapter.js +5 -0
  703. package/views/support/angularMeasurementUtils.js +1 -1
  704. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  705. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  706. package/views/support/geometry3dUtils.js +1 -1
  707. package/views/webgl/ContextState.js +1 -1
  708. package/views/webgl/RenderingContext.js +1 -1
  709. package/views/webgl/enums.js +1 -1
  710. package/widgets/Attachments/AttachmentsViewModel.js +1 -1
  711. package/widgets/Attachments.js +1 -1
  712. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  713. package/widgets/Editor/EditorViewModel.js +1 -1
  714. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  715. package/widgets/Editor/SplitFeatureWorkflowData.js +1 -1
  716. package/widgets/Editor/UpdateWorkflow.js +1 -1
  717. package/widgets/Editor/components/PendingFeatureList.js +1 -1
  718. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  719. package/widgets/Editor/components/UploadDetails.js +1 -1
  720. package/widgets/Editor/components/workflowAdapters/pendingFeatureList/CreateFeaturesWorkflowPendingFeatureListAdapter.ts.js +5 -0
  721. package/widgets/Editor/components/workflowAdapters/pendingFeatureList/SplitFeatureWorkflowPendingFeatureListAdapter.js +5 -0
  722. package/widgets/Editor/css.js +1 -1
  723. package/widgets/Editor/modelUploadUtils.js +1 -1
  724. package/widgets/Editor/support/splitFeatureUtils.js +1 -1
  725. package/widgets/Editor/workflowUtils.js +1 -1
  726. package/widgets/Editor.js +1 -1
  727. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  728. package/widgets/ElevationProfile/support/chartUtils.js +1 -1
  729. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  730. package/widgets/Feature/FeatureMedia/chartCommon.js +1 -1
  731. package/widgets/Feature/FeatureMedia/pieChart.js +1 -1
  732. package/widgets/Feature/FeatureMedia/xyChart.js +1 -1
  733. package/widgets/Feature/FeatureViewModel.js +1 -1
  734. package/widgets/FeatureTable/FieldColumn.js +1 -1
  735. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  736. package/widgets/FeatureTable/support/FeatureStore.js +1 -1
  737. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  738. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  739. package/widgets/FeatureTable/support/templateUtils.js +1 -1
  740. package/widgets/Features/FeaturesViewModel.js +1 -1
  741. package/widgets/Legend/LegendViewModel.js +1 -1
  742. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  743. package/widgets/Legend.js +1 -1
  744. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  745. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  746. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  747. package/widgets/OrientedImageryViewer/dataCaptureUtils.js +1 -1
  748. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  749. package/widgets/OrientedImageryViewer.js +1 -1
  750. package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
  751. package/widgets/PanoramicViewer/PanoramicZoomManager.js +5 -0
  752. package/widgets/PanoramicViewer/PanoramicZoomViewModel.js +1 -1
  753. package/widgets/PanoramicViewer/constants.js +1 -1
  754. package/widgets/PanoramicViewer/support/ClosestMap.js +5 -0
  755. package/widgets/PanoramicViewer/support/PanoramicMeshManager.js +1 -1
  756. package/widgets/PanoramicViewer/support/PanoramicMeshWorker.js +1 -1
  757. package/widgets/PanoramicViewer/support/PanoramicTileNode.js +5 -0
  758. package/widgets/PanoramicViewer/support/PanoramicTilePyramid.js +5 -0
  759. package/widgets/PanoramicViewer/support/importUtils.js +5 -0
  760. package/widgets/PanoramicViewer/utils.js +1 -1
  761. package/widgets/PanoramicViewer.js +1 -1
  762. package/widgets/Search/SearchResultRenderer.js +1 -1
  763. package/widgets/Search/SearchViewModel.js +1 -1
  764. package/widgets/Search.js +1 -1
  765. package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
  766. package/widgets/support/chartUtilsAm5.js +1 -1
  767. package/widgets/support/forms/formUtils.js +1 -1
  768. package/analysis/ElevationProfile/ElevationProfileUnits.d.ts +0 -4
  769. package/assets/esri/core/workers/chunks/004b13c1db79c9e668b1.js +0 -1
  770. package/assets/esri/core/workers/chunks/06c389283ee5b60573f2.js +0 -1
  771. package/assets/esri/core/workers/chunks/0b24a6c06d1becbb6815.js +0 -1
  772. package/assets/esri/core/workers/chunks/0ca5060c81a1a05b8be3.js +0 -1
  773. package/assets/esri/core/workers/chunks/1214c126af0de25a4b4a.js +0 -1
  774. package/assets/esri/core/workers/chunks/19f1bfe815896d4983af.js +0 -1
  775. package/assets/esri/core/workers/chunks/22c3a21bc9f32c429c48.js +0 -1
  776. package/assets/esri/core/workers/chunks/23e600e368ac829680b5.js +0 -1
  777. package/assets/esri/core/workers/chunks/3b2ef975831eb75b40fb.js +0 -1
  778. package/assets/esri/core/workers/chunks/3d800fbc449bea18b1cd.js +0 -1
  779. package/assets/esri/core/workers/chunks/3dcdbba706a8034b6ba3.js +0 -1
  780. package/assets/esri/core/workers/chunks/503c81dda242e6077317.js +0 -1
  781. package/assets/esri/core/workers/chunks/52121179d4f9833008ec.js +0 -1
  782. package/assets/esri/core/workers/chunks/56b3bb68b61b77138186.js +0 -1
  783. package/assets/esri/core/workers/chunks/5aacd1c6b171c99b41f5.js +0 -1
  784. package/assets/esri/core/workers/chunks/5eb7f6f5121c8830c561.js +0 -1
  785. package/assets/esri/core/workers/chunks/633faa9cec8988ab06af.js +0 -33
  786. package/assets/esri/core/workers/chunks/6c3b585b9cb6bb640fb0.js +0 -1
  787. package/assets/esri/core/workers/chunks/801451fb572bc5f1f270.js +0 -1
  788. package/assets/esri/core/workers/chunks/8b9a50cfaa5a7df02dad.js +0 -1
  789. package/assets/esri/core/workers/chunks/8d63b42aea32ce2e5d09.js +0 -1
  790. package/assets/esri/core/workers/chunks/8ff2daef892881ff2019.js +0 -1
  791. package/assets/esri/core/workers/chunks/a6a2d4602dfeb62e0ecc.js +0 -1
  792. package/assets/esri/core/workers/chunks/bf9031749d10e7d457b6.js +0 -1
  793. package/assets/esri/core/workers/chunks/c547692862df95d22818.js +0 -1
  794. package/assets/esri/core/workers/chunks/c84665db250b05e2829d.js +0 -1
  795. package/assets/esri/core/workers/chunks/c95e6bef8c97cf647869.js +0 -1
  796. package/assets/esri/core/workers/chunks/ce175801937e80e3c487.js +0 -1
  797. package/assets/esri/core/workers/chunks/d71836cf70b9604832f1.js +0 -1
  798. package/assets/esri/core/workers/chunks/ef75cad6570b14a42b62.js +0 -1
  799. package/chunks/Button.js +0 -5
  800. package/chunks/ColorSet.js +0 -5
  801. package/chunks/DefaultTheme.js +0 -5
  802. package/chunks/LineSeries.js +0 -5
  803. package/chunks/ResponsiveTheme.js +0 -5
  804. package/chunks/Theme.js +0 -5
  805. package/chunks/Tick.js +0 -5
  806. package/chunks/Tooltip.js +0 -5
  807. package/chunks/ar.js +0 -5
  808. package/chunks/bg_BG.js +0 -5
  809. package/chunks/bs_BA.js +0 -5
  810. package/chunks/ca_ES.js +0 -5
  811. package/chunks/chartUtilsAm5.js +0 -5
  812. package/chunks/cs_CZ.js +0 -5
  813. package/chunks/da_DK.js +0 -5
  814. package/chunks/de_CH.js +0 -5
  815. package/chunks/de_DE.js +0 -5
  816. package/chunks/el_GR.js +0 -5
  817. package/chunks/en_CA.js +0 -5
  818. package/chunks/en_US.js +0 -5
  819. package/chunks/es_ES.js +0 -5
  820. package/chunks/et_EE.js +0 -5
  821. package/chunks/fi_FI.js +0 -5
  822. package/chunks/fr_FR.js +0 -5
  823. package/chunks/he_IL.js +0 -5
  824. package/chunks/hr_HR.js +0 -5
  825. package/chunks/hu_HU.js +0 -5
  826. package/chunks/id_ID.js +0 -5
  827. package/chunks/it_IT.js +0 -5
  828. package/chunks/ja_JP.js +0 -5
  829. package/chunks/ko_KR.js +0 -5
  830. package/chunks/lt_LT.js +0 -5
  831. package/chunks/lv_LV.js +0 -5
  832. package/chunks/nb_NO.js +0 -5
  833. package/chunks/nl_NL.js +0 -5
  834. package/chunks/pl_PL.js +0 -5
  835. package/chunks/pt_BR.js +0 -5
  836. package/chunks/pt_PT.js +0 -5
  837. package/chunks/ro_RO.js +0 -5
  838. package/chunks/ru_RU.js +0 -5
  839. package/chunks/sk_SK.js +0 -5
  840. package/chunks/sl_SL.js +0 -5
  841. package/chunks/sr_RS.js +0 -5
  842. package/chunks/sv_SE.js +0 -5
  843. package/chunks/th_TH.js +0 -5
  844. package/chunks/tr_TR.js +0 -5
  845. package/chunks/uk_UA.js +0 -5
  846. package/chunks/vi_VN.js +0 -5
  847. package/chunks/zh_Hans.js +0 -5
  848. package/chunks/zh_Hant.js +0 -5
  849. package/views/3d/analysis/ElevationProfile/ElevationProfileInputVisualization3D.js +0 -5
  850. package/views/analysis/ElevationProfile/ElevationProfileGenerationError.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{__decorate as e}from"tslib";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as i,handlesGroup as r,abortHandle as s}from"../../core/handleUtils.js";import"../../core/has.js";import o from"../../core/Logger.js";import{removeMaybe as n,destroyMaybe as l}from"../../core/maybe.js";import{debounce as d,isPromiseLike as c}from"../../core/promiseUtils.js";import{watch as u,when as h,initial as p,whenOnce as m,syncAndInitial as f}from"../../core/reactiveUtils.js";import{generateBracedUUID as w}from"../../core/uuid.js";import{property as g}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import{isSharedTemplateOrMetadata as v,isSharedTemplate as F,isStandardFeatureTemplate as _}from"../../editing/templateUtils.js";import b from"../../layers/GraphicsLayer.js";import{isTable as M}from"../../layers/support/layerUtils.js";import{isNumber as I}from"../../support/guards.js";import{getDisplayedSymbol as V}from"../../symbols/support/symbolUtils.js";import{getDrawHelpMessage as k}from"../../views/draw/support/helpMessageUtils.js";import S from"../../views/draw/support/HighlightHelper.js";import A from"../../views/interactive/sketch/SketchOptions.js";import C from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{temporaryHighlightName as P}from"../../views/support/HighlightDefaults.js";import T from"./CreateFeaturesWorkflowData.js";import{isModelUpload as E,handleModelUpload as H}from"./modelUploadUtils.js";import L from"./Workflow.js";import{createToolFromGeometryType as U,findEditorItemForLayer as j,getServiceEditsFromWorkflowData as x,getServiceInfoForLayer as O,orderEditsByRelationshipDependencies as z,getFullTemplateForCreationInfo as W,getServiceLayersById as D,startCreatingNewFeature as R,findLayerInfo as G,updateGraphicSymbolWhenRequired as N,isTerminalUpdateEventType as K,getVisualVariableAttributes as Z,startUpdatingFeatureGeometry as q,createWorkflowSteps as B,avoidFeatureTemplateSelectionWithOnlyOneItem as J,getCreationAttributes as Q,setUpSketchCreateWatchers as X,setRelationshipFields as Y,prepareAttachmentsForCreateFeaturesWorkflow as $,showProgressCursor as ee,setVisualVariablesAndElevationInfoForUpdate as te,visualVariableInteractiveUpdate as ae}from"./workflowUtils.js";import ie from"../FeatureForm/FeatureFormViewModel.js";import re from"../Sketch/SketchViewModel.js";var se;const oe=Symbol(),ne=Symbol(),le=Symbol(),de=Symbol(),ce={point:["point"],multipoint:["multipoint"],polygon:["polygon","freehandPolygon","rectangle","circle"],polyline:["polyline","freehandPolyline"],mesh:[],multipatch:[]};let ue=se=class extends L{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._webStyleCache=new Map,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._featureFormViewModel=new ie,this._sketchLayer=null,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._isActive=!0}initialize(){this.isNested&&(this._isActive=!1),this._initializeSketchViewModel()}destroy(){this._sketchViewModel.destroy()}get featureFormViewModel(){return this._featureFormViewModel}get hasPendingEdits(){if(this.pendingFeatures.some(e=>!!this.data.getEditsForPendingFeature(e)?.modified))return!0;const{creationInfo:e,upload:t}=this.data,{activeComponent:a,createGraphic:i}=this._sketchViewModel,r=i?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==a?.type&&"draw-3d"!==a?.type)&&a.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get hasPreviousStep(){return this._stepIndex>0||"update-pending"===this.createFeatureState&&!!this.data.selectedPendingFeature&&!this.parent&&!E(this.data.creationInfo)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const{_sketchViewModel:a}=this,i=e.layer.geometryType,r=a.createGraphic;if("mesh"===i){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then(e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage});const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(r,e):void 0}const{activeCreateToolDrawMode:s,activeTool:o}=a;return k("rectangle"===o?"rectangle":"circle"===o?"circle":i,r?.geometry,s)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.length}get numPendingFeaturesExcludingHidden(){return this.pendingFeatures.filter(e=>this.data.isDisplayable(e)).length}get parent(){return this.data.parent}get parentLayer(){return this.parent?.data.editorItem.layer}get pendingFeatures(){return this.data.pendingFeatures}get keyboardCancellationEnabled(){return 0===this.numPendingFeatures}get reliesOnOwnerAdminPrivileges(){return this.data.editorItem?.capabilities.create.reliesOnOwnerAdminPrivileges??!1}get shouldShowAttachments(){return(this.data.selectedPendingFeature&&this.data.editorItem?.capabilities.create.attachments.enabled)??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}get availableCreateTools(){const e=this.data.creationInfo?.layer.geometryType,t=this.data.viewModel.view;if(!e)return[];if(this.data.creationInfo?.maxFeatures&&this.data.creationInfo.maxFeatures<=this.numPendingFeatures)return[];if(v(this.data.fullTemplate)){const{tool:t}=U(e,this.data.fullTemplate);return[t]}return"2d"!==t?.type&&"multipoint"===e?[]:[...ce[e]]}get _attachmentsActive(){const e=this.data.viewModel.attachmentsViewModel.mode,t=this.stepId;return this.shouldShowAttachments&&("add"===e||"edit"===e||"adding-attachment"===t||"editing-attachment"===t)}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&await this._updatingHandles.addPromise(this._setUpCreatingFeaturesStep())}exit(){this._isActive=!1,this.removeHandles([le])}async updatePendingFeature(e){if(e!==this.data.selectedPendingFeature)return this._sketchViewModel.cancel(),this._startUpdating({feature:e})}async start(){return await super.start(),M(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}async save(){const{featureFormViewModel:e}=this;if(e.pendingSubtypeChoice)return;e.submit(),this._stashValidationState();const t=this.data.selectedPendingFeature,a=this._hasValidationErrors(t)?t:this.data.pendingFeatures.find(e=>this._hasValidationErrors(e));return a?(await this._startUpdating({feature:a}),void e?.submit()):super.save()}back(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive||this.parent?super.back(e):this._clearSelectedFeature()}previous(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive?super.previous(e):this._clearSelectedFeature()}cancelFeature(e){this.data.isSharedTemplateWorkflow?o.getLogger(this).warn("Cannot cancel individual features created by shared templates."):(this.data.removePendingFeature(e),this.sketchViewModel.removeGraphic(e))}static create(e){const{addAttachmentsCallback:t,applyEdits:a,applyEditsFeatureService:i,isNested:r,creationInfo:s,parent:o,snappingManager:n,startAt:l,viewModel:d}=e,c=e.sketchOptions??new A,u=s?.layer,h=u?j(d.editorItems,u):void 0,p=new se({data:new T({creationInfo:s,editorItem:h,parent:o,sketchOptions:c,snappingManager:n,viewModel:d}),isNested:r,onCommit:async e=>{const{creationInfo:r}=e;if(!r)return;p._sketchViewModel.cancel();const s=e.pendingFeatures.toArray(),{layer:o}=r,n=o.capabilities?.editing.supportsGlobalId&&"globalIdField"in o,l=p._attachmentFileInfos,{fullTemplate:c}=e,u=x(p.data),h=F(c)&&u;if(n){if(fe(s),h){let t=ge(u,l);const a=await O(o,d.view);a&&(t=z({edits:t,serviceInfo:a,view:d.view,findOriginalFeature:t=>e.getEditsForPendingFeature(t)?.initialFeature??t})),await i(c.featureService,t,{globalIdUsed:!0,gdbVersion:c.layer.gdbVersion??void 0})}else{const e=we(s,l);await a(o,e,{globalIdUsed:!0})}return}const m=h?await i(c.featureService,u,{gdbVersion:c.layer.gdbVersion??void 0}):[await a(o,{addFeatures:s})];m&&l.size>0&&await Promise.all(m.map(e=>{if(e?.addFeatureResults)return t(o,me(s,e.addFeatureResults,o,l))}))}});return p._set("steps",this._createWorkflowSteps(p,l)),p}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",i(()=>e.effect=t)}const t=e.opacity;return e.opacity=.7,i(()=>e.opacity=t)}async _initializeFullTemplateAndExecutorInfo(e){const{creationInfo:t}=e,{view:a}=e.viewModel;if(!t||!a)return null;const i=await W(t,a);if(e.fullTemplate=i,i&&F(i)){const{createTemplateExecutor:r}=await import("../../editing/sharedTemplates/executor/createTemplateExecutor.js"),s={completionResults:[],executor:await r(i),serviceLayersById:await D(t.layer,a)};e.templateExecutorInfo=s}return i}async _startCreating(){this.removeHandles(ne);const{data:e}=this;if(!e.creationInfo)return;const t=this.data.creationInfo?.maxFeatures;if(t&&this.numPendingFeatures>=t)return this.sketchViewModel.cancel(),void(this.numPendingFeatures&&await this._startUpdating({feature:this.pendingFeatures.at(-1)}));this.createFeatureState="create-new",await R(this._sketchViewModel,this._sketchLayer,e,this._webStyleCache)}async _clearSelectedFeature(){const e=this._featureFormViewModel.pendingSubtypeChoice;e&&(e.resolve("undo"),await e.promise),this._stashValidationState(),this.sketchViewModel.cancel(),this.data.selectedPendingFeature=null,this._featureFormHandle=n(this._featureFormHandle),this._featureFormViewModel.feature=null;const t=this.data.viewModel.attachmentsViewModel;"add"!==t.mode&&"edit"!==t.mode||await(this.data.viewModel.activeWorkflow?.previous())}_stashValidationState(){const e=this._featureFormViewModel.feature,t=e&&this.data.getEditsForPendingFeature(e);t&&(t.submittable=this._featureFormViewModel.submittable)}async _selectFeatureForUpdate({feature:e,initialFeature:t=e}){this._stashValidationState();const{data:a,pendingFeatures:i,_webStyleCache:s}=this;i.includes(e)||a.addPendingFeature(e,t),a.selectedPendingFeature=e;const{_featureFormViewModel:o,_sketchViewModel:l}=this,{creationInfo:d,viewModel:c}=a,{attachmentsViewModel:h,layerInfos:p,view:m}=c;if(!m||!d)return;n(this._featureFormHandle);const f=e.sourceLayer,w=G(p,f),g=w?.formTemplate,y=m.spatialReference;o.set({editType:"INSERT",feature:e,formTemplate:g,spatialReference:y,map:m.map}),"add"!==h.mode&&"edit"!==h.mode||await(c.activeWorkflow?.previous()),h.graphic=e,h.fileInfos.removeAll(),h.mode="view";(this._attachmentFileInfos.get(e)||[]).forEach(({file:e,form:t})=>h.addFile(e,t)),await N(e,s,"2d"===m.type?m.scale:null);const v=a.getEditsForPendingFeature(e);this._featureFormHandle=r([o.on("value-change",async({fieldName:t,value:a})=>{if(v?.updateAttributes(o.getValues()),I(a)){const e=this._visualVariableAttributes;e.size&&!e.size.isUpdatingInteractively&&t===e.size.field&&e.size.setInitialValue(a),e.rotation&&!e.rotation.isUpdatingInteractively&&t===e.rotation.field&&e.rotation.setInitialValue(a)}await N(e,s,"2d"===m.type?m.scale:null)}),l.on(["update","undo","redo"],e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&K(e.toolEventInfo.type))&&o.notifyFeatureGeometryChanged()}),u(()=>o.feature?.sourceLayer,t=>e.sourceLayer=t),u(()=>[o.feature,o.submittable],()=>this._stashValidationState())]),this.createFeatureState="update-pending"}async _startUpdating({feature:e,initialFeature:t=e}){await this._selectFeatureForUpdate({feature:e,initialFeature:t});const{_sketchLayer:a,_sketchViewModel:i,data:r}=this,{creationInfo:s,viewModel:o}=r,{view:n}=o;if(!n||!s)return;const l=e.sourceLayer??s.layer;return M(l)?void 0:(this._visualVariableAttributes=Z(e),q({graphic:e,sketchLayer:a,sketchViewModel:i,sourceLayer:l,visualVariables:this._visualVariableAttributes,webStyleCache:this._webStyleCache}))}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=B(["awaiting-feature-creation-info","creating-features","adding-attachment","editing-attachment"],t,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){const{creationInfo:t,viewModel:i}=a,{view:r}=i;r&&(E(t)?e.addHandles(await H({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&e.addHandles(i.restrictFeatureTemplatesViewModelToLayer(t.layer),this.id),e.addHandles(i.featureTemplatesViewModel.on("select",({item:t})=>{t&&(a.creationInfo={...a.creationInfo,layer:t.layer,template:t.template},e.next())}),this.id)))},async tearDown(){e.removeHandles(this.id)}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([le,oe,ne,de]),i.attachmentsViewModel.fileInfos.removeAll(),e._attachmentFileInfos.clear())}}),"adding-attachment":()=>({id:"adding-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}})});return J(a,i)}static _configureSketchViewModel(e){const{data:t,_sketchLayer:a,_sketchViewModel:s,_webStyleCache:o}=e,{creationInfo:n,viewModel:l}=t,{view:c}=l,p=[];if(!c)return i();if("2d"===c.type){n&&p.push(e._fadeExistingFeatures(n.layer));const t=d((e,t)=>Promise.all(e.map(e=>N(e,o,t))));p.push(u(()=>c.scale,e=>t(a.graphics,e)))}const m=Q(t.fullTemplate,n?.attributeOverrides),f=u(()=>s.createGraphic,a=>{a&&!e.hasHandles(ne)&&e._updatingHandles.addPromise(X({creationAttributes:m,data:t,sketchViewModel:s,view:c,webStyleCache:o}).then(t=>e.addHandles(t,ne)))}),w=async t=>{if("cancel"!==t.state&&"complete"!==t.state||e.removeHandles(ne),"cancel"===t.state&&null!==c.activeTool&&c.activeTool!==e.sketchViewModel.activeComponent&&(await e._waitForActiveToolCleared(),await e._startCreating()),"complete"===t.state&&t.graphic){const a=await e._processEdits(t.graphic,{scale:"2d"===c.type?c.scale:null,useSourceLayer:!0,webStyleCache:e._webStyleCache});a&&(await e._waitForActiveToolCleared(),await e._startUpdating({feature:a}))}},g=async i=>{const{attachmentsViewModel:r}=l,{_featureFormViewModel:o}=e;if(i.graphics.length>1)return void await e._clearSelectedFeature();const d=i.graphics[0];if("complete"===i.state){const{submittable:t}=o;if(e.numPendingFeatures!==n?.maxFeatures&&t||o.submit(),await e._clearSelectedFeature(),"add"!==r.mode&&"edit"!==r.mode||await(l.activeWorkflow?.previous()),!i.aborted&&c.activeTool===e.sketchViewModel.activeComponent&&(await e.sketchViewModel.wait(),"ready"===e.sketchViewModel.state&&"mesh"!==e.data.creationInfo?.layer.geometryType))return e._startCreating()}else{if("start"===i.state)return d.sourceLayer??=t.creationInfo?.layer,await te({graphic:d,sketchLayer:a,sketchViewModel:s,visualVariables:e._visualVariableAttributes,webStyleCache:e._webStyleCache,sourceLayer:d.sourceLayer}),e._selectFeatureForUpdate({feature:d});if("active"===i.state){await e.updatePendingFeature(d);const t=e._visualVariableAttributes;ae(c,d,i,t)&&await N(d,e._webStyleCache,"2d"===c.type?c.scale:null);const a=d.attributes,{rotation:r,size:s}=t;if(null!=r){const{field:e}=r;o.setValue(e,a[e])}if(null!=s){const{field:e}=s;o.setValue(e,a[e])}}}},y=async a=>{if(a.graphics.forEach(e=>{t.removePendingFeature(e)}),!E(t.creationInfo))return e._startCreating()},v=async()=>{if(E(t.creationInfo))try{await e.data.viewModel.back()}catch{}return e._startCreating()};p.push(f,s.on("create",t=>e._updatingHandles.addPromise(w(t))),s.on("update",t=>e._updatingHandles.addPromise(g(t))),s.on("delete",t=>e._updatingHandles.addPromise(y(t))),h(()=>!e.numPendingFeatures,()=>e._updatingHandles.addPromise(v())),i(()=>{s.cancel()}),he(s,a,t),...pe(t));const F=r(p);return s.addHandles(F),F}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new b({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide",title:"createFeaturesWorkflow-internal"}),r=new re({layer:a,creationMode:"single",sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:t});this._sketchLayer=a,this._sketchViewModel=r,t?.map.add(a),this.addHandles([i(()=>{t?.destroyed||t?.map.remove(a),a.destroy()}),u(()=>this.numPendingFeatures>0,e=>this._sketchViewModel.updateOnGraphicClick=e,p)])}_hasValidationErrors(e){return!!e&&(!this.data.isSubmittable(e)||!!this._featureFormViewModel.validateContingencyConstraints(e.attributes,{includeIncompleteViolations:!0})?.length)}async _processEdits(e,t){const{data:a,_featureFormViewModel:i,_sketchLayer:r}=this,{layerInfos:s,view:o}=a.viewModel;i.editType="INSERT",i.map=o?.map,i.spatialReference=o?.spatialReference;const{templateExecutorInfo:n}=a;if(!n){const t=e.clone();return t.geometry=null,await this._addAndInitializeEdits(e,t),e}r.remove(e);const{executor:l}=n,d=l(e.geometry,"completion"),u=c(d)?await d:d;n.completionResults.push(u),Y(u.relationships),i.editType="INSERT",i.map=o?.map,i.spatialReference=o?.spatialReference,u.primary&&a.creationInfo?.attributeOverrides&&(u.primary.graphic.attributes={...u.primary.graphic.attributes,...a.creationInfo.attributeOverrides});for(const c of u.edits){let e=null;if(c.addFeatures)for(const a of c.addFeatures){const i=a.clone();i.geometry=null,null!=a.geometry&&(a.symbol=await V(a,t),r.add(a)),a.sourceLayer!==e?.layer&&(e=G(s,a.sourceLayer));const o=!!u.associationGraphics?.has(a);await this._addAndInitializeEdits(a,i,e,o)}}i.feature=null,await m(()=>!i.updating);return u.edits.reduce((e,t)=>e+(t.addFeatures?.length??0),0)>1?null:u.primary?.graphic}async _addAndInitializeEdits(e,t,a,i=!1){const{data:r,_featureFormViewModel:s}=this,{layerInfos:o}=r.viewModel,n=r.addPendingFeature(e,t,{isAssociation:i});a??=G(o,e.sourceLayer),s.feature=e,s.formTemplate=a?.formTemplate,await m(()=>!s.updating),n.submittable=s.submittable}async _setUpCreatingFeaturesStep(){if(this.hasHandles(le))return;const{data:e,sketchViewModel:s}=this,{creationInfo:o,viewModel:l}=e,{attachmentsViewModel:d,view:c}=l;if(!c||!o?.layer)throw new a("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");const{initialFeature:h,layer:m}=o,f=[],w=[];this._featureFormHandle=n(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},e.editorItem=j(l.editorItems,o.layer),o.template&&(null==e.fullTemplate&&await this._initializeFullTemplateAndExecutorInfo(e),w.push(i(()=>{e.templateExecutorInfo&&(e.templateExecutorInfo.completionResults=[])}))),s.allowDeleteKey=!e.isSharedTemplateWorkflow,$(d),f.push(u(()=>d.mode,e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}}));const g=ee(c);f.push(g);const y=M(o.layer),{template:F}=o,b=!F||_(F)||v(F)&&"feature"===F.type,I=y&&b;try{if(I){const a=h??new t({attributes:Q(e.fullTemplate,o.attributeOverrides),sourceLayer:m}),i=await this._processEdits(a);i&&await this._startUpdating({feature:i})}else f.push(se._configureSketchViewModel(this)),h?(E(o)&&o.geometryToPlace&&(h.attributes=Q(e.fullTemplate,o.attributeOverrides)),s.addGraphic(h),await this._startUpdating({feature:h})):await this._startCreating()}finally{g.remove()}const V=i(()=>{for(const t of e.pendingFeatures)s.removeGraphic(t),e.removePendingFeature(t)}),k=u(()=>c?.timeZone,e=>{this._featureFormViewModel.timeZone=e,this.data.timeZone=e},p),S=i(()=>{E(o)&&l.cancelWorkflow({warnIfNoWorkflow:!1})});this._featureFormHandle&&f.push(this._featureFormHandle),this.addHandles(f,this._handleKeys.beforeCommit),this.addHandles(w,this._handleKeys.afterCommit),this.addHandles([i(()=>d.fileInfos.removeAll()),r(f),r(w),S,V,k],le)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(s(t),de),await m(()=>null==e?.activeTool,t.signal),t.abort()}};function he(e,t,a){let s=null;const o=()=>e.snappingOptions.featureSources,n=()=>(s=new C({layer:t}),o().add(s),s),d=()=>{null!=s&&(o().remove(s),s=l(s))};return r([u(()=>{const e=a.creationInfo?.layer,t=o().find(t=>t.layer===e);return{hasFeatureLayerSource:!!t,enabled:t?.enabled??!1}},({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return d();s??=n(),s.enabled=t},f),i(d)])}function pe(e){const t=e.viewModel.view;if(!t)return[];const a=[];if("3d"===t.type){const r=new S({view:t});a.push(u(()=>e.selectedPendingFeature,(e,t)=>{r.remove(e),r.add(t)}),i(()=>r.destroy()))}const r=new S({view:t,highlightName:P});return a.push(u(()=>e.temporaryHighlightFeature,e=>{r.removeAll(),r.add(e)}),i(()=>r.destroy())),a}function me(e,t,a,i){const r=[];return t.forEach((t,s)=>{if(!t.error){const o=e[s],n=i.get(o)||[];o.attributes[a.objectIdField]=t.objectId,n.forEach(({form:e})=>r.push({feature:o,attachment:e}))}}),r}function fe(e){for(const t of e){const{sourceLayer:e}=t;e&&"globalIdField"in e&&null!=e.globalIdField&&(t.attributes[e.globalIdField]??=w())}}function we(e,t){const a=[];if(!t||0===t.size)return{addFeatures:e};for(const[i,r]of t)for(const{file:e}of r)a.push({feature:i,attachment:{globalId:w(),data:e}});return a.length?{addFeatures:e,addAttachments:a}:{addFeatures:e}}function ge(e,t){return e.map(e=>{const{addFeatures:a}=e;if(!a||0===a.length)return e;const i=[];for(const r of a){const e=t.get(r);if(e)for(const{file:t}of e)i.push({feature:r,attachment:{globalId:w(),data:t}})}return i.length?{...e,addAttachments:i}:e})}e([g()],ue.prototype,"createFeatureState",void 0),e([g()],ue.prototype,"data",void 0),e([g({constructOnly:!0})],ue.prototype,"isNested",void 0),e([g()],ue.prototype,"featureFormViewModel",null),e([g()],ue.prototype,"hasPendingEdits",null),e([g()],ue.prototype,"hasPreviousStep",null),e([g()],ue.prototype,"_getDrawMeshHelpMessage",void 0),e([g()],ue.prototype,"helpMessage",null),e([g()],ue.prototype,"layer",null),e([g()],ue.prototype,"parent",null),e([g()],ue.prototype,"parentLayer",null),e([g()],ue.prototype,"keyboardCancellationEnabled",null),e([g()],ue.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],ue.prototype,"shouldShowAttachments",null),e([g()],ue.prototype,"shouldAllowAttachmentEditing",null),e([g()],ue.prototype,"sketchViewModel",null),e([g()],ue.prototype,"availableCreateTools",null),e([g()],ue.prototype,"_attachmentsActive",null),ue=se=e([y("esri.widgets.Editor.CreateFeaturesWorkflow")],ue);const ye=ue;export{ye as default};
5
+ import{__decorate as e}from"tslib";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as i,handlesGroup as r,abortHandle as s}from"../../core/handleUtils.js";import"../../core/has.js";import o from"../../core/Logger.js";import{removeMaybe as n,destroyMaybe as l}from"../../core/maybe.js";import{debounce as d,isPromiseLike as c}from"../../core/promiseUtils.js";import{watch as u,when as h,initial as p,whenOnce as m,syncAndInitial as f}from"../../core/reactiveUtils.js";import{generateBracedUUID as w}from"../../core/uuid.js";import{property as g}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import{isSharedTemplateOrMetadata as v,isSharedTemplate as F,isStandardFeatureTemplate as _}from"../../editing/templateUtils.js";import b from"../../layers/GraphicsLayer.js";import{isTable as M}from"../../layers/support/layerUtils.js";import{isNumber as I}from"../../support/guards.js";import{getDisplayedSymbol as V}from"../../symbols/support/symbolUtils.js";import{getDrawHelpMessage as k}from"../../views/draw/support/helpMessageUtils.js";import S from"../../views/draw/support/HighlightHelper.js";import A from"../../views/interactive/sketch/SketchOptions.js";import C from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{temporaryHighlightName as P}from"../../views/support/HighlightDefaults.js";import T from"./CreateFeaturesWorkflowData.js";import{isModelUpload as E,handleModelUpload as H}from"./modelUploadUtils.js";import L from"./Workflow.js";import{createToolFromGeometryType as U,findEditorItemForLayer as j,getServiceEditsFromWorkflowData as x,getServiceInfoForLayer as O,orderEditsByRelationshipDependencies as z,getFullTemplateForCreationInfo as W,getServiceLayersById as D,startCreatingNewFeature as R,findLayerInfo as G,updateGraphicSymbolWhenRequired as N,isTerminalUpdateEventType as K,getVisualVariableAttributes as Z,startUpdatingFeatureGeometry as q,createWorkflowSteps as B,avoidFeatureTemplateSelectionWithOnlyOneItem as J,getCreationAttributes as Q,setUpSketchCreateWatchers as X,setRelationshipFields as Y,prepareAttachmentsForCreateFeaturesWorkflow as $,showProgressCursor as ee,setVisualVariablesAndElevationInfoForUpdate as te,visualVariableInteractiveUpdate as ae}from"./workflowUtils.js";import ie from"../FeatureForm/FeatureFormViewModel.js";import re from"../Sketch/SketchViewModel.js";var se;const oe=Symbol(),ne=Symbol(),le=Symbol(),de=Symbol(),ce={point:["point"],multipoint:["multipoint"],polygon:["polygon","freehandPolygon","rectangle","circle"],polyline:["polyline","freehandPolyline"],mesh:[],multipatch:[]};let ue=se=class extends L{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._webStyleCache=new Map,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._featureFormViewModel=new ie,this._sketchLayer=null,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._isActive=!0}initialize(){this.isNested&&(this._isActive=!1),this._initializeSketchViewModel()}destroy(){this._sketchViewModel.destroy()}get featureFormViewModel(){return this._featureFormViewModel}get hasPendingEdits(){if(this.pendingFeatures.some(e=>!!this.data.getEditsForPendingFeature(e)?.modified))return!0;const{creationInfo:e,upload:t}=this.data,{activeComponent:a,createGraphic:i}=this._sketchViewModel,r=i?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==a?.type&&"draw-3d"!==a?.type)&&a.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get hasPreviousStep(){return this._stepIndex>0||"update-pending"===this.createFeatureState&&!!this.data.selectedPendingFeature&&!this.parent&&!E(this.data.creationInfo)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const{_sketchViewModel:a}=this,i=e.layer.geometryType,r=a.createGraphic;if("mesh"===i){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then(e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage});const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(r,e):void 0}const{activeCreateToolDrawMode:s,activeTool:o}=a;return k("rectangle"===o||"circle"===o?o:i,r?.geometry,s)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.length}get numPendingFeaturesExcludingHidden(){return this.pendingFeatures.filter(e=>this.data.isDisplayable(e)).length}get parent(){return this.data.parent}get parentLayer(){return this.parent?.data.editorItem.layer}get pendingFeatures(){return this.data.pendingFeatures}get keyboardCancellationEnabled(){return 0===this.numPendingFeatures}get reliesOnOwnerAdminPrivileges(){return this.data.editorItem?.capabilities.create.reliesOnOwnerAdminPrivileges??!1}get shouldShowAttachments(){return(this.data.selectedPendingFeature&&this.data.editorItem?.capabilities.create.attachments.enabled)??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}get availableCreateTools(){const e=this.data.creationInfo?.layer.geometryType,t=this.data.viewModel.view;if(!e)return[];if(this.data.creationInfo?.maxFeatures&&this.data.creationInfo.maxFeatures<=this.numPendingFeatures)return[];if(v(this.data.fullTemplate)){const{tool:t}=U(e,this.data.fullTemplate);return[t]}return"2d"!==t?.type&&"multipoint"===e?[]:[...ce[e]]}get _attachmentsActive(){const e=this.data.viewModel.attachmentsViewModel.mode,t=this.stepId;return this.shouldShowAttachments&&("add"===e||"edit"===e||"adding-attachment"===t||"editing-attachment"===t)}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&await this._updatingHandles.addPromise(this._setUpCreatingFeaturesStep())}exit(){this._isActive=!1,this.removeHandles([le])}async updatePendingFeature(e){if(e!==this.data.selectedPendingFeature)return this._sketchViewModel.cancel(),this._startUpdating({feature:e})}async start(){return await super.start(),M(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}async save(){const{featureFormViewModel:e}=this;if(e.pendingSubtypeChoice)return;e.submit(),this._stashValidationState();const t=this.data.selectedPendingFeature,a=this._hasValidationErrors(t)?t:this.data.pendingFeatures.find(e=>this._hasValidationErrors(e));return a?(await this._startUpdating({feature:a}),void e?.submit()):super.save()}back(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive||this.parent?super.back(e):this._clearSelectedFeature()}previous(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive?super.previous(e):this._clearSelectedFeature()}cancelFeature(e){this.data.isSharedTemplateWorkflow?o.getLogger(this).warn("Cannot cancel individual features created by shared templates."):(this.data.removePendingFeature(e),this.sketchViewModel.removeGraphic(e))}static create(e){const{addAttachmentsCallback:t,applyEdits:a,applyEditsFeatureService:i,isNested:r,creationInfo:s,parent:o,snappingManager:n,startAt:l,viewModel:d}=e,c=e.sketchOptions??new A,u=s?.layer,h=u?j(d.editorItems,u):void 0,p=new se({data:new T({creationInfo:s,editorItem:h,parent:o,sketchOptions:c,snappingManager:n,viewModel:d}),isNested:r,onCommit:async e=>{const{creationInfo:r}=e;if(!r)return;p._sketchViewModel.cancel();const s=e.pendingFeatures.toArray(),{layer:o}=r,n=o.capabilities?.editing.supportsGlobalId&&"globalIdField"in o,l=p._attachmentFileInfos,{fullTemplate:c}=e,u=x(p.data),h=F(c)&&u;if(n){if(fe(s),h){let t=ge(u,l);const a=await O(o,d.view);a&&(t=z({edits:t,serviceInfo:a,view:d.view,findOriginalFeature:t=>e.getEditsForPendingFeature(t)?.initialFeature??t})),await i(c.featureService,t,{globalIdUsed:!0,gdbVersion:c.layer.gdbVersion??void 0})}else{const e=we(s,l);await a(o,e,{globalIdUsed:!0})}return}const m=h?await i(c.featureService,u,{gdbVersion:c.layer.gdbVersion??void 0}):[await a(o,{addFeatures:s})];m&&l.size>0&&await Promise.all(m.map(e=>{if(e?.addFeatureResults)return t(o,me(s,e.addFeatureResults,o,l))}))}});return p._set("steps",this._createWorkflowSteps(p,l)),p}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",i(()=>e.effect=t)}const t=e.opacity;return e.opacity=.7,i(()=>e.opacity=t)}async _initializeFullTemplateAndExecutorInfo(e){const{creationInfo:t}=e,{view:a}=e.viewModel;if(!t||!a)return null;const i=await W(t,a);if(e.fullTemplate=i,i&&F(i)){const{createTemplateExecutor:r}=await import("../../editing/sharedTemplates/executor/createTemplateExecutor.js"),s={completionResults:[],executor:await r(i),serviceLayersById:await D(t.layer,a)};e.templateExecutorInfo=s}return i}async _startCreating(){this.removeHandles(ne);const{data:e}=this;if(!e.creationInfo)return;const t=this.data.creationInfo?.maxFeatures;if(t&&this.numPendingFeatures>=t)return this.sketchViewModel.cancel(),void(this.numPendingFeatures&&await this._startUpdating({feature:this.pendingFeatures.at(-1)}));this.createFeatureState="create-new",await R(this._sketchViewModel,this._sketchLayer,e,this._webStyleCache)}async _clearSelectedFeature(){const e=this._featureFormViewModel.pendingSubtypeChoice;e&&(e.resolve("undo"),await e.promise),this._stashValidationState(),this.sketchViewModel.cancel(),this.data.selectedPendingFeature=null,this._featureFormHandle=n(this._featureFormHandle),this._featureFormViewModel.feature=null;const t=this.data.viewModel.attachmentsViewModel;"add"!==t.mode&&"edit"!==t.mode||await(this.data.viewModel.activeWorkflow?.previous())}_stashValidationState(){const e=this._featureFormViewModel.feature,t=e&&this.data.getEditsForPendingFeature(e);t&&(t.submittable=this._featureFormViewModel.submittable)}async _selectFeatureForUpdate({feature:e,initialFeature:t=e}){this._stashValidationState();const{data:a,pendingFeatures:i,_webStyleCache:s}=this;i.includes(e)||a.addPendingFeature(e,t),a.selectedPendingFeature=e;const{_featureFormViewModel:o,_sketchViewModel:l}=this,{creationInfo:d,viewModel:c}=a,{attachmentsViewModel:h,layerInfos:p,view:m}=c;if(!m||!d)return;n(this._featureFormHandle);const f=e.sourceLayer,w=G(p,f),g=w?.formTemplate,y=m.spatialReference;o.set({editType:"INSERT",feature:e,formTemplate:g,spatialReference:y,map:m.map}),"add"!==h.mode&&"edit"!==h.mode||await(c.activeWorkflow?.previous()),h.graphic=e,h.fileInfos.removeAll(),h.mode="view";(this._attachmentFileInfos.get(e)||[]).forEach(({file:e,form:t})=>h.addFile(e,t)),await N(e,s,"2d"===m.type?m.scale:null);const v=a.getEditsForPendingFeature(e);this._featureFormHandle=r([o.on("value-change",async({fieldName:t,value:a})=>{if(v?.updateAttributes(o.getValues()),I(a)){const e=this._visualVariableAttributes;e.size&&!e.size.isUpdatingInteractively&&t===e.size.field&&e.size.setInitialValue(a),e.rotation&&!e.rotation.isUpdatingInteractively&&t===e.rotation.field&&e.rotation.setInitialValue(a)}await N(e,s,"2d"===m.type?m.scale:null)}),l.on(["update","undo","redo"],e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&K(e.toolEventInfo.type))&&o.notifyFeatureGeometryChanged()}),u(()=>o.feature?.sourceLayer,t=>e.sourceLayer=t),u(()=>[o.feature,o.submittable],()=>this._stashValidationState())]),this.createFeatureState="update-pending"}async _startUpdating({feature:e,initialFeature:t=e}){await this._selectFeatureForUpdate({feature:e,initialFeature:t});const{_sketchLayer:a,_sketchViewModel:i,data:r}=this,{creationInfo:s,viewModel:o}=r,{view:n}=o;if(!n||!s)return;const l=e.sourceLayer??s.layer;return M(l)?void 0:(this._visualVariableAttributes=Z(e),q({graphic:e,sketchLayer:a,sketchViewModel:i,sourceLayer:l,visualVariables:this._visualVariableAttributes,webStyleCache:this._webStyleCache}))}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=B(["awaiting-feature-creation-info","creating-features","adding-attachment","editing-attachment"],t,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){const{creationInfo:t,viewModel:i}=a,{view:r}=i;r&&(E(t)?e.addHandles(await H({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&e.addHandles(i.restrictFeatureTemplatesViewModelToLayer(t.layer),this.id),e.addHandles(i.featureTemplatesViewModel.on("select",({item:t})=>{t&&(a.creationInfo={...a.creationInfo,layer:t.layer,template:t.template},e.next())}),this.id)))},async tearDown(){e.removeHandles(this.id)}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([le,oe,ne,de]),i.attachmentsViewModel.fileInfos.removeAll(),e._attachmentFileInfos.clear())}}),"adding-attachment":()=>({id:"adding-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}})});return J(a,i)}static _configureSketchViewModel(e){const{data:t,_sketchLayer:a,_sketchViewModel:s,_webStyleCache:o}=e,{creationInfo:n,viewModel:l}=t,{view:c}=l,p=[];if(!c)return i();if("2d"===c.type){n&&p.push(e._fadeExistingFeatures(n.layer));const t=d((e,t)=>Promise.all(e.map(e=>N(e,o,t))));p.push(u(()=>c.scale,e=>t(a.graphics,e)))}const m=Q(t.fullTemplate,n?.attributeOverrides),f=u(()=>s.createGraphic,a=>{a&&!e.hasHandles(ne)&&e._updatingHandles.addPromise(X({creationAttributes:m,data:t,sketchViewModel:s,view:c,webStyleCache:o}).then(t=>e.addHandles(t,ne)))}),w=async t=>{if("cancel"!==t.state&&"complete"!==t.state||e.removeHandles(ne),"cancel"===t.state&&null!==c.activeTool&&c.activeTool!==e.sketchViewModel.activeComponent&&(await e._waitForActiveToolCleared(),await e._startCreating()),"complete"===t.state&&t.graphic){const a=await e._processEdits(t.graphic,{scale:"2d"===c.type?c.scale:null,useSourceLayer:!0,webStyleCache:e._webStyleCache});a&&(await e._waitForActiveToolCleared(),await e._startUpdating({feature:a}))}},g=async i=>{const{attachmentsViewModel:r}=l,{_featureFormViewModel:o}=e;if(i.graphics.length>1)return void await e._clearSelectedFeature();const d=i.graphics[0];if("complete"===i.state){const{submittable:t}=o;if(e.numPendingFeatures!==n?.maxFeatures&&t||o.submit(),await e._clearSelectedFeature(),"add"!==r.mode&&"edit"!==r.mode||await(l.activeWorkflow?.previous()),!i.aborted&&c.activeTool===e.sketchViewModel.activeComponent&&(await e.sketchViewModel.wait(),"ready"===e.sketchViewModel.state&&"mesh"!==e.data.creationInfo?.layer.geometryType))return e._startCreating()}else{if("start"===i.state)return d.sourceLayer??=t.creationInfo?.layer,await te({graphic:d,sketchLayer:a,sketchViewModel:s,visualVariables:e._visualVariableAttributes,webStyleCache:e._webStyleCache,sourceLayer:d.sourceLayer}),e._selectFeatureForUpdate({feature:d});if("active"===i.state){await e.updatePendingFeature(d);const t=e._visualVariableAttributes;ae(c,d,i,t)&&await N(d,e._webStyleCache,"2d"===c.type?c.scale:null);const a=d.attributes,{rotation:r,size:s}=t;if(null!=r){const{field:e}=r;o.setValue(e,a[e])}if(null!=s){const{field:e}=s;o.setValue(e,a[e])}}}},y=async a=>{if(a.graphics.forEach(e=>{t.removePendingFeature(e)}),!E(t.creationInfo))return e._startCreating()},v=async()=>{if(E(t.creationInfo))try{await e.data.viewModel.back()}catch{}return e._startCreating()};p.push(f,s.on("create",t=>e._updatingHandles.addPromise(w(t))),s.on("update",t=>e._updatingHandles.addPromise(g(t))),s.on("delete",t=>e._updatingHandles.addPromise(y(t))),h(()=>!e.numPendingFeatures,()=>e._updatingHandles.addPromise(v())),i(()=>{s.cancel()}),he(s,a,t),...pe(t));const F=r(p);return s.addHandles(F),F}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new b({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide",title:"createFeaturesWorkflow-internal"}),r=new re({layer:a,creationMode:"single",sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:t});this._sketchLayer=a,this._sketchViewModel=r,t?.map.add(a),this.addHandles([i(()=>{t?.destroyed||t?.map.remove(a),a.destroy()}),u(()=>this.numPendingFeatures>0,e=>this._sketchViewModel.updateOnGraphicClick=e,p)])}_hasValidationErrors(e){return!!e&&(!this.data.isSubmittable(e)||!!this._featureFormViewModel.validateContingencyConstraints(e.attributes,{includeIncompleteViolations:!0})?.length)}async _processEdits(e,t){const{data:a,_featureFormViewModel:i,_sketchLayer:r}=this,{layerInfos:s,view:o}=a.viewModel;i.editType="INSERT",i.map=o?.map,i.spatialReference=o?.spatialReference;const{templateExecutorInfo:n}=a;if(!n){const t=e.clone();return t.geometry=null,await this._addAndInitializeEdits(e,t),e}r.remove(e);const{executor:l}=n,d=l(e.geometry,"completion"),u=c(d)?await d:d;n.completionResults.push(u),Y(u.relationships),i.editType="INSERT",i.map=o?.map,i.spatialReference=o?.spatialReference,u.primary&&a.creationInfo?.attributeOverrides&&(u.primary.graphic.attributes={...u.primary.graphic.attributes,...a.creationInfo.attributeOverrides});for(const c of u.edits){let e=null;if(c.addFeatures)for(const a of c.addFeatures){const i=a.clone();i.geometry=null,null!=a.geometry&&(a.symbol=await V(a,t),r.add(a)),a.sourceLayer!==e?.layer&&(e=G(s,a.sourceLayer));const o=!!u.associationGraphics?.has(a);await this._addAndInitializeEdits(a,i,e,o)}}i.feature=null,await m(()=>!i.updating);return u.edits.reduce((e,t)=>e+(t.addFeatures?.length??0),0)>1?null:u.primary?.graphic}async _addAndInitializeEdits(e,t,a,i=!1){const{data:r,_featureFormViewModel:s}=this,{layerInfos:o}=r.viewModel,n=r.addPendingFeature(e,t,{isAssociation:i});a??=G(o,e.sourceLayer),s.feature=e,s.formTemplate=a?.formTemplate,await m(()=>!s.updating),n.submittable=s.submittable}async _setUpCreatingFeaturesStep(){if(this.hasHandles(le))return;const{data:e,sketchViewModel:s}=this,{creationInfo:o,viewModel:l}=e,{attachmentsViewModel:d,view:c}=l;if(!c||!o?.layer)throw new a("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");const{initialFeature:h,layer:m}=o,f=[],w=[];this._featureFormHandle=n(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},e.editorItem=j(l.editorItems,o.layer),o.template&&(null==e.fullTemplate&&await this._initializeFullTemplateAndExecutorInfo(e),w.push(i(()=>{e.templateExecutorInfo&&(e.templateExecutorInfo.completionResults=[])}))),s.allowDeleteKey=!e.isSharedTemplateWorkflow,$(d),f.push(u(()=>d.mode,e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}}));const g=ee(c);f.push(g);const y=M(o.layer),{template:F}=o,b=!F||_(F)||v(F)&&"feature"===F.type,I=y&&b;try{if(I){const a=h??new t({attributes:Q(e.fullTemplate,o.attributeOverrides),sourceLayer:m}),i=await this._processEdits(a);i&&await this._startUpdating({feature:i})}else f.push(se._configureSketchViewModel(this)),h?(E(o)&&o.geometryToPlace&&(h.attributes=Q(e.fullTemplate,o.attributeOverrides)),s.addGraphic(h),await this._startUpdating({feature:h})):await this._startCreating()}finally{g.remove()}const V=i(()=>{for(const t of e.pendingFeatures)s.removeGraphic(t),e.removePendingFeature(t)}),k=u(()=>c?.timeZone,e=>{this._featureFormViewModel.timeZone=e,this.data.timeZone=e},p),S=i(()=>{E(o)&&l.cancelWorkflow({warnIfNoWorkflow:!1})});this._featureFormHandle&&f.push(this._featureFormHandle),this.addHandles(f,this._handleKeys.beforeCommit),this.addHandles(w,this._handleKeys.afterCommit),this.addHandles([i(()=>d.fileInfos.removeAll()),r(f),r(w),S,V,k],le)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(s(t),de),await m(()=>null==e?.activeTool,t.signal),t.abort()}};function he(e,t,a){let s=null;const o=()=>e.snappingOptions.featureSources,n=()=>(s=new C({layer:t}),o().add(s),s),d=()=>{null!=s&&(o().remove(s),s=l(s))};return r([u(()=>{const e=a.creationInfo?.layer,t=o().find(t=>t.layer===e);return{hasFeatureLayerSource:!!t,enabled:t?.enabled??!1}},({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return d();s??=n(),s.enabled=t},f),i(d)])}function pe(e){const t=e.viewModel.view;if(!t)return[];const a=[];if("3d"===t.type){const r=new S({view:t});a.push(u(()=>e.selectedPendingFeature,(e,t)=>{r.remove(e),r.add(t)}),i(()=>r.destroy()))}const r=new S({view:t,highlightName:P});return a.push(u(()=>e.temporaryHighlightFeature,e=>{r.removeAll(),r.add(e)}),i(()=>r.destroy())),a}function me(e,t,a,i){const r=[];return t.forEach((t,s)=>{if(!t.error){const o=e[s],n=i.get(o)||[];o.attributes[a.objectIdField]=t.objectId,n.forEach(({form:e})=>r.push({feature:o,attachment:e}))}}),r}function fe(e){for(const t of e){const{sourceLayer:e}=t;e&&"globalIdField"in e&&null!=e.globalIdField&&(t.attributes[e.globalIdField]??=w())}}function we(e,t){const a=[];if(!t||0===t.size)return{addFeatures:e};for(const[i,r]of t)for(const{file:e}of r)a.push({feature:i,attachment:{globalId:w(),data:e}});return a.length?{addFeatures:e,addAttachments:a}:{addFeatures:e}}function ge(e,t){return e.map(e=>{const{addFeatures:a}=e;if(!a||0===a.length)return e;const i=[];for(const r of a){const e=t.get(r);if(e)for(const{file:t}of e)i.push({feature:r,attachment:{globalId:w(),data:t}})}return i.length?{...e,addAttachments:i}:e})}e([g()],ue.prototype,"createFeatureState",void 0),e([g()],ue.prototype,"data",void 0),e([g({constructOnly:!0})],ue.prototype,"isNested",void 0),e([g()],ue.prototype,"featureFormViewModel",null),e([g()],ue.prototype,"hasPendingEdits",null),e([g()],ue.prototype,"hasPreviousStep",null),e([g()],ue.prototype,"_getDrawMeshHelpMessage",void 0),e([g()],ue.prototype,"helpMessage",null),e([g()],ue.prototype,"layer",null),e([g()],ue.prototype,"parent",null),e([g()],ue.prototype,"parentLayer",null),e([g()],ue.prototype,"keyboardCancellationEnabled",null),e([g()],ue.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],ue.prototype,"shouldShowAttachments",null),e([g()],ue.prototype,"shouldAllowAttachmentEditing",null),e([g()],ue.prototype,"sketchViewModel",null),e([g()],ue.prototype,"availableCreateTools",null),e([g()],ue.prototype,"_attachmentsActive",null),ue=se=e([y("esri.widgets.Editor.CreateFeaturesWorkflow")],ue);const ye=ue;export{ye 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{__decorate as e}from"tslib";import{unique as t,isSome as i}from"../../core/arrayUtils.js";import{createTask as r}from"../../core/asyncUtils.js";import a from"../../core/Collection.js";import{deprecatedFunction as o}from"../../core/deprecate.js";import s from"../../core/Error.js";import{EventedAccessor as n}from"../../core/Evented.js";import{abortHandle as l,makeHandle as p}from"../../core/handleUtils.js";import d from"../../core/Logger.js";import{destroyMaybe as c,abortMaybe as u,removeMaybe as h}from"../../core/maybe.js";import{throwIfAborted as w,createResolver as f}from"../../core/promiseUtils.js";import{watch as m,on as y,when as g,syncAndInitial as k,initial as v,sync as _,whenOnce as W}from"../../core/reactiveUtils.js";import{property as M}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import{subclass as F}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as T}from"../../core/support/UpdatingHandles.js";import{getTemplatesForLayers as V}from"../../editing/templateUtils.js";import{getGraphicLayer as b}from"../../graphic/graphicOriginUtils.js";import E from"../../layers/GraphicsLayer.js";import{isEditableLayer as S}from"../../layers/support/editableLayers.js";import{isFeatureLayer as A,isSubtypeGroupLayer as I,getOwningPortalUrl as L}from"../../layers/support/layerUtils.js";import{parseKnownArcGISOnlineDomain as U}from"../../portal/support/urlUtils.js";import C from"../../views/SelectionManager.js";import O from"../../views/interactive/sketch/SketchOptions.js";import{SnappingManager as j}from"../../views/interactive/snapping/SnappingManager.js";import P from"../../views/interactive/snapping/SnappingOptions.js";import{isSelectableLayer as R}from"../../views/support/selectionUtils.js";import H from"../Attachments/AttachmentsViewModel.js";import q from"./CreateFeaturesWorkflow.js";import G from"./UpdateFeaturesWorkflow.js";import x from"./UpdateWorkflow.js";import{getLayersFromWorkflow as D,isCreateFeaturesWorkflow as B,isUpdateRecordWorkflow as N,isUpdateFeaturesWorkflow as Q,isUpdateWorkflow as z,findEditorItemForLayerOrThrow as Z,assertSplitWorkflowCapabilities as $,fetchFullFeatures as J,makeMultipleSourceLayersError as K,findEditorItemForLayer as X,whenEditorLayerView as Y}from"./workflowUtils.js";import ee from"./support/EditorItem.js";import{makeTemplateGroupInfoForLayer as te}from"../FeatureTemplates/featureTemplatesUtils.js";import ie from"../FeatureTemplates/FeatureTemplatesViewModel.js";import re from"../Sketch/SketchViewModel.js";import ae from"../Spinner/SpinnerViewModel.js";import{goTo as oe}from"../support/goToUtils.js";import{isFeatureItem as se,isLayerItem as ne}from"../support/SelectionList/selectionListUtils.js";import le from"../support/SelectionList/SelectionListViewModel.js";import pe from"../support/SelectionToolbar/SelectionToolbarViewModel.js";function de(e,t){return e?.find(e=>e.layer===t)}let ce=class extends n{constructor(e){super(e),this._queuedSelectionTool=null,this._sketchEventListenerHandle=null,this._sketchGraphicsLayer=new E({listMode:"hide",internal:!0,title:"Editor sketch layer"}),this._snappingManager=null,this._templatesByLayer=new Map,this._updateItemsTask=null,this._updateTemplatesTask=null,this._updatingHandles=new T,this._featureTemplatesViewModelIsRestricted=!1,this.activeWorkflow=null,this._activityQueue=new a,this.editorItems=new a,this.failures=[],this.hideTemplatesForInactiveLayers=!1,this.attachmentsViewModel=new H({capabilities:{editing:!0}}),this.featureTemplatesViewModel=new ie({disabledItemFunction:({layer:e})=>this._itemIsSuspended(e)}),this.layerInfos=null,this.ownSketchViewModel=new re({layer:this._sketchGraphicsLayer}),this.selectionListViewModel=new le,this.selectionManager=new C,this.selectionToolbarViewModel=new pe({continuousSelectionEnabled:!0,defaultOperationType:"replace",persistSelection:!1,returnGeometry:!1}),this.sketchOptions=new O,this.snappingOptions=new P({attributeRulesEnabled:!0}),this.spinnerViewModel=new ae,this.pageStack=[],this.showDiscardEditsPrompt=()=>Promise.resolve(!0),this._candidateCommitted=!1,this.back=async()=>{if("viewing-selection-list"===this.state)return this.selectionListViewModel.filterText=void 0,void this.effectiveSelectionManager.clear();this.canGoBack&&(this.activeWorkflow?.hasPreviousStep?await this.activeWorkflow.back(this.showDiscardEditsPrompt):await this._cancelWorkflow({force:!this.hasPendingEdits}))},this.saveWorkflow=async()=>await(this.activeWorkflow?.save()),this.selectFeature=(e,t=!1)=>{const i=this.activeWorkflow;this._candidateCommitted||"update"!==i?.type||(i.data.rootFeature=e,t&&(i.next(),this._candidateCommitted=!0))}}initialize(){this.addHandles([m(()=>{const e=this.view,t=e?.map?.editableLayers.toArray(),i=e?.allLayerViews,r=i?.filter(e=>!!t?.includes(e.layer));return[t,r,this.layerInfos]},()=>this._updateEditorItems(),k),m(()=>this.hideTemplatesForInactiveLayers,()=>this.syncFeatureTemplates()),m(()=>this._selectionSources,()=>this._syncSelectionSources(),v),y(()=>this.activeWorkflow,"cancel",()=>this.emit("workflow-cancel")),y(()=>this.activeWorkflow,"commit",()=>this.emit("workflow-commit")),y(()=>this.activeWorkflow,"complete",()=>{this.emit("workflow-commit"),this._set("activeWorkflow",null)}),g(()=>!this.activeWorkflow&&this._queuedSelectionTool,()=>this._queuedSelectionTool&&this.selectionToolbarViewModel.activateTool(this._queuedSelectionTool)),m(()=>this.activeWorkflow,e=>this.selectionManager.showHighlight=!e),g(()=>this.view?.map,e=>e.add(this._sketchGraphicsLayer),v),y(()=>this.editorItems,"change",()=>this._afterEditorItemsChange()),m(()=>[this.canCreate,this.canUpdateVisible],()=>this._afterEditorItemsChange()),m(()=>this.page,(e,t)=>{const i=[...this.pageStack];if(-1===i.indexOf(e))i.push(e);else for(;i.length&&i.at(-1)!==e;)i.pop();this.pageStack=i},k),g(()=>"awaiting-update-feature-candidate"===this.state,()=>this._candidateCommitted=!1),y(()=>this.featureTemplatesViewModel,"select",async({item:e,oldItem:t})=>{const{activeWorkflow:i}=this;if(i){if("update"===i.type&&"awaiting-feature-creation-info"===i.activeWorkflow?.stepId)return;try{await this.cancelWorkflow({force:!this.hasPendingEdits})}catch{return void this.featureTemplatesViewModel.select(t,{emit:!1})}}if(!e)return;const r={layer:e.layer,template:e.template};if(e.supportsUpload)return this.featureTemplatesViewModel.select(t,{emit:!1}),this.startCreateFeaturesWorkflow(r);await this.startCreateFeaturesWorkflowAtFeatureCreation(r)}),m(()=>[this.view,this.featureTemplatesViewModel],([e,t])=>{t.view=e},k),y(()=>this.view,"key-down",e=>{"Escape"===e.key&&this.activeWorkflow?.keyboardCancellationEnabled&&(e.stopPropagation(),this.back())}),y(()=>this.sketchViewModel,["create","delete","update"],e=>{const{activeWorkflow:t}=this,i="update"===t?.type,r=D(t),a=i?t?.activeWorkflow?.parentLayer??void 0:void 0,o=`sketch-${e.type}`;this.emit(o,{type:o,detail:e,layer:r[0],layers:r,parentLayer:a})},_),m(()=>this.view,e=>{if(this._snappingManager=c(this._snappingManager),!e)return;const t=this.snappingOptions;this._snappingManager=new j({view:e,options:t}),this.ownSketchViewModel.snappingManager=this._snappingManager},k),m(()=>this.snappingOptions,e=>{this._snappingManager&&(this._snappingManager.options=e)},k),y(()=>this.selectionToolbarViewModel,"complete",e=>this._onSelectionComplete(e)),m(()=>({view:this.view,selectionManager:this.effectiveSelectionManager,selectionListViewModel:this.selectionListViewModel,selectionToolbarViewModel:this.selectionToolbarViewModel}),({view:e,selectionManager:t,selectionListViewModel:i,selectionToolbarViewModel:r})=>{t.view=e,i.view=e,r.view=e},k),m(()=>this.effectiveSelectionManager,e=>{this.selectionListViewModel.selectionManager=e,this.selectionToolbarViewModel.selectionManager=e},k)])}destroy(){this._cancelWorkflow({warnIfNoWorkflow:!1}).then(()=>{this.view?.map?.remove(this._sketchGraphicsLayer),this.view=null}),this._updateItemsTask=u(this._updateItemsTask),this._updatingHandles.destroy(),this._sketchEventListenerHandle=h(this._sketchEventListenerHandle),this.selectionListViewModel?.destroy(),this.selectionToolbarViewModel?.destroy(),this.selectionManager.destroy()}get _featureTemplatesLayersAndTables(){const e=new a;for(const t of this.editorItems){const i=this.hideTemplatesForInactiveLayers&&!t.visible;t.supportsCreateFeaturesWorkflow&&!i&&e.push(t.layer)}return e}get _selectionSources(){const e=new a;for(const t of this.editorItems)R(t.layer)&&t.supportsUpdateWorkflow&&t.visible&&e.push(t.layer);return e}get activeFeatureCount(){const e=this.activeLeafWorkflow;return B(e)?e.pendingFeatures.length:N(e)&&e.data.edits.feature?1:Q(e)?e.data.features.length:0}get activeLeafWorkflow(){const e=this.activeWorkflow;return e&&z(e)?e.activeWorkflow??e:e}get canCreate(){return this.editorItems.some(e=>e.supportsCreateFeaturesWorkflow)}get canCreateVisible(){return!!this.featureTemplatesLayers.length}get canUpdate(){return this.editorItems.some(e=>e.supportsUpdateWorkflow)}get canUpdateVisible(){return this.editorItems.some(e=>e.supportsUpdateWorkflow&&e.visible)}get featureTemplatesLayers(){return this._featureTemplatesLayersAndTables.filter(e=>"scene"===e.type||!e.isTable)}get effectiveSelectionManager(){return this.selectionManager}get featureFormViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeFeatureFormViewModel:"create-features"===e?.type?e.featureFormViewModel:null}get formViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeFeatureFormViewModel:"create-features"===e?.type?e.featureFormViewModel:"update-features"===e?.type?e.formViewModel:null}get utilityNetworkAssociationAddAssociationViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeUtilityNetworkAssociationAddAssociationViewModel:null}get labelOptions(){return this.sketchOptions.labels}set labelOptions(e){this.sketchOptions.labels=e}get sketchViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeSketchViewModel:"create-features"===e?.type||"update-features"===e?.type?e.sketchViewModel:this.ownSketchViewModel}get state(){if(!this.view?.ready)return"disabled";const e=this.attachmentsViewModel.mode;if("add"===e)return"adding-attachment";if("edit"===e)return"editing-attachment";const{activeWorkflow:t}=this,i=!t?.stepId;return this.effectiveSelectionManager.count&&i?"viewing-selection-list":i?"ready":"update"===t.type&&t.activeWorkflow?.stepId?t.activeWorkflow.stepId:t.stepId}get syncing(){return this._activityQueue.length>0}get updating(){return this._updatingHandles.updating||!0===this.activeWorkflow?.updating}get tooltipOptions(){return this.sketchOptions.tooltips}set tooltipOptions(e){this.sketchOptions.tooltips=e}get valueOptions(){return this.sketchOptions.values}set valueOptions(e){this.sketchOptions.values=e}set view(e){this.ownSketchViewModel.view=e,this.spinnerViewModel.view=e,this._set("view",e)}get canZoomTo(){const e=this.sketchViewModel,t=e?.createGraphic?.geometry?.type;return!(!e?.updateGraphics?.length&&"multipoint"!==t)}get page(){const{activeWorkflow:e,state:t}=this;if("update"===e?.type&&null!=e?.activeWorkflow?.featureFormViewModel?.associatedLayer)return"viewing-associated-features";if("update"===e?.type&&null!=e?.activeWorkflow?.featureFormViewModel?.associationId)return"viewing-associated-layers";if("update"===e?.type&&"awaiting-feature-to-update"===e.stepId)return"ready";if("create-features"===e?.type&&0===e.numPendingFeatures){const t=e.data.upload;if(t)return"default"===t.state?"ready":"creating-features-upload-details"}return t??"disabled"}get featureFormDisabled(){const{activeLeafWorkflow:e}=this;if(N(e))return!1===e.data.editorItem?.capabilities.update.attributes||!0===e.featureFormViewModel.disabled;if(Q(e)){const{formViewModel:t}=e;return t.disabled||t.readOnly}return!1}get featureFormHasAssociation(){return!!this.featureFormViewModel?.activeAssociation}get canGoBack(){return null!=this.activeWorkflow&&!this.syncing}get shouldShowDeleteButton(){const{activeLeafWorkflow:e}=this;if(N(e)){const{data:t}=e;return t.editorItem?.capabilities.delete.enabled&&!t.readOnly}return!!Q(e)&&e.data.editorItems.every(e=>e.capabilities.delete.enabled)}get hasPendingEdits(){return this.activeWorkflow?.hasPendingEdits??!1}get snappingManager(){return this._snappingManager}getTemplatesForLayer(e){return this._templatesByLayer.get(e)??[]}async startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.startCreateFeaturesWorkflow()}async startCreateFeaturesWorkflowAtFeatureCreation(e){return this.startCreateFeaturesWorkflow(e,"creating-features")}async startCreateFeaturesWorkflow(e,t="awaiting-feature-creation-info"){if(await W(()=>!this.updating),!this.canCreate)throw new s("editing:unsupported-workflow","Creating features is unsupported or disabled.");const i=this._createUpdatingResolver();try{await this._cancelWorkflow();const i=this._createCreateFeaturesWorkflow(e,t);this._set("activeWorkflow",i),await i.start()}catch(r){this._logErrorAndCancelWorkflow(r)}finally{i.resolve()}}async startCreateFeaturesWorkflowAtFeatureEdit(e){await W(()=>!this.updating);const t=this._createUpdatingResolver();try{const{initialFeature:t}=e,i=t.sourceLayer=t.layer,r=i?Z(this.editorItems,i):void 0;if(!r?.supportsCreateFeaturesWorkflow)throw new s("editing:unsupported-workflow","Creating features is unsupported or disabled for this layer.");await this._cancelWorkflow();const a=this._createCreateFeaturesWorkflow({initialFeature:t,layer:r.layer,maxFeatures:1},"creating-features");this._set("activeWorkflow",a),await a.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startSplitFeatureWorkflow(e,t={}){await W(()=>!this.updating);const{view:i}=this;if(!i)throw new s("editing:view-required","A view is required to start a split feature workflow.");const r=b(e);if(!r)throw new s("editing:layer-required","The feature must be associated with a layer to start a split feature workflow.");const a=Z(this.editorItems,r);$(a);const o=this._createUpdatingResolver(),n=new AbortController;this.addHandles(l(n));try{await this._cancelWorkflow();const a=await J([e],r,i.spatialReference,n.signal);if(0===a.length)throw new s("editing:fetch-feature","Failed to fetch the full feature from the service.");const o=this._createUpdateWorkflow("editing-existing-feature",{rootFeature:a[0],rootWorkflowOptions:{type:"split",props:t}});this._set("activeWorkflow",o),this.addHandles(this._destroyWorkflowOnCommit(o)),await o.start()}catch(p){this._logErrorAndCancelWorkflow(p)}finally{o.resolve()}}async startSplitFeatureWorkflowAtDrawingSplitterGeometry(e,t){return this.startSplitFeatureWorkflow(e,{defaultSplitterGeometryType:t,startAt:"drawing-splitter-geometry"})}async startSplitFeatureWorkflowAtReviewingFeatures(e,t){return this.startSplitFeatureWorkflow(e,{splitterGeometry:t,startAt:"reviewing-features"})}async startUpdateFeaturesWorkflow(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update features workflow is unsupported or disabled.");if(t(e.map(e=>e.sourceLayer??e.layer)).length>1)throw K();const i=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateFeaturesWorkflow(e);this._set("activeWorkflow",t),await t.start()}catch(r){this._logErrorAndCancelWorkflow(r)}finally{i.resolve()}}async startUpdateWorkflowAtFeatureSelection(){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const e=this._createUpdatingResolver();try{await this._cancelWorkflow();const e=this._createUpdateWorkflow();this._set("activeWorkflow",e),await e.start()}catch(t){this._logErrorAndCancelWorkflow(t)}finally{e.resolve()}}async startUpdateWorkflowAtMultipleFeatureSelection(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const t=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateWorkflow("awaiting-update-feature-candidate");t.data.candidates=e,this._set("activeWorkflow",t),await t.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startUpdateWorkflowAtFeatureEdit(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const t=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateWorkflow("editing-existing-feature",{rootFeature:e});t.addHandles(this._destroyWorkflowOnCommit(t)),this._set("activeWorkflow",t),await t.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startUpdateWorkflowWithActiveSelection(){const{selectionListViewModel:e}=this;if(!e.visibleFeatureCount)throw new s("editing:missing-selection","Unable to determine visible selection.");if(e.visibleLayerCount>1)throw new s("editing:features-different-layers","Cannot start workflow with features from different layers.");const t=e.visibleFeatureItems.map(e=>e.graphic);1===t.length?await this.startUpdateWorkflowAtFeatureEdit(t[0]):await this.startUpdateFeaturesWorkflow(t)}async deleteFeatureFromWorkflow(){o(d.getLogger(this),"EditorViewModel.deleteFeatureFromWorkflow is deprecated. Use EditorViewModel.deleteFeatures instead.",{version:"4.33",replacement:"EditorViewModel.deleteFeatures",warnOnce:!0}),await this.deleteFeatures()}async deleteFeatures(){const e=this.activeWorkflow;return z(e)?e.deleteActiveFeature():Q(e)?e.deleteAndCommit():void this._logError("editing:unsupported-workflow","Deleting features requires an active update workflow.")}async deleteAssociationFromWorkflow(){const{activeWorkflow:e}=this;e&&"update"===e.type?await e.deleteActiveAssociation():this._logError("editing:unsupported-workflow","Deleting an association requires an active update workflow.")}async cancelWorkflow(e){return this._cancelWorkflow({warnIfNoWorkflow:!0,...e})}itemHasInvalidFormTemplate(e){return null!=e&&!0===X(this.editorItems,e.layer)?.hasInvalidFormTemplate}syncFeatureTemplates(){this._featureTemplatesViewModelIsRestricted||this._updateTemplates()}zoomTo(e){const{view:t,sketchViewModel:r}=this;if(!t)return;const a=e??r?.createGraphic;if(a)"mesh"===a.geometry?.type?oe(t,a.geometry):oe(t,a);else{const e=r?.updateGraphics?.toArray();"3d"===t.type&&e?.some(e=>"mesh"===e.geometry?.type)?oe(t,e.map(e=>e.geometry).filter(i)):e&&oe(t,e)}}async toggleUpdateWorkflow(){this.canUpdate&&(this.hasPendingEdits&&!await this.showDiscardEditsPrompt()||(this.activeWorkflow&&"awaiting-feature-to-update"===this.state?await this.cancelWorkflow({force:!0}):await this.startUpdateWorkflowAtFeatureSelection()))}async onSelectionListItemSelect(e){se(e)&&await this.startUpdateWorkflowAtFeatureEdit(e.graphic)}async onSelectionListMenuItemSelect(e){if(se(e))await this.startUpdateWorkflowAtFeatureEdit(e.graphic);else if(ne(e)){const t=e.featureItems.filter(e=>e.visible).map(e=>e.graphic);1===t.length?await this.startUpdateWorkflowAtFeatureEdit(t[0]):await this.startUpdateFeaturesWorkflow(t)}}restrictFeatureTemplatesViewModelToLayer(e){return this._featureTemplatesViewModelIsRestricted=!0,this._setFeatureTemplatesViewModelLayers([e]),p(()=>{this._featureTemplatesViewModelIsRestricted=!1,this._setFeatureTemplatesViewModelLayers(this.featureTemplatesLayers)})}async _getEditorItemCandidates(e){const{view:t}=this;if(!t?.map)return[];const{map:i}=t,r=i.editableLayers.toArray(),a=i.allTables.toArray().filter(e=>A(e)||I(e));return await Promise.allSettled([...r.flatMap(e=>this._getLayerLoadPromise(e)),...a.flatMap(e=>this._getLayerLoadPromise(e))]),w(e),[...r.reverse(),...a.reverse()].filter(e=>S(e)&&("mesh"!==e.geometryType||"3d"===t.type)).flatMap(e=>"subtype-group"===e.type?e.sublayers.toArray():e)}_getLayerLoadPromise(e){return I(e)?e.loadAll():e.load()}_drainEditorItems(){this.editorItems.drain(e=>e.destroy())}_updateEditorItems(){u(this._updateItemsTask);const{view:e}=this,t=r(async t=>{if(!e?.map||!e?.allLayerViews)return;const i=await this._getEditorItemCandidates(t);if(!i.length)return void this._drainEditorItems();const r=[],a=[],o=[],{layerInfos:s}=this;for(const l of i){const t=de(s,l),i=await Y(e,l).catch(()=>null);(t?r:i?a:o).push(new ee({layer:l,layerInfo:t,layerView:i}))}s?.length&&r.sort((e,t)=>s.findIndex(({layer:t})=>t===e.layer)-s.findIndex(({layer:e})=>e===t.layer));const n=[...r,...a,...o];t.aborted||(this._drainEditorItems(),this.editorItems.addMany(n))});this._updatingHandles.addPromise(t.promise),this._updateItemsTask=t}_updateTemplates(){u(this._updateTemplatesTask);const e=r(async e=>{const t=this._templatesByLayer,i=this._featureTemplatesLayersAndTables.filter(e=>!t.has(e));if(i.length>0){const r=await V({layers:i.toArray(),view:this.view,signal:e,queryOptions:{returnVisibleTemplatesOnly:!0}});for(const{layer:e,templates:i}of r)t.set(e,i)}this._setFeatureTemplatesViewModelLayers(this.featureTemplatesLayers)});this._updatingHandles.addPromise(e.promise),this._updateTemplatesTask=e}_setFeatureTemplatesViewModelLayers(e){const t=this._templatesByLayer,i=[];for(const r of e){const e=t.get(r);e&&e.length>0&&i.push(te(r,e))}this.featureTemplatesViewModel.templateInfos=i}_afterEditorItemsChange(){const{activeWorkflow:e}=this;if(this.syncFeatureTemplates(),!e)return;const{stepId:t}=e;"create-features"!==e.type?"update"===e.type&&("awaiting-feature-to-update"===t&&!this.canUpdateVisible||"awaiting-update-feature-candidate"===t&&!e.hasUpdatableCandidates)&&this._cancelWorkflow():"awaiting-feature-creation-info"!==t||this.canCreate||this._cancelWorkflow()}async _cancelWorkflow(e){const t=this.activeWorkflow;if(!t)return void(e?.warnIfNoWorkflow&&this._logError("editing:no-active-workflow","There is no active workflow to cancel."));if(!e||!1!==e.force){this.emit("workflow-cancel"),this._set("activeWorkflow",null);try{await t.cancel(e)}finally{t.destroy()}}else try{await t.cancel(e),this._set("activeWorkflow",null),t.destroy()}catch(i){}}_createCreateFeaturesWorkflow(e,t){return q.create({viewModel:this,creationInfo:e,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,startAt:t,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i),addAttachmentsCallback:(e,t)=>this._addAttachments(e,t)})}_createUpdateFeaturesWorkflow(e){const t=G.create({viewModel:this,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,features:e,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i)});return this.addHandles(this._destroyWorkflowOnCommit(t)),t}_createUpdateWorkflow(e,t){const i=x.create({viewModel:this,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,startAt:e,rootFeature:t?.rootFeature,rootWorkflowOptions:t?.rootWorkflowOptions,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i),addAttachmentsCallback:(e,t)=>this._addAttachments(e,t)});return i}_addAttachments(e,t){const i=t.map(t=>this._addAttachment(e,t.feature,t.attachment))??[];return Promise.all(i)}async _addAttachment(e,t,i){let r=null;if(!("addAttachment"in e)||null==e.capabilities?.attachment)throw new s("editor:attachments-not-supported","Adding attachments is not supported for this layer type");return await this._queueOperation(async()=>(r=await(e.addAttachment?.(t,i).catch(e=>{throw e?.error||e}))??null,r)),r}async _applyEdits(e,t,i){let r=null;const a=e.url?await L(e.url):null,o={returnServiceEditsOption:(!a||!U(a))&&!/\/hosted\//i.test(e.url)?"original-and-current-features":void 0,...i};return await this._queueOperation(async()=>{const{view:i}=this;if(!i)return null;const a=await Y(i,e).catch(()=>null);return r=await e.applyEdits(t,o),a&&await W(()=>!a.updating),r}),r}async _applyEditsFeatureService(e,t,i){let r=null;return await this._queueOperation(async()=>r=await e.applyEdits(t,i)),r}_destroyWorkflowOnCommit(e){return y(()=>e,"commit",()=>{e.destroy(),this.activeWorkflow===e&&this._set("activeWorkflow",null)})}_queueOperation(e){this._activityQueue.push(e);const t=(e,t)=>{const i=t.indexOf(e);i>-1&&t.splice(i,1)};return e().then(e=>(Array.isArray(e)?e.forEach(e=>this._handleEditsResultError(e)):this._handleEditsResultError(e),e)).catch(i=>{this._logError("editing:operation-error","An error occurred.",{error:i});const r={error:i,retry:()=>(t(r,this.failures),this._queueOperation(e)),cancel:()=>{t(r,this.failures)}};this._set("failures",[...this.failures,r])}).then(()=>{t(e,this._activityQueue)})}_handleEditsResultError(e){if(null!=e&&"error"in e&&null!=e.error)throw e.error;if(null!=e&&"addFeatureResults"in e){const{addFeatureResults:t,deleteFeatureResults:i,updateFeatureResults:r}=e,a=t.find(e=>!!e.error)||r.find(e=>!!e.error)||i.find(e=>!!e.error);if(a)throw a.error}}_createUpdatingResolver(){const e=f();return this._updatingHandles.addPromise(e.promise),e}_logErrorAndCancelWorkflow(e){const{name:t,message:i,details:r}=e;this._logError(t??"editing:workflow-start-failed",i??void 0,r??e),this._cancelWorkflow({force:!0})}_itemIsSuspended(e){const t=Z(this.editorItems,e);return null!=t&&(!t.visible||t.disabled)}_logError(e,t,i){d.getLogger(this).error(new s(e,t,i))}_syncSelectionSources(){this.selectionManager.sources.items=this._selectionSources.toArray()}async _onSelectionComplete(e){if(e.aborted)return;const{operationType:t,selection:i}=e,{effectiveSelectionManager:r}=this,a="ready"===this.state,o=1===i.length;if(this._queuedSelectionTool=void 0,a&&o&&"replace"===t)return this._queuedSelectionTool=e.toolName,this.startUpdateWorkflowAtFeatureEdit(i[0]);switch(t){case"remove":r.updateSelection({current:[],added:[],removed:i});break;case"replace":r.clear(),r.updateSelection({current:i,added:[],removed:[]});break;case"add":r.updateSelection({current:i,added:[],removed:[]})}}};e([M()],ce.prototype,"_featureTemplatesLayersAndTables",null),e([M()],ce.prototype,"_queuedSelectionTool",void 0),e([M()],ce.prototype,"_snappingManager",void 0),e([M()],ce.prototype,"_selectionSources",null),e([M()],ce.prototype,"activeFeatureCount",null),e([M({readOnly:!0})],ce.prototype,"activeWorkflow",void 0),e([M()],ce.prototype,"activeLeafWorkflow",null),e([M({readOnly:!0})],ce.prototype,"_activityQueue",void 0),e([M({readOnly:!0})],ce.prototype,"canCreate",null),e([M()],ce.prototype,"canCreateVisible",null),e([M({readOnly:!0})],ce.prototype,"canUpdate",null),e([M()],ce.prototype,"canUpdateVisible",null),e([M()],ce.prototype,"featureTemplatesLayers",null),e([M()],ce.prototype,"editorItems",void 0),e([M()],ce.prototype,"effectiveSelectionManager",null),e([M({readOnly:!0})],ce.prototype,"failures",void 0),e([M()],ce.prototype,"hideTemplatesForInactiveLayers",void 0),e([M({type:H})],ce.prototype,"attachmentsViewModel",void 0),e([M()],ce.prototype,"featureFormViewModel",null),e([M()],ce.prototype,"formViewModel",null),e([M()],ce.prototype,"utilityNetworkAssociationAddAssociationViewModel",null),e([M({type:ie})],ce.prototype,"featureTemplatesViewModel",void 0),e([M()],ce.prototype,"labelOptions",null),e([M()],ce.prototype,"layerInfos",void 0),e([M()],ce.prototype,"ownSketchViewModel",void 0),e([M()],ce.prototype,"selectionListViewModel",void 0),e([M()],ce.prototype,"selectionManager",void 0),e([M()],ce.prototype,"selectionToolbarViewModel",void 0),e([M()],ce.prototype,"sketchOptions",void 0),e([M()],ce.prototype,"sketchViewModel",null),e([M({type:P,nonNullable:!0})],ce.prototype,"snappingOptions",void 0),e([M()],ce.prototype,"spinnerViewModel",void 0),e([M()],ce.prototype,"state",null),e([M({readOnly:!0})],ce.prototype,"syncing",null),e([M()],ce.prototype,"updating",null),e([M()],ce.prototype,"tooltipOptions",null),e([M()],ce.prototype,"valueOptions",null),e([M()],ce.prototype,"view",null),e([M()],ce.prototype,"canZoomTo",null),e([M()],ce.prototype,"pageStack",void 0),e([M()],ce.prototype,"showDiscardEditsPrompt",void 0),e([M()],ce.prototype,"_candidateCommitted",void 0),e([M()],ce.prototype,"page",null),e([M()],ce.prototype,"featureFormDisabled",null),e([M()],ce.prototype,"featureFormHasAssociation",null),e([M()],ce.prototype,"canGoBack",null),e([M()],ce.prototype,"shouldShowDeleteButton",null),e([M()],ce.prototype,"hasPendingEdits",null),e([M()],ce.prototype,"snappingManager",null),ce=e([F("esri.widgets.Editor.EditorViewModel")],ce);const ue=ce;export{ue as default};
5
+ import{__decorate as e}from"tslib";import{unique as t,isSome as i}from"../../core/arrayUtils.js";import{createTask as r}from"../../core/asyncUtils.js";import a from"../../core/Collection.js";import{deprecatedFunction as o}from"../../core/deprecate.js";import s from"../../core/Error.js";import{EventedAccessor as n}from"../../core/Evented.js";import{abortHandle as l,makeHandle as d}from"../../core/handleUtils.js";import"../../core/has.js";import p from"../../core/Logger.js";import{destroyMaybe as c,abortMaybe as u,removeMaybe as h}from"../../core/maybe.js";import{throwIfAborted as w,createResolver as f}from"../../core/promiseUtils.js";import{watch as m,on as y,when as g,syncAndInitial as k,initial as v,sync as _,whenOnce as W}from"../../core/reactiveUtils.js";import{property as M}from"../../core/accessorSupport/decorators/property.js";import{subclass as F}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as T}from"../../core/support/UpdatingHandles.js";import{getTemplatesForLayers as V}from"../../editing/templateUtils.js";import{getGraphicLayer as b}from"../../graphic/graphicOriginUtils.js";import E from"../../layers/GraphicsLayer.js";import{isEditableLayer as S}from"../../layers/support/editableLayers.js";import{isFeatureLayer as I,isSubtypeGroupLayer as L,getOwningPortalUrl as A}from"../../layers/support/layerUtils.js";import{parseKnownArcGISOnlineDomain as U}from"../../portal/support/urlUtils.js";import C from"../../views/SelectionManager.js";import O from"../../views/interactive/sketch/SketchOptions.js";import{SnappingManager as j}from"../../views/interactive/snapping/SnappingManager.js";import P from"../../views/interactive/snapping/SnappingOptions.js";import{isSelectableLayer as R}from"../../views/support/selectionUtils.js";import H from"../Attachments/AttachmentsViewModel.js";import q from"./CreateFeaturesWorkflow.js";import G from"./UpdateFeaturesWorkflow.js";import x from"./UpdateWorkflow.js";import{getLayersFromWorkflow as D,isCreateFeaturesWorkflow as B,isUpdateRecordWorkflow as N,isUpdateFeaturesWorkflow as Q,isUpdateWorkflow as z,findEditorItemForLayerOrThrow as Z,assertSplitWorkflowCapabilities as $,fetchFullFeatures as J,makeMultipleSourceLayersError as K,findEditorItemForLayer as X,whenEditorLayerView as Y}from"./workflowUtils.js";import ee from"./support/EditorItem.js";import{makeTemplateGroupInfoForLayer as te}from"../FeatureTemplates/featureTemplatesUtils.js";import ie from"../FeatureTemplates/FeatureTemplatesViewModel.js";import re from"../Sketch/SketchViewModel.js";import ae from"../Spinner/SpinnerViewModel.js";import{goTo as oe}from"../support/goToUtils.js";import{isFeatureItem as se,isLayerItem as ne}from"../support/SelectionList/selectionListUtils.js";import le from"../support/SelectionList/SelectionListViewModel.js";import de from"../support/SelectionToolbar/SelectionToolbarViewModel.js";function pe(e,t){return e?.find(e=>e.layer===t)}let ce=class extends n{constructor(e){super(e),this._queuedSelectionTool=null,this._sketchEventListenerHandle=null,this._sketchGraphicsLayer=new E({listMode:"hide",internal:!0,title:"Editor sketch layer"}),this._snappingManager=null,this._templatesByLayer=new Map,this._updateItemsTask=null,this._updateTemplatesTask=null,this._updatingHandles=new T,this._featureTemplatesViewModelIsRestricted=!1,this.activeWorkflow=null,this._activityQueue=new a,this.editorItems=new a,this.failures=[],this.hideTemplatesForInactiveLayers=!1,this.attachmentsViewModel=new H({capabilities:{editing:!0}}),this.featureTemplatesViewModel=new ie({disabledItemFunction:({layer:e})=>this._itemIsSuspended(e)}),this.layerInfos=null,this.ownSketchViewModel=new re({layer:this._sketchGraphicsLayer}),this.selectionListViewModel=new le,this.selectionManager=new C,this.selectionToolbarViewModel=new de({continuousSelectionEnabled:!0,defaultOperationType:"replace",persistSelection:!1,returnGeometry:!1}),this.sketchOptions=new O,this.snappingOptions=new P({attributeRulesEnabled:!0}),this.spinnerViewModel=new ae,this.pageStack=[],this.showDiscardEditsPrompt=()=>Promise.resolve(!0),this._candidateCommitted=!1,this.back=async()=>{if("viewing-selection-list"===this.state)return this.selectionListViewModel.filterText=void 0,void this.effectiveSelectionManager.clear();this.canGoBack&&(this.activeWorkflow?.hasPreviousStep?await this.activeWorkflow.back(this.showDiscardEditsPrompt):await this._cancelWorkflow({force:!this.hasPendingEdits}))},this.saveWorkflow=async()=>await(this.activeWorkflow?.save()),this.selectFeature=(e,t=!1)=>{const i=this.activeWorkflow;this._candidateCommitted||"update"!==i?.type||(i.data.rootFeature=e,t&&(i.next(),this._candidateCommitted=!0))}}initialize(){this.addHandles([m(()=>{const e=this.view,t=e?.map?.editableLayers.toArray(),i=e?.allLayerViews,r=i?.filter(e=>!!t?.includes(e.layer));return[t,r,this.layerInfos]},()=>this._updateEditorItems(),k),m(()=>this.hideTemplatesForInactiveLayers,()=>this.syncFeatureTemplates()),m(()=>this._selectionSources,()=>this._syncSelectionSources(),v),y(()=>this.activeWorkflow,"cancel",()=>this.emit("workflow-cancel")),y(()=>this.activeWorkflow,"commit",()=>this.emit("workflow-commit")),y(()=>this.activeWorkflow,"complete",()=>{this.emit("workflow-commit"),this._set("activeWorkflow",null)}),g(()=>!this.activeWorkflow&&this._queuedSelectionTool,()=>this._queuedSelectionTool&&this.selectionToolbarViewModel.activateTool(this._queuedSelectionTool)),m(()=>this.activeWorkflow,e=>this.selectionManager.showHighlight=!e),g(()=>this.view?.map,e=>e.add(this._sketchGraphicsLayer),v),y(()=>this.editorItems,"change",()=>this._afterEditorItemsChange()),m(()=>[this.canCreate,this.canUpdateVisible],()=>this._afterEditorItemsChange()),m(()=>this.page,(e,t)=>{const i=[...this.pageStack];if(-1===i.indexOf(e))i.push(e);else for(;i.length&&i.at(-1)!==e;)i.pop();this.pageStack=i},k),g(()=>"awaiting-update-feature-candidate"===this.state,()=>this._candidateCommitted=!1),y(()=>this.featureTemplatesViewModel,"select",async({item:e,oldItem:t})=>{const{activeWorkflow:i}=this;if(i){if("update"===i.type&&"awaiting-feature-creation-info"===i.activeWorkflow?.stepId)return;try{await this.cancelWorkflow({force:!this.hasPendingEdits})}catch{return void this.featureTemplatesViewModel.select(t,{emit:!1})}}if(!e)return;const r={layer:e.layer,template:e.template};if(e.supportsUpload)return this.featureTemplatesViewModel.select(t,{emit:!1}),this.startCreateFeaturesWorkflow(r);await this.startCreateFeaturesWorkflowAtFeatureCreation(r)}),m(()=>[this.view,this.featureTemplatesViewModel],([e,t])=>{t.view=e},k),y(()=>this.view,"key-down",e=>{"Escape"===e.key&&this.activeWorkflow?.keyboardCancellationEnabled&&(e.stopPropagation(),this.back())}),y(()=>this.sketchViewModel,["create","delete","update"],e=>{const{activeWorkflow:t}=this,i="update"===t?.type,r=D(t),a=i?t?.activeWorkflow?.parentLayer??void 0:void 0,o=`sketch-${e.type}`;this.emit(o,{type:o,detail:e,layer:r[0],layers:r,parentLayer:a})},_),m(()=>this.view,e=>{if(this._snappingManager=c(this._snappingManager),!e)return;const t=this.snappingOptions;this._snappingManager=new j({view:e,options:t}),this.ownSketchViewModel.snappingManager=this._snappingManager},k),m(()=>this.snappingOptions,e=>{this._snappingManager&&(this._snappingManager.options=e)},k),y(()=>this.selectionToolbarViewModel,"complete",e=>this._onSelectionComplete(e)),m(()=>({view:this.view,selectionManager:this.effectiveSelectionManager,selectionListViewModel:this.selectionListViewModel,selectionToolbarViewModel:this.selectionToolbarViewModel}),({view:e,selectionManager:t,selectionListViewModel:i,selectionToolbarViewModel:r})=>{t.view=e,i.view=e,r.view=e},k),m(()=>this.effectiveSelectionManager,e=>{this.selectionListViewModel.selectionManager=e,this.selectionToolbarViewModel.selectionManager=e},k)])}destroy(){this._cancelWorkflow({warnIfNoWorkflow:!1}).then(()=>{this.view?.map?.remove(this._sketchGraphicsLayer),this.view=null}),this._updateItemsTask=u(this._updateItemsTask),this._updatingHandles.destroy(),this._sketchEventListenerHandle=h(this._sketchEventListenerHandle),this.selectionListViewModel?.destroy(),this.selectionToolbarViewModel?.destroy(),this.selectionManager.destroy()}get _featureTemplatesLayersAndTables(){const e=new a;for(const t of this.editorItems){const i=this.hideTemplatesForInactiveLayers&&!t.visible;t.supportsCreateFeaturesWorkflow&&!i&&e.push(t.layer)}return e}get _selectionSources(){const e=new a;for(const t of this.editorItems)R(t.layer)&&t.supportsUpdateWorkflow&&t.visible&&e.push(t.layer);return e}get activeFeatureCount(){const e=this.activeLeafWorkflow;return B(e)?e.pendingFeatures.length:N(e)&&e.data.edits.feature?1:Q(e)?e.data.features.length:0}get activeLeafWorkflow(){const e=this.activeWorkflow;return e&&z(e)?e.activeWorkflow??e:e}get canCreate(){return this.editorItems.some(e=>e.supportsCreateFeaturesWorkflow)}get canCreateVisible(){return!!this.featureTemplatesLayers.length}get canUpdate(){return this.editorItems.some(e=>e.supportsUpdateWorkflow)}get canUpdateVisible(){return this.editorItems.some(e=>e.supportsUpdateWorkflow&&e.visible)}get featureTemplatesLayers(){return this._featureTemplatesLayersAndTables.filter(e=>"scene"===e.type||!e.isTable)}get effectiveSelectionManager(){return this.selectionManager}get featureFormViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeFeatureFormViewModel:"create-features"===e?.type?e.featureFormViewModel:null}get formViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeFeatureFormViewModel:"create-features"===e?.type?e.featureFormViewModel:"update-features"===e?.type?e.formViewModel:null}get utilityNetworkAssociationAddAssociationViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeUtilityNetworkAssociationAddAssociationViewModel:null}get labelOptions(){return this.sketchOptions.labels}set labelOptions(e){this.sketchOptions.labels=e}get sketchViewModel(){const{activeWorkflow:e}=this;return"update"===e?.type?e.activeSketchViewModel:"create-features"===e?.type||"update-features"===e?.type?e.sketchViewModel:this.ownSketchViewModel}get state(){if(!this.view?.ready)return"disabled";const e=this.attachmentsViewModel.mode;if("add"===e)return"adding-attachment";if("edit"===e)return"editing-attachment";const{activeWorkflow:t}=this,i=!t?.stepId;return this.effectiveSelectionManager.count&&i?"viewing-selection-list":i?"ready":"update"===t.type&&t.activeWorkflow?.stepId?t.activeWorkflow.stepId:t.stepId}get syncing(){return this._activityQueue.length>0}get updating(){return this._updatingHandles.updating||!0===this.activeWorkflow?.updating}get tooltipOptions(){return this.sketchOptions.tooltips}set tooltipOptions(e){this.sketchOptions.tooltips=e}get valueOptions(){return this.sketchOptions.values}set valueOptions(e){this.sketchOptions.values=e}set view(e){this.ownSketchViewModel.view=e,this.spinnerViewModel.view=e,this._set("view",e)}get canZoomTo(){const e=this.sketchViewModel,t=e?.createGraphic?.geometry?.type;return!(!e?.updateGraphics?.length&&"multipoint"!==t)}get page(){const{activeWorkflow:e,state:t}=this;if("update"===e?.type&&null!=e?.activeWorkflow?.featureFormViewModel?.associatedLayer)return"viewing-associated-features";if("update"===e?.type&&null!=e?.activeWorkflow?.featureFormViewModel?.associationId)return"viewing-associated-layers";if("update"===e?.type&&"awaiting-feature-to-update"===e.stepId)return"ready";if("create-features"===e?.type&&0===e.numPendingFeatures){const t=e.data.upload;if(t)return"default"===t.state?"ready":"creating-features-upload-details"}return t??"disabled"}get featureFormDisabled(){const{activeLeafWorkflow:e}=this;if(N(e))return!1===e.data.editorItem?.capabilities.update.attributes||!0===e.featureFormViewModel.disabled;if(Q(e)){const{formViewModel:t}=e;return t.disabled||t.readOnly}return!1}get featureFormHasAssociation(){return!!this.featureFormViewModel?.activeAssociation}get canGoBack(){return null!=this.activeWorkflow&&!this.syncing}get shouldShowDeleteButton(){const{activeLeafWorkflow:e}=this;if(N(e)){const{data:t}=e;return t.editorItem?.capabilities.delete.enabled&&!t.readOnly}return!!Q(e)&&e.data.editorItems.every(e=>e.capabilities.delete.enabled)}get hasPendingEdits(){return this.activeWorkflow?.hasPendingEdits??!1}get snappingManager(){return this._snappingManager}getTemplatesForLayer(e){return this._templatesByLayer.get(e)??[]}async startCreateFeaturesWorkflowAtFeatureTypeSelection(){return this.startCreateFeaturesWorkflow()}async startCreateFeaturesWorkflowAtFeatureCreation(e){return this.startCreateFeaturesWorkflow(e,"creating-features")}async startCreateFeaturesWorkflow(e,t="awaiting-feature-creation-info"){if(await W(()=>!this.updating),!this.canCreate)throw new s("editing:unsupported-workflow","Creating features is unsupported or disabled.");const i=this._createUpdatingResolver();try{await this._cancelWorkflow();const i=this._createCreateFeaturesWorkflow(e,t);this._set("activeWorkflow",i),await i.start()}catch(r){this._logErrorAndCancelWorkflow(r)}finally{i.resolve()}}async startCreateFeaturesWorkflowAtFeatureEdit(e){await W(()=>!this.updating);const t=this._createUpdatingResolver();try{const{initialFeature:t}=e,i=t.sourceLayer=t.layer,r=i?Z(this.editorItems,i):void 0;if(!r?.supportsCreateFeaturesWorkflow)throw new s("editing:unsupported-workflow","Creating features is unsupported or disabled for this layer.");await this._cancelWorkflow();const a=this._createCreateFeaturesWorkflow({initialFeature:t,layer:r.layer,maxFeatures:1},"creating-features");this._set("activeWorkflow",a),await a.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startSplitFeatureWorkflow(e,t={}){await W(()=>!this.updating);const{view:i}=this;if(!i)throw new s("editing:view-required","A view is required to start a split feature workflow.");const r=b(e);if(!r)throw new s("editing:layer-required","The feature must be associated with a layer to start a split feature workflow.");const a=Z(this.editorItems,r);$(a);const o=this._createUpdatingResolver(),n=new AbortController;this.addHandles(l(n));try{await this._cancelWorkflow();const a=await J([e],r,i.spatialReference,n.signal);if(0===a.length)throw new s("editing:fetch-feature","Failed to fetch the full feature from the service.");const o=this._createUpdateWorkflow("editing-existing-feature",{rootFeature:a[0],rootWorkflowOptions:{type:"split",props:t}});this._set("activeWorkflow",o),this.addHandles(this._destroyWorkflowOnCommit(o)),await o.start()}catch(d){this._logErrorAndCancelWorkflow(d)}finally{o.resolve()}}async startUpdateFeaturesWorkflow(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update features workflow is unsupported or disabled.");if(t(e.map(e=>e.sourceLayer??e.layer)).length>1)throw K();const i=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateFeaturesWorkflow(e);this._set("activeWorkflow",t),await t.start()}catch(r){this._logErrorAndCancelWorkflow(r)}finally{i.resolve()}}async startUpdateWorkflowAtFeatureSelection(){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const e=this._createUpdatingResolver();try{await this._cancelWorkflow();const e=this._createUpdateWorkflow();this._set("activeWorkflow",e),await e.start()}catch(t){this._logErrorAndCancelWorkflow(t)}finally{e.resolve()}}async startUpdateWorkflowAtMultipleFeatureSelection(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const t=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateWorkflow("awaiting-update-feature-candidate");t.data.candidates=e,this._set("activeWorkflow",t),await t.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startUpdateWorkflowAtFeatureEdit(e){if(await W(()=>!this.updating),!this.canUpdate)return void this._logError("editing:unsupported-workflow","Update workflow is unsupported or disabled.");const t=this._createUpdatingResolver();try{await this._cancelWorkflow();const t=this._createUpdateWorkflow("editing-existing-feature",{rootFeature:e});t.addHandles(this._destroyWorkflowOnCommit(t)),this._set("activeWorkflow",t),await t.start()}catch(i){this._logErrorAndCancelWorkflow(i)}finally{t.resolve()}}async startUpdateWorkflowWithActiveSelection(){const{selectionListViewModel:e}=this;if(!e.visibleFeatureCount)throw new s("editing:missing-selection","Unable to determine visible selection.");if(e.visibleLayerCount>1)throw new s("editing:features-different-layers","Cannot start workflow with features from different layers.");const t=e.visibleFeatureItems.map(e=>e.graphic);1===t.length?await this.startUpdateWorkflowAtFeatureEdit(t[0]):await this.startUpdateFeaturesWorkflow(t)}async deleteFeatureFromWorkflow(){o(p.getLogger(this),"EditorViewModel.deleteFeatureFromWorkflow is deprecated. Use EditorViewModel.deleteFeatures instead.",{version:"4.33",replacement:"EditorViewModel.deleteFeatures",warnOnce:!0}),await this.deleteFeatures()}async deleteFeatures(){const e=this.activeWorkflow;return z(e)?e.deleteActiveFeature():Q(e)?e.deleteAndCommit():void this._logError("editing:unsupported-workflow","Deleting features requires an active update workflow.")}async deleteAssociationFromWorkflow(){const{activeWorkflow:e}=this;e&&"update"===e.type?await e.deleteActiveAssociation():this._logError("editing:unsupported-workflow","Deleting an association requires an active update workflow.")}async cancelWorkflow(e){return this._cancelWorkflow({warnIfNoWorkflow:!0,...e})}itemHasInvalidFormTemplate(e){return null!=e&&!0===X(this.editorItems,e.layer)?.hasInvalidFormTemplate}syncFeatureTemplates(){this._featureTemplatesViewModelIsRestricted||this._updateTemplates()}zoomTo(e){const{view:t,sketchViewModel:r}=this;if(!t)return;const a=void 0,o=e??r?.createGraphic;if(o)"mesh"===o.geometry?.type?oe(t,o.geometry,a):oe(t,o,a);else{const e=r?.updateGraphics?.toArray();"3d"===t.type&&e?.some(e=>"mesh"===e.geometry?.type)?oe(t,e.map(e=>e.geometry).filter(i),a):e&&oe(t,e,a)}}async toggleUpdateWorkflow(){this.canUpdate&&(this.hasPendingEdits&&!await this.showDiscardEditsPrompt()||(this.activeWorkflow&&"awaiting-feature-to-update"===this.state?await this.cancelWorkflow({force:!0}):await this.startUpdateWorkflowAtFeatureSelection()))}async onSelectionListItemSelect(e){se(e)&&await this.startUpdateWorkflowAtFeatureEdit(e.graphic)}async onSelectionListMenuItemSelect(e){if(se(e))await this.startUpdateWorkflowAtFeatureEdit(e.graphic);else if(ne(e)){const t=e.featureItems.filter(e=>e.visible).map(e=>e.graphic);1===t.length?await this.startUpdateWorkflowAtFeatureEdit(t[0]):await this.startUpdateFeaturesWorkflow(t)}}restrictFeatureTemplatesViewModelToLayer(e){return this._featureTemplatesViewModelIsRestricted=!0,this._setFeatureTemplatesViewModelLayers([e]),d(()=>{this._featureTemplatesViewModelIsRestricted=!1,this._setFeatureTemplatesViewModelLayers(this.featureTemplatesLayers)})}async _getEditorItemCandidates(e){const{view:t}=this;if(!t?.map)return[];const{map:i}=t,r=i.editableLayers.toArray(),a=i.allTables.toArray().filter(e=>I(e)||L(e));return await Promise.allSettled([...r.flatMap(e=>this._getLayerLoadPromise(e)),...a.flatMap(e=>this._getLayerLoadPromise(e))]),w(e),[...r.reverse(),...a.reverse()].filter(e=>S(e)&&("mesh"!==e.geometryType||"3d"===t.type)).flatMap(e=>"subtype-group"===e.type?e.sublayers.toArray():e)}_getLayerLoadPromise(e){return L(e)?e.loadAll():e.load()}_drainEditorItems(){this.editorItems.drain(e=>e.destroy())}_updateEditorItems(){u(this._updateItemsTask);const{view:e}=this,t=r(async t=>{if(!e?.map||!e?.allLayerViews)return;const i=await this._getEditorItemCandidates(t);if(!i.length)return void this._drainEditorItems();const r=[],a=[],o=[],{layerInfos:s}=this;for(const l of i){const t=pe(s,l),i=await Y(e,l).catch(()=>null);(t?r:i?a:o).push(new ee({layer:l,layerInfo:t,layerView:i}))}s?.length&&r.sort((e,t)=>s.findIndex(({layer:t})=>t===e.layer)-s.findIndex(({layer:e})=>e===t.layer));const n=[...r,...a,...o];t.aborted||(this._drainEditorItems(),this.editorItems.addMany(n))});this._updatingHandles.addPromise(t.promise),this._updateItemsTask=t}_updateTemplates(){u(this._updateTemplatesTask);const e=r(async e=>{const t=this._templatesByLayer,i=this._featureTemplatesLayersAndTables.filter(e=>!t.has(e));if(i.length>0){const r=await V({layers:i.toArray(),view:this.view,signal:e,queryOptions:{returnVisibleTemplatesOnly:!0}});for(const{layer:e,templates:i}of r)t.set(e,i)}this._setFeatureTemplatesViewModelLayers(this.featureTemplatesLayers)});this._updatingHandles.addPromise(e.promise),this._updateTemplatesTask=e}_setFeatureTemplatesViewModelLayers(e){const t=this._templatesByLayer,i=[];for(const r of e){const e=t.get(r);e&&e.length>0&&i.push(te(r,e))}this.featureTemplatesViewModel.templateInfos=i}_afterEditorItemsChange(){const{activeWorkflow:e}=this;if(this.syncFeatureTemplates(),!e)return;const{stepId:t}=e;"create-features"!==e.type?"update"===e.type&&("awaiting-feature-to-update"===t&&!this.canUpdateVisible||"awaiting-update-feature-candidate"===t&&!e.hasUpdatableCandidates)&&this._cancelWorkflow():"awaiting-feature-creation-info"!==t||this.canCreate||this._cancelWorkflow()}async _cancelWorkflow(e){const t=this.activeWorkflow;if(!t)return void(e?.warnIfNoWorkflow&&this._logError("editing:no-active-workflow","There is no active workflow to cancel."));if(!e||!1!==e.force){this.emit("workflow-cancel"),this._set("activeWorkflow",null);try{await t.cancel(e)}finally{t.destroy()}}else try{await t.cancel(e),this._set("activeWorkflow",null),t.destroy()}catch(i){}}_createCreateFeaturesWorkflow(e,t){return q.create({viewModel:this,creationInfo:e,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,startAt:t,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i),addAttachmentsCallback:(e,t)=>this._addAttachments(e,t)})}_createUpdateFeaturesWorkflow(e){const t=G.create({viewModel:this,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,features:e,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i)});return this.addHandles(this._destroyWorkflowOnCommit(t)),t}_createUpdateWorkflow(e,t){const i=x.create({viewModel:this,sketchOptions:this.sketchOptions,snappingManager:this._snappingManager,startAt:e,rootFeature:t?.rootFeature,rootWorkflowOptions:t?.rootWorkflowOptions,applyEdits:(e,t,i)=>this._applyEdits(e,t,i),applyEditsFeatureService:(e,t,i)=>this._applyEditsFeatureService(e,t,i),addAttachmentsCallback:(e,t)=>this._addAttachments(e,t)});return i}_addAttachments(e,t){const i=t.map(t=>this._addAttachment(e,t.feature,t.attachment))??[];return Promise.all(i)}async _addAttachment(e,t,i){let r=null;if(!("addAttachment"in e)||null==e.capabilities?.attachment)throw new s("editor:attachments-not-supported","Adding attachments is not supported for this layer type");return await this._queueOperation(async()=>(r=await(e.addAttachment?.(t,i).catch(e=>{throw e?.error||e}))??null,r)),r}async _applyEdits(e,t,i){let r=null;const a=e.url?await A(e.url):null,o={returnServiceEditsOption:(!a||!U(a))&&!/\/hosted\//i.test(e.url)?"original-and-current-features":void 0,...i};return await this._queueOperation(async()=>{const{view:i}=this;if(!i)return null;const a=await Y(i,e).catch(()=>null);return r=await e.applyEdits(t,o),a&&await W(()=>!a.updating),r}),r}async _applyEditsFeatureService(e,t,i){let r=null;return await this._queueOperation(async()=>r=await e.applyEdits(t,i)),r}_destroyWorkflowOnCommit(e){return y(()=>e,"commit",()=>{e.destroy(),this.activeWorkflow===e&&this._set("activeWorkflow",null)})}_queueOperation(e){this._activityQueue.push(e);const t=(e,t)=>{const i=t.indexOf(e);i>-1&&t.splice(i,1)};return e().then(e=>(Array.isArray(e)?e.forEach(e=>this._handleEditsResultError(e)):this._handleEditsResultError(e),e)).catch(i=>{this._logError("editing:operation-error","An error occurred.",{error:i});const r={error:i,retry:()=>(t(r,this.failures),this._queueOperation(e)),cancel:()=>{t(r,this.failures)}};this._set("failures",[...this.failures,r])}).then(()=>{t(e,this._activityQueue)})}_handleEditsResultError(e){if(null!=e&&"error"in e&&null!=e.error)throw e.error;if(null!=e&&"addFeatureResults"in e){const{addFeatureResults:t,deleteFeatureResults:i,updateFeatureResults:r}=e,a=t.find(e=>!!e.error)||r.find(e=>!!e.error)||i.find(e=>!!e.error);if(a)throw a.error}}_createUpdatingResolver(){const e=f();return this._updatingHandles.addPromise(e.promise),e}_logErrorAndCancelWorkflow(e){const{name:t,message:i,details:r}=e;this._logError(t??"editing:workflow-start-failed",i??void 0,r??e),this._cancelWorkflow({force:!0})}_itemIsSuspended(e){const t=Z(this.editorItems,e);return null!=t&&(!t.visible||t.disabled)}_logError(e,t,i){p.getLogger(this).error(new s(e,t,i))}_syncSelectionSources(){this.selectionManager.sources.items=this._selectionSources.toArray()}async _onSelectionComplete(e){if(e.aborted)return;const{operationType:t,selection:i}=e,{effectiveSelectionManager:r}=this,a="ready"===this.state,o=1===i.length;if(this._queuedSelectionTool=void 0,a&&o&&"replace"===t)return this._queuedSelectionTool=e.toolName,this.startUpdateWorkflowAtFeatureEdit(i[0]);switch(t){case"remove":r.updateSelection({current:[],added:[],removed:i});break;case"replace":r.clear(),r.updateSelection({current:i,added:[],removed:[]});break;case"add":r.updateSelection({current:i,added:[],removed:[]})}}};e([M()],ce.prototype,"_featureTemplatesLayersAndTables",null),e([M()],ce.prototype,"_queuedSelectionTool",void 0),e([M()],ce.prototype,"_snappingManager",void 0),e([M()],ce.prototype,"_selectionSources",null),e([M()],ce.prototype,"activeFeatureCount",null),e([M({readOnly:!0})],ce.prototype,"activeWorkflow",void 0),e([M()],ce.prototype,"activeLeafWorkflow",null),e([M({readOnly:!0})],ce.prototype,"_activityQueue",void 0),e([M({readOnly:!0})],ce.prototype,"canCreate",null),e([M()],ce.prototype,"canCreateVisible",null),e([M({readOnly:!0})],ce.prototype,"canUpdate",null),e([M()],ce.prototype,"canUpdateVisible",null),e([M()],ce.prototype,"featureTemplatesLayers",null),e([M()],ce.prototype,"editorItems",void 0),e([M()],ce.prototype,"effectiveSelectionManager",null),e([M({readOnly:!0})],ce.prototype,"failures",void 0),e([M()],ce.prototype,"hideTemplatesForInactiveLayers",void 0),e([M({type:H})],ce.prototype,"attachmentsViewModel",void 0),e([M()],ce.prototype,"featureFormViewModel",null),e([M()],ce.prototype,"formViewModel",null),e([M()],ce.prototype,"utilityNetworkAssociationAddAssociationViewModel",null),e([M({type:ie})],ce.prototype,"featureTemplatesViewModel",void 0),e([M()],ce.prototype,"labelOptions",null),e([M()],ce.prototype,"layerInfos",void 0),e([M()],ce.prototype,"ownSketchViewModel",void 0),e([M()],ce.prototype,"selectionListViewModel",void 0),e([M()],ce.prototype,"selectionManager",void 0),e([M()],ce.prototype,"selectionToolbarViewModel",void 0),e([M()],ce.prototype,"sketchOptions",void 0),e([M()],ce.prototype,"sketchViewModel",null),e([M({type:P,nonNullable:!0})],ce.prototype,"snappingOptions",void 0),e([M()],ce.prototype,"spinnerViewModel",void 0),e([M()],ce.prototype,"state",null),e([M({readOnly:!0})],ce.prototype,"syncing",null),e([M()],ce.prototype,"updating",null),e([M()],ce.prototype,"tooltipOptions",null),e([M()],ce.prototype,"valueOptions",null),e([M()],ce.prototype,"view",null),e([M()],ce.prototype,"canZoomTo",null),e([M()],ce.prototype,"pageStack",void 0),e([M()],ce.prototype,"showDiscardEditsPrompt",void 0),e([M()],ce.prototype,"_candidateCommitted",void 0),e([M()],ce.prototype,"page",null),e([M()],ce.prototype,"featureFormDisabled",null),e([M()],ce.prototype,"featureFormHasAssociation",null),e([M()],ce.prototype,"canGoBack",null),e([M()],ce.prototype,"shouldShowDeleteButton",null),e([M()],ce.prototype,"hasPendingEdits",null),e([M()],ce.prototype,"snappingManager",null),ce=e([F("esri.widgets.Editor.EditorViewModel")],ce);const ue=ce;export{ue 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{__decorate as e}from"tslib";import t from"../../core/Error.js";import{makeHandle as i,handlesGroup as r}from"../../core/handleUtils.js";import"../../core/has.js";import a from"../../core/Logger.js";import{destroyMaybe as o}from"../../core/maybe.js";import{debounce as s}from"../../core/promiseUtils.js";import{watch as l,on as n,whenOnce as p}from"../../core/reactiveUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/RandomLCG.js";import{subclass as h}from"../../core/accessorSupport/decorators/subclass.js";import u from"../../layers/GraphicsLayer.js";import c from"../../views/draw/support/HighlightHelper.js";import{temporaryHighlightName as m}from"../../views/support/HighlightDefaults.js";import w from"./Edits.js";import g from"./SplitFeatureWorkflowData.js";import y from"./Workflow.js";import{assertSplitWorkflowCapabilities as f,createWorkflowSteps as _,swapForEditingSession as v,updateGraphicSymbolWhenRequired as F,makeMinimalAttributes as M}from"./workflowUtils.js";import{getCompatibleSpitterGeometryType as k,ensureSplittableGeometry as b,makeNewFeatureAttributes as S,splitGeometry as V,isSplitterGeometry as j}from"./support/splitFeatureUtils.js";import G from"../FeatureForm/FeatureFormViewModel.js";import T from"../Sketch/SketchViewModel.js";var E;const H=()=>a.getLogger("esri.widgets.Editor.SplitFeatureWorkflow");let I=E=class extends y{constructor(e){super(e),this.defaultSplitterGeometryType=null,this.type="split-feature",this._activeFeature=null,this._formViewModel=null,this._graphicsLayer=null,this._highlightHelper=null,this._sketchViewModel=null,this._webStyleCache=new Map}initialize(){const e=this.data.viewModel.view;this._highlightHelper=e?new c({view:e,highlightName:m}):null,this._initializeFeatureFormViewModel();const t=this._initializeGraphicsLayer();this._initializeSketchViewModel(t)}destroy(){const e=this._graphicsLayer,{view:t}=this.data.viewModel;t?.destroyed||t?.map.remove(e),this._graphicsLayer=o(this._graphicsLayer),this._formViewModel.destroy(),this._sketchViewModel.destroy(),this._highlightHelper?.destroy()}get activeFeature(){return this._activeFeature}get featureFormViewModel(){return this._formViewModel}get layer(){return this.data.editorItem.layer}get parent(){return this.data.parent}get parentLayer(){return this.parent?.data.editorItem.layer}get updating(){return this._updatingHandles.updating||this._formViewModel.updating||this._sketchViewModel.updating}static create(e){const{applyEdits:i,applyEditsFeatureService:r,defaultSplitterGeometryType:a,startAt:o,...s}=e;if(f(s.editorItem),"reviewing-features"===o){if(!s.splitterGeometry)throw new t("editing:split-geometry-required","Must provide the split geometry to start at the 'reviewing-features' step.");const e=k(b(s.originalFeature.geometry),s.splitterGeometry.type);if(s.splitterGeometry.type!==e)throw new t("editing:incompatible-split-geometries",`Geometry of type '${s.splitterGeometry.type}' cannot be used to split geometry of type '${s.originalFeature.geometry?.type}'.`)}const l=new E({data:new g(s),defaultSplitterGeometryType:a,onCommit:x(e.applyEdits)});return l._set("steps",E._createWorkflowSteps(l,o)),l}async enter(){}exit(){if("reviewing-features"!==this.stepId)throw new t("editing:invalid-exit-state","The SplitFeatureWorkflow can only be exited when in the 'reviewing-features' step.")}async setActiveFeature(e){const i=this._activeFeature;if(e===i)return;const r=this.data,a=this._highlightHelper;a?.removeAll();const o=i?r.getEditsForFeature(i):null;if(o&&(o.submittable=this._formViewModel.submittable),this._activeFeature=e,null==e)return;const s=this.data.getRoleForFeature(e);if(!s)throw new t("editing:unknown-feature","The provided feature is not part of this workflow.");a?.add(e),await this._setFeatureOnFormViewModel(e,s)}async start(){return await super.start(),this._makeSketchController()}async _createAndInitializeEdits({newPart:e,remainingPart:t}){const{data:i}=this,r=i.originalFeature,a=this._formViewModel,o=r.clone();o.geometry=t;const s=new w({feature:o});i.existingFeatureEdits=s,s.trackChanges(r),await this._setFeatureOnFormViewModel(o,"existing"),s.submittable=a.submittable;const l=r.clone();l.geometry=e,l.attributes=S(r.attributes,i.editorItem.layer);const n=new w({feature:l});return i.newFeatureEdits=n,n.trackChanges(),await this._setFeatureOnFormViewModel(l,"new"),n.submittable=a.submittable,{featureToCreate:l,featureToUpdate:o}}static _createWorkflowSteps(e,i="drawing-splitter-geometry"){const{data:r}=e;return _(["drawing-splitter-geometry","reviewing-features"],i,{"drawing-splitter-geometry":()=>({id:"drawing-splitter-geometry",async setUp(){const t=b(r.originalFeature.geometry),i=k(t,e.defaultSplitterGeometryType),a=e._sketchViewModel;e.addHandles(n(()=>a,"create",t=>{if("complete"===t.state){e._graphicsLayer.removeAll();const o=t.graphic?.geometry;if(!j(o))return H().warn("editing:invalid-split-geometry","The geometry produced by the Sketch operation cannot be used for splitting."),void a.create(i);r.splitterGeometry=o,e.next()}}),this.id),await a.create(i)},async tearDown(){e.removeHandles(this.id)}}),"reviewing-features":()=>({id:"reviewing-features",async setUp(){const i=r.splitterGeometry;if(!i)throw new t("editing:missing-splitter-geometry","The `splitterGeometry` property of the workflow's data must be set in order to start the 'reviewing-features' step.");const a=await e._executeSplit(i),{featureToCreate:o,featureToUpdate:s}=await e._createAndInitializeEdits(a),l=await e._displayFeatureGraphics(s,o);e.addHandles(l,this.id)},async tearDown(){e._highlightHelper?.removeAll()}})})}async _displayFeatureGraphics(e,t){const{data:a,_graphicsLayer:o}=this,n=a.viewModel.view,p=[];if(!e||!t||!n)return i();const d=s(i=>Promise.all([F(e,this._webStyleCache,i),F(t,this._webStyleCache,i)]));return await d("2d"===n.type?n.scale:null),"2d"===n.type&&p.push(l(()=>n.scale,e=>d(e))),o.add(t),p.push(i(()=>o.remove(t))),p.push(await v(o,n,a.originalFeature,e)),r(p)}async _executeSplit(e){const{data:i}=this,{originalFeature:r}=i,a=r.geometry;if(!a)throw new t("editing:feature-has-no-geometry","Cannot split the provided feature as it has no geometry.");const o=await V(a,e);if(!o||!o.newPart)throw new t("editing:split-failed","The split operation did not produce a valid result.");return o}_initializeFeatureFormViewModel(){const{data:e,_webStyleCache:t}=this,i=e.viewModel.view,r=i?.spatialReference??e.editorItem.layer.spatialReference,a=new G({formTemplate:e.editorItem.formTemplate,highlightHelper:this._highlightHelper,map:i?.map,spatialReference:r,timeZone:e.timeZone});this._formViewModel=a,this.addHandles(n(()=>a,"value-change",({feature:r,fieldName:a,value:o})=>{r&&(e.getEditsForFeature(r)?.setAttribute(a,o),F(r,t,i?.scale))}))}_initializeGraphicsLayer(){const{data:e}=this,{view:t}=e.viewModel,i=new u({elevationInfo:e.editorItem.layer.elevationInfo,internal:!0,listMode:"hide",title:"splitFeatureWorkflow-internal"});return this._graphicsLayer=i,t?.map.add(i),i}_initializeSketchViewModel(e){const{data:t}=this,{view:i}=t.viewModel;this._sketchViewModel=new T({layer:e,creationMode:"single",sketchOptions:t.sketchOptions,snappingManager:t.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:i})}_makeSketchController(){return{enter:async()=>{const{activeFeature:e}=this;e&&this._highlightHelper?.add(e)},exit:()=>{this._highlightHelper?.removeAll()},viewModel:this._sketchViewModel}}async _setFeatureOnFormViewModel(e,t){const{data:i}=this,r=this._formViewModel;r.feature=e,"existing"===t?(r.editType="UPDATE",r.overrideInitialFeature(i.originalFeature)):r.editType="INSERT",await p(()=>!r.updating)}get test(){}};e([d()],I.prototype,"activeFeature",null),e([d()],I.prototype,"defaultSplitterGeometryType",void 0),e([d()],I.prototype,"featureFormViewModel",null),e([d()],I.prototype,"layer",null),e([d()],I.prototype,"parent",null),e([d()],I.prototype,"parentLayer",null),e([d()],I.prototype,"type",void 0),e([d()],I.prototype,"updating",null),e([d()],I.prototype,"_activeFeature",void 0),e([d()],I.prototype,"_formViewModel",void 0),e([d()],I.prototype,"_graphicsLayer",void 0),e([d()],I.prototype,"_highlightHelper",void 0),e([d()],I.prototype,"_sketchViewModel",void 0),I=E=e([h("esri.widgets.Editor.SplitFeatureWorkflow")],I);const L=I;function x(e){return async i=>{const{existingFeatureEdits:r,newFeatureEdits:a}=i,o=r?.feature?.cloneShallow(),s=a?.feature?.cloneShallow(),l=i.editorItem.layer;if(null==o||null==s)throw new t("editing:missing-features","Expected both a feature to update and a feature to add for the split operation.");r?.attributesModified||(o.attributes=M(o,i.editorItem.layer)),await e(l,{addFeatures:[s],updateFeatures:[o]})}}export{L as default};
5
+ import{__decorate as e}from"tslib";import t from"../../core/Error.js";import{makeHandle as i,handlesGroup as r}from"../../core/handleUtils.js";import"../../core/has.js";import{destroyMaybe as a}from"../../core/maybe.js";import{debounce as o}from"../../core/promiseUtils.js";import{watch as s,on as l,whenOnce as n}from"../../core/reactiveUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../layers/GraphicsLayer.js";import{getDrawHelpMessage as u}from"../../views/draw/support/helpMessageUtils.js";import c from"../../views/draw/support/HighlightHelper.js";import m from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{temporaryHighlightName as y}from"../../views/support/HighlightDefaults.js";import g from"./Edits.js";import w from"./SplitFeatureWorkflowData.js";import f from"./Workflow.js";import{assertSplitWorkflowCapabilities as v,createWorkflowSteps as _,swapForEditingSession as F,updateGraphicSymbolWhenRequired as M,makeMinimalAttributes as b}from"./workflowUtils.js";import{getCompatibleSpitterGeometryType as S,ensureSplittableGeometry as k,makeNewFeatureAttributes as V,splitGeometry as G,canSplitByPoint as T,isSplitterGeometry as H}from"./support/splitFeatureUtils.js";import I from"../FeatureForm/FeatureFormViewModel.js";import j from"../Sketch/SketchViewModel.js";var E;const C=Symbol();let x=E=class extends f{constructor(e){super(e),this.defaultSplitterGeometryType=null,this.type="split-feature",this._activeFeature=null,this._formViewModel=null,this._graphicsLayer=null,this._highlightHelper=null,this._lastSplitterGeometryWasInvalid=!1,this._sketchViewModel=null,this._webStyleCache=new Map}initialize(){const e=this.data.viewModel.view;this._highlightHelper=e?new c({view:e,highlightName:y}):null,this._initializeFeatureFormViewModel();const t=this._initializeGraphicsLayer();this._initializeSketchViewModel(t)}destroy(){const e=this._graphicsLayer,{view:t}=this.data.viewModel;t?.destroyed||t?.map.remove(e),this._graphicsLayer=a(this._graphicsLayer),this._formViewModel.destroy(),this._sketchViewModel.destroy(),this._highlightHelper?.destroy()}get activeFeature(){return this._activeFeature}get availableCreateTools(){const e=["polyline","polygon","rectangle","circle","freehandPolyline","freehandPolygon"];switch(this.data.editorItem.layer.geometryType){case"polygon":case"multipoint":return e;case"polyline":return["point",...e];default:return[]}}get featureFormViewModel(){return this._formViewModel}get hasPreviousStep(){return null!==this._activeFeature||this._stepIndex>0}get helpMessage(){if(this._lastSplitterGeometryWasInvalid)return"invalidSplitterGeometry";const{activeCreateToolDrawMode:e,activeTool:t,createGraphic:i}=this._sketchViewModel,r="rectangle"===t||"circle"===t?t:this.data.editorItem.layer.geometryType;return"mesh"!==r?u(r,i?.geometry,e):void 0}get layer(){return this.data.editorItem.layer}get parent(){return this.data.parent}get parentLayer(){return this.parent?.data.editorItem.layer}get updating(){return this._updatingHandles.updating||this._formViewModel.updating||this._sketchViewModel.updating}async back(e){return this.activeFeature?await this.setActiveFeature(null):await super.back(e)}static create(e){const{applyEdits:i,applyEditsFeatureService:r,defaultSplitterGeometryType:a,startAt:o,...s}=e;if(v(s.editorItem),"reviewing-features"===o){if(!s.splitterGeometry)throw new t("editing:split-geometry-required","Must provide the split geometry to start at the 'reviewing-features' step.");const e=S(k(s.originalFeature.geometry),s.splitterGeometry.type);if(s.splitterGeometry.type!==e)throw new t("editing:incompatible-split-geometries",`Geometry of type '${s.splitterGeometry.type}' cannot be used to split geometry of type '${s.originalFeature.geometry?.type}'.`)}const l=new E({data:new w(s),defaultSplitterGeometryType:a,onCommit:W(e.applyEdits)});return l._set("steps",E._createWorkflowSteps(l,o)),l}async enter(){}exit(){if("reviewing-features"!==this.stepId)throw new t("editing:invalid-exit-state","The SplitFeatureWorkflow can only be exited when in the 'reviewing-features' step.")}highlightFeature(e,t){this._highlightHelper?.add(e,t)}clearHighlights(){this._highlightHelper?.removeAll()}async setActiveFeature(e){const i=this._activeFeature;if(e===i)return;const r=this.data;this.clearHighlights();const a=i?r.getEditsForFeature(i):null;if(a&&(a.submittable=this._formViewModel.submittable),this._activeFeature=e,null==e)return;const o=this.data.getRoleForFeature(e);if(!o)throw new t("editing:unknown-feature","The provided feature is not part of this workflow.");this.highlightFeature(e),await this._setFeatureOnFormViewModel(e,o)}async start(){return await super.start(),this._makeSketchController()}async _createAndInitializeEdits({newPart:e,remainingPart:t}){const{data:i}=this,r=i.originalFeature,a=this._formViewModel,o=r.clone();o.geometry=t;const s=new g({feature:o});i.existingFeatureEdits=s,s.trackChanges(r),await this._setFeatureOnFormViewModel(o,"existing"),s.submittable=a.submittable;const l=r.clone();l.geometry=e,l.attributes=V(r.attributes,i.editorItem.layer);const n=new g({feature:l});return i.newFeatureEdits=n,n.trackChanges(),await this._setFeatureOnFormViewModel(l,"new"),n.submittable=a.submittable,{featureToCreate:l,featureToUpdate:o}}static _createWorkflowSteps(e,i="drawing-splitter-geometry"){const{data:r}=e;return _(["drawing-splitter-geometry","reviewing-features"],i,{"drawing-splitter-geometry":()=>({id:"drawing-splitter-geometry",async setUp(){const i=k(r.originalFeature.geometry),a=S(i,e.defaultSplitterGeometryType),{snappingManager:o}=r;T(i)&&o&&e.addHandles(U(o,e.layer));const n=e._sketchViewModel;e.addHandles([l(()=>n,"create",async i=>{if("start"===i.state&&e._lastSplitterGeometryWasInvalid&&(e._lastSplitterGeometryWasInvalid=!1),"complete"===i.state){e._graphicsLayer.removeAll();const o=i.graphic?.geometry;try{if(!H(o))throw new t("editing:invalid-split-geometry","The geometry produced by the Sketch operation cannot be used for splitting.");r.splitterGeometry=o,r.splitResult=await e._updatingHandles.addPromise(e._executeSplit(o)),await e.next()}catch(a){e._lastSplitterGeometryWasInvalid=!0,await n.create(i.tool)}}}),s(()=>n.activeTool,(t,i)=>{"point"===t&&!e.hasHandles(C)&&o?e.addHandles(P(o,e.layer),C):"point"===i&&e.removeHandles(C)})],this.id),await n.create(a)},async tearDown(){e.removeHandles(this.id)}}),"reviewing-features":()=>({id:"reviewing-features",async setUp(){const i=r.splitterGeometry;if(!i)throw new t("editing:missing-splitter-geometry","The `splitterGeometry` property of the workflow's data must be set in order to start the 'reviewing-features' step.");const a=r.splitResult??await e._executeSplit(i),{featureToCreate:o,featureToUpdate:s}=await e._createAndInitializeEdits(a),l=await e._displayFeatureGraphics(s,o);e.addHandles(l,this.id)},async tearDown(){e.clearHighlights()}})})}async _displayFeatureGraphics(e,t){const{data:a,_graphicsLayer:l}=this,n=a.viewModel.view,p=[];if(!e||!t||!n)return i();const d=o(i=>Promise.all([M(e,this._webStyleCache,i),M(t,this._webStyleCache,i)]));return await d("2d"===n.type?n.scale:null),"2d"===n.type&&p.push(s(()=>n.scale,e=>d(e))),l.add(t),p.push(i(()=>l.remove(t))),p.push(await F(l,n,a.originalFeature,e)),r(p)}async _executeSplit(e){const{data:i}=this,{originalFeature:r}=i,a=r.geometry;if(!a)throw new t("editing:feature-has-no-geometry","Cannot split the provided feature as it has no geometry.");const o=await G(a,e);if(!o||!o.newPart)throw new t("editing:split-failed","The split operation did not produce a valid result.");return o}_initializeFeatureFormViewModel(){const{data:e,_webStyleCache:t}=this,i=e.viewModel.view,r=i?.spatialReference??e.editorItem.layer.spatialReference,a=new I({formTemplate:e.editorItem.formTemplate,highlightHelper:this._highlightHelper,map:i?.map,spatialReference:r,timeZone:e.timeZone});this._formViewModel=a,this.addHandles(l(()=>a,"value-change",({feature:r,fieldName:a,value:o})=>{r&&(e.getEditsForFeature(r)?.setAttribute(a,o),M(r,t,i?.scale))}))}_initializeGraphicsLayer(){const{data:e}=this,{view:t}=e.viewModel,i=new h({elevationInfo:e.editorItem.layer.elevationInfo,internal:!0,listMode:"hide",title:"splitFeatureWorkflow-internal"});return this._graphicsLayer=i,t?.map.add(i),i}_initializeSketchViewModel(e){const{data:t}=this,{view:i}=t.viewModel;this._sketchViewModel=new j({layer:e,creationMode:"single",sketchOptions:t.sketchOptions,snappingManager:t.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:i})}_makeSketchController(){return{enter:async()=>{const{activeFeature:e}=this;e&&this.highlightFeature(e)},exit:()=>{this.clearHighlights()},viewModel:this._sketchViewModel}}async _setFeatureOnFormViewModel(e,t){const{data:i}=this,r=this._formViewModel;r.feature=e,"existing"===t?(r.editType="UPDATE",r.overrideInitialFeature(i.originalFeature)):r.editType="INSERT",await n(()=>!r.updating)}get test(){}};e([p()],x.prototype,"activeFeature",null),e([p()],x.prototype,"availableCreateTools",null),e([p()],x.prototype,"defaultSplitterGeometryType",void 0),e([p()],x.prototype,"featureFormViewModel",null),e([p()],x.prototype,"hasPreviousStep",null),e([p()],x.prototype,"helpMessage",null),e([p()],x.prototype,"layer",null),e([p()],x.prototype,"parent",null),e([p()],x.prototype,"parentLayer",null),e([p()],x.prototype,"type",void 0),e([p()],x.prototype,"updating",null),e([p()],x.prototype,"_activeFeature",void 0),e([p()],x.prototype,"_formViewModel",void 0),e([p()],x.prototype,"_graphicsLayer",void 0),e([p()],x.prototype,"_highlightHelper",void 0),e([p()],x.prototype,"_lastSplitterGeometryWasInvalid",void 0),e([p()],x.prototype,"_sketchViewModel",void 0),x=E=e([d("esri.widgets.Editor.SplitFeatureWorkflow")],x);const L=x;function W(e){return async i=>{const{existingFeatureEdits:r,newFeatureEdits:a}=i,o=r?.feature?.cloneShallow(),s=a?.feature?.cloneShallow(),l=i.editorItem.layer;if(null==o||null==s)throw new t("editing:missing-features","Expected both a feature to update and a feature to add for the split operation.");r?.attributesModified||(o.attributes=b(o,i.editorItem.layer)),await e(l,{addFeatures:[s],updateFeatures:[o]})}}function U(e,t){if(e.options.featureSources.some(e=>e.layer===t))return i();const r=new m({enabled:!1,layer:t});return e.options.featureSources.add(r),i(()=>{e.options.featureSources.remove(r),r.destroy()})}function P(e,t){const{options:r}=e,a=r.enabled;r.enabled=!0;const o=r.featureEnabled;r.featureEnabled=!0;const s=r.distance;r.distance=15;const l=new Map;for(const i of r.featureSources)l.set(i,i.enabled),i.layer===t?i.enabled=!0:i.enabled=!1;return i(()=>{r.enabled=a,r.featureEnabled=o,r.distance=s;for(const[e,t]of l)e.enabled=t})}export{L as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../core/Accessor.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 r}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../views/interactive/sketch/SketchOptions.js";let s=class extends t{constructor(e){super(e),this.editorItem=null,this.newFeatureEdits=null,this.existingFeatureEdits=null,this.originalFeature=null,this.sketchOptions=new i,this.snappingManager=null,this.splitterGeometry=null,this.viewModel=null}get timeZone(){return this.viewModel.view?.timeZone}set timeZone(e){null==e?this._clearOverride("timeZone"):this._override("timeZone",e)}getEditsForFeature(e){const{existingFeatureEdits:t,newFeatureEdits:o}=this;return t?.feature===e?t:o?.feature===e?o:null}getRoleForFeature(e){const{existingFeatureEdits:t,newFeatureEdits:o}=this;return t?.feature===e?"existing":o?.feature===e?"new":null}};e([o({constructOnly:!0})],s.prototype,"editorItem",void 0),e([o()],s.prototype,"newFeatureEdits",void 0),e([o()],s.prototype,"existingFeatureEdits",void 0),e([o()],s.prototype,"originalFeature",void 0),e([o()],s.prototype,"parent",void 0),e([o({constructOnly:!0})],s.prototype,"sketchOptions",void 0),e([o()],s.prototype,"snappingManager",void 0),e([o()],s.prototype,"splitterGeometry",void 0),e([o()],s.prototype,"timeZone",null),e([o()],s.prototype,"viewModel",void 0),s=e([r("esri.widgets.Editor.SplitFeatureWorkflowData")],s);const n=s;export{n as default};
5
+ import{__decorate as t}from"tslib";import e from"../../core/Accessor.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 r}from"../../core/accessorSupport/decorators/subclass.js";import i from"../../views/interactive/sketch/SketchOptions.js";let s=class extends e{constructor(t){super(t),this.editorItem=null,this.newFeatureEdits=null,this.existingFeatureEdits=null,this.originalFeature=null,this.sketchOptions=new i,this.snappingManager=null,this.splitResult=null,this.splitterGeometry=null,this.viewModel=null}get timeZone(){return this.viewModel.view?.timeZone}set timeZone(t){null==t?this._clearOverride("timeZone"):this._override("timeZone",t)}getEditsForFeature(t){const{existingFeatureEdits:e,newFeatureEdits:o}=this;return e?.feature===t?e:o?.feature===t?o:null}getRoleForFeature(t){const{existingFeatureEdits:e,newFeatureEdits:o}=this;return e?.feature===t?"existing":o?.feature===t?"new":null}};t([o({constructOnly:!0})],s.prototype,"editorItem",void 0),t([o()],s.prototype,"newFeatureEdits",void 0),t([o()],s.prototype,"existingFeatureEdits",void 0),t([o()],s.prototype,"originalFeature",void 0),t([o()],s.prototype,"parent",void 0),t([o({constructOnly:!0})],s.prototype,"sketchOptions",void 0),t([o()],s.prototype,"snappingManager",void 0),t([o()],s.prototype,"splitResult",void 0),t([o()],s.prototype,"splitterGeometry",void 0),t([o()],s.prototype,"timeZone",null),t([o()],s.prototype,"viewModel",void 0),s=t([r("esri.widgets.Editor.SplitFeatureWorkflowData")],s);const n=s;export{n 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{__decorate as t}from"tslib";import e from"../../Graphic.js";import i from"../../core/Error.js";import{makeHandle as a}from"../../core/handleUtils.js";import o from"../../core/Logger.js";import{abortMaybe as r}from"../../core/maybe.js";import{debounce as s,createResolver as n,onAbort as l,createAbortError as d,throwIfAborted as c}from"../../core/promiseUtils.js";import p from"../../core/Queue.js";import{whenOnce as u,watch as w,sync as h,when as f}from"../../core/reactiveUtils.js";import{last as g}from"../../core/SetUtils.js";import{property as v}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as k}from"../../core/accessorSupport/decorators/subclass.js";import{isEditableLayer as m}from"../../layers/support/editableLayers.js";import{isFeatureLayer as y,isSubtypeSublayer as W,isSubtypeGroupLayer as A,isTable as _}from"../../layers/support/layerUtils.js";import{createFeatureServices as b}from"../../rest/featureService/utils.js";import C from"../../views/draw/support/HighlightHelper.js";import{ViewEventPriorities as F}from"../../views/input/InputManager.js";import{temporaryHighlightName as S}from"../../views/support/HighlightDefaults.js";import M from"./CreateFeaturesWorkflow.js";import I from"./SplitFeatureWorkflow.js";import{UpdateFeatureWorkflow as E}from"./UpdateFeatureWorkflow.js";import{UpdateRecordWorkflow as R}from"./UpdateRecordWorkflow.js";import V from"./UpdateWorkflowData.js";import U from"./Workflow.js";import{findEditorItemForLayer as j,isSplitFeatureWorkflow as P,isUpdateRecordWorkflow as L,isParentWorkflow as x,findEditorItemForLayerOrThrow as O,createWorkflowSteps as T,fetchCandidates as H}from"./workflowUtils.js";import{findUtilityNetwork as N,isGraphicForRelatableFeatureSupportedLayer as D}from"../Feature/support/featureUtils.js";var q;let G=q=class extends U{constructor(t){super(t),this._workflowStack=new p(g),this._sketchStack=new p(g),this.data=void 0,this.type="update"}destroy(){this._drainWorkflowStack(t=>t.cancel({force:!0}))}get activeEditorItem(){return this.activeWorkflow?.data.editorItem??void 0}get activeFeatureFormViewModel(){return this.activeWorkflow?.featureFormViewModel}get activeUtilityNetworkAssociationAddAssociationViewModel(){return"add-association"===this.activeWorkflow?.type?this.activeWorkflow.utilityNetworkAssociationAddAssociationViewModel:null}get activeSketchViewModel(){return this._sketchStack.peek()?.viewModel}get canDeleteAssociation(){const{activeFeatureFormViewModel:t}=this;if(!this.activeWorkflow||!this.data.viewModel.view?.map||!t)return!1;const{activeAssociation:e,feature:i}=t;return!(!e||!i?.sourceLayer||!y(i?.sourceLayer)&&!W(i?.sourceLayer))}get activeWorkflow(){return this._workflowStack.last()}get updating(){return this._updatingHandles.updating||!!this.activeWorkflow?.updating}get hasPreviousStep(){const t=this.activeWorkflow?.featureFormViewModel;return this._stepIndex>0||this.nestedWorkflowCount>1||null!=t?.relationshipId||"view"!==this.data.viewModel.attachmentsViewModel.mode||null!=t?.associationId||null!=t?.associatedLayer}get hasUpdatableCandidates(){const{candidates:t,viewModel:e}=this.data;return t.some(({layer:t})=>j(e.editorItems,t)?.supportsUpdateWorkflow)}get nestedWorkflowCount(){return this._workflowStack.length}get shouldShowAttachments(){return!!this.activeEditorItem?.capabilities.attachments.enabled}get shouldAllowAttachmentEditing(){return!!this.activeEditorItem?.capabilities.update.attachments.enabled}get hasPendingEdits(){return Array.from(this._workflowStack).some(t=>t.hasPendingEdits)}get helpMessage(){return this.activeWorkflow?.helpMessage?this.activeWorkflow.helpMessage:"awaiting-feature-to-update"===this.stepId?"select":void 0}get reliesOnOwnerAdminPrivileges(){return this.activeWorkflow?.reliesOnOwnerAdminPrivileges??!1}get hasInvalidFormTemplate(){return!!this.activeEditorItem?.hasInvalidFormTemplate}async back(t=()=>Promise.resolve(!0)){const{activeWorkflow:e}=this,i=e?.featureFormViewModel;if(i?.activeRelationshipInput){const t=i.activeRelationshipInput;if(t.activeCategory)return void(t.activeCategory=null);if(null!=i.relationshipId)return void(i.relationshipId=null);if(t.showAllEnabled)return void(t.showAllEnabled=!1)}if("add-association"===e?.type){const{activeUtilityNetworkAssociationAddAssociationViewModel:t}=this;if(t?.filterOptionsVisible)return void(t.filterOptionsVisible=!1);t?.featureSpatialItems.length&&t.reset()}if(null==i?.associatedLayer)if(null==i?.associationId)if("create-features"===e?.type&&e.hasPreviousStep)await e.previous({cancelCurrentStep:!0});else if(e){if(e.hasPendingEdits&&!i?.disabled){if(!await t())return}e.hasPreviousStep?await e.previous({cancelCurrentStep:!0}):await this.cancelActiveWorkflow({force:!0})}else this.hasPreviousStep?await this.previous({cancelCurrentStep:!0}):await this.cancel({force:!0});else i.associationId=null;else i.associatedLayer=null}async cancelActiveWorkflow(t){await(this.activeWorkflow?.cancel(t)),await this._popWorkflowAndReconcile()}async commit(){await this._drainWorkflowStack(t=>t.commit()),await super.commit()}static create(t){const{startAt:e,applyEdits:i,applyEditsFeatureService:a,...o}=t,r=new q({data:new V({applyEditsCallback:i,applyEditsFeatureServiceCallback:a,...o}),onCommit:async()=>{}});return r._set("steps",this._createWorkflowSteps(r,e)),r}async save(){const{activeFeatureFormViewModel:t}=this;if(t){if(t.submit(),!t.submittable||t.pendingSubtypeChoice)return;const e=t.getValues();if(t.validateContingencyConstraints(e,{includeIncompleteViolations:!0}).length>0)return}if(this.nestedWorkflowCount<2)return await this.commit();const{activeWorkflow:e}=this;if(await(e?.commit()),!P(e))return void await this._popWorkflowAndReconcile();this._popWorkflow();const i=this._workflowStack.peek();if(i&&i===e?.parent&&(await i.cancel(),this._popWorkflow(),0===this.nestedWorkflowCount))return await this.commit();await this._reconcileWorkflowStack()}async startCreatingRelatedRecord(t){try{const e=this._createNestedCreateFeaturesWorkflow(t);await this._pushWorkflowAndReconcile(e)}catch(e){throw new i("editor:unable-to-start-creating","Could not begin updating the provided feature or table record.",{error:e})}}async startSplittingFeature(t,e){try{const i=await this._createNestedSplitFeatureWorkflow(t,e);await this._pushWorkflowAndReconcile(i)}catch(a){throw new i("editor:unable-to-start-splitting","Could not begin splitting the provided feature.",{error:a})}}async startUpdating(t,e){try{const i=await this._createNestedUpdateWorkflow(t,e);await this._pushWorkflowAndReconcile(i)}catch(a){throw new i("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:a})}}async startAddAssociation(t,e,a){try{const i=await this._createNestedAddAssociationWorkflow(t,e,a);await this._pushWorkflowAndReconcile(i)}catch(o){throw new i("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:o})}}async deleteActiveFeature(){const{activeWorkflow:t}=this;if(!t)throw new i("editor:nothing-to-delete","There is no feature to delete");const e=L(t);e?(t.stageDelete(),t.data.edits.feature===this.data.rootFeature&&this._removeRootFeatureFromCandidates()):await t.cancel(),this.nestedWorkflowCount<2?e?await this.commit():await this.cancel({force:!0}):(e&&await t.commit(),await this._popWorkflowAndReconcile(),await this._returnToPageWithContent())}async deleteActiveAssociation(){if(!this.canDeleteAssociation)throw new i("editor:nothing-to-delete","There is no association to delete");await this._deleteActiveAssociation(),await this._popWorkflowAndReconcile(),await this._returnToPageWithContent()}async cancelAll(){await this._drainWorkflowStack(t=>t.cancel({force:!0}))}async _deleteActiveAssociation(){const{activeFeatureFormViewModel:t,data:e}=this,{activeAssociation:a,feature:o}=t,{applyEditsFeatureServiceCallback:r,viewModel:s}=e,{sourceLayer:n}=o,l=W(n)&&n.parent?n.parent:n,d=b([l]),c=d.values().next().value?.featureService;if(!c)throw new i("editor:failed-to-delete-association","Could not retrieve feature service needed to delete association");await(c?.load());const p=s.view.map,u=N(p,l);await(u?.networkSystemLayers.loadAssociationsTable());const w=u?.generateDeleteAssociations([a]);if(!w)throw new i("editor:failed-to-delete-association","Could not create payload needed to delete association");const h=u?.gdbVersion??void 0;await r(c,[w],{gdbVersion:h,globalIdUsed:!0})}_removeRootFeatureFromCandidates(){const{candidates:t,rootFeature:e}=this.data;if(0===t.length||!e)return;const i=t.indexOf(e);i>-1&&t.splice(i,1)}async _returnToPageWithContent(){const{activeFeatureFormViewModel:t}=this;if(!t?.activeAssociationInput)return;const{activeAssociationInput:e,associationId:i}=t;await e.refresh(),e.associatedLayer&&!e.associatedFeatures?.length&&(t.associatedLayer=null),null==i||e.associatedFeatureInfos.size||(t.associationId=null)}_createNestedCreateFeaturesWorkflow(t){const{relatedLayer:e}=t,{addAttachmentsCallback:a,applyEditsCallback:o,applyEditsFeatureServiceCallback:r,sketchOptions:s,snappingManager:n,viewModel:l}=this.data;if(!m(e))throw new i("editor:unsupported-layer","Editing is not supported on the provided layer");const d=this._getCreationInfoForNestedCreateFeaturesWorkflow(t),c=d.template||d.initialFeature?"creating-features":"awaiting-feature-creation-info",p=x(this.activeWorkflow)?this.activeWorkflow:void 0;return M.create({addAttachmentsCallback:a,applyEdits:o,applyEditsFeatureService:r,creationInfo:d,isNested:!0,parent:p,sketchOptions:s,snappingManager:n,startAt:c,viewModel:l})}_getCreationInfoForNestedCreateFeaturesWorkflow(t){const{relatedLayer:a}=t;if(!m(a)||A(a))throw new i("editor:unsupported-layer","Editing is not supported on the provided layer");const{viewModel:o}=this.data,r={layer:a,maxFeatures:1},s=this._makeRelatedRecordAttributes(t),n=o.getTemplatesForLayer(a);return n?.length>0?(r.attributeOverrides=s,1===n.length&&(r.template=n[0])):r.initialFeature=new e({sourceLayer:a,attributes:s}),r}async _createNestedUpdateWorkflow(t,e={}){const i=_(t.sourceLayer)?R:E,{applyEditsCallback:a,applyEditsFeatureServiceCallback:o,sketchOptions:r,snappingManager:s,viewModel:n}=this.data,l=x(this.activeWorkflow)?this.activeWorkflow:void 0,d=await i.create({feature:t,parent:l,sketchOptions:r,snappingManager:s,viewModel:n,applyEdits:a,applyEditsFeatureService:o,featureFormCallbacks:{addRelatedRecord:async t=>await this._updatingHandles.addPromise(this.startCreatingRelatedRecord(t)),editRelatedRecord:async({relatedFeature:t,readOnly:e})=>await this._updatingHandles.addPromise(this.startUpdating(t,{readOnly:e})),selectAssociatedFeature:async({feature:t,association:e})=>await this._updatingHandles.addPromise(this.startUpdating(t,{association:e})),addAssociation:async t=>await this._updatingHandles.addPromise(this.startAddAssociation(t.feature,t.utilityNetwork,t.associationType))},...e});return await u(()=>!d.updating),d}async _createNestedAddAssociationWorkflow(t,e,i){const{AddAssociationWorkflow:a}=await import("./AddAssociationWorkflow.js"),{applyEditsCallback:o,applyEditsFeatureServiceCallback:r,viewModel:s}=this.data,n=x(this.activeWorkflow)?this.activeWorkflow:void 0,l=this.activeFeatureFormViewModel?.activeAssociationInput,d=await a.create({utilityNetwork:e,associationType:i,feature:t,parent:n,viewModel:s,associationInput:l,applyEdits:o,applyEditsFeatureService:r});return await u(()=>!d.updating),d}async _createNestedSplitFeatureWorkflow(t,e){const{applyEditsCallback:i,applyEditsFeatureServiceCallback:a,viewModel:o}=this.data,r=x(this.activeWorkflow)?this.activeWorkflow:void 0,s=O(o.editorItems,t.sourceLayer),n=I.create({applyEdits:i,applyEditsFeatureService:a,editorItem:s,originalFeature:t,parent:r,viewModel:o,...e});return await u(()=>!n.updating),n}async _drainWorkflowStack(t){const e=this._workflowStack,i=[];for(const a of e){const e=t(a).finally(()=>a.destroy());this._updatingHandles.addPromise(e),i.push(e)}await Promise.all(i),this._workflowStack.clear(),this._sketchStack.clear()}_makeRelatedRecordAttributes(t){const{parentFeature:e,relatedLayer:i,relationshipId:a}=t;if(!D(e))return;const o=i.relationships?.find(t=>t.id===a);if(!o)return void this._logContinuingWithoutRelationshipWarning("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the destination layer.");if("origin"===o.role)return void this._logContinuingWithoutRelationshipWarning("unsupported-role","Creating new related records in the 'origin' table of a relationship is not yet supported");const r=e.sourceLayer;o.relatedTableId!==r.layerId&&this._logContinuingWithoutRelationshipWarning("invalid-argument-combination","The given parent feature does not belong to the relationship designated by the given relationship ID.");const s=r.relationships?.find(t=>t.id===a);if(!s)return void this._logContinuingWithoutRelationshipWarning("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the origin layer.");const n=z(r,s),l=e.getAttribute(n);l||this._logContinuingWithoutRelationshipWarning("no-key-on-origin-feature","The given parent feature does not have a value for the relationship's origin primary key field.");const d=z(i,o);return{[d]:l}}_popWorkflow(){this._workflowStack.pop()?.destroy(),this._sketchStack.pop()}async _popWorkflowAndReconcile(){this._popWorkflow();const t=await this._reconcileWorkflowStack();if(t.failureCount>0)throw new i("editor:next-workflow-failed","Popped the top workflow, but the next workflow in the stack failed to activate",t)}async _pushWorkflowAndReconcile(t){const e=this._workflowRequiresSketchViewModel(t);this.activeWorkflow?.exit({removeSketchHandles:e});const a=this._sketchStack,o=await(t?.start()),r=a.peek();o?(r?.exit(),a.push(o)):a.push(this._cloneSketchController(r)),this._workflowStack.push(t);const s=await this._reconcileWorkflowStack();if(s.failureCount>0)throw new i("editor:failed-to-start-updating-feature","Failed to enter the provided workflow.",s)}async _reconcileWorkflowStack(){const t=this._workflowStack,e=this._sketchStack;try{const i=t.peek();return await(i?.enter()),await(e.peek()?.enter()),{activeWorkflow:i,failureCount:0}}catch(i){t.pop().destroy(),e.pop();const{activeWorkflow:a,failureCount:o}=await this._reconcileWorkflowStack();return{activeWorkflow:a,failureCount:o+1}}}_cloneSketchController(t){return{enter:t?.enter??(async()=>{}),exit:t?.exit??(async()=>{}),viewModel:t?.viewModel}}_workflowRequiresSketchViewModel(t){const{type:e}=t;return"update-feature"===e||"create-features"===e&&!_(t.data.creationInfo?.layer)}static _createWorkflowSteps(t,e="awaiting-feature-to-update"){const{data:o}=t;return T(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],e,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:e}=o.viewModel,i=o.viewModel.view;i.activeTool=null;let s=null;t.addHandles(a(()=>{s=r(s)}),this.id),o.rootFeature=null,o.candidates=[];const p=i.on("immediate-click",async a=>{const r=n();t._updatingHandles.addPromise(r.promise);try{e.location=a.mapPoint,e.visible=!0,s?.abort();const{editorItems:r}=o.viewModel;s=new AbortController;const n=await a.defer(()=>new Promise((t,e)=>{l(s?.signal,()=>e(d())),t(H(r,i,a,s?.signal))}));if(c(s),o.candidates=n.filter(t=>"fulfilled"===t.status).flatMap(t=>t.value).filter(t=>!t.isAggregate),e.visible=1===o.candidates.length,0===o.candidates.length)return;a.stopPropagation(),1===o.candidates.length?(o.rootFeature=o.candidates[0],t.go("editing-existing-feature").catch(()=>{}).then(()=>e.visible=!1)):t.next()}finally{r.resolve()}},F.TOOL),u=f(()=>null!=i.activeTool,()=>t.cancel({force:!0}),{once:!0});i.focus(),t.addHandles([p,u],this.id)},async tearDown(){0===o.candidates.length&&(o.viewModel.spinnerViewModel.visible=!1),t.removeHandles(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){o.rootFeature=null;const{view:e}=o.viewModel;if(!e)return;const i=new C({view:e,highlightName:S});t.addHandles([w(()=>o.rootFeature,(t,e)=>{i.remove(e),i.add(t)},h),a(()=>i.removeAll())],this.id)},async tearDown(){t.removeHandles(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const{data:e}=t,{rootFeature:a}=e;if(!a)throw new i("editor:no-feature-specified","Cannot setup the 'updating-existing-feature' step until the root feature is defined");"split"===e.rootWorkflowOptions?.type?await t.startSplittingFeature(a,e.rootWorkflowOptions.props):await t.startUpdating(a),e.viewModel.spinnerViewModel.visible=!1;const o=s(async()=>{await u(()=>!t.updating),t.previous()});t.addHandles([w(()=>t.nestedWorkflowCount,(t,e)=>{0===t&&0!==e&&o()},h)],this.id)},async tearDown(){await t.cancelAll(),t.removeHandles(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){o.viewModel.attachmentsViewModel.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){o.viewModel.attachmentsViewModel.mode="view"}})})}_logContinuingWithoutRelationshipWarning(t,e){o.getLogger(this).warn(`editor:${t}`,e,"The create operation will be allowed to proceed, but the resulting feature may not be related to the given parent feature.")}};function z(t,{keyField:e}){return t.getField(e)?.name??e}t([v()],G.prototype,"activeEditorItem",null),t([v()],G.prototype,"activeFeatureFormViewModel",null),t([v()],G.prototype,"activeUtilityNetworkAssociationAddAssociationViewModel",null),t([v()],G.prototype,"activeSketchViewModel",null),t([v()],G.prototype,"canDeleteAssociation",null),t([v()],G.prototype,"activeWorkflow",null),t([v()],G.prototype,"updating",null),t([v()],G.prototype,"data",void 0),t([v()],G.prototype,"hasPreviousStep",null),t([v()],G.prototype,"hasUpdatableCandidates",null),t([v()],G.prototype,"nestedWorkflowCount",null),t([v()],G.prototype,"shouldShowAttachments",null),t([v()],G.prototype,"shouldAllowAttachmentEditing",null),t([v()],G.prototype,"hasPendingEdits",null),t([v()],G.prototype,"helpMessage",null),t([v()],G.prototype,"reliesOnOwnerAdminPrivileges",null),t([v()],G.prototype,"hasInvalidFormTemplate",null),G=q=t([k("esri.widgets.Editor.UpdateWorkflow")],G);const Q=G;export{Q as default};
5
+ import{__decorate as t}from"tslib";import e from"../../Graphic.js";import i from"../../core/Error.js";import{makeHandle as a}from"../../core/handleUtils.js";import o from"../../core/Logger.js";import{abortMaybe as r}from"../../core/maybe.js";import{debounce as s,createResolver as n,onAbort as l,createAbortError as d,throwIfAborted as c}from"../../core/promiseUtils.js";import p from"../../core/Queue.js";import{whenOnce as u,watch as w,sync as h,when as f}from"../../core/reactiveUtils.js";import{last as g}from"../../core/SetUtils.js";import{property as v}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as k}from"../../core/accessorSupport/decorators/subclass.js";import{isEditableLayer as m}from"../../layers/support/editableLayers.js";import{isFeatureLayer as y,isSubtypeSublayer as W,isSubtypeGroupLayer as A,isTable as _}from"../../layers/support/layerUtils.js";import{createFeatureServices as b}from"../../rest/featureService/utils.js";import C from"../../views/draw/support/HighlightHelper.js";import{ViewEventPriorities as F}from"../../views/input/InputManager.js";import{temporaryHighlightName as S}from"../../views/support/HighlightDefaults.js";import M from"./CreateFeaturesWorkflow.js";import I from"./SplitFeatureWorkflow.js";import{UpdateFeatureWorkflow as E}from"./UpdateFeatureWorkflow.js";import{UpdateRecordWorkflow as R}from"./UpdateRecordWorkflow.js";import V from"./UpdateWorkflowData.js";import U from"./Workflow.js";import{findEditorItemForLayer as j,isSplitFeatureWorkflow as P,isUpdateRecordWorkflow as L,isParentWorkflow as O,findEditorItemForLayerOrThrow as x,createWorkflowSteps as T,fetchCandidates as H}from"./workflowUtils.js";import{findUtilityNetwork as N,isGraphicForRelatableFeatureSupportedLayer as D}from"../Feature/support/featureUtils.js";var q;let G=q=class extends U{constructor(t){super(t),this._workflowStack=new p(g),this._sketchStack=new p(g),this.data=void 0,this.type="update"}destroy(){this._drainWorkflowStack(t=>t.cancel({force:!0}))}get activeEditorItem(){return this.activeWorkflow?.data.editorItem??void 0}get activeFeatureFormViewModel(){return this.activeWorkflow?.featureFormViewModel}get activeUtilityNetworkAssociationAddAssociationViewModel(){return"add-association"===this.activeWorkflow?.type?this.activeWorkflow.utilityNetworkAssociationAddAssociationViewModel:null}get activeSketchViewModel(){return this._sketchStack.peek()?.viewModel}get canDeleteAssociation(){const{activeFeatureFormViewModel:t}=this;if(!this.activeWorkflow||!this.data.viewModel.view?.map||!t)return!1;const{activeAssociation:e,feature:i}=t;return!(!e||!i?.sourceLayer||!y(i?.sourceLayer)&&!W(i?.sourceLayer))}get activeWorkflow(){return this._workflowStack.last()}get updating(){return this._updatingHandles.updating||!!this.activeWorkflow?.updating}get hasPreviousStep(){const t=this.activeWorkflow?.featureFormViewModel;return this._stepIndex>0||this.nestedWorkflowCount>1||null!=t?.relationshipId||"view"!==this.data.viewModel.attachmentsViewModel.mode||null!=t?.associationId||null!=t?.associatedLayer}get hasUpdatableCandidates(){const{candidates:t,viewModel:e}=this.data;return t.some(({layer:t})=>j(e.editorItems,t)?.supportsUpdateWorkflow)}get nestedWorkflowCount(){return this._workflowStack.length}get shouldShowAttachments(){return!!this.activeEditorItem?.capabilities.attachments.enabled}get shouldAllowAttachmentEditing(){return!!this.activeEditorItem?.capabilities.update.attachments.enabled}get hasPendingEdits(){return Array.from(this._workflowStack).some(t=>t.hasPendingEdits)}get helpMessage(){return this.activeWorkflow?.helpMessage?this.activeWorkflow.helpMessage:"awaiting-feature-to-update"===this.stepId?"select":void 0}get reliesOnOwnerAdminPrivileges(){return this.activeWorkflow?.reliesOnOwnerAdminPrivileges??!1}get hasInvalidFormTemplate(){return!!this.activeEditorItem?.hasInvalidFormTemplate}async back(t=()=>Promise.resolve(!0)){const{activeWorkflow:e}=this,i=e?.featureFormViewModel;if(i?.activeRelationshipInput){const t=i.activeRelationshipInput;if(t.activeCategory)return void(t.activeCategory=null);if(null!=i.relationshipId)return void(i.relationshipId=null);if(t.showAllEnabled)return void(t.showAllEnabled=!1)}if("add-association"===e?.type){const{activeUtilityNetworkAssociationAddAssociationViewModel:t}=this;if(t?.filterOptionsVisible)return void(t.filterOptionsVisible=!1);t?.featureSpatialItems.length&&t.reset()}if(null==i?.associatedLayer)if(null==i?.associationId)if("create-features"===e?.type&&e.hasPreviousStep)await e.previous({cancelCurrentStep:!0});else{if(P(e)&&e.hasPreviousStep)return await e.back();if(e){if(e.hasPendingEdits&&!i?.disabled){if(!await t())return}e.hasPreviousStep?await e.previous({cancelCurrentStep:!0}):await this.cancelActiveWorkflow({force:!0})}else this.hasPreviousStep?await this.previous({cancelCurrentStep:!0}):await this.cancel({force:!0})}else i.associationId=null;else i.associatedLayer=null}async cancelActiveWorkflow(t){await(this.activeWorkflow?.cancel(t)),await this._popWorkflowAndReconcile()}async commit(){await this._drainWorkflowStack(t=>t.commit()),await super.commit()}static create(t){const{startAt:e,applyEdits:i,applyEditsFeatureService:a,...o}=t,r=new q({data:new V({applyEditsCallback:i,applyEditsFeatureServiceCallback:a,...o}),onCommit:async()=>{}});return r._set("steps",this._createWorkflowSteps(r,e)),r}async save(){const{activeFeatureFormViewModel:t}=this;if(t){if(t.submit(),!t.submittable||t.pendingSubtypeChoice)return;const e=t.getValues();if(t.validateContingencyConstraints(e,{includeIncompleteViolations:!0}).length>0)return}if(this.nestedWorkflowCount<2)return await this.commit();const{activeWorkflow:e}=this;if(await(e?.commit()),!P(e))return void await this._popWorkflowAndReconcile();this._popWorkflow();const i=this._workflowStack.peek();if(i&&i===e?.parent&&(await i.cancel(),this._popWorkflow(),0===this.nestedWorkflowCount))return await this.commit();await this._reconcileWorkflowStack()}async startCreatingRelatedRecord(t){try{const e=this._createNestedCreateFeaturesWorkflow(t);await this._pushWorkflowAndReconcile(e)}catch(e){throw new i("editor:unable-to-start-creating","Could not begin updating the provided feature or table record.",{error:e})}}async startSplittingFeature(t,e){try{const i=await this._createNestedSplitFeatureWorkflow(t,e);await this._pushWorkflowAndReconcile(i)}catch(a){throw new i("editor:unable-to-start-splitting","Could not begin splitting the provided feature.",{error:a})}}async startUpdating(t,e){try{const i=await this._createNestedUpdateWorkflow(t,e);await this._pushWorkflowAndReconcile(i)}catch(a){throw new i("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:a})}}async startAddAssociation(t,e,a){try{const i=await this._createNestedAddAssociationWorkflow(t,e,a);await this._pushWorkflowAndReconcile(i)}catch(o){throw new i("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:o})}}async deleteActiveFeature(){const{activeWorkflow:t}=this;if(!t)throw new i("editor:nothing-to-delete","There is no feature to delete");const e=L(t);e?(t.stageDelete(),t.data.edits.feature===this.data.rootFeature&&this._removeRootFeatureFromCandidates()):await t.cancel(),this.nestedWorkflowCount<2?e?await this.commit():await this.cancel({force:!0}):(e&&await t.commit(),await this._popWorkflowAndReconcile(),await this._returnToPageWithContent())}async deleteActiveAssociation(){if(!this.canDeleteAssociation)throw new i("editor:nothing-to-delete","There is no association to delete");await this._deleteActiveAssociation(),await this._popWorkflowAndReconcile(),await this._returnToPageWithContent()}async cancelAll(){await this._drainWorkflowStack(t=>t.cancel({force:!0}))}async _deleteActiveAssociation(){const{activeFeatureFormViewModel:t,data:e}=this,{activeAssociation:a,feature:o}=t,{applyEditsFeatureServiceCallback:r,viewModel:s}=e,{sourceLayer:n}=o,l=W(n)&&n.parent?n.parent:n,d=b([l]),c=d.values().next().value?.featureService;if(!c)throw new i("editor:failed-to-delete-association","Could not retrieve feature service needed to delete association");await(c?.load());const p=s.view.map,u=N(p,l);await(u?.networkSystemLayers.loadAssociationsTable());const w=u?.generateDeleteAssociations([a]);if(!w)throw new i("editor:failed-to-delete-association","Could not create payload needed to delete association");const h=u?.gdbVersion??void 0;await r(c,[w],{gdbVersion:h,globalIdUsed:!0})}_removeRootFeatureFromCandidates(){const{candidates:t,rootFeature:e}=this.data;if(0===t.length||!e)return;const i=t.indexOf(e);i>-1&&t.splice(i,1)}async _returnToPageWithContent(){const{activeFeatureFormViewModel:t}=this;if(!t?.activeAssociationInput)return;const{activeAssociationInput:e,associationId:i}=t;await e.refresh(),e.associatedLayer&&!e.associatedFeatures?.length&&(t.associatedLayer=null),null==i||e.associatedFeatureInfos.size||(t.associationId=null)}_createNestedCreateFeaturesWorkflow(t){const{relatedLayer:e}=t,{addAttachmentsCallback:a,applyEditsCallback:o,applyEditsFeatureServiceCallback:r,sketchOptions:s,snappingManager:n,viewModel:l}=this.data;if(!m(e))throw new i("editor:unsupported-layer","Editing is not supported on the provided layer");const d=this._getCreationInfoForNestedCreateFeaturesWorkflow(t),c=d.template||d.initialFeature?"creating-features":"awaiting-feature-creation-info",p=O(this.activeWorkflow)?this.activeWorkflow:void 0;return M.create({addAttachmentsCallback:a,applyEdits:o,applyEditsFeatureService:r,creationInfo:d,isNested:!0,parent:p,sketchOptions:s,snappingManager:n,startAt:c,viewModel:l})}_getCreationInfoForNestedCreateFeaturesWorkflow(t){const{relatedLayer:a}=t;if(!m(a)||A(a))throw new i("editor:unsupported-layer","Editing is not supported on the provided layer");const{viewModel:o}=this.data,r={layer:a,maxFeatures:1},s=this._makeRelatedRecordAttributes(t),n=o.getTemplatesForLayer(a);return n?.length>0?(r.attributeOverrides=s,1===n.length&&(r.template=n[0])):r.initialFeature=new e({sourceLayer:a,attributes:s}),r}async _createNestedUpdateWorkflow(t,e={}){const i=_(t.sourceLayer)?R:E,{applyEditsCallback:a,applyEditsFeatureServiceCallback:o,sketchOptions:r,snappingManager:s,viewModel:n}=this.data,l=O(this.activeWorkflow)?this.activeWorkflow:void 0,d=await i.create({feature:t,parent:l,sketchOptions:r,snappingManager:s,viewModel:n,applyEdits:a,applyEditsFeatureService:o,featureFormCallbacks:{addRelatedRecord:async t=>await this._updatingHandles.addPromise(this.startCreatingRelatedRecord(t)),editRelatedRecord:async({relatedFeature:t,readOnly:e})=>await this._updatingHandles.addPromise(this.startUpdating(t,{readOnly:e})),selectAssociatedFeature:async({feature:t,association:e})=>await this._updatingHandles.addPromise(this.startUpdating(t,{association:e})),addAssociation:async t=>await this._updatingHandles.addPromise(this.startAddAssociation(t.feature,t.utilityNetwork,t.associationType))},...e});return await u(()=>!d.updating),d}async _createNestedAddAssociationWorkflow(t,e,i){const{AddAssociationWorkflow:a}=await import("./AddAssociationWorkflow.js"),{applyEditsCallback:o,applyEditsFeatureServiceCallback:r,viewModel:s}=this.data,n=O(this.activeWorkflow)?this.activeWorkflow:void 0,l=this.activeFeatureFormViewModel?.activeAssociationInput,d=await a.create({utilityNetwork:e,associationType:i,feature:t,parent:n,viewModel:s,associationInput:l,applyEdits:o,applyEditsFeatureService:r});return await u(()=>!d.updating),d}async _createNestedSplitFeatureWorkflow(t,e){const{applyEditsCallback:i,applyEditsFeatureServiceCallback:a,sketchOptions:o,snappingManager:r,viewModel:s}=this.data,n=O(this.activeWorkflow)?this.activeWorkflow:void 0,l=x(s.editorItems,t.sourceLayer),d=I.create({applyEdits:i,applyEditsFeatureService:a,editorItem:l,originalFeature:t,parent:n,sketchOptions:o,snappingManager:r,viewModel:s,...e});return await u(()=>!d.updating),d}async _drainWorkflowStack(t){const e=this._workflowStack,i=[];for(const a of e){const e=t(a).finally(()=>a.destroy());this._updatingHandles.addPromise(e),i.push(e)}await Promise.all(i),this._workflowStack.clear(),this._sketchStack.clear()}_makeRelatedRecordAttributes(t){const{parentFeature:e,relatedLayer:i,relationshipId:a}=t;if(!D(e))return;const o=i.relationships?.find(t=>t.id===a);if(!o)return void this._logContinuingWithoutRelationshipWarning("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the destination layer.");if("origin"===o.role)return void this._logContinuingWithoutRelationshipWarning("unsupported-role","Creating new related records in the 'origin' table of a relationship is not yet supported");const r=e.sourceLayer;o.relatedTableId!==r.layerId&&this._logContinuingWithoutRelationshipWarning("invalid-argument-combination","The given parent feature does not belong to the relationship designated by the given relationship ID.");const s=r.relationships?.find(t=>t.id===a);if(!s)return void this._logContinuingWithoutRelationshipWarning("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the origin layer.");const n=z(r,s),l=e.getAttribute(n);l||this._logContinuingWithoutRelationshipWarning("no-key-on-origin-feature","The given parent feature does not have a value for the relationship's origin primary key field.");const d=z(i,o);return{[d]:l}}_popWorkflow(){this._workflowStack.pop()?.destroy(),this._sketchStack.pop()}async _popWorkflowAndReconcile(){this._popWorkflow();const t=await this._reconcileWorkflowStack();if(t.failureCount>0)throw new i("editor:next-workflow-failed","Popped the top workflow, but the next workflow in the stack failed to activate",t)}async _pushWorkflowAndReconcile(t){const e=this._workflowRequiresSketchViewModel(t);this.activeWorkflow?.exit({removeSketchHandles:e});const a=this._sketchStack,o=await(t?.start()),r=a.peek();o?(r?.exit(),a.push(o)):a.push(this._cloneSketchController(r)),this._workflowStack.push(t);const s=await this._reconcileWorkflowStack();if(s.failureCount>0)throw new i("editor:failed-to-start-updating-feature","Failed to enter the provided workflow.",s)}async _reconcileWorkflowStack(){const t=this._workflowStack,e=this._sketchStack;try{const i=t.peek();return await(i?.enter()),await(e.peek()?.enter()),{activeWorkflow:i,failureCount:0}}catch(i){t.pop().destroy(),e.pop();const{activeWorkflow:a,failureCount:o}=await this._reconcileWorkflowStack();return{activeWorkflow:a,failureCount:o+1}}}_cloneSketchController(t){return{enter:t?.enter??(async()=>{}),exit:t?.exit??(async()=>{}),viewModel:t?.viewModel}}_workflowRequiresSketchViewModel(t){const{type:e}=t;return"update-feature"===e||"create-features"===e&&!_(t.data.creationInfo?.layer)}static _createWorkflowSteps(t,e="awaiting-feature-to-update"){const{data:o}=t;return T(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],e,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:e}=o.viewModel,i=o.viewModel.view;i.activeTool=null;let s=null;t.addHandles(a(()=>{s=r(s)}),this.id),o.rootFeature=null,o.candidates=[];const p=i.on("immediate-click",async a=>{const r=n();t._updatingHandles.addPromise(r.promise);try{e.location=a.mapPoint,e.visible=!0,s?.abort();const{editorItems:r}=o.viewModel;s=new AbortController;const n=await a.defer(()=>new Promise((t,e)=>{l(s?.signal,()=>e(d())),t(H(r,i,a,s?.signal))}));if(c(s),o.candidates=n.filter(t=>"fulfilled"===t.status).flatMap(t=>t.value).filter(t=>!t.isAggregate),e.visible=1===o.candidates.length,0===o.candidates.length)return;a.stopPropagation(),1===o.candidates.length?(o.rootFeature=o.candidates[0],t.go("editing-existing-feature").catch(()=>{}).then(()=>e.visible=!1)):t.next()}finally{r.resolve()}},F.TOOL),u=f(()=>null!=i.activeTool,()=>t.cancel({force:!0}),{once:!0});i.focus(),t.addHandles([p,u],this.id)},async tearDown(){0===o.candidates.length&&(o.viewModel.spinnerViewModel.visible=!1),t.removeHandles(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){o.rootFeature=null;const{view:e}=o.viewModel;if(!e)return;const i=new C({view:e,highlightName:S});t.addHandles([w(()=>o.rootFeature,(t,e)=>{i.remove(e),i.add(t)},h),a(()=>i.removeAll())],this.id)},async tearDown(){t.removeHandles(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const{data:e}=t,{rootFeature:a}=e;if(!a)throw new i("editor:no-feature-specified","Cannot setup the 'updating-existing-feature' step until the root feature is defined");"split"===e.rootWorkflowOptions?.type?await t.startSplittingFeature(a,e.rootWorkflowOptions.props):await t.startUpdating(a),e.viewModel.spinnerViewModel.visible=!1;const o=s(async()=>{await u(()=>!t.updating),t.previous()});t.addHandles([w(()=>t.nestedWorkflowCount,(t,e)=>{0===t&&0!==e&&o()},h)],this.id)},async tearDown(){await t.cancelAll(),t.removeHandles(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){o.viewModel.attachmentsViewModel.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){o.viewModel.attachmentsViewModel.mode="view"}})})}_logContinuingWithoutRelationshipWarning(t,e){o.getLogger(this).warn(`editor:${t}`,e,"The create operation will be allowed to proceed, but the resulting feature may not be related to the given parent feature.")}};function z(t,{keyField:e}){return t.getField(e)?.name??e}t([v()],G.prototype,"activeEditorItem",null),t([v()],G.prototype,"activeFeatureFormViewModel",null),t([v()],G.prototype,"activeUtilityNetworkAssociationAddAssociationViewModel",null),t([v()],G.prototype,"activeSketchViewModel",null),t([v()],G.prototype,"canDeleteAssociation",null),t([v()],G.prototype,"activeWorkflow",null),t([v()],G.prototype,"updating",null),t([v()],G.prototype,"data",void 0),t([v()],G.prototype,"hasPreviousStep",null),t([v()],G.prototype,"hasUpdatableCandidates",null),t([v()],G.prototype,"nestedWorkflowCount",null),t([v()],G.prototype,"shouldShowAttachments",null),t([v()],G.prototype,"shouldAllowAttachmentEditing",null),t([v()],G.prototype,"hasPendingEdits",null),t([v()],G.prototype,"helpMessage",null),t([v()],G.prototype,"reliesOnOwnerAdminPrivileges",null),t([v()],G.prototype,"hasInvalidFormTemplate",null),G=q=t([k("esri.widgets.Editor.UpdateWorkflow")],G);const Q=G;export{Q 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{__decorate as e}from"tslib";import"../../../intl.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../Widget.js";import{css as i}from"../css.js";import{loadCalciteComponents as s}from"../../support/componentsUtils.js";import{Heading as a,incrementHeadingLevel as n}from"../../support/Heading.js";import{ItemList as c}from"../../support/ItemList.js";import{fetchThumbnail as l}from"../../support/symbolPreviewUtils.js";import"../../support/widgetUtils.js";import{messageBundle as d}from"../../support/decorators/messageBundle.js";import{tsx as m,tsxFragment as p}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";import{substitute as u}from"../../../intl/substitute.js";let h=class extends o{constructor(){super(...arguments),this.workflow=null,this.headingLevel=4,this._iconIntersectionObserver=new IntersectionObserver((e,t)=>{e.forEach(async e=>{if(e.isIntersecting){const r=e.target;if(f(r))return void t.unobserve(r);const o=g(r),{graphic:i}=o,s=i.sourceLayer??this.workflow?.data.creationInfo?.layer;if(!s||!i)return;b(r,!0);const a=o.id?u(this.messagesLegend.previewTemplateAriaLabel,{label:o.id}):this.messagesCommon.preview,n=await l(i,s,{ariaLabel:a}).catch(()=>(b(r,!1),null));if(null==n)return;r.appendChild(n)}})}),this.messages=null,this.messagesLegend=null,this.messagesCommon=null,this._renderActionEnd=({graphic:e})=>{const{workflow:t,messages:r}=this;if(!t)return;const o=e.geometry?m("calcite-action",{appearance:"transparent",icon:"zoom-to-object",onblur:()=>{t.data.temporaryHighlightFeature=null},onclick:()=>t.data.viewModel.zoomTo(e),onfocus:()=>{t.data.temporaryHighlightFeature=e},scale:"s",slot:"actions-end",text:this.messages.zoomTo,title:this.messages.zoomTo}):void 0,i=t.data.isSharedTemplateWorkflow?void 0:m("calcite-action",{appearance:"transparent",icon:"trash",onblur:()=>{t.data.temporaryHighlightFeature=null},onclick:()=>t.cancelFeature(e),onfocus:()=>{t.data.temporaryHighlightFeature=e},scale:"s",slot:"actions-end",text:r.createFeaturesSelectionList.discard,title:r.createFeaturesSelectionList.discard});return m(p,null,o,i)},this._renderItemContentEnd=({graphic:e})=>{const{workflow:t}=this,r=t?.data.isSubmittable(e);return[r?void 0:m("calcite-icon",{class:i.pendingFeatureListIcon,icon:"exclamation-mark-triangle",scale:"s",slot:"content-end"})]},this._renderItemIcon=e=>{if(null!=e?.graphic?.geometry)return m("span",{afterCreate:this._afterItemCreateOrUpdate,afterRemoved:this._afterItemRemoved,afterUpdate:this._afterItemCreateOrUpdate,"data-has-icon":!1,"data-item":e,key:"icon"})},this._afterItemCreateOrUpdate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)}}loadDependencies(){return s({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")})}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}render(){const e=this.workflow;if(!e)return m(p,null,void 0);const t=this.messages,r=e.pendingFeatures.filter(t=>e.data.isDisplayable(t)).map((r,o)=>{const i=e.data.isSubmittable(r),s=i?t.createFeaturesSelectionList.featureReadyToSubmit:t.createFeaturesSelectionList.featureNotReadyToSubmit;return{disabled:!1,id:`${e.data.getFeatureTitle(r)??o}`,graphic:r,label:s,submittable:i}}).toArray();return m("div",null,m(a,{level:n(this.headingLevel)},t.createFeaturesSelectionList.heading),m("calcite-list",{label:t.createFeaturesSelectionList.heading},c({enableListScroll:!1,filterEnabled:!1,filterText:"",id:"update-features-pick-list",items:r,messages:{filterPlaceholder:"",noItems:"",noMatches:""},renderIcon:this._renderItemIcon,renderItemTitle:e=>e.label,renderItemLabel:e=>e.id,onItemMouseEnter:t=>e.data.temporaryHighlightFeature=t.graphic,onItemMouseLeave:()=>e.data.temporaryHighlightFeature=null,onItemSelect:t=>e.updatePendingFeature(t.graphic),renderItemContentEnd:this._renderItemContentEnd,renderItemActionEnd:this._renderActionEnd})))}};function g(e){return e?.["data-item"]}function f(e){return!!e?.["data-has-icon"]}function b(e,t){e&&(e["data-has-icon"]=t)}e([t()],h.prototype,"workflow",void 0),e([t()],h.prototype,"headingLevel",void 0),e([t(),d("esri/widgets/Editor/t9n/Editor")],h.prototype,"messages",void 0),e([t(),d("esri/widgets/Legend/t9n/Legend")],h.prototype,"messagesLegend",void 0),e([t(),d("esri/t9n/common")],h.prototype,"messagesCommon",void 0),h=e([r("esri.widgets.Editor.components.PendingFeatureList")],h);const v=h;export{v as default};
5
+ import{__decorate as e}from"tslib";import"../../../intl.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import o from"../../Widget.js";import{css as i}from"../css.js";import{isCreateFeaturesWorkflow as s,isSplitFeatureWorkflow as n}from"../workflowUtils.js";import{CreateFeaturesWorkflowPendingFeatureListAdapter as a}from"./workflowAdapters/pendingFeatureList/CreateFeaturesWorkflowPendingFeatureListAdapter.ts.js";import{SplitFeatureWorkflowPendingFeatureListAdapter as c}from"./workflowAdapters/pendingFeatureList/SplitFeatureWorkflowPendingFeatureListAdapter.js";import{loadCalciteComponents as l}from"../../support/componentsUtils.js";import{Heading as d,incrementHeadingLevel as m}from"../../support/Heading.js";import{ItemList as p}from"../../support/ItemList.js";import{fetchThumbnail as u}from"../../support/symbolPreviewUtils.js";import"../../support/widgetUtils.js";import{messageBundle as h}from"../../support/decorators/messageBundle.js";import{tsx as f,tsxFragment as g}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";import{substitute as w}from"../../../intl/substitute.js";let b=class extends o{constructor(){super(...arguments),this.workflow=null,this.workflowAdapter=null,this.headingLevel=4,this._iconIntersectionObserver=new IntersectionObserver((e,t)=>{e.forEach(async e=>{if(e.isIntersecting){const r=e.target;if(I(r))return void t.unobserve(r);const o=v(r),{graphic:i}=o,s=i.sourceLayer??this.workflowAdapter?.layer;if(!s||!i)return;k(r,!0);const n=o.id?w(this.messages.previewTemplateAriaLabel,{label:o.id}):this.messagesCommon.preview,a=await u(i,s,{ariaLabel:n}).catch(()=>(k(r,!1),null));if(null==a)return;r.appendChild(a)}})}),this.messages=null,this.messagesCommon=null,this._renderActionEnd=({graphic:e})=>{const{workflowAdapter:t,messages:r}=this;if(!t)return;const o=e.geometry?f("calcite-action",{appearance:"transparent",icon:"zoom-to-object",onblur:()=>t.clearHighlights(),onclick:()=>t.zoomToFeature(e),onfocus:()=>t.highlightFeature(e),scale:"s",slot:"actions-end",text:this.messages.zoomTo,title:this.messages.zoomTo}):void 0,i=t.allowCancel?f("calcite-action",{appearance:"transparent",icon:"trash",onblur:()=>t.clearHighlights(),onclick:()=>t.cancelFeature(e),onfocus:()=>t.highlightFeature(e),scale:"s",slot:"actions-end",text:r.createFeaturesSelectionList.discard,title:r.createFeaturesSelectionList.discard}):void 0;return f(g,null,o,i)},this._renderItemContentEnd=({graphic:e})=>{const{workflowAdapter:t}=this,r=t?.isSubmittable(e);return[r?void 0:f("calcite-icon",{class:i.pendingFeatureListIcon,icon:"exclamation-mark-triangle",scale:"s",slot:"content-end"})]},this._renderItemIcon=e=>{if(null!=e?.graphic?.geometry)return f("span",{afterCreate:this._afterItemCreateOrUpdate,afterRemoved:this._afterItemRemoved,afterUpdate:this._afterItemCreateOrUpdate,"data-has-icon":!1,"data-item":e,key:"icon"})},this._afterItemCreateOrUpdate=e=>{this._iconIntersectionObserver?.observe(e)},this._afterItemRemoved=e=>{this._iconIntersectionObserver?.unobserve(e)}}loadDependencies(){return l({action:()=>import("@esri/calcite-components/dist/components/calcite-action"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),list:()=>import("@esri/calcite-components/dist/components/calcite-list")})}initialize(){this.workflowAdapter=L(this.workflow)}destroy(){this._iconIntersectionObserver?.disconnect(),this._iconIntersectionObserver=null}render(){const e=this.workflowAdapter;if(!e)return f(g,null,void 0);const t=this.messages,r=e.features.filter(t=>e.isVisible(t)).map((r,o)=>{const i=e.isSubmittable(r),s=i?t.createFeaturesSelectionList.featureReadyToSubmit:t.createFeaturesSelectionList.featureNotReadyToSubmit;return{disabled:!1,id:`${e.getFeatureTitle(r)??o}`,graphic:r,label:s,submittable:i}});return f("div",null,f(d,{level:m(this.headingLevel)},t.createFeaturesSelectionList.heading),f("calcite-list",{label:t.createFeaturesSelectionList.heading},p({enableListScroll:!1,filterEnabled:!1,filterText:"",id:"update-features-pick-list",items:r,messages:{filterPlaceholder:"",noItems:"",noMatches:""},renderIcon:this._renderItemIcon,renderItemTitle:e=>e.label,renderItemLabel:e=>e.id,onItemMouseEnter:e=>this.workflowAdapter?.highlightFeature(e.graphic),onItemMouseLeave:()=>this.workflowAdapter?.clearHighlights(),onItemSelect:e=>this.workflowAdapter?.onSelectFeature(e.graphic),renderItemContentEnd:this._renderItemContentEnd,renderItemActionEnd:this._renderActionEnd})))}};function v(e){return e?.["data-item"]}function I(e){return!!e?.["data-has-icon"]}function k(e,t){e&&(e["data-has-icon"]=t)}function L(e){return s(e)?new a({workflow:e}):n(e)?new c({workflow:e}):null}e([t()],b.prototype,"workflow",void 0),e([t()],b.prototype,"workflowAdapter",void 0),e([t()],b.prototype,"headingLevel",void 0),e([t(),h("esri/widgets/Editor/t9n/Editor")],b.prototype,"messages",void 0),e([t(),h("esri/t9n/common")],b.prototype,"messagesCommon",void 0),b=e([r("esri.widgets.Editor.components.PendingFeatureList")],b);const F=b;export{F 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{substitute as e}from"../../../intl/substitute.js";import{isBatchAttributeFormViewModel as t,isCreateFeaturesWorkflow as o,isUpdateFeaturesWorkflow as i}from"../workflowUtils.js";import{loadFooterActionsComponents as n,FooterActions as a}from"./FooterActions.js";import{loadNoticesComponents as s,Notices as l}from"./Notices.js";import{loadPanelContentComponents as r,PanelContentSection as u,PanelContentSectionGroup as d,PanelContent as c}from"./PanelContent.js";import p from"./PendingFeatureList.js";import{Heading as m,incrementHeadingLevel as f}from"../../support/Heading.js";import"../../support/widgetUtils.js";import{tsx as g,tsxFragment as h}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";const w=()=>Promise.all([n(),s(),r()]);function b({editorViewModel:n,headingLevel:s,messages:r,messagesCommon:w,onDelete:b,onDeleteAssociation:v,onSave:y,renderAttachments:k,renderFeatureForm:F,renderBatchAttributeForm:A,renderSketchToolbar:j}){const{activeFeatureCount:C,activeLeafWorkflow:S,activeWorkflow:L,formViewModel:D,syncing:I}=n;if(!S||!L||!D)return null;const P=S.type.includes("update"),B=t(D),H=C>1?r.multiFeature:r.singleFeature,T=P&&!S.hasPendingEdits||I||D.updating||D.disabled||t(D)&&D.readOnly,x=e(P?H.update:H.create,{count:C}),M="create-features"!==S?.type||!!S.data.selectedPendingFeature,V="shouldShowAttachments"in S&&S.shouldShowAttachments&&!B&&!D.activeRelationshipInput&&!D.activeAssociationInput,U=B?D.activeForm.inputs:D.inputs,W=o(S)&&U.every(e=>!e.visible)&&!V,E=i(S)?A:F,N=W?g(u,null,g(p,{headingLevel:s,key:"pending-feature-list",workflow:S})):g(u,{key:"panel-content-section"},g(l,{activeFeatureCount:C,messages:r,workflow:L}),g(d,null,M||"create-features"!==S.type?E():g(p,{headingLevel:s,key:"pending-feature-list",workflow:S}),V?g("div",{key:"attachments"},g(m,{level:f(s)},r.attachments),k()):null)),O=()=>{const{featureFormViewModel:e}=n;null!=e?.associationId&&(e.associationId=null)},R={appearance:"solid",onClick:y,disabled:T,label:x,type:"button"},q={appearance:"outline",onClick:b,disabled:I,kind:"danger",label:e(H.delete,{count:C}),type:"button"},z={...q,onClick:v,label:r.deleteAssociationTitle,type:"button"},G={...q,primaryLabel:w.delete,primaryText:w.delete,dropdownItems:[{onClick:v,label:r.deleteAssociationTitle}],type:"split-button"},J={appearance:"outline",onClick:O,disabled:I,label:w.cancel,type:"button"},K="viewing-associated-features"===n.page||"viewing-associated-layers"===n.page?[J]:[R,n.shouldShowDeleteButton&&!n.featureFormHasAssociation?q:void 0,n.shouldShowDeleteButton&&n.featureFormHasAssociation?G:void 0,!n.shouldShowDeleteButton&&n.featureFormHasAssociation?z:void 0];return g(h,null,W?j?.():void 0,g(c,{key:"attribute-panel-content"},N),g(a,{buttons:K}))}export{b as UpdateFeaturePanelContent,w as loadUpdateFeaturePanelContentComponents};
5
+ import{substitute as e}from"../../../intl/substitute.js";import{css as t}from"../css.js";import{isBatchAttributeFormViewModel as o,isCreateFeaturesWorkflow as i,isSplitFeatureWorkflow as n,isUpdateFeaturesWorkflow as a,isUpdateFeatureWorkflow as s}from"../workflowUtils.js";import{loadFooterActionsComponents as l,FooterActions as r}from"./FooterActions.js";import{loadNoticesComponents as c,Notices as p}from"./Notices.js";import{loadPanelContentComponents as u,PanelContentSection as d,PanelContentSectionGroup as m,PanelContent as f}from"./PanelContent.js";import b from"./PendingFeatureList.js";import{isSplittableGeometryType as g}from"../support/splitFeatureUtils.js";import{loadCalciteComponents as h}from"../../support/componentsUtils.js";import{Heading as k,incrementHeadingLevel as v}from"../../support/Heading.js";import{classes as w}from"../../support/widgetUtils.js";import{tsx as y,tsxFragment as F}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";const j=()=>Promise.all([h({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),action:()=>import("@esri/calcite-components/dist/components/calcite-action")}),l(),c(),u()]);function A(t){const{editorViewModel:s,headingLevel:l,messages:c,messagesCommon:u,onDelete:g,onDeleteAssociation:h,onSave:w,renderAttachments:j,renderFeatureForm:A,renderBatchAttributeForm:T,renderSketchToolbar:S}=t,{activeFeatureCount:z,activeLeafWorkflow:I,activeWorkflow:x,formViewModel:B,syncing:D}=s;if(!I||!x||!B)return null;const L=I.type.includes("update"),M=o(B),P=z>1?c.multiFeature:c.singleFeature,V=L&&!I.hasPendingEdits||D||B.updating||B.disabled||o(B)&&B.readOnly,H=e(L?P.update:P.create,{count:z}),U=i(I)&&!I.data.selectedPendingFeature||n(I)&&!I.activeFeature,W="shouldShowAttachments"in I&&I.shouldShowAttachments&&!M&&!B.activeRelationshipInput&&!B.activeAssociationInput,E=M?B.activeForm.inputs:B.inputs,N=i(I)&&E.every(e=>!e.visible)&&!W,O=!U&&!N,R=a(I)?T:A,Z=N?y(d,null,y(b,{headingLevel:l,key:"pending-feature-list",workflow:I})):y(d,{key:"panel-content-section"},y(p,{activeFeatureCount:z,messages:c,workflow:x}),y(m,null,U?y(b,{headingLevel:l,key:"pending-feature-list",workflow:I}):R(),W?y("div",{key:"attachments"},y(k,{level:v(l)},c.attachments),j()):null)),q=()=>{const{featureFormViewModel:e}=s;null!=e?.associationId&&(e.associationId=null)},G={appearance:"solid",onClick:w,disabled:V,label:H,type:"button"},J={appearance:"outline",onClick:g,disabled:D,kind:"danger",label:e(P.delete,{count:z}),type:"button"},K={...J,onClick:h,label:c.deleteAssociationTitle,type:"button"},Q={...J,primaryLabel:u.delete,primaryText:u.delete,dropdownItems:[{onClick:h,label:c.deleteAssociationTitle}],type:"split-button"},X={appearance:"outline",onClick:q,disabled:D,label:u.cancel,type:"button"},Y="viewing-associated-features"===s.page||"viewing-associated-layers"===s.page?[X]:[G,s.shouldShowDeleteButton&&!s.featureFormHasAssociation?J:void 0,s.shouldShowDeleteButton&&s.featureFormHasAssociation?Q:void 0,!s.shouldShowDeleteButton&&s.featureFormHasAssociation?K:void 0];return y(F,null,O?C(I,t):void 0,N?S?.():void 0,y(f,{key:"attribute-panel-content"},Z),y(r,{buttons:Y}))}function C(e,o){const i=[];if(o.visibleElements.zoomToButton&&o.editorViewModel.canZoomTo&&i.push(y("calcite-action",{alignment:"center",appearance:"transparent",icon:"zoom-to-object",key:"zoom-to-button",onclick:()=>o.editorViewModel.zoomTo(),scale:"s",text:o.messages.zoomTo,title:o.messages.zoomTo})),s(e)&&e.editorItem.supportsSplitFeatureWorkflow&&g(e.editorItem.layer?.geometryType)){const{onSplit:e,messages:t}=o;i.push(y("calcite-action",{icon:"split-geometry",key:"split-button",onclick:e,scale:"s",text:t.split,title:t.split}))}return i.length>0?y("calcite-action-bar",{class:w(t.sketchContainer,t.updateActionBar),"data-testid":"update-feature-panel-action-bar",expandDisabled:!0,layout:"horizontal"},i):void 0}export{A as UpdateFeaturePanelContent,j as loadUpdateFeaturePanelContentComponents};
@@ -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 e from"../../../core/Error.js";import{Convert3DFailedError as t,MultipleModelsError as s,NoModelError as o}from"../../../layers/graphics/sources/support/uploadAssetErrors.js";import{loadFooterActionsComponents as r,FooterActions as i}from"./FooterActions.js";import{loadPanelContentComponents as l,PanelContent as n,PanelContentSection as c}from"./PanelContent.js";import{loadCalciteComponents as a}from"../../support/componentsUtils.js";import{classes as p}from"../../support/widgetUtils.js";import{tsx as d,tsxFragment as u}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";const m="esri-editor__upload-details",f={base:m,status:`${m}__status`,titleWrapper:`${m}__title-wrapper`,title:`${m}__title`,description:`${m}__description`,loader:`${m}__loader`,iconSuccess:`${m}__icon ${m}__icon--success`,iconError:`${m}__icon ${m}__icon--error`,fileList:`${m}__file-list`,file:`${m}__file`,fileIcon:`${m}__file-icon`,fileName:`${m}__file-name`},_=()=>Promise.all([a({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader")}),r(),l()]);function g(e){const{messages:t,key:s,upload:o}=e;return d(u,null,d(n,{key:s??"upload-details"},d(c,null,y(e))),"error"===o.state?d(i,{buttons:[{onClick:()=>o.retry(),label:t.modelUploads.error.uploadNew,iconStart:"upload-to",type:"button"}],key:"upload-details-footer-actions"}):null)}function y(e){const t=k(e);return t?d("div",{class:f.base,"data-testid":"upload-details",key:"upload-details-content"},d("div",{class:f.status,key:"status"},t.iconContent,d("div",{class:f.titleWrapper,key:"text"},d("div",{class:f.title,key:"title"},t.title),d("div",{class:f.description,key:"description"},t.description))),h(e.upload)):null}function k({helpMessage:e,messages:t,upload:s}){switch(s.state){case"pending":{const{title:e,description:o}=t.modelUploads.pending;return{title:e,description:o,iconContent:d("calcite-loader",{"aria-hidden":"true",class:f.loader,label:"",scale:"s",type:"determinate",value:Math.min(Math.round(100*s.progress),1===s.progress?100:99)})}}case"success":{const{title:s}=t.modelUploads.success;return{title:s,description:e||t.helpMessages3d.mesh,iconContent:d("calcite-icon",{class:p(f.iconSuccess),icon:"check",scale:"l"})}}case"error":{const{title:e}=t.modelUploads.error;return{title:e,description:$(s.error,t),iconContent:d("calcite-icon",{class:p(f.iconError),icon:"exclamation-mark-circle",scale:"l"})}}default:return null}}function $(r,i){if(!r)return null;const l=i.modelUploads.error.messages;switch(r.constructor){case o:return l.noModel;case s:return l.multipleModels;case t:return l.conversionFailed;case e:switch(r.name){case"glt-loader-error":case"gltf-loader-invalid-glb":return l.loadFailed;case"gltf-loader-unsupported-feature":return l.unsupportedFeature;case"glt-loader-request-error":return l.resourceRequestFailed;default:return l.default}default:return l.default}}function h(e){return d("div",{class:f.fileList,key:"file-list"},e.files.map(e=>d("div",{class:f.file,key:`file-${e.name}`},d("calcite-icon",{class:f.fileIcon,icon:j(e),scale:"s"}),d("span",{class:f.fileName},v(e.name)))))}function v(e){return e.split("/").pop()?.split("\\").pop()??""}function j(e){const t=e.name.split(".").pop()?.toLowerCase();return(t?U[t]:null)??b}const b="file",w="file-shape",C="file-image",U={glb:w,gltf:w,jpeg:C,jpg:C,png:C,svg:C,zip:"file-zip"};export{g as UploadDetails,f as css,_ as loadUploadDetailsComponents};
5
+ import e from"../../../core/Error.js";import{Convert3DFailedError as t,MultipleModelsError as s,NoModelError as o}from"../../../layers/graphics/sources/support/uploadAssetErrors.js";import{loadFooterActionsComponents as r,FooterActions as i}from"./FooterActions.js";import{loadPanelContentComponents as l,PanelContent as n,PanelContentSection as a}from"./PanelContent.js";import{loadCalciteComponents as c}from"../../support/componentsUtils.js";import{classes as p}from"../../support/widgetUtils.js";import{tsx as d,tsxFragment as u}from"../../support/jsxFactory.js";import"@arcgis/toolkit/dom";const m="esri-editor__upload-details",f={base:m,status:`${m}__status`,titleWrapper:`${m}__title-wrapper`,title:`${m}__title`,description:`${m}__description`,loader:`${m}__loader`,iconSuccess:`${m}__icon ${m}__icon--success`,iconError:`${m}__icon ${m}__icon--error`,fileList:`${m}__file-list`,file:`${m}__file`,fileIcon:`${m}__file-icon`,fileName:`${m}__file-name`},_=()=>Promise.all([c({icon:()=>import("@esri/calcite-components/dist/components/calcite-icon"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader")}),r(),l()]);function g(e){const{messages:t,key:s,upload:o}=e;return d(u,null,d(n,{key:s??"upload-details"},d(a,null,y(e))),"error"===o.state?d(i,{buttons:[{onClick:()=>o.retry(),label:t.modelUploads.error.uploadNew,iconStart:"upload-to",type:"button"}],key:"upload-details-footer-actions"}):null)}function y(e){const t=k(e);return t?d("div",{class:f.base,"data-testid":"upload-details",key:"upload-details-content"},d("div",{class:f.status,key:"status"},t.iconContent,d("div",{class:f.titleWrapper,key:"text"},d("div",{class:f.title,key:"title"},t.title),d("div",{class:f.description,key:"description"},t.description))),h(e.upload)):null}function k({helpMessage:e,messages:t,upload:s}){switch(s.state){case"pending":{const{title:e,description:o}=t.modelUploads.pending;return{title:e,description:o,iconContent:d("calcite-loader",{"aria-hidden":"true",class:f.loader,label:"",scale:"s",type:"determinate",value:Math.min(Math.round(100*s.progress),1===s.progress?100:99)})}}case"success":{const{title:s}=t.modelUploads.success;return{title:s,description:e||t.helpMessages3d.mesh,iconContent:d("calcite-icon",{class:p(f.iconSuccess),icon:"check",scale:"l"})}}case"error":{const{title:e}=t.modelUploads.error;return{title:e,description:$(s.error,t),iconContent:d("calcite-icon",{class:p(f.iconError),icon:"exclamation-mark-circle",scale:"l"})}}default:return null}}function $(r,i){if(!r)return null;const l=i.modelUploads.error.messages;switch(r.constructor){case o:return l.noModel;case s:return l.multipleModels;case t:return l.conversionFailed;case e:switch(r.name){case"glt-loader-error":case"gltf-loader-invalid-glb":return l.loadFailed;case"gltf-loader-unsupported-feature":case"mesh-load-external:draco-not-supported":return l.unsupportedFeature;case"glt-loader-request-error":return l.resourceRequestFailed;default:return l.default}default:return l.default}}function h(e){return d("div",{class:f.fileList,key:"file-list"},e.files.map(e=>d("div",{class:f.file,key:`file-${e.name}`},d("calcite-icon",{class:f.fileIcon,icon:j(e),scale:"s"}),d("span",{class:f.fileName},v(e.name)))))}function v(e){return e.split("/").pop()?.split("\\").pop()??""}function j(e){const t=e.name.split(".").pop()?.toLowerCase();return(t?U[t]:null)??b}const b="file",w="file-shape",C="file-image",U={glb:w,gltf:w,jpeg:C,jpg:C,png:C,svg:C,zip:"file-zip"};export{g as UploadDetails,f as css,_ as loadUploadDetailsComponents};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{__decorate as e}from"tslib";import r from"../../../../../core/Accessor.js";import{property as t}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";let a=class extends r{constructor(e){super(),this._workflow=e.workflow}get allowCancel(){return!this._workflow.data.isSharedTemplateWorkflow}get layer(){return this._workflow.data.editorItem?.layer}get features(){return this._workflow.data.pendingFeatures.toArray()}cancelFeature(e){this._workflow.cancelFeature(e)}clearHighlights(){this._workflow.data.temporaryHighlightFeature=null}highlightFeature(e){this._workflow.data.temporaryHighlightFeature=e}getFeatureTitle(e){return this._workflow.data.getFeatureTitle(e)}isSubmittable(e){return this._workflow.data.isSubmittable(e)}isVisible(e){return this._workflow.data.isDisplayable(e)}onSelectFeature(e){this._workflow.updatePendingFeature(e)}zoomToFeature(e){this._workflow.data.viewModel.zoomTo(e)}};e([t()],a.prototype,"_workflow",void 0),a=e([o("esri.widgets.Editor.components.workflowAdapters.pendingFeatureList.CreateFeaturesWorkflowPendingFeatureListAdapter.ts")],a);export{a as CreateFeaturesWorkflowPendingFeatureListAdapter};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{__decorate as e}from"tslib";import r from"../../../../../core/Accessor.js";import{pushIfSome as t}from"../../../../../core/arrayUtils.js";import o from"../../../../../core/Error.js";import i from"../../../../../core/Logger.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import{subclass as a}from"../../../../../core/accessorSupport/decorators/subclass.js";const l=()=>i.getLogger("esri.widgets.Editor.components.workflowAdapters.pendingFeatureList.SplitFeatureWorkflowPendingFeatureListAdapter");let n=class extends r{constructor(e){super(),this._workflow=e.workflow}get allowCancel(){return!1}get layer(){return this._workflow.data.editorItem?.layer}get features(){const{existingFeatureEdits:e,newFeatureEdits:r}=this._workflow.data,o=[];return t(o,e?.feature,r?.feature),o}cancelFeature(){l().error(new o("editing:cannot-cancel-feature","Cannot cancel or remove features in a SplitFeatureWorkflow"))}clearHighlights(){this._workflow.clearHighlights()}highlightFeature(e){this._workflow.highlightFeature(e)}getFeatureTitle(e){return this._workflow.data.getEditsForFeature(e)?.displayTitle}isSubmittable(e){return this._workflow.data.getEditsForFeature(e)?.submittable??!0}isVisible(){return!0}onSelectFeature(e){this._workflow.setActiveFeature(e)}zoomToFeature(e){this._workflow.data.viewModel.zoomTo(e)}};e([s()],n.prototype,"_workflow",void 0),n=e([a("esri.widgets.Editor.components.workflowAdapters.pendingFeatureList.SplitFeatureWorkflowPendingFeatureListAdapter")],n);export{n as SplitFeatureWorkflowPendingFeatureListAdapter};
@@ -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
- const e="esri-editor",t={base:e,helpMessage:`${e}__help-message`,updateActions:`${e}__update-actions`,updateActionsList:`${e}__update-actions-list`,featureTemplatesContainer:`${e}__feature-templates-container`,templateItemContentEnd:`${e}__template-item-content-end`,sketchContainer:`${e}__sketch-container`,pendingFeatureListIcon:`${e}__pending-feature-list-icon`,selectionToolbarContainer:`${e}__selection-toolbar-container`};export{t as css};
5
+ const e="esri-editor",t={base:e,helpMessage:`${e}__help-message`,updateActions:`${e}__update-actions`,updateActionsList:`${e}__update-actions-list`,featureTemplatesContainer:`${e}__feature-templates-container`,templateItemContentEnd:`${e}__template-item-content-end`,sketchContainer:`${e}__sketch-container`,pendingFeatureListIcon:`${e}__pending-feature-list-icon`,selectionToolbarContainer:`${e}__selection-toolbar-container`,updateActionBar:`${e}__update-action-bar`};export{t as css};