@arcgis/core 4.32.0-next.20250121 → 4.32.0-next.20250123
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.
- package/Graphic.js +1 -1
- package/Viewpoint.js +1 -1
- package/WebLinkChart.js +1 -1
- package/analysis/LengthDimension.js +1 -1
- package/analysis/SlicePlane.js +1 -1
- package/analysis/Viewshed.js +1 -1
- package/analysis/ViewshedAnalysis.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/components/assets/icon/crosshair16.json +1 -0
- package/assets/components/assets/icon/crosshair24.json +1 -0
- package/assets/components/assets/icon/crosshair32.json +1 -0
- package/assets/components/assets/icon/utilityNetworkLayer16.json +1 -0
- package/assets/components/assets/icon/utilityNetworkLayer24.json +1 -0
- package/assets/components/assets/icon/utilityNetworkLayer32.json +1 -0
- package/assets/esri/core/t9n/Units_ar.json +1 -1
- package/assets/esri/core/t9n/Units_bg.json +1 -1
- package/assets/esri/core/t9n/Units_bs.json +1 -1
- package/assets/esri/core/t9n/Units_ca.json +1 -1
- package/assets/esri/core/t9n/Units_cs.json +1 -1
- package/assets/esri/core/t9n/Units_da.json +1 -1
- package/assets/esri/core/t9n/Units_de.json +1 -1
- package/assets/esri/core/t9n/Units_el.json +1 -1
- package/assets/esri/core/t9n/Units_es.json +1 -1
- package/assets/esri/core/t9n/Units_et.json +1 -1
- package/assets/esri/core/t9n/Units_fi.json +1 -1
- package/assets/esri/core/t9n/Units_fr.json +1 -1
- package/assets/esri/core/t9n/Units_he.json +1 -1
- package/assets/esri/core/t9n/Units_hr.json +1 -1
- package/assets/esri/core/t9n/Units_hu.json +1 -1
- package/assets/esri/core/t9n/Units_id.json +1 -1
- package/assets/esri/core/t9n/Units_it.json +1 -1
- package/assets/esri/core/t9n/Units_ja.json +1 -1
- package/assets/esri/core/t9n/Units_ko.json +1 -1
- package/assets/esri/core/t9n/Units_lt.json +1 -1
- package/assets/esri/core/t9n/Units_lv.json +1 -1
- package/assets/esri/core/t9n/Units_nl.json +1 -1
- package/assets/esri/core/t9n/Units_no.json +1 -1
- package/assets/esri/core/t9n/Units_pl.json +1 -1
- package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
- package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
- package/assets/esri/core/t9n/Units_ro.json +1 -1
- package/assets/esri/core/t9n/Units_ru.json +1 -1
- package/assets/esri/core/t9n/Units_sk.json +1 -1
- package/assets/esri/core/t9n/Units_sl.json +1 -1
- package/assets/esri/core/t9n/Units_sr.json +1 -1
- package/assets/esri/core/t9n/Units_sv.json +1 -1
- package/assets/esri/core/t9n/Units_th.json +1 -1
- package/assets/esri/core/t9n/Units_tr.json +1 -1
- package/assets/esri/core/t9n/Units_uk.json +1 -1
- package/assets/esri/core/t9n/Units_vi.json +1 -1
- package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
- package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
- package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/00479bc2393e5ad0e9b7.js +1 -0
- package/assets/esri/core/workers/chunks/0167cf867d8e46c818b0.js +1 -0
- package/assets/esri/core/workers/chunks/{6d17488396583d83d9be.js → 0711d3ad4d403bcfdcad.js} +1 -1
- package/assets/esri/core/workers/chunks/07360fde6ea65664e6ca.js +1 -0
- package/assets/esri/core/workers/chunks/{f8e188af5608293d5b2b.js → 07bff9e742f3e5877f3f.js} +1 -1
- package/assets/esri/core/workers/chunks/08ba4ab873a0da6a95eb.js +1 -0
- package/assets/esri/core/workers/chunks/{baf6b773b8c714d86cba.js → 0982611dd86f0805d102.js} +1 -1
- package/assets/esri/core/workers/chunks/12dd892cf61a76fb40ad.js +1 -0
- package/assets/esri/core/workers/chunks/13453393e40ab80329d9.js +1 -0
- package/assets/esri/core/workers/chunks/15e08e8a8a72b177d74c.js +1 -0
- package/assets/esri/core/workers/chunks/16f82e9d98371431b46d.js +1 -0
- package/assets/esri/core/workers/chunks/1787932b984ec8977095.js +1 -0
- package/assets/esri/core/workers/chunks/1e3ab66d0e8a7f160f33.js +1 -0
- package/assets/esri/core/workers/chunks/1f8eb143f5d665b95593.js +1 -0
- package/assets/esri/core/workers/chunks/2079d6e3da42d1ceb4c5.js +1 -0
- package/assets/esri/core/workers/chunks/207c040b0e42358a5389.js +1 -0
- package/assets/esri/core/workers/chunks/21016d58428b15f7427c.js +1 -0
- package/assets/esri/core/workers/chunks/{af0b0a7eedebcf99d05d.js → 2118e9ffb24178ed7f59.js} +1 -1
- package/assets/esri/core/workers/chunks/21c12edc0632eb911e73.js +1 -0
- package/assets/esri/core/workers/chunks/{12b2c8251ec2d0e2ca46.js → 22721fa9d1e8a8d47b0e.js} +1 -1
- package/assets/esri/core/workers/chunks/24a86c52c8bdd0b5eb4d.js +1 -0
- package/assets/esri/core/workers/chunks/{9970e0e74cf2877a7ffc.js → 2503beb30f905b78d85f.js} +2 -2
- package/assets/esri/core/workers/chunks/2503beb30f905b78d85f.js.LICENSE.txt +15 -0
- package/assets/esri/core/workers/chunks/25a6641938a9ccab39b7.js +1 -0
- package/assets/esri/core/workers/chunks/26a2bd432e7a1b3870c3.js +1 -0
- package/assets/esri/core/workers/chunks/26e9a1889d069e81a483.js +1 -0
- package/assets/esri/core/workers/chunks/2840705ae7fa909ab4ed.js +1 -0
- package/assets/esri/core/workers/chunks/2971266a49226e769360.js +1 -0
- package/assets/esri/core/workers/chunks/298da83f8d507d128213.js +1 -0
- package/assets/esri/core/workers/chunks/2a33e83ff2ef16a2b421.js +1 -0
- package/assets/esri/core/workers/chunks/2a7f5d09cdc0333fa4bd.js +1 -0
- package/assets/esri/core/workers/chunks/2e82c8882a0989ed5431.js +1 -0
- package/assets/esri/core/workers/chunks/2ea5e5e6c4660a06b516.js +1 -0
- package/assets/esri/core/workers/chunks/304722106439951da6e1.js +1 -0
- package/assets/esri/core/workers/chunks/324a5547c64a3bae670d.js +1 -0
- package/assets/esri/core/workers/chunks/349f31a1fb489fbfe60d.js +1 -0
- package/assets/esri/core/workers/chunks/{f95d4fb1199161d8b683.js → 34b31091e172e910d750.js} +1 -1
- package/assets/esri/core/workers/chunks/{c690268f48bc84778b23.js → 3b6f2e5ec0a372ae8b94.js} +1 -1
- package/assets/esri/core/workers/chunks/3c23e567cfb7372c44ba.js +1 -0
- package/assets/esri/core/workers/chunks/{66d40a486aa3caa76106.js → 3c591f76e7d6204b7780.js} +1 -1
- package/assets/esri/core/workers/chunks/3f25b7844816bbc3a9fe.js +1 -0
- package/assets/esri/core/workers/chunks/402de76b5de05615e111.js +1 -0
- package/assets/esri/core/workers/chunks/453f71ac3579524221b2.js +1 -0
- package/assets/esri/core/workers/chunks/454034bad60414a9ab7f.js +1 -0
- package/assets/esri/core/workers/chunks/472564bd841d0c5d8f17.js +1 -0
- package/assets/esri/core/workers/chunks/483787099d2ba8b8022d.js +1 -0
- package/assets/esri/core/workers/chunks/499e845c727b7891283d.js +2 -0
- package/assets/esri/core/workers/chunks/{34b86b4b9e6c1937ee39.js.LICENSE.txt → 499e845c727b7891283d.js.LICENSE.txt} +4 -6
- package/assets/esri/core/workers/chunks/4d7bd2bbe9045a2fee7a.js +1 -0
- package/assets/esri/core/workers/chunks/4e5cf2d489db2a57d3bd.js +1 -0
- package/assets/esri/core/workers/chunks/52a1c14dc33964e197f6.js +1 -0
- package/assets/esri/core/workers/chunks/{f8b85c0074d4fe4c158e.js → 571a0af503dbe8093814.js} +1 -1
- package/assets/esri/core/workers/chunks/57ebfa7f163a1b40cd1e.js +1 -0
- package/assets/esri/core/workers/chunks/589777dab423b619da47.js +1 -0
- package/assets/esri/core/workers/chunks/{2de5fe03e28ca8a72597.js → 5a83f90b55a5efbe1ef2.js} +1 -1
- package/assets/esri/core/workers/chunks/5c57aa9fdc4e1bab61ac.js +1 -0
- package/assets/esri/core/workers/chunks/5e889a675cbaff03ad5a.js +1 -0
- package/assets/esri/core/workers/chunks/5fbdb5fea7d6676fcf19.js +1 -0
- package/assets/esri/core/workers/chunks/610b33b7291cffcc4e5d.js +1 -0
- package/assets/esri/core/workers/chunks/644e83f48752a34f0d1a.js +1 -0
- package/assets/esri/core/workers/chunks/{c81204ae663e58c7b689.js → 6aa6a56bcece0793967e.js} +1 -1
- package/assets/esri/core/workers/chunks/6d179eb8edcefb91d5d7.js +1 -0
- package/assets/esri/core/workers/chunks/6df1bda3826a4a3c1dc9.js +1 -0
- package/assets/esri/core/workers/chunks/6e6422eda398774acbc7.js +1 -0
- package/assets/esri/core/workers/chunks/6eb829a7959df2269b0e.js +1 -0
- package/assets/esri/core/workers/chunks/7719fe672ea74cdc87be.js +1 -0
- package/assets/esri/core/workers/chunks/774cbf14c74504458a6f.js +1 -0
- package/assets/esri/core/workers/chunks/79afe4674a0557eb26e4.js +1 -0
- package/assets/esri/core/workers/chunks/{02b2175132c9720bc756.js → 7a0415db78c68d31733f.js} +1 -1
- package/assets/esri/core/workers/chunks/7a9e1696dc6120df15b0.js +1 -0
- package/assets/esri/core/workers/chunks/7ae1f26ded268099f429.js +1 -0
- package/assets/esri/core/workers/chunks/7bf08823f861628144a1.js +1 -0
- package/assets/esri/core/workers/chunks/7d49b5bc9eb102e467ab.js +1 -0
- package/assets/esri/core/workers/chunks/7e4d72279cc599b7029c.js +1 -0
- package/assets/esri/core/workers/chunks/{89198ca24466d939e4e8.js → 7ee2d34d9eaab5e8f589.js} +1 -1
- package/assets/esri/core/workers/chunks/7fd48f0a2b35779e680a.js +1 -0
- package/assets/esri/core/workers/chunks/81efe1f47fd41b7a5cc1.js +1 -0
- package/assets/esri/core/workers/chunks/835fa4484c58d9b31c78.js +1 -0
- package/assets/esri/core/workers/chunks/{44ec3c77339b9765aaa4.js → 8584ccce34972e28c040.js} +1 -1
- package/assets/esri/core/workers/chunks/86149b4a5a148744c7d1.js +1 -0
- package/assets/esri/core/workers/chunks/86b63a4805f7dfbf5857.js +1 -0
- package/assets/esri/core/workers/chunks/89df68dd6a0386210d5d.js +1 -0
- package/assets/esri/core/workers/chunks/8a13cd313d309281dbb9.js +1 -0
- package/assets/esri/core/workers/chunks/{1bf472f3ca67b0275667.js → 8a1e4f65fc81aba7a704.js} +1 -1
- package/assets/esri/core/workers/chunks/8b8dd0771fbc582e1e24.js +2 -0
- package/assets/esri/core/workers/chunks/{280b7b885b96a5a68716.js.LICENSE.txt → 8b8dd0771fbc582e1e24.js.LICENSE.txt} +4 -6
- package/assets/esri/core/workers/chunks/8e334fa440ae542e2e34.js +1 -0
- package/assets/esri/core/workers/chunks/91384398f01485631f70.js +1 -0
- package/assets/esri/core/workers/chunks/92155d112ebb6a4c6c6e.js +1 -0
- package/assets/esri/core/workers/chunks/{6a737f056b2b95f09776.js → 92871ebb339a7b6ff29c.js} +1 -1
- package/assets/esri/core/workers/chunks/92d243c7bc2f92f6cd33.js +1 -0
- package/assets/esri/core/workers/chunks/971c956de1f8dd230d0f.js +1 -0
- package/assets/esri/core/workers/chunks/9848e9b9cc62328bfeb4.js +1 -0
- package/assets/esri/core/workers/chunks/9848f496d534feff6df1.js +314 -0
- package/assets/esri/core/workers/chunks/9bd22cdf6eb158555906.js +1 -0
- package/assets/esri/core/workers/chunks/{3a3e9701e5d7b05f41b7.js → 9bfb091cec7eed6c8111.js} +1 -1
- package/assets/esri/core/workers/chunks/9c5c6ecaf5be24279fa5.js +1 -0
- package/assets/esri/core/workers/chunks/9c6380af3bc3130658e1.js +1 -0
- package/assets/esri/core/workers/chunks/{17726b0ab1bf66185d66.js → 9d6d82419de2b76508d8.js} +1 -1
- package/assets/esri/core/workers/chunks/9ed1691eab19dfb1cf04.js +1 -0
- package/assets/esri/core/workers/chunks/a0a4c7605c678d2de7ef.js +1 -0
- package/assets/esri/core/workers/chunks/a3ae5ea96898de327147.js +1 -0
- package/assets/esri/core/workers/chunks/aca9a39eb1181a7733bb.js +1 -0
- package/assets/esri/core/workers/chunks/ad215219e5eef8598745.js +1 -0
- package/assets/esri/core/workers/chunks/ad7596e7f81f557bb2c8.js +1 -0
- package/assets/esri/core/workers/chunks/adf361e8b2887921a69c.js +1 -0
- package/assets/esri/core/workers/chunks/adfa126cea32298c28e9.js +1 -0
- package/assets/esri/core/workers/chunks/b21b152fa15896577242.js +2 -0
- package/assets/esri/core/workers/chunks/b21b152fa15896577242.js.LICENSE.txt +8 -0
- package/assets/esri/core/workers/chunks/b3aeda290470dcb2bdd2.js +1 -0
- package/assets/esri/core/workers/chunks/b3f9d7a676076a7557f5.js +1 -0
- package/assets/esri/core/workers/chunks/b42ecc7c3eb2fd8d1308.js +1 -0
- package/assets/esri/core/workers/chunks/b44cf0e4c2f93408cabc.js +1 -0
- package/assets/esri/core/workers/chunks/b70a9d23e549d0e60e0f.js +1 -0
- package/assets/esri/core/workers/chunks/b882f921387e21fb263d.js +1 -0
- package/assets/esri/core/workers/chunks/ba3c18d1efde46461231.js +1 -0
- package/assets/esri/core/workers/chunks/bb73cd34fbae935ccbcc.js +1 -0
- package/assets/esri/core/workers/chunks/bbdf93f2ac9bd80338b2.js +1 -0
- package/assets/esri/core/workers/chunks/bc0183350841e09d71fa.js +1 -0
- package/assets/esri/core/workers/chunks/bddfdbb2fb1dd813e8f2.js +1 -0
- package/assets/esri/core/workers/chunks/bf3c4c1bff8b71bc0b13.js +1 -0
- package/assets/esri/core/workers/chunks/c1970657a287ec96001e.js +1 -0
- package/assets/esri/core/workers/chunks/{399e67ccb69a5b206354.js → c1fd87af3129873369fd.js} +1 -1
- package/assets/esri/core/workers/chunks/{82266ca8002554198208.js → c2336d1f5b2b7bf6e7a7.js} +1 -1
- package/assets/esri/core/workers/chunks/c571c2155589d711005c.js +1 -0
- package/assets/esri/core/workers/chunks/c83b26ff96e39266adc2.js +1 -0
- package/assets/esri/core/workers/chunks/ca5bd71bc2c1b1b3f9d9.js +1 -0
- package/assets/esri/core/workers/chunks/{98da074899c82f0ded0b.js → cdd8983cf3a301805680.js} +1 -1
- package/assets/esri/core/workers/chunks/{435c037ccba71f1e22d3.js → d31f7598629f7cc50233.js} +1 -1
- package/assets/esri/core/workers/chunks/d45ff061bf71b73e9f26.js +1 -0
- package/assets/esri/core/workers/chunks/d4760e583dfac95dc8a1.js +1 -0
- package/assets/esri/core/workers/chunks/{7fe92f072d3641ec4662.js → d5a749156cb4ade92128.js} +1 -1
- package/assets/esri/core/workers/chunks/d6f2a023ddd26a544eb4.js +1 -0
- package/assets/esri/core/workers/chunks/d71a5c029fc9f4820589.js +1 -0
- package/assets/esri/core/workers/chunks/d7ccbe9b36e89b385040.js +1 -0
- package/assets/esri/core/workers/chunks/{e9c21907fabcedbd32ae.js → d8386803854f4b3e2576.js} +1 -1
- package/assets/esri/core/workers/chunks/d8c762ca94e3a11b125d.js +1 -0
- package/assets/esri/core/workers/chunks/da01b509b2237689faad.js +1 -0
- package/assets/esri/core/workers/chunks/daeca0feb37bbb198677.js +1 -0
- package/assets/esri/core/workers/chunks/dbc447413ab40a79ba87.js +1 -0
- package/assets/esri/core/workers/chunks/de2ca2dc1b5d62c0d82e.js +1 -0
- package/assets/esri/core/workers/chunks/df86a49ddc505b4a7c4a.js +1 -0
- package/assets/esri/core/workers/chunks/dfa4be2e07cc4c0938b0.js +1 -0
- package/assets/esri/core/workers/chunks/{fa331c8b556bb7fb8ae3.js → dfaf1da323906ee60549.js} +1 -1
- package/assets/esri/core/workers/chunks/e067cef3b3ac3af49b88.js +1 -0
- package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js +2 -0
- package/assets/esri/core/workers/chunks/e1108227821a85a784bc.js.LICENSE.txt +9 -0
- package/assets/esri/core/workers/chunks/e42c8045f54aa88c9f6e.js +1 -0
- package/assets/esri/core/workers/chunks/e56647e61296643c5f84.js +1 -0
- package/assets/esri/core/workers/chunks/e6087eda5e3b7e5ad3e1.js +1 -0
- package/assets/esri/core/workers/chunks/e89439cc20b7f4c6a9d1.js +1 -0
- package/assets/esri/core/workers/chunks/e9993d4f2bfdc434fbcc.js +1 -0
- package/assets/esri/core/workers/chunks/ecc3a2adc384677bec38.js +1 -0
- package/assets/esri/core/workers/chunks/{54c149f90bf94b797b36.js → ed30f46236da29c15430.js} +1 -1
- package/assets/esri/core/workers/chunks/f2cf05fbbb51d657d300.js +1 -0
- package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js → f31a9d88113bb86d946e.js} +2 -2
- package/assets/esri/core/workers/chunks/{1c67f4f84fff70e20902.js.LICENSE.txt → f31a9d88113bb86d946e.js.LICENSE.txt} +4 -6
- package/assets/esri/core/workers/chunks/f62f657f9fef28f492e0.js +1 -0
- package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js +2 -0
- package/assets/esri/core/workers/chunks/fd1506eedb1cee717822.js.LICENSE.txt +3 -0
- package/assets/esri/core/workers/chunks/fef135e55706d84d1947.js +1 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core-simd.wasm +0 -0
- package/assets/esri/rest/knowledgeGraph/wasmInterface/arcgis-knowledge-client-core.wasm +0 -0
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +8 -7
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +24 -0
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +49 -24
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ar.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bg.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_bs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ca.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_da.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_de.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_en.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_es.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_et.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_he.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_hu.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_id.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_it.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ja.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ko.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lt.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_nl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_no.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-BR.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_pt-PT.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ro.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_ru.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sl.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_sv.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_th.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_tr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_uk.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_vi.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-CN.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-HK.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_zh-TW.json +1 -1
- package/chunks/BloomComposition.glsl.js +33 -23
- package/chunks/Fog.glsl.js +4 -6
- package/chunks/Viewshed.glsl.js +7 -15
- package/chunks/arcgis-knowledge-client-core-simd.js +1 -1
- package/chunks/arcgis-knowledge-client-core.js +1 -1
- package/chunks/cameraUtilsPlanar.js +1 -1
- package/chunks/cameraUtilsSpherical.js +1 -1
- package/chunks/lyr3DMain.js +1 -1
- package/chunks/lyr3DWorker.js +1 -1
- package/core/quantity.d.ts +1 -1
- package/core/quantity.js +5 -0
- package/core/units.d.ts +1 -1
- package/core/units.js +5 -0
- package/editing/sharedTemplates/SharedTemplate.js +1 -1
- package/editing/sharedTemplates/SharedTemplateMetadata.d.ts +4 -0
- package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
- package/editing/sharedTemplates/templateDefinitions/parts/PresetTemplatePart.js +1 -1
- package/editing/templateUtils.js +5 -0
- package/form/elements/UtilityNetworkAssociationsElement.js +1 -1
- package/geometry/geometryEngine.js +1 -1
- package/geometry/geometryEngineAsync.js +1 -1
- package/geometry/operators/projectOperator.d.ts +4 -0
- package/geometry/operators/shapePreservingProjectOperator.d.ts +4 -0
- package/geometry/operators/support/GeographicTransformation.d.ts +4 -0
- package/geometry/operators/support/GeographicTransformation.js +1 -1
- package/geometry/operators/support/GeographicTransformationStep.d.ts +4 -0
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/geographicTransformationUtils.d.ts +4 -0
- package/geometry/support/GeographicTransformation.d.ts +2 -2
- package/geometry/support/GeographicTransformationStep.d.ts +2 -2
- package/geometry/support/geodesicUtils.js +1 -1
- package/geometry/support/geometryUtils.js +1 -1
- package/geometry/support/meshUtils/elevation.js +1 -1
- package/geometry/support/near.js +1 -1
- package/geometry/support/rotate.js +1 -1
- package/geometry/support/typeUtils.js +1 -1
- package/geometry.js +1 -1
- package/grids/MeasuredGrid.js +1 -1
- package/interfaces.d.ts +2069 -622
- package/layers/BaseElevationLayer.js +1 -1
- package/layers/BingMapsLayer.js +1 -1
- package/layers/CSVLayer.js +1 -1
- package/layers/FeatureLayer.js +1 -1
- package/layers/GeoJSONLayer.js +1 -1
- package/layers/GeoRSSLayer.js +1 -1
- package/layers/ILyr3DWasmPerSceneView.js +1 -1
- package/layers/KMLLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/Layer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/MapNotesLayer.js +1 -1
- package/layers/OGCFeatureLayer.js +1 -1
- package/layers/OpenStreetMapLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/StreamLayer.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/WFSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
- package/layers/catalog/CatalogFootprintLayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/hydratedFeatures.js +1 -1
- package/layers/graphics/sources/CSVSource.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/GeoJSONSource.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/WFSSource.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
- package/layers/graphics/sources/support/uploadAssets.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
- package/layers/knowledgeGraph/SessionMemoryStorage.js +1 -1
- package/layers/knowledgeGraph/supportUtils.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/FeatureReductionLayer.js +1 -1
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/ogc/wfsUtils.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/queries.js +1 -1
- package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/support/ElevationSampler.js +1 -1
- package/layers/support/FeatureFilter.js +1 -1
- package/layers/support/FeatureReductionBinning.js +1 -1
- package/layers/support/FeatureReductionCluster.js +1 -1
- package/layers/support/KMLMapImage.js +1 -1
- package/layers/support/KMLSublayer.js +1 -1
- package/layers/support/LabelClass.js +1 -1
- package/layers/support/LocalMediaElementSource.js +1 -1
- package/layers/support/MultidimensionalSubset.js +1 -1
- package/layers/support/OrderByInfo.d.ts +4 -0
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/RouteStopSymbols.js +1 -1
- package/layers/support/RouteSymbols.js +1 -1
- package/layers/support/SceneModification.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/TelemetryData.js +1 -1
- package/layers/support/TrackInfo.js +1 -1
- package/layers/support/VideoFrame.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/layers/support/mediaUtils.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/InMemoryRaster.js +1 -1
- package/layers/support/rasterDatasets/MRFRaster.js +1 -1
- package/layers/support/rasterDatasets/RawBlockCache.js +1 -1
- package/layers/support/rasterDatasets/TIFFRaster.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/covJSONParser.js +1 -1
- package/layers/support/rasterDatasets/pamParser.js +1 -1
- package/layers/support/rasterFunctions/ClipFunctionArguments.js +1 -1
- package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
- package/layers/support/rasterTransforms/PolynomialTransform.js +1 -1
- package/layers/support/serviceCapabilitiesUtils.js +1 -1
- package/layers/support/source/QueryTableDataSource.js +1 -1
- package/layers/support/subtypeGroupLayerUtils.js +1 -1
- package/networks/Network.js +1 -1
- package/networks/support/utils.js +1 -1
- package/package.json +2 -2
- package/pointCloudRenderers.js +1 -1
- package/rasterRenderers.js +1 -1
- package/renderers/ClassBreaksRenderer.js +1 -1
- package/renderers/HeatmapRenderer.js +1 -1
- package/renderers/PieChartRenderer.js +1 -1
- package/renderers/UniqueValueRenderer.js +1 -1
- package/renderers/VectorFieldRenderer.js +1 -1
- package/renderers/support/RasterPresetRenderer.js +1 -1
- package/renderers/support/commonProperties.js +1 -1
- package/renderers/support/jsonUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/rasterTypeUtils.js +5 -0
- package/renderers/support/typeUtils.js +5 -0
- package/renderers.js +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/rest/geometryService/autoComplete.js +1 -1
- package/rest/geometryService/buffer.js +1 -1
- package/rest/geometryService/cut.js +1 -1
- package/rest/geometryService/trimExtend.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/knowledgeGraph/Entity.js +1 -1
- package/rest/knowledgeGraph/GraphQueryStreaming.js +1 -1
- package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
- package/rest/knowledgeGraph/Relationship.js +1 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +4 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +5 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +4 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +5 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +4 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +5 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +4 -0
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +5 -0
- package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.d.ts +4 -0
- package/rest/knowledgeGraph/toolService/findPaths/FindPathsToolSettings.js +5 -0
- package/rest/knowledgeGraph/wasmInterface/queryToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
- package/rest/knowledgeGraphService.js +1 -1
- package/rest/networks/support/Association.js +1 -1
- package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
- package/rest/places.js +1 -1
- package/rest/print.js +1 -1
- package/rest/query/executeForExtent.js +1 -1
- package/rest/query/executeForTopExtents.js +1 -1
- package/rest/support/AddressToLocationsParameters.js +1 -1
- package/rest/support/AddressesToLocationsParameters.js +1 -1
- package/rest/support/AggregateFeatureSet.js +1 -1
- package/rest/support/AttributeBinsQuery.js +1 -1
- package/rest/support/BaseImageMeasureParameters.js +1 -1
- package/rest/support/BufferParameters.js +1 -1
- package/rest/support/ClosestFacilityParameters.js +1 -1
- package/rest/support/DataLayer.js +1 -1
- package/rest/support/DensifyParameters.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/DirectionsEvent.js +1 -1
- package/rest/support/DirectionsFeature.js +1 -1
- package/rest/support/DirectionsFeatureSet.js +1 -1
- package/rest/support/DistanceParameters.js +1 -1
- package/rest/support/FeatureSet.js +1 -1
- package/rest/support/FindParameters.js +1 -1
- package/rest/support/FindResult.js +1 -1
- package/rest/support/IdentifyParameters.js +1 -1
- package/rest/support/IdentifyResult.js +1 -1
- package/rest/support/ImageAngleParameters.js +1 -1
- package/rest/support/ImageAngleResult.js +1 -1
- package/rest/support/ImageAreaParameters.js +1 -1
- package/rest/support/ImageBoundaryResult.js +1 -1
- package/rest/support/ImageDistanceParameters.js +1 -1
- package/rest/support/ImageGPSInfoParameters.js +1 -1
- package/rest/support/ImageHeightParameters.js +1 -1
- package/rest/support/ImageHistogramParameters.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/ImagePixelLocationParameters.js +1 -1
- package/rest/support/ImagePointParameters.js +1 -1
- package/rest/support/ImagePointResult.js +1 -1
- package/rest/support/ImageSampleParameters.js +1 -1
- package/rest/support/ImageToMapMultirayParameters.js +1 -1
- package/rest/support/ImageToMapParameters.js +1 -1
- package/rest/support/ImageVolumeParameters.js +1 -1
- package/rest/support/LengthsParameters.js +1 -1
- package/rest/support/LocationToAddressParameters.js +1 -1
- package/rest/support/MapToImageParameters.js +1 -1
- package/rest/support/MeasureAreaFromImageResult.js +1 -1
- package/rest/support/MeasureFromImageParameters.js +1 -1
- package/rest/support/MeasureLengthFromImageResult.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/ProjectParameters.js +1 -1
- package/rest/support/QuantizationParameters.js +1 -1
- package/rest/support/Query.js +1 -1
- package/rest/support/RelationshipQuery.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteParameters.js +1 -1
- package/rest/support/ServiceAreaParameters.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/SuggestLocationsParameters.js +1 -1
- package/rest/support/TopFeaturesQuery.js +1 -1
- package/rest/support/TrimExtendParameters.js +1 -1
- package/rest/support/meshFeatureAttributes.js +1 -1
- package/smartMapping/labels/support/utils.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/support/arcadeOnDemand.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/effects/EffectBuffer.js +1 -1
- package/symbols/cim/effects/EffectDonut.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/symbols/support/cimConversionUtils.js +1 -1
- package/symbols/support/defaults3D.js +1 -1
- package/symbols/support/jsonUtils.js +1 -1
- package/symbols/support/symbolConversion.js +1 -1
- package/symbols/support/typeUtils.js +5 -0
- package/symbols/support/utils.js +1 -1
- package/symbols/support/webStyleSymbolUtils.js +1 -1
- package/symbols.js +1 -1
- package/undoredo/support/Services.js +1 -1
- package/unionTypes.d.ts +4 -0
- package/unionTypes.js +5 -0
- package/views/2d/AnimationManager.js +1 -1
- package/views/2d/MapViewConstraints.js +1 -1
- package/views/2d/ViewState.js +1 -1
- package/views/2d/ViewStateManager.js +1 -1
- package/views/2d/engine/flow/FlowStrategy.js +1 -1
- package/views/2d/engine/flow/dataUtils.js +1 -1
- package/views/2d/engine/vectorTiles/tileInfoUtils.js +1 -1
- package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/createTestMeshData.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/grid/gridUtils.js +1 -1
- package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
- package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
- package/views/2d/interactive/editingTools/draw/symbols.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +1 -1
- package/views/2d/layers/features/processor/BinningStrategy.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/support/clusterUtils.js +1 -1
- package/views/2d/navigation/actions/Pan.js +1 -1
- package/views/2d/navigation/actions/Rotate.js +1 -1
- package/views/2d/pointToPoint/Camera.js +1 -1
- package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
- package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/environment/Fog.glsl.js +1 -1
- package/views/3d/interactive/Manipulator3D.js +1 -1
- package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/Lyr3DWasm.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/graphics/ElevationQuery.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
- package/views/3d/layers/graphics/polygonUtils.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/FeatureTileDescriptor.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3DDebugger.js +1 -1
- package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3D.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
- package/views/3d/layers/support/I3STreeDebugger.js +1 -1
- package/views/3d/layers/support/TerrainTileTree3DDebugger.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/FrustumExtentIntersection.js +1 -1
- package/views/3d/support/cameraUtilsPlanar.js +1 -1
- package/views/3d/support/cameraUtilsSpherical.js +1 -1
- package/views/3d/support/debugUtils.js +1 -1
- package/views/3d/support/hitTest.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/terrain/PlanarPatch.js +1 -1
- package/views/3d/terrain/SphericalPatch.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/terrain/Tile.js +1 -1
- package/views/3d/terrain/TilingScheme.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/View2D.js +1 -1
- package/views/draw/MultipointDrawAction.js +1 -1
- package/views/draw/PointDrawAction.js +1 -1
- package/views/draw/PolygonDrawAction.js +1 -1
- package/views/draw/PolylineDrawAction.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/drawSurfaces.js +1 -1
- package/views/draw/support/Box.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/draw/support/createUtils.js +1 -1
- package/views/draw/support/surfaceCoordinateSystems.js +1 -1
- package/views/interactive/sketch/constraintUtils.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorker.js +1 -1
- package/views/layers/support/Geometry.js +1 -1
- package/views/support/HighlightOptions.d.ts +4 -0
- package/views/support/drapedUtils.js +1 -1
- package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
- package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/Format.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/ElevationProfile/support/ProfileLine2D.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/FeatureTemplates/TemplateItem.js +1 -1
- package/widgets/FeatureTemplates/featureTemplatesUtils.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Features/FeaturesViewModel.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Legend/support/utils.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/MapViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageAreaMeasurement.js +5 -0
- package/widgets/OrientedImageryViewer/components/ImageDistanceMeasurement.js +5 -0
- package/widgets/OrientedImageryViewer/components/ImageMeasurement.js +5 -0
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/css.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/symbols.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicViewerViewModel.js +1 -1
- package/widgets/PanoramicViewer/constants.js +1 -1
- package/widgets/PanoramicViewer/utils.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +5 -0
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +5 -0
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
- package/widgets/support/Selector2D/SelectionOperation.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationList.js +1 -1
- package/widgets/support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/0651586dc7bd2e8b34db.js +0 -1
- package/assets/esri/core/workers/chunks/077070295499b9bfabb6.js +0 -1
- package/assets/esri/core/workers/chunks/090cfc7f088a729afd47.js +0 -1
- package/assets/esri/core/workers/chunks/0d387baa64a89f88b1de.js +0 -1
- package/assets/esri/core/workers/chunks/105dcc7b7284b1e965b7.js +0 -1
- package/assets/esri/core/workers/chunks/134de9fa142129a43b1e.js +0 -1
- package/assets/esri/core/workers/chunks/16fa0a5f73ab67a8d3e4.js +0 -1
- package/assets/esri/core/workers/chunks/1797f62e9bf8f1ac8d13.js +0 -1
- package/assets/esri/core/workers/chunks/182722e2fe0a35c4d8db.js +0 -1
- package/assets/esri/core/workers/chunks/184846d2dde25ee12904.js +0 -1
- package/assets/esri/core/workers/chunks/1b3215f3290fb2f07ab8.js +0 -1
- package/assets/esri/core/workers/chunks/1d34a146b32b959923b0.js +0 -1
- package/assets/esri/core/workers/chunks/1f4dd96aacf8c40a1120.js +0 -1
- package/assets/esri/core/workers/chunks/1fa705ee39556ef4bb3b.js +0 -1
- package/assets/esri/core/workers/chunks/206194cf069ad4bcc3ad.js +0 -1
- package/assets/esri/core/workers/chunks/217f8139bea225d1fcc6.js +0 -1
- package/assets/esri/core/workers/chunks/22748779ca94eda44de5.js +0 -1
- package/assets/esri/core/workers/chunks/2427a01678f3d9fbf30b.js +0 -1
- package/assets/esri/core/workers/chunks/243520d9f4a118e63bbc.js +0 -1
- package/assets/esri/core/workers/chunks/26c8e30a5ee8db0314c8.js +0 -1
- package/assets/esri/core/workers/chunks/2779cf112299b612a73a.js +0 -1
- package/assets/esri/core/workers/chunks/280b7b885b96a5a68716.js +0 -2
- package/assets/esri/core/workers/chunks/299ed506209562be4fad.js +0 -1
- package/assets/esri/core/workers/chunks/2f5722844208d0f5d616.js +0 -1
- package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js +0 -2
- package/assets/esri/core/workers/chunks/2fb884799de54182d2c3.js.LICENSE.txt +0 -11
- package/assets/esri/core/workers/chunks/300a5f4842b90bda55b3.js +0 -1
- package/assets/esri/core/workers/chunks/33a13544b9e5f4f20bce.js +0 -1
- package/assets/esri/core/workers/chunks/33eebe5cb22a03ae90c8.js +0 -1
- package/assets/esri/core/workers/chunks/346ec2f8c373337c18c7.js +0 -1
- package/assets/esri/core/workers/chunks/34b86b4b9e6c1937ee39.js +0 -2
- package/assets/esri/core/workers/chunks/3512d53abe9abee7f420.js +0 -1
- package/assets/esri/core/workers/chunks/423329432fbf007c620b.js +0 -1
- package/assets/esri/core/workers/chunks/467bd3c0da9518a0058b.js +0 -1
- package/assets/esri/core/workers/chunks/47745c4f74830f981fd4.js +0 -1
- package/assets/esri/core/workers/chunks/4af0674fabfc965f1660.js +0 -1
- package/assets/esri/core/workers/chunks/4c1d11a91291b28a73be.js +0 -1
- package/assets/esri/core/workers/chunks/4c40fd932113a71cbe8e.js +0 -1
- package/assets/esri/core/workers/chunks/51fbbd082ca78e4417d9.js +0 -1
- package/assets/esri/core/workers/chunks/5a937486b9fd62b57dca.js +0 -1
- package/assets/esri/core/workers/chunks/5c05c899f7e6f764fedd.js +0 -1
- package/assets/esri/core/workers/chunks/636b944604480a905888.js +0 -1
- package/assets/esri/core/workers/chunks/6400f39a965900f66ce7.js +0 -1
- package/assets/esri/core/workers/chunks/643da327858a68ffbd88.js +0 -1
- package/assets/esri/core/workers/chunks/6c1470dc0bd4389d1a2d.js +0 -1
- package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js +0 -2
- package/assets/esri/core/workers/chunks/6c3862f42b6b27edf1cf.js.LICENSE.txt +0 -10
- package/assets/esri/core/workers/chunks/6e804ee2d96d4de85a5f.js +0 -1
- package/assets/esri/core/workers/chunks/712f0dd46932c544df68.js +0 -1
- package/assets/esri/core/workers/chunks/71e88c90e9f9a9bddcd8.js +0 -1
- package/assets/esri/core/workers/chunks/7341108896d0e4d44dab.js +0 -1
- package/assets/esri/core/workers/chunks/74ba752dfab8ea5b6d2a.js +0 -314
- package/assets/esri/core/workers/chunks/79903647d4ed16d9a402.js +0 -1
- package/assets/esri/core/workers/chunks/7b4880b2dc6b01d70ccc.js +0 -1
- package/assets/esri/core/workers/chunks/7c98e4fcba1dc24eb788.js +0 -1
- package/assets/esri/core/workers/chunks/7d0fc25ce1f74adcfeb6.js +0 -1
- package/assets/esri/core/workers/chunks/8249351daa45ca82ca0c.js +0 -1
- package/assets/esri/core/workers/chunks/87ddc3d5d751d565cd97.js +0 -1
- package/assets/esri/core/workers/chunks/87f33a60768801ca1ce8.js +0 -1
- package/assets/esri/core/workers/chunks/885205379220ccee5802.js +0 -1
- package/assets/esri/core/workers/chunks/88bb55bca76f978c0aa3.js +0 -1
- package/assets/esri/core/workers/chunks/8b2f0c33e10e163d5c8f.js +0 -1
- package/assets/esri/core/workers/chunks/8c5d1fd2b2c7c26e8ff5.js +0 -1
- package/assets/esri/core/workers/chunks/8cda8dbd95f0a78063a8.js +0 -1
- package/assets/esri/core/workers/chunks/8e0e5183c88a45fbfd8e.js +0 -1
- package/assets/esri/core/workers/chunks/90eea0c2435bb5d10460.js +0 -1
- package/assets/esri/core/workers/chunks/93c1541241f92fc07eaa.js +0 -1
- package/assets/esri/core/workers/chunks/964f2897794d8d71dcb7.js +0 -1
- package/assets/esri/core/workers/chunks/97169740043b4a0a40fb.js +0 -1
- package/assets/esri/core/workers/chunks/976daa00d35ee7f27a26.js +0 -1
- package/assets/esri/core/workers/chunks/97d66b0d0ff1132966de.js +0 -1
- package/assets/esri/core/workers/chunks/984d5533dcc831c426be.js +0 -1
- package/assets/esri/core/workers/chunks/9970e0e74cf2877a7ffc.js.LICENSE.txt +0 -17
- package/assets/esri/core/workers/chunks/99b4f146d0f1661a217c.js +0 -1
- package/assets/esri/core/workers/chunks/9e4d68da11995a5b66c3.js +0 -1
- package/assets/esri/core/workers/chunks/a6095a6abb2610bb95c1.js +0 -1
- package/assets/esri/core/workers/chunks/aa96a05b94ae642c1c9f.js +0 -1
- package/assets/esri/core/workers/chunks/b0055e7b2e840d478de8.js +0 -1
- package/assets/esri/core/workers/chunks/b1bf8ad629a6b8f4489a.js +0 -1
- package/assets/esri/core/workers/chunks/b1e3448ba51557ff6c13.js +0 -1
- package/assets/esri/core/workers/chunks/b30046a40bcfbec8abe4.js +0 -1
- package/assets/esri/core/workers/chunks/b538d02706a25bbbe2d0.js +0 -1
- package/assets/esri/core/workers/chunks/b81b8a800eec9db7ece2.js +0 -1
- package/assets/esri/core/workers/chunks/c1c216b0aebe86311fae.js +0 -1
- package/assets/esri/core/workers/chunks/c436a112a3119ceabebf.js +0 -1
- package/assets/esri/core/workers/chunks/c609bc34b14e4956292e.js +0 -1
- package/assets/esri/core/workers/chunks/c8a09db652389f0d254d.js +0 -1
- package/assets/esri/core/workers/chunks/c8a645601d041f411060.js +0 -1
- package/assets/esri/core/workers/chunks/c9741eb7a66ff7ec9184.js +0 -1
- package/assets/esri/core/workers/chunks/cb3b7f83b3efb315bd14.js +0 -1
- package/assets/esri/core/workers/chunks/cdc5e4cd1214362e752a.js +0 -1
- package/assets/esri/core/workers/chunks/ce0fb7cbf72bbb4cfe98.js +0 -1
- package/assets/esri/core/workers/chunks/cf244cbd0558cc1142ed.js +0 -1
- package/assets/esri/core/workers/chunks/d181447e2be06beaa23f.js +0 -1
- package/assets/esri/core/workers/chunks/d5c93caa3a8bb06a0b3f.js +0 -1
- package/assets/esri/core/workers/chunks/da5fc368eb5b3592d05e.js +0 -1
- package/assets/esri/core/workers/chunks/dae7e8357936466482fe.js +0 -1
- package/assets/esri/core/workers/chunks/db20b986a5681316070b.js +0 -2
- package/assets/esri/core/workers/chunks/db20b986a5681316070b.js.LICENSE.txt +0 -5
- package/assets/esri/core/workers/chunks/dc7fb41ebe57b463d408.js +0 -1
- package/assets/esri/core/workers/chunks/dd935b6335c674b6f596.js +0 -1
- package/assets/esri/core/workers/chunks/ddd20894b5107b76b815.js +0 -1
- package/assets/esri/core/workers/chunks/de00150030003de05146.js +0 -1
- package/assets/esri/core/workers/chunks/decd316936df1ad3fa65.js +0 -1
- package/assets/esri/core/workers/chunks/df4d7f100222ea671730.js +0 -1
- package/assets/esri/core/workers/chunks/e2320e4e6fd976966c0b.js +0 -1
- package/assets/esri/core/workers/chunks/e418c4f7866d03d5352e.js +0 -1
- package/assets/esri/core/workers/chunks/e4f4ad67d778dea5b956.js +0 -1
- package/assets/esri/core/workers/chunks/e610dd938d30f75778bc.js +0 -1
- package/assets/esri/core/workers/chunks/eb256e8488e341c4a6f2.js +0 -1
- package/assets/esri/core/workers/chunks/ebc0094355504ec09fb8.js +0 -1
- package/assets/esri/core/workers/chunks/ec195549b274cca09d81.js +0 -1
- package/assets/esri/core/workers/chunks/ec4a45b40021abdead45.js +0 -1
- package/assets/esri/core/workers/chunks/ee5f43fbe4c2cc199e64.js +0 -1
- package/assets/esri/core/workers/chunks/f0334d31c8cac38baa25.js +0 -1
- package/assets/esri/core/workers/chunks/f1b63f092e239f84b849.js +0 -1
- package/assets/esri/core/workers/chunks/f2126b79f41dc62cc576.js +0 -1
- package/assets/esri/core/workers/chunks/f3a75dffb285590cb451.js +0 -1
- package/assets/esri/core/workers/chunks/f3e0b0f07a622fcdd6ae.js +0 -1
- package/assets/esri/core/workers/chunks/f581aec77accce7411e0.js +0 -1
- package/assets/esri/core/workers/chunks/f606350e4d040ad70f4d.js +0 -1
- package/assets/esri/core/workers/chunks/f849ffe8e551bd5896ef.js +0 -1
- package/assets/esri/core/workers/chunks/f877bcbd277a28154d82.js +0 -1
- package/assets/esri/core/workers/chunks/fa1c68f2ffcdff7986b6.js +0 -1
- package/assets/esri/core/workers/chunks/fa849ff6132c2cd6d8e8.js +0 -1
- package/assets/esri/core/workers/chunks/feeb36ffdffb227c4353.js +0 -1
- package/renderers/support/types.js +0 -5
- package/widgets/support/templateUtils.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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import{getAssetUrl as e}from"../../assets.js";import o from"../../Graphic.js";import"../../intl.js";import{pointSymbolTypes as i}from"../../symbols.js";import s from"../../core/Collection.js";import r from"../../core/Error.js";import n from"../../core/Evented.js";import a from"../../core/Logger.js";import{watch as h,when as c,initial as d}from"../../core/reactiveUtils.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{cast as m}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import v from"../../geometry/Point.js";import{load as u}from"../../geometry/projection.js";import f from"../../symbols/PictureMarkerSymbol.js";import g from"./support/Conversion.js";import{isValidPoint as w,isSupportedNotation as _}from"./support/coordinateConversionUtils.js";import y from"./support/Format.js";import{generateDefaultFormats as C,setDefaultPatterns as b}from"./support/formatUtils.js";import L from"../support/GoTo.js";import{onLocaleChange as M,getLocale as j}from"../../intl/locale.js";import{fetchMessageBundle as P}from"../../intl/messages.js";const S={default:"default",crosshair:"crosshair"},F=new v([0,0,500]),G="xy",H=["mgrs","utm","usng","dd","dms","ddm"],E="esri__coordinateConversionWidgetState",x={conversions:"conversions",formats:"formats",view:"view",viewChange:"view-change"},T="esri/images/search/search-symbol-32.png";let W=class extends(L(n.EventedAccessor)){constructor(t){super(t),this._conversionPromise=null,this._locationGraphic=null,this._pointerCount=0,this.conversions=new s,this.formats=new s,this.formatterAvailable=!1,this.messages=null,this.filteredFormats=new s,this.locationSymbol=new f({url:e(T),width:24,height:24}),this.storageEnabled=!0,this.storageType="session",this.view=null,this._saveWidgetState=this._saveWidgetState.bind(this),this._handleFormatChange=this._handleFormatChange.bind(this),this._handleConversionChange=this._handleConversionChange.bind(this),this._handleViewChange=this._handleViewChange.bind(this),this._onClick=this._onClick.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerUp=this._onPointerUp.bind(this)}initialize(){const t=async()=>this.messages=await P("esri/widgets/CoordinateConversion/t9n/CoordinateConversion");this.formats.addMany(C()),t().then((()=>{if(!this.destroyed&&(b(this.messages,this.formats),this.storageEnabled&&this._loadWidgetState(),this.formats.forEach((t=>{t.viewModel=this,this.addHandles(h((()=>t.currentPattern),this._saveWidgetState),t.name??"unnamed-format")})),this.addHandles(this.conversions.on("change",this._handleConversionChange),x.conversions),this.addHandles(this.formats.on("change",this._handleFormatChange),x.formats),this.addHandles(M((()=>{t().then((()=>{b(this.messages,this.formats)}))}))),u().then((()=>{this.formatterAvailable=!0})).catch((t=>{a.getLogger(this).error(new r("coordinate-conversion:projection-load-failed","Failed to load the projection module.",{error:t})),this.formatterAvailable=!1,this._filterFormatsAndConversions()})).then((()=>this.addHandles(h((()=>this.view),this._handleViewChange,d),x.viewChange))),0===this.conversions.length)){const t=this.formats.find((t=>t.name===G))||this.formats.at(0);this.conversions.add(new g({format:t}))}}))}destroy(){this.removeHandles(),this._cleanUpView(this.view),this.view=null}castConversions(t){return this._castToConversions(t)}set currentLocation(t){this._set("currentLocation",t),this._updateConversions()}get currentLocation(){return this._get("currentLocation")||null}set mode(t){switch(t){case"capture":this.currentLocation=null,this._startCaptureMode(),this._set("mode",t);break;case"live":this._startLiveMode(),this._set("mode",t)}}get mode(){return this._get("mode")||"live"}get state(){const{messages:t,view:e}=this,o=e?.ready;return t?o?"ready":e?"loading":"disabled":"disabled"}get storage(){const{storageType:t}=this;return"session"===t?sessionStorage:localStorage}get waitingForConversions(){return null!=this._conversionPromise}setLocation(t){if(this._locationGraphic&&this.view?.graphics.remove(this._locationGraphic),!t)return;const e=t.clone();e.hasZ&&(e.z=void 0),this._locationGraphic=new o({geometry:e,symbol:this.locationSymbol}),this.view?.graphics.add(this._locationGraphic)}async convert(t,e){if(!w(e))throw new r("coordinate-conversion:invalid-point","Invalid point cannot be converted.",{point:e});return Promise.resolve().then((()=>t.convert(e)))}async goToLocation(t){const{view:e}=this;if(!e)throw new r("coordinate-conversion:go-to-failed","no view");const o="3d"===e.type?e.clippingArea:null,i=e.map?.basemap?.baseLayers;if(o||(i?.length??0)>0){const e=o??i?.at(0)?.fullExtent;if(null!=e&&!e.contains(t))throw new r("coordinate-conversion:go-to-failed","Point outside basemap extent.",{point:t})}return this.callGoTo({target:t})}pause(){this.currentLocation=null,this.removeHandles(x.view),this.view&&(this.view.cursor=S.default,this._locationGraphic&&this.view.graphics.remove(this._locationGraphic))}async previewConversion(t,e=this.currentLocation||F){return(await A(t,e)).displayCoordinate}resume(){"capture"===this.mode?this._startCaptureMode():this._startLiveMode()}reverseConvert(t,e){return e.reverseConvert(t)}async updateConversions(t,e){if("point"!==e?.type)throw this._clearConversions(this.conversions),new r("coordinate-conversion:invalid-input-point","Point is invalid, conversions cannot be updated.",{point:e});return this._convertMany(t,e)}_castToConversions(t){const e=new s;return t.forEach((t=>{let o=null;if(t instanceof g)o=t;else if("string"==typeof t){const e=this.formats.find((e=>e.name===t));e&&(o=new g({format:e}))}o&&e.add(o)})),e}_cleanUpView(t){t&&(this._locationGraphic&&t.graphics.remove(this._locationGraphic),this.removeHandles(x.view),t.cursor=S.default)}_clearConversions(t){t.forEach((t=>{t.position={location:null,coordinate:null}}))}async _convertMany(t,e){return Promise.all(t.map((t=>A(t,e))))}_handleConversionChange(t){for(const e of t.added){const{format:t}=e;t&&(t.viewModel=this,this.currentLocation&&(this._set("waitingForConversions",!0),this.convert(t,this.currentLocation).then((t=>{e.position=t,this._set("waitingForConversions",!1)}))))}this._saveWidgetState()}_handleFormatChange(t){t.added.forEach((t=>{this.addHandles(h((()=>t.currentPattern),this._saveWidgetState),t.name??"unnamed-format"),t.viewModel=this})),t.removed.forEach((t=>{t.viewModel=null;const e=this.conversions.filter((e=>e.format===t));this.conversions.removeMany(e),t.name&&this.removeHandles(t.name)}))}_loadWidgetState(){try{const t=JSON.parse(this.storage.getItem(E));t&&this._setWidgetState(t)}catch(t){a.getLogger(this).error(new r("coordinate-conversion:invalid-session-storage-json","Could not read from storage.",{error:t}))}}_startCaptureMode(){this.removeHandles(x.view),this.view&&(this.view.cursor=S.crosshair,this.currentLocation&&this.setLocation(this.currentLocation),this.addHandles(this.view.on("click",this._onClick),x.view))}_startLiveMode(){this._pointerCount=0,this.removeHandles(x.view),this.view&&(this.view.cursor=S.default,this._locationGraphic&&this.view.graphics.remove(this._locationGraphic),this.addHandles([this.view.on("pointer-down",this._onPointerDown),this.view.on("pointer-up",this._onPointerUp),this.view.on("pointer-move",this._onPointerMove)],x.view))}_handleViewChange(t,e){e&&e!==t&&this._cleanUpView(e),t&&("capture"===this.mode?this._startCaptureMode():this._startLiveMode(),e&&this._filterFormatsAndConversions())}_onClick(t){if(0===t.button){const e=this.view?.toMap(t),o=e?.normalize();this.setLocation(o),this.currentLocation=o}}_onPointerDown(t){const{pointerType:e}=t;if(this._pointerCount++,("touch"===e||"pen"===e)&&1===this._pointerCount){const e=this.view?.toMap(t);this.currentLocation=e?.normalize()}}_onPointerMove(t){const{pointerType:e}=t;if("mouse"===e||1===this._pointerCount){const e=this.view?.toMap(t);this.currentLocation=e?.normalize()}}_onPointerUp(){this._pointerCount--}_setWidgetState(t){try{t.formats.forEach((e=>{const o=this.formats.find((t=>t.name===e.name));o&&t.locale===j()&&e.currentPattern&&(o.currentPattern=e.currentPattern),o&&e.index>=0&&this.conversions.add(new g({format:o}))}))}catch(e){a.getLogger(this).warn(new r("coordinate-conversion:session-storage-read-error","Could not get widget state from stored JSON.",{error:e}))}}_saveWidgetState(){if(!this.storageEnabled)return;const t=this._toJSON();try{this.storage.setItem(E,JSON.stringify({formats:t,locale:j()}))}catch(e){a.getLogger(this).error(new r("coordinate-conversion:local-storage-write-error","Could not write to localStorage.",{error:e}))}}async _updateConversions(){try{await this.updateConversions(this.conversions.toArray(),this.currentLocation)}catch{}}_toJSON(){return this.formats.filter((t=>{const e=t.name;return"xy"===e||"basemap"===e||_(e)})).map((t=>({name:t.name,currentPattern:t.currentPattern,defaultPattern:t.defaultPattern,index:this.conversions.findIndex((e=>e.format===t))}))).sort(((t,e)=>t.index-e.index)).toArray()}_filterFormatsAndConversions(){const{formatterAvailable:t,conversions:e,formats:o}=this;t||this.addHandles(c((()=>this.view?.spatialReference),(t=>{const i=t.isWebMercator||t.isWGS84,s=o.filter((t=>{const{name:e}=t;return!!U(e)||"xy"===e&&!i})),r=this.filteredFormats.filter((t=>"xy"===t.name&&i&&!this.formats.includes(t))),n=e.filter((t=>s.includes(t.format)));o.removeMany(s),e.removeMany(n),this.filteredFormats.addMany(s.filter((t=>!this.filteredFormats.includes(t)))),o.addMany(r)}),{once:!0,initial:!0}),x.view)}};async function A(t,e){try{t.position=await(t.format?.convert(e))}catch(o){t.position=null}return t}function U(t){return H.includes(t)}t([l({type:s.ofType(g)})],W.prototype,"conversions",void 0),t([m("conversions")],W.prototype,"castConversions",null),t([l({type:v})],W.prototype,"currentLocation",null),t([l({type:s.ofType(y)})],W.prototype,"formats",void 0),t([l()],W.prototype,"messages",void 0),t([l()],W.prototype,"mode",null),t([l()],W.prototype,"filteredFormats",void 0),t([l({readOnly:!0})],W.prototype,"state",null),t([l({types:i})],W.prototype,"locationSymbol",void 0),t([l({readOnly:!0,dependsOn:["storageType"]})],W.prototype,"storage",null),t([l()],W.prototype,"storageEnabled",void 0),t([l()],W.prototype,"storageType",void 0),t([l({readOnly:!0})],W.prototype,"waitingForConversions",null),t([l()],W.prototype,"view",void 0),W=t([p("esri.widgets.CoordinateConversion.CoordinateConversionViewModel")],W);const O=W;export{O as default};
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import{getAssetUrl as e}from"../../assets.js";import o from"../../Graphic.js";import"../../intl.js";import i from"../../core/Collection.js";import s from"../../core/Error.js";import r from"../../core/Evented.js";import n from"../../core/Logger.js";import{watch as a,when as h,initial as c}from"../../core/reactiveUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import{cast as l}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import"../../core/RandomLCG.js";import{subclass as m}from"../../core/accessorSupport/decorators/subclass.js";import p from"../../geometry/Point.js";import{load as v}from"../../geometry/projection.js";import u from"../../symbols/PictureMarkerSymbol.js";import{pointSymbolTypes as f}from"../../symbols/support/typeUtils.js";import g from"./support/Conversion.js";import{isValidPoint as w,isSupportedNotation as _}from"./support/coordinateConversionUtils.js";import y from"./support/Format.js";import{generateDefaultFormats as C,setDefaultPatterns as b}from"./support/formatUtils.js";import L from"../support/GoTo.js";import{onLocaleChange as M,getLocale as j}from"../../intl/locale.js";import{fetchMessageBundle as P}from"../../intl/messages.js";const S={default:"default",crosshair:"crosshair"},F=new p([0,0,500]),G="xy",H=["mgrs","utm","usng","dd","dms","ddm"],E="esri__coordinateConversionWidgetState",x={conversions:"conversions",formats:"formats",view:"view",viewChange:"view-change"},T="esri/images/search/search-symbol-32.png";let W=class extends(L(r.EventedAccessor)){constructor(t){super(t),this._conversionPromise=null,this._locationGraphic=null,this._pointerCount=0,this.conversions=new i,this.formats=new i,this.formatterAvailable=!1,this.messages=null,this.filteredFormats=new i,this.locationSymbol=new u({url:e(T),width:24,height:24}),this.storageEnabled=!0,this.storageType="session",this.view=null,this._saveWidgetState=this._saveWidgetState.bind(this),this._handleFormatChange=this._handleFormatChange.bind(this),this._handleConversionChange=this._handleConversionChange.bind(this),this._handleViewChange=this._handleViewChange.bind(this),this._onClick=this._onClick.bind(this),this._onPointerMove=this._onPointerMove.bind(this),this._onPointerDown=this._onPointerDown.bind(this),this._onPointerUp=this._onPointerUp.bind(this)}initialize(){const t=async()=>this.messages=await P("esri/widgets/CoordinateConversion/t9n/CoordinateConversion");this.formats.addMany(C()),t().then((()=>{if(!this.destroyed&&(b(this.messages,this.formats),this.storageEnabled&&this._loadWidgetState(),this.formats.forEach((t=>{t.viewModel=this,this.addHandles(a((()=>t.currentPattern),this._saveWidgetState),t.name??"unnamed-format")})),this.addHandles(this.conversions.on("change",this._handleConversionChange),x.conversions),this.addHandles(this.formats.on("change",this._handleFormatChange),x.formats),this.addHandles(M((()=>{t().then((()=>{b(this.messages,this.formats)}))}))),v().then((()=>{this.formatterAvailable=!0})).catch((t=>{n.getLogger(this).error(new s("coordinate-conversion:projection-load-failed","Failed to load the projection module.",{error:t})),this.formatterAvailable=!1,this._filterFormatsAndConversions()})).then((()=>this.addHandles(a((()=>this.view),this._handleViewChange,c),x.viewChange))),0===this.conversions.length)){const t=this.formats.find((t=>t.name===G))||this.formats.at(0);this.conversions.add(new g({format:t}))}}))}destroy(){this.removeHandles(),this._cleanUpView(this.view),this.view=null}castConversions(t){return this._castToConversions(t)}set currentLocation(t){this._set("currentLocation",t),this._updateConversions()}get currentLocation(){return this._get("currentLocation")||null}set mode(t){switch(t){case"capture":this.currentLocation=null,this._startCaptureMode(),this._set("mode",t);break;case"live":this._startLiveMode(),this._set("mode",t)}}get mode(){return this._get("mode")||"live"}get state(){const{messages:t,view:e}=this,o=e?.ready;return t?o?"ready":e?"loading":"disabled":"disabled"}get storage(){const{storageType:t}=this;return"session"===t?sessionStorage:localStorage}get waitingForConversions(){return null!=this._conversionPromise}setLocation(t){if(this._locationGraphic&&this.view?.graphics.remove(this._locationGraphic),!t)return;const e=t.clone();e.hasZ&&(e.z=void 0),this._locationGraphic=new o({geometry:e,symbol:this.locationSymbol}),this.view?.graphics.add(this._locationGraphic)}async convert(t,e){if(!w(e))throw new s("coordinate-conversion:invalid-point","Invalid point cannot be converted.",{point:e});return Promise.resolve().then((()=>t.convert(e)))}async goToLocation(t){const{view:e}=this;if(!e)throw new s("coordinate-conversion:go-to-failed","no view");const o="3d"===e.type?e.clippingArea:null,i=e.map?.basemap?.baseLayers;if(o||(i?.length??0)>0){const e=o??i?.at(0)?.fullExtent;if(null!=e&&!e.contains(t))throw new s("coordinate-conversion:go-to-failed","Point outside basemap extent.",{point:t})}return this.callGoTo({target:t})}pause(){this.currentLocation=null,this.removeHandles(x.view),this.view&&(this.view.cursor=S.default,this._locationGraphic&&this.view.graphics.remove(this._locationGraphic))}async previewConversion(t,e=this.currentLocation||F){return(await A(t,e)).displayCoordinate}resume(){"capture"===this.mode?this._startCaptureMode():this._startLiveMode()}reverseConvert(t,e){return e.reverseConvert(t)}async updateConversions(t,e){if("point"!==e?.type)throw this._clearConversions(this.conversions),new s("coordinate-conversion:invalid-input-point","Point is invalid, conversions cannot be updated.",{point:e});return this._convertMany(t,e)}_castToConversions(t){const e=new i;return t.forEach((t=>{let o=null;if(t instanceof g)o=t;else if("string"==typeof t){const e=this.formats.find((e=>e.name===t));e&&(o=new g({format:e}))}o&&e.add(o)})),e}_cleanUpView(t){t&&(this._locationGraphic&&t.graphics.remove(this._locationGraphic),this.removeHandles(x.view),t.cursor=S.default)}_clearConversions(t){t.forEach((t=>{t.position={location:null,coordinate:null}}))}async _convertMany(t,e){return Promise.all(t.map((t=>A(t,e))))}_handleConversionChange(t){for(const e of t.added){const{format:t}=e;t&&(t.viewModel=this,this.currentLocation&&(this._set("waitingForConversions",!0),this.convert(t,this.currentLocation).then((t=>{e.position=t,this._set("waitingForConversions",!1)}))))}this._saveWidgetState()}_handleFormatChange(t){t.added.forEach((t=>{this.addHandles(a((()=>t.currentPattern),this._saveWidgetState),t.name??"unnamed-format"),t.viewModel=this})),t.removed.forEach((t=>{t.viewModel=null;const e=this.conversions.filter((e=>e.format===t));this.conversions.removeMany(e),t.name&&this.removeHandles(t.name)}))}_loadWidgetState(){try{const t=JSON.parse(this.storage.getItem(E));t&&this._setWidgetState(t)}catch(t){n.getLogger(this).error(new s("coordinate-conversion:invalid-session-storage-json","Could not read from storage.",{error:t}))}}_startCaptureMode(){this.removeHandles(x.view),this.view&&(this.view.cursor=S.crosshair,this.currentLocation&&this.setLocation(this.currentLocation),this.addHandles(this.view.on("click",this._onClick),x.view))}_startLiveMode(){this._pointerCount=0,this.removeHandles(x.view),this.view&&(this.view.cursor=S.default,this._locationGraphic&&this.view.graphics.remove(this._locationGraphic),this.addHandles([this.view.on("pointer-down",this._onPointerDown),this.view.on("pointer-up",this._onPointerUp),this.view.on("pointer-move",this._onPointerMove)],x.view))}_handleViewChange(t,e){e&&e!==t&&this._cleanUpView(e),t&&("capture"===this.mode?this._startCaptureMode():this._startLiveMode(),e&&this._filterFormatsAndConversions())}_onClick(t){if(0===t.button){const e=this.view?.toMap(t),o=e?.normalize();this.setLocation(o),this.currentLocation=o}}_onPointerDown(t){const{pointerType:e}=t;if(this._pointerCount++,("touch"===e||"pen"===e)&&1===this._pointerCount){const e=this.view?.toMap(t);this.currentLocation=e?.normalize()}}_onPointerMove(t){const{pointerType:e}=t;if("mouse"===e||1===this._pointerCount){const e=this.view?.toMap(t);this.currentLocation=e?.normalize()}}_onPointerUp(){this._pointerCount--}_setWidgetState(t){try{t.formats.forEach((e=>{const o=this.formats.find((t=>t.name===e.name));o&&t.locale===j()&&e.currentPattern&&(o.currentPattern=e.currentPattern),o&&e.index>=0&&this.conversions.add(new g({format:o}))}))}catch(e){n.getLogger(this).warn(new s("coordinate-conversion:session-storage-read-error","Could not get widget state from stored JSON.",{error:e}))}}_saveWidgetState(){if(!this.storageEnabled)return;const t=this._toJSON();try{this.storage.setItem(E,JSON.stringify({formats:t,locale:j()}))}catch(e){n.getLogger(this).error(new s("coordinate-conversion:local-storage-write-error","Could not write to localStorage.",{error:e}))}}async _updateConversions(){try{await this.updateConversions(this.conversions.toArray(),this.currentLocation)}catch{}}_toJSON(){return this.formats.filter((t=>{const e=t.name;return"xy"===e||"basemap"===e||_(e)})).map((t=>({name:t.name,currentPattern:t.currentPattern,defaultPattern:t.defaultPattern,index:this.conversions.findIndex((e=>e.format===t))}))).sort(((t,e)=>t.index-e.index)).toArray()}_filterFormatsAndConversions(){const{formatterAvailable:t,conversions:e,formats:o}=this;t||this.addHandles(h((()=>this.view?.spatialReference),(t=>{const i=t.isWebMercator||t.isWGS84,s=o.filter((t=>{const{name:e}=t;return!!U(e)||"xy"===e&&!i})),r=this.filteredFormats.filter((t=>"xy"===t.name&&i&&!this.formats.includes(t))),n=e.filter((t=>s.includes(t.format)));o.removeMany(s),e.removeMany(n),this.filteredFormats.addMany(s.filter((t=>!this.filteredFormats.includes(t)))),o.addMany(r)}),{once:!0,initial:!0}),x.view)}};async function A(t,e){try{t.position=await(t.format?.convert(e))}catch(o){t.position=null}return t}function U(t){return H.includes(t)}t([d({type:i.ofType(g)})],W.prototype,"conversions",void 0),t([l("conversions")],W.prototype,"castConversions",null),t([d({type:p})],W.prototype,"currentLocation",null),t([d({type:i.ofType(y)})],W.prototype,"formats",void 0),t([d()],W.prototype,"messages",void 0),t([d()],W.prototype,"mode",null),t([d()],W.prototype,"filteredFormats",void 0),t([d({readOnly:!0})],W.prototype,"state",null),t([d({types:f})],W.prototype,"locationSymbol",void 0),t([d({readOnly:!0,dependsOn:["storageType"]})],W.prototype,"storage",null),t([d()],W.prototype,"storageEnabled",void 0),t([d()],W.prototype,"storageType",void 0),t([d({readOnly:!0})],W.prototype,"waitingForConversions",null),t([d()],W.prototype,"view",void 0),W=t([m("esri.widgets.CoordinateConversion.CoordinateConversionViewModel")],W);const O=W;export{O 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../core/Accessor.js";import r from"../../../core/Error.js";import"../../../core/has.js";import{property as n}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as o}from"../../../core/accessorSupport/decorators/subclass.js";import{fromUsng as i,fromUtm as s,fromMgrs as a,fromLatitudeLongitude as l,toUtm as c,toUsng as p,toMgrs as u,toLatitudeLongitude as m}from"../../../geometry/coordinateFormatter.js";import{isLoaded as h,project as d}from"../../../geometry/projection.js";import f from"../../../geometry/SpatialReference.js";import{equals as v}from"../../../geometry/support/spatialReferenceUtils.js";import{project as g}from"../../../geometry/support/webMercatorUtils.js";import{isValidPoint as y,fromXY as w,pointToCoordinate as b,getDegreePrecision as S}from"./coordinateConversionUtils.js";let _=class extends t{constructor(e){super(e),this.conversionInfo=null,this.coordinateSegments=null,this._currentPattern=void 0,this.defaultPattern=null,this.name=null,this.viewModel=null}get currentPattern(){return(this._currentPattern||this.defaultPattern)??""}set currentPattern(e){this._currentPattern=e}get label(){return this.name??""}set label(e){this._overrideIfSome("label",e)}get hasDisplayProperties(){return!(!this.defaultPattern||!this.coordinateSegments)}get spatialReference(){return"basemap"===this.name?this._viewSpatialReference:this.conversionInfo?.spatialReference??f.WGS84}set spatialReference(e){this._overrideIfSome("spatialReference",e)}get _viewSpatialReference(){return this.viewModel?.view?.spatialReference??f.WGS84}get _additionalCharactersPattern(){const e=this.coordinateSegments;if(!e)return null;const t=e.map((e=>e.alias)),r=this.currentPattern.replaceAll(new RegExp(`["nsew${t.join()}]`,"gi"),"").replaceAll(" ","");return new RegExp(`[${r}]`,"g")}get test(){}async convert(e){if(!y(e))throw new r("format:invalid-point","Could not convert invalid point.",{point:e});const t=this.conversionInfo?.convert;if(t)return Promise.resolve().then((()=>t(e)));const n=await this._project(e,this.spatialReference);return{location:n,coordinate:await this._getCoordinate(n)}}getConversionStrategy(){const e=this._viewSpatialReference;return this.conversionInfo?.convert||this.viewModel?.formatterAvailable||"xy"===this.name&&(e.isWebMercator||e.isWGS84)||"basemap"===this.name?"client":"server"}getDisplayCoordinate(e){if(!e)return null;if(!this.coordinateSegments||!this.currentPattern)return e;let t=this.currentPattern;const r=this._getSegmentMatches(e,!1);for(let n=this.coordinateSegments.length-1;n>=0;n--){const e=this.coordinateSegments[n];t=t.replace(e.alias,r[n])}return t}_parseUserInput(e){const{defaultPattern:t,_additionalCharactersPattern:r,coordinateSegments:n}=this;if(!t||!r)return"";let o=t.replace(r,"");e=e.replace(r,"");const i=this._getSegmentMatches(e,!0);if(n)for(let s=n.length-1;s>=0;s--){const e=n[s];o=o.replace(e.alias,i[s])}return o}_getSegmentMatches(e,t){const r=new Array,{coordinateSegments:n}=this;if(!n)return r;for(let o=0;o<n.length;o++){const i=n[o],s=e.match(i.searchPattern);if(!s){r.push("");continue}let a=s[0];if(e=e.replace(a,"").trim(),i.substitution){const e=t?i.substitution.input(a):i.substitution.output(a);e&&(a=`${e}`)}r.push(a)}return r}async reverseConvert(e){const t=this._parseUserInput(e),n=this.conversionInfo?.reverseConvert;let o;if(n)o=n(t);else if("xy"===this.name||"basemap"===this.name)o=w(t,this.spatialReference);else if(this.viewModel?.formatterAvailable)switch(this.name){case"dd":case"ddm":case"dms":o=l(t,this.spatialReference);break;case"mgrs":{const e="automatic";o=a(t,this.spatialReference,e);break}case"utm":{const e="latitude-band-indicators";o=s(t,this.spatialReference,e);break}case"usng":o=i(t,this.spatialReference);break;default:o=null}if(!o)throw new r("format:invalid-input","Could not parse input into point.",{userInput:e});return this._project(o,this._viewSpatialReference)}async _getCoordinate(e){const t=this.viewModel?.view?.scale??0;if(!y(e))throw new r("format:invalid-point","Could not transform invalid point into coordinate.",{point:e});if(this.viewModel?.formatterAvailable||"basemap"===this.name||"xy"===this.name)switch(this.name){case"dd":case"ddm":case"dms":{const r=S(t);return m(e,this.name,r)}case"mgrs":return u(e,"automatic",5,!1);case"usng":return p(e,5,!1);case"utm":return c(e,"latitude-band-indicators",!0);default:return b(e,t)}return b(e,t)}async _project(e,t){if(v(e.spatialReference,t)||!t)return e;if(this.viewModel?.formatterAvailable&&h())return d(e,t);if(!this.viewModel?.formatterAvailable){const r=g(e,t);if(null!=r)return r}return null}};e([n()],_.prototype,"conversionInfo",void 0),e([n()],_.prototype,"coordinateSegments",void 0),e([n()],_.prototype,"currentPattern",null),e([n()],_.prototype,"_currentPattern",void 0),e([n()],_.prototype,"label",null),e([n()],_.prototype,"defaultPattern",void 0),e([n({readOnly:!0})],_.prototype,"hasDisplayProperties",null),e([n()],_.prototype,"name",void 0),e([n({type:f})],_.prototype,"spatialReference",null),e([n()],_.prototype,"viewModel",void 0),e([n({readOnly:!0})],_.prototype,"_viewSpatialReference",null),e([n({readOnly:!0})],_.prototype,"_additionalCharactersPattern",null),_=e([o("esri.widgets.CoordinateConversion.support.Format")],_);const R=_;export{R 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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import
|
|
5
|
+
import n from"../../../geometry/Point.js";import t from"../../../geometry/SpatialReference.js";function e(n,t){const e=r(t);return[n[0].toFixed(e),n[1].toFixed(e)]}function r(n){return n>=500?6:n<500&&n>=50?7:n<50&&n>=5?8:9}function i(e,r){const i=e.includes(",")?",":" ",[u,c,s]=e.split(i).map((n=>{const t=n.trim();return t?Number(t):null}));if(!o(u)||!o(c))return null;const f=new n({x:u,y:c,spatialReference:r||t.WGS84});return s&&(f.z=s,f.hasZ=!0),f}function o(n){return"number"==typeof n&&isFinite(n)}function u(n){return!!n&&o(n.x)&&o(n.y)}function c(n,t){if(n.spatialReference.isGeographic&&t){const[r,i]=e([n.x,n.y],t);return`${r}, ${i}`}return`${n.x.toFixed(3)}, ${n.y.toFixed(3)}`}const s=["dd","dms","ddm","mgrs","usng","utm"];function f(n){return s.includes(n)}export{e as clipLonLat,i as fromXY,r as getDegreePrecision,f as isSupportedNotation,u as isValidPoint,c as pointToCoordinate};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import"../../intl.js";import"../../symbols.js";import{getContrast as i,multiplyOpacity as r,BrightnessThreshold as s}from"../../core/colorUtils.js";import{handlesGroup as o}from"../../core/handleUtils.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as a,initial as p}from"../../core/reactiveUtils.js";import{formatDecimal as l,formatImperialLength as m,formatMetricLength as c}from"../../core/unitFormatUtils.js";import{convertUnit as h}from"../../core/unitUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as y}from"../../core/support/UpdatingHandles.js";import{geodesicLength as g,geodesicDensify as v,planarLength as _}from"../../geometry/geometryEngine.js";import{project as f}from"../../geometry/projection.js";import{isSupported as w,geodesicLengths as j,geodesicDensify as L}from"../../geometry/support/geodesicUtils.js";import b from"../../layers/GraphicsLayer.js";import{ViewingMode as S}from"../../views/ViewingMode.js";import{SnappingVisualizer2D as M}from"../../views/2d/interactive/SnappingVisualizer2D.js";import x from"../../views/draw/Draw.js";import{createCoordinateHelper as C}from"../../views/interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as A,screenToMap as G,dragManipulatedObject as R}from"../../views/interactive/dragEventPipeline.js";import{GraphicManipulator as k}from"../../views/interactive/GraphicManipulator.js";import{InteractiveToolBase as D}from"../../views/interactive/InteractiveToolBase.js";import{EditGeometry as H}from"../../views/interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as P}from"../../views/interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as U}from"../../views/interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as E}from"../../views/interactive/snapping/SnappingDragPipelineStep.js";import{acquire as T}from"../../views/interactive/snapping/SnappingManagerPool.js";import{setupSnappingToggleHandles as I}from"../../views/interactive/snapping/snappingUtils.js";import{fetchMessageBundle as O}from"../../intl/messages.js";import{onLocaleChange as z}from"../../intl/locale.js";import V from"../../geometry/Point.js";import W from"../../symbols/CIMSymbol.js";import B from"../../symbols/TextSymbol.js";import F from"../../symbols/Font.js";import N from"../../symbols/SimpleMarkerSymbol.js";import q from"../../geometry/Polyline.js";import J from"../../geometry/SpatialReference.js";const K=1e5;let Q=class extends D{constructor(e){super(e),this._drawActive=!1,this._measurementLayer=new b({internal:!0,listMode:"hide",visible:!1}),this._manipulatorLayer=new b({internal:!0,listMode:"hide",visible:!1}),this._snappingLayer=new b({internal:!0,listMode:"hide",visible:!1}),this._updatingHandles=new y,this._vertices=[],this.measurement=null,this.measurementLabel=null}initialize(){O("esri/core/t9n/Units").then((e=>{this.messages=e}));const e=this.view;this._draw=new x({view:e}),e.map.addMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),e.focus(),this._snappingManagerResult=T(e),this.addHandles([z((async()=>{this.messages=await O("esri/core/t9n/Units")})),a((()=>[this.unit,this.messages]),(()=>{this._updatePolylines()}),p),a((()=>[this.view.effectiveTheme.accentColor,this.view.effectiveTheme.textColor]),(()=>{if(!this._vertices.length)return;const e=this._vertices.map((({coord:e})=>e));for(const{handle:t}of this._vertices)t.remove();this._vertices=[],this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this.manipulators.removeAll(),this._updateSketch(e)})),a((()=>this.snappingOptions.featureSources),(e=>{for(const t of e)t.layer!==this._measurementLayer&&t.layer!==this._manipulatorLayer||(t.enabled=!1)}),p),this._snappingManagerResult]),I(this)}destroy(){const{map:e}=this.view;this._draw.view=null,this._draw=n(this._draw),e.removeMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this._set("measurement",null),this._set("measurementLabel",null),this._measurementLayer=n(this._measurementLayer),this._manipulatorLayer=n(this._manipulatorLayer),this._snappingLayer=n(this._snappingLayer),this._updatingHandles=n(this._updatingHandles),this._resetVertices()}get _snappingManager(){return this._snappingManagerResult.snappingManager}get cursor(){return this._drawActive?"crosshair":null}set editable(e){this._set("editable",e),e||this._draw.reset()}get snappingOptions(){return this._snappingManager.options}get updating(){return this._updatingHandles.updating||this._snappingManager.updating}onActivate(){this._drawActive||0!==this._vertices.length||this._startSketch()}onShow(){this._measurementLayer.visible=!0,this._manipulatorLayer.visible=!0,this._snappingLayer.visible=!0}onHide(){this._measurementLayer.visible=!1,this._manipulatorLayer.visible=!1,this._snappingLayer.visible=!1}_getSnappingContext(e){return new U({elevationInfo:{mode:"on-the-ground",offset:0},pointer:e,editGeometryOperations:new P(new H("point",C(!1,!1,this.view.spatialReference)),S.Local),visualizer:new M(this._snappingLayer)})}_resetVertices(){for(const{handle:e}of this._vertices)e.remove();this._vertices=[]}_startSketch(){this._drawActive=!0;const e=this._snappingManager,t=this._draw.create("polyline",{mode:"click",snappingManager:e});t.on(["vertex-add","vertex-update","vertex-remove","cursor-update","undo","redo"],(e=>this._updateSketch(e.vertices))),t.on("draw-complete",(()=>{this._stopSketch()}))}_stopSketch(){this.manipulators.forEach((({manipulator:e})=>{e.interactive=!0})),this._drawActive=!1,this.finishToolCreation()}_updateSketch(e){const{spatialReference:t}=this.view;for(;this._vertices.length>e.length;){const{handle:e,manipulator:t}=this._vertices.pop();e.remove(),this.manipulators.remove(t)}for(let p=this._vertices.length;p<e.length;p++){const[i,r]=e[p],s=new V({x:i,y:r,spatialReference:t}),n=X(s,this.view,this._manipulatorLayer);this.manipulators.add(n);const a=P.fromGeometry(s,S.Local),l=[a.on("vertex-update",(e=>{const t=e.vertices.at(0);t&&(this._vertices[p].coord=[t.pos[0],t.pos[1]],this._updatePolylines())})),A(n,((e,t,i,r)=>{const s=this._getSnappingContext(r),o=this._snappingManager,n=this._updatingHandles,{snappingStep:p}=E({snappingContext:s,snappingManager:o,updatingHandles:n});t.next(G(this.view)).next((t=>{if("start"===t.action){const i=new V(t.mapStart);e.graphic.geometry=i,a.trySetGeometry(i)}return t})).next(...p).next(R({operations:a})).next((()=>{e.graphic.geometry=a.data.geometry}))}))];this._vertices.push({manipulator:n,coord:[i,r],handle:o(l)})}const i=this._vertices.length-1,r=this._vertices[i],[s,n]=e[i];r.coord[0]===s&&r.coord[1]===n||(r.coord=[s,n],r.manipulator.graphic.geometry=new V({x:s,y:n,spatialReference:t}));const a=this._drawActive?this._vertices[i].manipulator:null;this.manipulators.forEach((({manipulator:e})=>{e.interactive=null==a||e!==a})),this._updatePolylines()}_updatePolylines(){if(this._vertices.length<2)return void this._measurementLayer.removeAll();const e=this._vertices.map((({coord:e})=>e)),{measurement:o,drawing:n,original:a}=Y(e,this.view.spatialReference);this._set("measurement",o);const p=ee(this.messages,o,this.unit);let l,m;this._set("measurementLabel",p);const{graphics:c}=this._measurementLayer,h=2===c.length,{effectiveTheme:u}=this.view;h?(l=c.at(0),m=c.at(1)):(l=new t({symbol:new W({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[14,12],lineDashEnding:"FullGap",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",width:3.5,color:i(u.accentColor).toArray()},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",width:5,color:u.accentColor.toArray()}]}}})}),m=new t({symbol:new B({color:u.textColor,haloColor:r(i(u.textColor,s.Low),.5),haloSize:2,font:new F({size:14,family:"sans-serif"})})}),c.removeAll(),c.addMany([l,m])),l.geometry=n,m.geometry=a.extent?.center,m.symbol.text=p}};function X(e,i,s){const o=r(i.effectiveTheme.accentColor,.5),n={type:"simple-line",width:0},a=8,p=new N({style:"circle",color:o,size:a,outline:n}),l=new N({style:"circle",color:o,size:1.5*a,outline:n}),m=new t({geometry:e,symbol:p});return new k({view:i,layer:s,graphic:m,focusedSymbol:l})}function Y(e,t){const i=new q({paths:[e],spatialReference:t});let r,s;if(t.isGeographic)if(w(t))r=j([i],"meters")[0],s=L(i,K);else{const e=f(i,J.WGS84),o=L(e,K);r=j([e],"meters")[0],s=f(o,t)}else t.isWebMercator?(r=g(i,"meters"),s=v(i,K,"meters")):(r=_(i,"meters"),s=i);return{measurement:{geometry:s,length:r},original:i,drawing:s}}function Z(e){return null!=e}function $(e){if(!e)return!1;const{isGeographic:t,isWebMercator:i,isWGS84:r}=e;return t&&!r&&!w(e)||!t&&!i}function ee(e,t,i){if(!t||!e)return"";switch(i){case"metric":return c(e,t.length,"meters");case"imperial":return m(e,t.length,"meters");default:return l(e,h(t.length,"meters",i),i)}}e([u()],Q.prototype,"_drawActive",void 0),e([u({readOnly:!0})],Q.prototype,"cursor",null),e([u({value:!0})],Q.prototype,"editable",null),e([u({readOnly:!0})],Q.prototype,"measurement",void 0),e([u({readOnly:!0})],Q.prototype,"measurementLabel",void 0),e([u()],Q.prototype,"messages",void 0),e([u()],Q.prototype,"unit",void 0),e([u()],Q.prototype,"updating",null),e([u({constructOnly:!0})],Q.prototype,"view",void 0),Q=e([d("esri.widgets.DistanceMeasurement2D.DistanceMeasurement2DTool")],Q);export{Q as DistanceMeasurement2DTool,Y as createDistanceMeasurementInfo2D,ee as createDistanceMeasurementLabel,$ as isProjectionEngineRequired,Z as isSupported};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import{getContrast as i,multiplyOpacity as r,BrightnessThreshold as s}from"../../core/colorUtils.js";import{handlesGroup as o}from"../../core/handleUtils.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as a,initial as p}from"../../core/reactiveUtils.js";import{formatDecimal as l,formatImperialLength as m,formatMetricLength as c}from"../../core/unitFormatUtils.js";import{convertUnit as h}from"../../core/unitUtils.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import"../../core/RandomLCG.js";import{subclass as d}from"../../core/accessorSupport/decorators/subclass.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{geodesicLength as y,geodesicDensify as v,planarLength as _}from"../../geometry/geometryEngine.js";import f from"../../geometry/Point.js";import w from"../../geometry/Polyline.js";import{project as L}from"../../geometry/projection.js";import j from"../../geometry/SpatialReference.js";import{isSupported as S,geodesicLengths as b,geodesicDensify as M}from"../../geometry/support/geodesicUtils.js";import x from"../../layers/GraphicsLayer.js";import C from"../../symbols/CIMSymbol.js";import A from"../../symbols/Font.js";import G from"../../symbols/SimpleMarkerSymbol.js";import R from"../../symbols/TextSymbol.js";import{ViewingMode as k}from"../../views/ViewingMode.js";import{SnappingVisualizer2D as D}from"../../views/2d/interactive/SnappingVisualizer2D.js";import H from"../../views/draw/Draw.js";import{createCoordinateHelper as P}from"../../views/interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as U,screenToMap as E,dragManipulatedObject as T}from"../../views/interactive/dragEventPipeline.js";import{GraphicManipulator as I}from"../../views/interactive/GraphicManipulator.js";import{InteractiveToolBase as O}from"../../views/interactive/InteractiveToolBase.js";import{EditGeometry as z}from"../../views/interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as V}from"../../views/interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as W}from"../../views/interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as B}from"../../views/interactive/snapping/SnappingDragPipelineStep.js";import{acquire as F}from"../../views/interactive/snapping/SnappingManagerPool.js";import{setupSnappingToggleHandles as N}from"../../views/interactive/snapping/snappingUtils.js";import{fetchMessageBundle as q}from"../../intl/messages.js";import{onLocaleChange as J}from"../../intl/locale.js";const K=1e5;let Q=class extends O{constructor(e){super(e),this._drawActive=!1,this._measurementLayer=new x({internal:!0,listMode:"hide",visible:!1}),this._manipulatorLayer=new x({internal:!0,listMode:"hide",visible:!1}),this._snappingLayer=new x({internal:!0,listMode:"hide",visible:!1}),this._updatingHandles=new g,this._vertices=[],this.measurement=null,this.measurementLabel=null}initialize(){q("esri/core/t9n/Units").then((e=>{this.messages=e}));const e=this.view;this._draw=new H({view:e}),e.map.addMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),e.focus(),this._snappingManagerResult=F(e),this.addHandles([J((async()=>{this.messages=await q("esri/core/t9n/Units")})),a((()=>[this.unit,this.messages]),(()=>{this._updatePolylines()}),p),a((()=>[this.view.effectiveTheme.accentColor,this.view.effectiveTheme.textColor]),(()=>{if(!this._vertices.length)return;const e=this._vertices.map((({coord:e})=>e));for(const{handle:t}of this._vertices)t.remove();this._vertices=[],this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this.manipulators.removeAll(),this._updateSketch(e)})),a((()=>this.snappingOptions.featureSources),(e=>{for(const t of e)t.layer!==this._measurementLayer&&t.layer!==this._manipulatorLayer||(t.enabled=!1)}),p),this._snappingManagerResult]),N(this)}destroy(){const{map:e}=this.view;this._draw.view=null,this._draw=n(this._draw),e.removeMany([this._measurementLayer,this._manipulatorLayer,this._snappingLayer]),this._measurementLayer.removeAll(),this._manipulatorLayer.removeAll(),this._snappingLayer.removeAll(),this._set("measurement",null),this._set("measurementLabel",null),this._measurementLayer=n(this._measurementLayer),this._manipulatorLayer=n(this._manipulatorLayer),this._snappingLayer=n(this._snappingLayer),this._updatingHandles=n(this._updatingHandles),this._resetVertices()}get _snappingManager(){return this._snappingManagerResult.snappingManager}get cursor(){return this._drawActive?"crosshair":null}set editable(e){this._set("editable",e),e||this._draw.reset()}get snappingOptions(){return this._snappingManager.options}get updating(){return this._updatingHandles.updating||this._snappingManager.updating}onActivate(){this._drawActive||0!==this._vertices.length||this._startSketch()}onShow(){this._measurementLayer.visible=!0,this._manipulatorLayer.visible=!0,this._snappingLayer.visible=!0}onHide(){this._measurementLayer.visible=!1,this._manipulatorLayer.visible=!1,this._snappingLayer.visible=!1}_getSnappingContext(e){return new W({elevationInfo:{mode:"on-the-ground",offset:0},pointer:e,editGeometryOperations:new V(new z("point",P(!1,!1,this.view.spatialReference)),k.Local),visualizer:new D(this._snappingLayer)})}_resetVertices(){for(const{handle:e}of this._vertices)e.remove();this._vertices=[]}_startSketch(){this._drawActive=!0;const e=this._snappingManager,t=this._draw.create("polyline",{mode:"click",snappingManager:e});t.on(["vertex-add","vertex-update","vertex-remove","cursor-update","undo","redo"],(e=>this._updateSketch(e.vertices))),t.on("draw-complete",(()=>{this._stopSketch()}))}_stopSketch(){this.manipulators.forEach((({manipulator:e})=>{e.interactive=!0})),this._drawActive=!1,this.finishToolCreation()}_updateSketch(e){const{spatialReference:t}=this.view;for(;this._vertices.length>e.length;){const{handle:e,manipulator:t}=this._vertices.pop();e.remove(),this.manipulators.remove(t)}for(let p=this._vertices.length;p<e.length;p++){const[i,r]=e[p],s=new f({x:i,y:r,spatialReference:t}),n=X(s,this.view,this._manipulatorLayer);this.manipulators.add(n);const a=V.fromGeometry(s,k.Local),l=[a.on("vertex-update",(e=>{const t=e.vertices.at(0);t&&(this._vertices[p].coord=[t.pos[0],t.pos[1]],this._updatePolylines())})),U(n,((e,t,i,r)=>{const s=this._getSnappingContext(r),o=this._snappingManager,n=this._updatingHandles,{snappingStep:p}=B({snappingContext:s,snappingManager:o,updatingHandles:n});t.next(E(this.view)).next((t=>{if("start"===t.action){const i=new f(t.mapStart);e.graphic.geometry=i,a.trySetGeometry(i)}return t})).next(...p).next(T({operations:a})).next((()=>{e.graphic.geometry=a.data.geometry}))}))];this._vertices.push({manipulator:n,coord:[i,r],handle:o(l)})}const i=this._vertices.length-1,r=this._vertices[i],[s,n]=e[i];r.coord[0]===s&&r.coord[1]===n||(r.coord=[s,n],r.manipulator.graphic.geometry=new f({x:s,y:n,spatialReference:t}));const a=this._drawActive?this._vertices[i].manipulator:null;this.manipulators.forEach((({manipulator:e})=>{e.interactive=null==a||e!==a})),this._updatePolylines()}_updatePolylines(){if(this._vertices.length<2)return void this._measurementLayer.removeAll();const e=this._vertices.map((({coord:e})=>e)),{measurement:o,drawing:n,original:a}=Y(e,this.view.spatialReference);this._set("measurement",o);const p=ee(this.messages,o,this.unit);let l,m;this._set("measurementLabel",p);const{graphics:c}=this._measurementLayer,h=2===c.length,{effectiveTheme:u}=this.view;h?(l=c.at(0),m=c.at(1)):(l=new t({symbol:new C({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[14,12],lineDashEnding:"FullGap",controlPointEnding:"NoConstraint"}],enable:!0,capStyle:"Butt",joinStyle:"Round",width:3.5,color:i(u.accentColor).toArray()},{type:"CIMSolidStroke",enable:!0,capStyle:"Butt",joinStyle:"Round",width:5,color:u.accentColor.toArray()}]}}})}),m=new t({symbol:new R({color:u.textColor,haloColor:r(i(u.textColor,s.Low),.5),haloSize:2,font:new A({size:14,family:"sans-serif"})})}),c.removeAll(),c.addMany([l,m])),l.geometry=n,m.geometry=a.extent?.center,m.symbol.text=p}};function X(e,i,s){const o=r(i.effectiveTheme.accentColor,.5),n={type:"simple-line",width:0},a=8,p=new G({style:"circle",color:o,size:a,outline:n}),l=new G({style:"circle",color:o,size:1.5*a,outline:n}),m=new t({geometry:e,symbol:p});return new I({view:i,layer:s,graphic:m,focusedSymbol:l})}function Y(e,t){const i=new w({paths:[e],spatialReference:t});let r,s;if(t.isGeographic)if(S(t))r=b([i],"meters")[0],s=M(i,K);else{const e=L(i,j.WGS84),o=M(e,K);r=b([e],"meters")[0],s=L(o,t)}else t.isWebMercator?(r=y(i,"meters"),s=v(i,K,"meters")):(r=_(i,"meters"),s=i);return{measurement:{geometry:s,length:r},original:i,drawing:s}}function Z(e){return null!=e}function $(e){if(!e)return!1;const{isGeographic:t,isWebMercator:i,isWGS84:r}=e;return t&&!r&&!S(e)||!t&&!i}function ee(e,t,i){if(!t||!e)return"";switch(i){case"metric":return c(e,t.length,"meters");case"imperial":return m(e,t.length,"meters");default:return l(e,h(t.length,"meters",i),i)}}e([u()],Q.prototype,"_drawActive",void 0),e([u({readOnly:!0})],Q.prototype,"cursor",null),e([u({value:!0})],Q.prototype,"editable",null),e([u({readOnly:!0})],Q.prototype,"measurement",void 0),e([u({readOnly:!0})],Q.prototype,"measurementLabel",void 0),e([u()],Q.prototype,"messages",void 0),e([u()],Q.prototype,"unit",void 0),e([u()],Q.prototype,"updating",null),e([u({constructOnly:!0})],Q.prototype,"view",void 0),Q=e([d("esri.widgets.DistanceMeasurement2D.DistanceMeasurement2DTool")],Q);export{Q as DistanceMeasurement2DTool,Y as createDistanceMeasurementInfo2D,ee as createDistanceMeasurementLabel,$ as isProjectionEngineRequired,Z as isSupported};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{remove as a}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{makeHandle as r,handlesGroup as s,abortHandle as n}from"../../core/handleUtils.js";import"../../core/has.js";import{removeMaybe as o,destroyMaybe as l}from"../../core/maybe.js";import{debounce as c}from"../../core/promiseUtils.js";import{watch as d,initial as h,whenOnce as u,syncAndInitial as p}from"../../core/reactiveUtils.js";import{generateBracedUUID as f}from"../../core/uuid.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import w from"../../layers/GraphicsLayer.js";import{isTable as y}from"../../layers/support/layerUtils.js";import{getDrawHelpMessage as v}from"../../views/draw/support/helpMessageUtils.js";import{ViewEventPriorities as _}from"../../views/input/InputManager.js";import F from"../../views/interactive/sketch/SketchOptions.js";import M from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import b from"./CreateFeaturesWorkflowData.js";import{isModelUpload as I,handleModelUpload as A}from"./modelUploadUtils.js";import k from"./Workflow.js";import{startCreatingNewFeature as V,findLayerInfo as C,updateGraphicSymbolWhenRequired as S,isTerminalUpdateEventType as H,getVisualVariableAttributes as j,startUpdatingFeature as U,createWorkflowSteps as O,avoidFeatureTemplateSelectionWithOnlyOneItem as E,prepareAttachmentsForCreateFeaturesWorkflow as D,showProgressCursor as T,visualVariableInteractiveUpdate as P}from"./workflowUtils.js";import G from"../FeatureForm/FeatureFormViewModel.js";import L from"../Sketch/SketchViewModel.js";var W;const x=Symbol(),N=Symbol(),z=Symbol(),R=Symbol();let Z=W=class extends k{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._featureFormViewModel=new G,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._highlightHandles=new Map,this._preventDefaultActionOnCancel=!1,this._lastActiveGraphics=[],this._isActive=!0,this._updateGraphicDebounced=c(((e,t,a)=>S(e,t,a)))}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,a=this._sketchViewModel,{activeComponent:i}=a,r=a.createGraphic?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==i?.type&&"draw-3d"!==i?.type)&&i.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const a=e.layer.geometryType,i=this._sketchViewModel.createGraphic;if("mesh"===a){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then((e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage}));const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(i,e):void 0}return v(a,i?.geometry)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.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.editorItem?.capabilities.create.attachments.enabled??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&this._setUpCreatingFeaturesStep()}exit(){this._isActive=!1,this.removeHandles([z])}async updatePendingFeature(e,t){return this._preventDefaultActionOnCancel=!0,this._sketchViewModel.cancel(),a(this._lastActiveGraphics,e),this._startUpdating({feature:e,webStyleCache:t})}async start(){return await super.start(),y(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}static create(e){const{addAttachmentsCallback:t,applyEditsCallback:a,isNested:i,creationInfo:r,parent:s,snappingManager:n,startAt:o,viewModel:l}=e,c=e.sketchOptions??new F,d=r?.layer,h=d?l.findEditorItemForLayer(d):void 0,u=new W({data:new b({creationInfo:r,editorItem:h,parent:s,sketchOptions:c,snappingManager:n,viewModel:l}),isNested:i,onCommit:async e=>{const{creationInfo:i}=e;if(!i)return;const r=e.pendingFeatures.toArray(),{layer:s}=i,n=s.capabilities?.editing.supportsGlobalId&&"globalIdField"in s,o=u._attachmentFileInfos;if(n){const e=B(r,s,o);return void await a(s,e,{globalIdUsed:!0})}const l=await a(s,{addFeatures:r});if(o.size>0){const e=l?.addFeatureResults??[];await t(s,K(r,e,s,o))}}});return u._set("steps",this._createWorkflowSteps(u,o)),u}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",r((()=>e.effect=t))}const t=e.opacity;return e.opacity=.7,r((()=>e.opacity=t))}_highlight(e){const t=this.data.viewModel.view;"3d"===t?.type&&this._highlightHandles.set(e,t.highlight(e))}_removeHighlight(e){o(this._highlightHandles.get(e)),this._highlightHandles.delete(e)}async _startCreating(e){this.removeHandles(N);const{creationInfo:t}=this.data;if(!t)return;this.createFeatureState="create-new";const a=await V(this._sketchViewModel,t,e);this.addHandles(a,N)}async _startUpdating({feature:e,webStyleCache:t,initialFeature:a=e}){const{data:i,pendingFeatures:r}=this;r.includes(e)||i.addPendingFeature(e,a);const{_featureFormViewModel:n,_sketchViewModel:l}=this,{creationInfo:c,viewModel:h}=i,{attachmentsViewModel:u,layerInfos:p,view:f}=h;if(!f||!c)return;const m=c.layer,g=C(p,m),w=g?.formTemplate,v=f.spatialReference;n.set({arcadeEditType:"INSERT",feature:e,formTemplate:w,spatialReference:v,map:f.map}),"add"!==u.mode&&"edit"!==u.mode||h.activeWorkflow?.previous(),u.graphic=e,u.fileInfos.removeAll(),u.mode="view";if((this._attachmentFileInfos.get(e)||[]).forEach((({file:e,form:t})=>u.addFile(e,t))),this._removeHighlight(e),await S(e,t,"2d"===f.type?f.scale:null),this.removeHandles(N),o(this._featureFormHandle),"2d"===f.type){const a=d((()=>f.scale),(a=>this._updateGraphicDebounced(e,t,a)));this.addHandles(a,N)}const _=i.getEditsForPendingFeature(e);return this._featureFormHandle=s([n.on("value-change",(async()=>{_?.updateAttributes(n.getValues()),await S(e,t,"2d"===f.type?f.scale:null)})),l.on(["update","undo","redo"],(e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&H(e.toolEventInfo.type))&&n.notifyFeatureGeometryChanged()})),d((()=>n.feature?.sourceLayer),(t=>e.sourceLayer=t))]),this.createFeatureState="update-pending",this._visualVariableAttributes=j(e),y(m)?void 0:U({graphic:e,sketchViewModel:l,sourceLayer:m,visualVariables:this._visualVariableAttributes,webStyleCache:t})}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=O(["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&&(I(t)?e.addHandles(await A({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&(e.addHandles(i.lockFeatureTemplatesViewModel(),this.id),i.featureTemplatesViewModel.layers=[t.layer]),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,N])}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([z,x,N,R]),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 E(a,i)}static _configureSketchViewModel(e,t){const{data:i}=e,{creationInfo:n,viewModel:o}=i,{view:l}=o,c=e._sketchViewModel;let d=null;const h=[];if(!l)return r();"2d"===l.type&&n&&h.push(e._fadeExistingFeatures(n.layer));const p=async a=>{if("cancel"===a.state){if(e._preventDefaultActionOnCancel)return void(e._preventDefaultActionOnCancel=!1);if(null==l.activeTool){if(e._lastActiveGraphics.length<1)return e._startCreating(t);const a=e._lastActiveGraphics.pop();return e._startUpdating({feature:a,webStyleCache:t})}return e._waitForActiveToolCleared().then((()=>e._startCreating(t)))}if("complete"===a.state&&a.graphic){const i=a.graphic.clone();return i.geometry=null,e._startUpdating({feature:a.graphic,webStyleCache:t,initialFeature:i})}},f=async a=>{const{attachmentsViewModel:i}=o,{_featureFormViewModel:r}=e,s=a.graphics[0];if("complete"===a.state){s!==d&&(e._lastActiveGraphics.push(s),e._highlight(s)),d=null;const{hasPendingSubtypeChoice:c,submittable:h}=r;if(e.numPendingFeatures===n?.maxFeatures||c||!h){!h&&r.submit();const a=e._lastActiveGraphics.pop();return null===o.view?.activeTool?e._startUpdating({feature:a,webStyleCache:t}):e._waitForActiveToolCleared().then((()=>e._startUpdating({feature:a,webStyleCache:t})))}if("add"!==i.mode&&"edit"!==i.mode||o.activeWorkflow?.previous(),a.aborted&&e._preventDefaultActionOnCancel)return void(e._preventDefaultActionOnCancel=!1);if(e.addHandles([T(l),l.on("click",(e=>e.preventDefault()))],x),await u((()=>!r.updating)),e.removeHandles(x),null!=o.view?.activeTool)return e._waitForActiveToolCleared().then((()=>{const a=e._lastActiveGraphics.pop();if(a)return e._startUpdating({feature:a,webStyleCache:t})}));e._startCreating(t)}"start"===a.state&&e._removeHighlight(s);const c=e._visualVariableAttributes;await P(l,s,a,c,t);const h=s.attributes,{rotation:p,size:f}=c;if(null!=p){const{field:e}=p;r.setValue(e,h[e])}if(null!=f){const{field:e}=f;r.setValue(e,h[e])}},m=t=>{const r=t.graphics[0];i.removePendingFeature(r),a(e._lastActiveGraphics,r),d=r},g=async a=>{if(I(n))return;const{results:i}=await l.hitTest(a,{include:c.layer}),r=i.find((e=>"graphic"===e.type&&e.graphic.sourceLayer===n?.layer));if(!r)return;const s=r.graphic;if("transform"===c.activeTool||"reshape"===c.activeTool){if(c.updateGraphics.at(0)===s)return;const{submittable:a,hasPendingSubtypeChoice:i}=e._featureFormViewModel;if(!a||i)return;await e.updatePendingFeature(s,t)}};h.push(c.on("create",(t=>e._updatingHandles.addPromise(p(t)))),c.on("update",(t=>e._updatingHandles.addPromise(f(t)))),c.on("delete",(e=>m(e))),l.on("immediate-click",(t=>e._updatingHandles.addPromise(g(t))),_.TOOL),r((()=>{e._preventDefaultActionOnCancel=!0,c.cancel()})),q(c,i));const w=s(h);return c.addHandles(w),w}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new w({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide"}),i=new L({layer:a,sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,view:t});this._sketchViewModel=i,t?.map.add(a),this.addHandles(r((()=>{t?.destroyed||t?.map.remove(a),a.destroy()})))}async _setUpCreatingFeaturesStep(){if(this.hasHandles(z))return;const{data:e}=this,{creationInfo:a,viewModel:n}=e,{attachmentsViewModel:l,view:c}=n;if(!c||!a?.layer)throw new i("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");this._preventDefaultActionOnCancel=!1;const{initialFeature:u,layer:p}=a,f=this._sketchViewModel,m=new Map,g=[];this._lastActiveGraphics=[],this._featureFormHandle=o(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},this.data.editorItem=n.findEditorItemForLayer(a.layer),D(l),g.push(d((()=>l.mode),(e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}})));const w=T(c);g.push(w);const v=y(a.layer);try{if(v){const e=u??new t({attributes:{...a.template?.prototype.attributes,...a.attributeOverrides},sourceLayer:p});await this._startUpdating({feature:e,webStyleCache:m})}else g.push(W._configureSketchViewModel(this,m)),u?(f.layer.add(u),await this._startUpdating({feature:u,webStyleCache:m})):await this._startCreating(m)}finally{w.remove()}const _=r((()=>{for(const t of e.pendingFeatures)f.layer.remove(t),e.removePendingFeature(t)})),F=d((()=>c?.timeZone),(e=>this._featureFormViewModel.timeZone=e),h),M=r((()=>{I(a)&&n.cancelWorkflow({warnIfNoWorkflow:!1})}));this._featureFormHandle&&g.push(this._featureFormHandle),this.addHandles(g,this._handleKeys.beforeCommit),this.addHandles([r((()=>l.fileInfos.removeAll())),s(g),M,_,F],z)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(n(t),R),await u((()=>null==e?.activeTool),t.signal),t.abort()}};function q(e,t){let a=null;const i=()=>e.snappingOptions.featureSources,n=()=>(a=new M({layer:e.layer}),i().add(a),a),o=()=>{null!=a&&(i().remove(a),a=l(a))};return s([d((()=>{const e=t.creationInfo?.layer,a=i().find((t=>t.layer===e));return{hasFeatureLayerSource:!!a,enabled:a?.enabled??!1}}),(({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return o();a??=n(),a.enabled=t}),p),r(o)])}function K(e,t,a,i){const r=[];return t.forEach(((t,s)=>{if(!t.error){const n=e[s],o=i.get(n)||[];n.attributes[a.objectIdField]=t.objectId,o.forEach((({form:e})=>r.push({feature:n,attachment:e})))}})),r}function B(e,t,a){const i=[],r=t.globalIdField;return e.forEach(((t,s)=>{e[s].attributes[r]??=f(),(a?.get(t)||[]).forEach((({file:e})=>i.push({feature:t,attachment:{globalId:f(),data:e}})))})),i.length?{addFeatures:e,addAttachments:i}:{addFeatures:e}}e([m()],Z.prototype,"createFeatureState",void 0),e([m()],Z.prototype,"data",void 0),e([m({constructOnly:!0})],Z.prototype,"isNested",void 0),e([m()],Z.prototype,"featureFormViewModel",null),e([m()],Z.prototype,"hasPendingEdits",null),e([m()],Z.prototype,"_getDrawMeshHelpMessage",void 0),e([m()],Z.prototype,"helpMessage",null),e([m()],Z.prototype,"layer",null),e([m()],Z.prototype,"parent",null),e([m()],Z.prototype,"parentLayer",null),e([m()],Z.prototype,"keyboardCancellationEnabled",null),e([m()],Z.prototype,"reliesOnOwnerAdminPrivileges",null),e([m()],Z.prototype,"shouldShowAttachments",null),e([m()],Z.prototype,"shouldAllowAttachmentEditing",null),e([m()],Z.prototype,"sketchViewModel",null),Z=W=e([g("esri.widgets.Editor.CreateFeaturesWorkflow")],Z);const J=Z;export{J as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{remove as a}from"../../core/arrayUtils.js";import i from"../../core/Error.js";import{makeHandle as r,handlesGroup as s,abortHandle as n}from"../../core/handleUtils.js";import"../../core/has.js";import{removeMaybe as o,destroyMaybe as l}from"../../core/maybe.js";import{debounce as c}from"../../core/promiseUtils.js";import{watch as d,initial as h,whenOnce as u,syncAndInitial as p}from"../../core/reactiveUtils.js";import{generateBracedUUID as f}from"../../core/uuid.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import"../../core/Logger.js";import{subclass as g}from"../../core/accessorSupport/decorators/subclass.js";import{isSharedTemplateOrMetadata as w}from"../../editing/templateUtils.js";import y from"../../layers/GraphicsLayer.js";import{isTable as v}from"../../layers/support/layerUtils.js";import{getDrawHelpMessage as _}from"../../views/draw/support/helpMessageUtils.js";import{ViewEventPriorities as F}from"../../views/input/InputManager.js";import M from"../../views/interactive/sketch/SketchOptions.js";import b from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import I from"./CreateFeaturesWorkflowData.js";import{isModelUpload as A,handleModelUpload as k}from"./modelUploadUtils.js";import V from"./Workflow.js";import{startCreatingNewFeature as C,findLayerInfo as S,updateGraphicSymbolWhenRequired as H,isTerminalUpdateEventType as j,getVisualVariableAttributes as U,startUpdatingFeature as O,createWorkflowSteps as E,avoidFeatureTemplateSelectionWithOnlyOneItem as D,prepareAttachmentsForCreateFeaturesWorkflow as T,showProgressCursor as P,visualVariableInteractiveUpdate as G}from"./workflowUtils.js";import L from"../FeatureForm/FeatureFormViewModel.js";import W from"../Sketch/SketchViewModel.js";var x;const N=Symbol(),z=Symbol(),R=Symbol(),Z=Symbol();let q=x=class extends V{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._featureFormViewModel=new L,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._highlightHandles=new Map,this._preventDefaultActionOnCancel=!1,this._lastActiveGraphics=[],this._isActive=!0,this._updateGraphicDebounced=c(((e,t,a)=>H(e,t,a)))}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,a=this._sketchViewModel,{activeComponent:i}=a,r=a.createGraphic?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==i?.type&&"draw-3d"!==i?.type)&&i.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const a=e.layer.geometryType,i=this._sketchViewModel.createGraphic;if("mesh"===a){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then((e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage}));const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(i,e):void 0}return _(a,i?.geometry)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.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.editorItem?.capabilities.create.attachments.enabled??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&this._setUpCreatingFeaturesStep()}exit(){this._isActive=!1,this.removeHandles([R])}async updatePendingFeature(e,t){return this._preventDefaultActionOnCancel=!0,this._sketchViewModel.cancel(),a(this._lastActiveGraphics,e),this._startUpdating({feature:e,webStyleCache:t})}async start(){return await super.start(),v(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}static create(e){const{addAttachmentsCallback:t,applyEditsCallback:a,isNested:i,creationInfo:r,parent:s,snappingManager:n,startAt:o,viewModel:l}=e,c=e.sketchOptions??new M,d=r?.layer,h=d?l.findEditorItemForLayer(d):void 0,u=new x({data:new I({creationInfo:r,editorItem:h,parent:s,sketchOptions:c,snappingManager:n,viewModel:l}),isNested:i,onCommit:async e=>{const{creationInfo:i}=e;if(!i)return;const r=e.pendingFeatures.toArray(),{layer:s}=i,n=s.capabilities?.editing.supportsGlobalId&&"globalIdField"in s,o=u._attachmentFileInfos;if(n){const e=J(r,s,o);return void await a(s,e,{globalIdUsed:!0})}const l=await a(s,{addFeatures:r});if(o.size>0){const e=l?.addFeatureResults??[];await t(s,B(r,e,s,o))}}});return u._set("steps",this._createWorkflowSteps(u,o)),u}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",r((()=>e.effect=t))}const t=e.opacity;return e.opacity=.7,r((()=>e.opacity=t))}_highlight(e){const t=this.data.viewModel.view;"3d"===t?.type&&this._highlightHandles.set(e,t.highlight(e))}_removeHighlight(e){o(this._highlightHandles.get(e)),this._highlightHandles.delete(e)}async _startCreating(e){this.removeHandles(z);const{creationInfo:t}=this.data;if(!t)return;this.createFeatureState="create-new";const a=await C(this._sketchViewModel,t,e);this.addHandles(a,z)}async _startUpdating({feature:e,webStyleCache:t,initialFeature:a=e}){const{data:i,pendingFeatures:r}=this;r.includes(e)||i.addPendingFeature(e,a);const{_featureFormViewModel:n,_sketchViewModel:l}=this,{creationInfo:c,viewModel:h}=i,{attachmentsViewModel:u,layerInfos:p,view:f}=h;if(!f||!c)return;const m=c.layer,g=S(p,m),w=g?.formTemplate,y=f.spatialReference;n.set({arcadeEditType:"INSERT",feature:e,formTemplate:w,spatialReference:y,map:f.map}),"add"!==u.mode&&"edit"!==u.mode||h.activeWorkflow?.previous(),u.graphic=e,u.fileInfos.removeAll(),u.mode="view";if((this._attachmentFileInfos.get(e)||[]).forEach((({file:e,form:t})=>u.addFile(e,t))),this._removeHighlight(e),await H(e,t,"2d"===f.type?f.scale:null),this.removeHandles(z),o(this._featureFormHandle),"2d"===f.type){const a=d((()=>f.scale),(a=>this._updateGraphicDebounced(e,t,a)));this.addHandles(a,z)}const _=i.getEditsForPendingFeature(e);return this._featureFormHandle=s([n.on("value-change",(async()=>{_?.updateAttributes(n.getValues()),await H(e,t,"2d"===f.type?f.scale:null)})),l.on(["update","undo","redo"],(e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&j(e.toolEventInfo.type))&&n.notifyFeatureGeometryChanged()})),d((()=>n.feature?.sourceLayer),(t=>e.sourceLayer=t))]),this.createFeatureState="update-pending",this._visualVariableAttributes=U(e),v(m)?void 0:O({graphic:e,sketchViewModel:l,sourceLayer:m,visualVariables:this._visualVariableAttributes,webStyleCache:t})}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=E(["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&&(A(t)?e.addHandles(await k({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&(e.addHandles(i.lockFeatureTemplatesViewModel(),this.id),i.featureTemplatesViewModel.layers=[t.layer]),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,z])}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([R,N,z,Z]),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 D(a,i)}static _configureSketchViewModel(e,t){const{data:i}=e,{creationInfo:n,viewModel:o}=i,{view:l}=o,c=e._sketchViewModel;let d=null;const h=[];if(!l)return r();"2d"===l.type&&n&&h.push(e._fadeExistingFeatures(n.layer));const p=async a=>{if("cancel"===a.state){if(e._preventDefaultActionOnCancel)return void(e._preventDefaultActionOnCancel=!1);if(null==l.activeTool){if(e._lastActiveGraphics.length<1)return e._startCreating(t);const a=e._lastActiveGraphics.pop();return e._startUpdating({feature:a,webStyleCache:t})}return e._waitForActiveToolCleared().then((()=>e._startCreating(t)))}if("complete"===a.state&&a.graphic){const i=a.graphic.clone();return i.geometry=null,e._startUpdating({feature:a.graphic,webStyleCache:t,initialFeature:i})}},f=async a=>{const{attachmentsViewModel:i}=o,{_featureFormViewModel:r}=e,s=a.graphics[0];if("complete"===a.state){s!==d&&(e._lastActiveGraphics.push(s),e._highlight(s)),d=null;const{hasPendingSubtypeChoice:c,submittable:h}=r;if(e.numPendingFeatures===n?.maxFeatures||c||!h){!h&&r.submit();const a=e._lastActiveGraphics.pop();return null===o.view?.activeTool?e._startUpdating({feature:a,webStyleCache:t}):e._waitForActiveToolCleared().then((()=>e._startUpdating({feature:a,webStyleCache:t})))}if("add"!==i.mode&&"edit"!==i.mode||o.activeWorkflow?.previous(),a.aborted&&e._preventDefaultActionOnCancel)return void(e._preventDefaultActionOnCancel=!1);if(e.addHandles([P(l),l.on("click",(e=>e.preventDefault()))],N),await u((()=>!r.updating)),e.removeHandles(N),null!=o.view?.activeTool)return e._waitForActiveToolCleared().then((()=>{const a=e._lastActiveGraphics.pop();if(a)return e._startUpdating({feature:a,webStyleCache:t})}));e._startCreating(t)}"start"===a.state&&e._removeHighlight(s);const c=e._visualVariableAttributes;await G(l,s,a,c,t);const h=s.attributes,{rotation:p,size:f}=c;if(null!=p){const{field:e}=p;r.setValue(e,h[e])}if(null!=f){const{field:e}=f;r.setValue(e,h[e])}},m=t=>{const r=t.graphics[0];i.removePendingFeature(r),a(e._lastActiveGraphics,r),d=r},g=async a=>{if(A(n))return;const{results:i}=await l.hitTest(a,{include:c.layer}),r=i.find((e=>"graphic"===e.type&&e.graphic.sourceLayer===n?.layer));if(!r)return;const s=r.graphic;if("transform"===c.activeTool||"reshape"===c.activeTool){if(c.updateGraphics.at(0)===s)return;const{submittable:a,hasPendingSubtypeChoice:i}=e._featureFormViewModel;if(!a||i)return;await e.updatePendingFeature(s,t)}};h.push(c.on("create",(t=>e._updatingHandles.addPromise(p(t)))),c.on("update",(t=>e._updatingHandles.addPromise(f(t)))),c.on("delete",(e=>m(e))),l.on("immediate-click",(t=>e._updatingHandles.addPromise(g(t))),F.TOOL),r((()=>{e._preventDefaultActionOnCancel=!0,c.cancel()})),K(c,i));const w=s(h);return c.addHandles(w),w}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new y({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide"}),i=new W({layer:a,sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,view:t});this._sketchViewModel=i,t?.map.add(a),this.addHandles(r((()=>{t?.destroyed||t?.map.remove(a),a.destroy()})))}async _setUpCreatingFeaturesStep(){if(this.hasHandles(R))return;const{data:e}=this,{creationInfo:a,viewModel:n}=e,{attachmentsViewModel:l,view:c}=n;if(!c||!a?.layer)throw new i("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");this._preventDefaultActionOnCancel=!1;const{initialFeature:u,layer:p}=a,f=this._sketchViewModel,m=new Map,g=[];this._lastActiveGraphics=[],this._featureFormHandle=o(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},this.data.editorItem=n.findEditorItemForLayer(a.layer),T(l),g.push(d((()=>l.mode),(e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}})));const y=P(c);g.push(y);const _=v(a.layer);try{if(_){const{template:e}=a;if(e&&w(e))throw new i("Shared templates are not yet supported");const r=u??new t({attributes:{...e?.prototype.attributes,...a.attributeOverrides},sourceLayer:p});await this._startUpdating({feature:r,webStyleCache:m})}else g.push(x._configureSketchViewModel(this,m)),u?(f.layer.add(u),await this._startUpdating({feature:u,webStyleCache:m})):await this._startCreating(m)}finally{y.remove()}const F=r((()=>{for(const t of e.pendingFeatures)f.layer.remove(t),e.removePendingFeature(t)})),M=d((()=>c?.timeZone),(e=>this._featureFormViewModel.timeZone=e),h),b=r((()=>{A(a)&&n.cancelWorkflow({warnIfNoWorkflow:!1})}));this._featureFormHandle&&g.push(this._featureFormHandle),this.addHandles(g,this._handleKeys.beforeCommit),this.addHandles([r((()=>l.fileInfos.removeAll())),s(g),b,F,M],R)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(n(t),Z),await u((()=>null==e?.activeTool),t.signal),t.abort()}};function K(e,t){let a=null;const i=()=>e.snappingOptions.featureSources,n=()=>(a=new b({layer:e.layer}),i().add(a),a),o=()=>{null!=a&&(i().remove(a),a=l(a))};return s([d((()=>{const e=t.creationInfo?.layer,a=i().find((t=>t.layer===e));return{hasFeatureLayerSource:!!a,enabled:a?.enabled??!1}}),(({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return o();a??=n(),a.enabled=t}),p),r(o)])}function B(e,t,a,i){const r=[];return t.forEach(((t,s)=>{if(!t.error){const n=e[s],o=i.get(n)||[];n.attributes[a.objectIdField]=t.objectId,o.forEach((({form:e})=>r.push({feature:n,attachment:e})))}})),r}function J(e,t,a){const i=[],r=t.globalIdField;return e.forEach(((t,s)=>{e[s].attributes[r]??=f(),(a?.get(t)||[]).forEach((({file:e})=>i.push({feature:t,attachment:{globalId:f(),data:e}})))})),i.length?{addFeatures:e,addAttachments:i}:{addFeatures:e}}e([m()],q.prototype,"createFeatureState",void 0),e([m()],q.prototype,"data",void 0),e([m({constructOnly:!0})],q.prototype,"isNested",void 0),e([m()],q.prototype,"featureFormViewModel",null),e([m()],q.prototype,"hasPendingEdits",null),e([m()],q.prototype,"_getDrawMeshHelpMessage",void 0),e([m()],q.prototype,"helpMessage",null),e([m()],q.prototype,"layer",null),e([m()],q.prototype,"parent",null),e([m()],q.prototype,"parentLayer",null),e([m()],q.prototype,"keyboardCancellationEnabled",null),e([m()],q.prototype,"reliesOnOwnerAdminPrivileges",null),e([m()],q.prototype,"shouldShowAttachments",null),e([m()],q.prototype,"shouldAllowAttachmentEditing",null),e([m()],q.prototype,"sketchViewModel",null),q=x=e([g("esri.widgets.Editor.CreateFeaturesWorkflow")],q);const Q=q;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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as o}from"../../core/handleUtils.js";import i from"../../core/Logger.js";import{abortMaybe as r}from"../../core/maybe.js";import{createResolver as s,onAbort as n,createAbortError as l,throwIfAborted as d,debounce as c}from"../../core/promiseUtils.js";import p from"../../core/Queue.js";import{whenOnce as u,when as h,watch as w,sync as f}from"../../core/reactiveUtils.js";import{last as m}from"../../core/SetUtils.js";import{property as g}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 v}from"../../layers/support/editableLayers.js";import{isSubtypeGroupLayer as y,isTable as W}from"../../layers/support/layerUtils.js";import b from"../../views/draw/support/HighlightHelper.js";import{ViewEventPriorities as _}from"../../views/input/InputManager.js";import C from"../../views/interactive/sketch/SketchOptions.js";import{temporaryHighlightName as M}from"../../views/support/HighlightDefaults.js";import S from"./CreateFeaturesWorkflow.js";import{UpdateFeatureWorkflow as F}from"./UpdateFeatureWorkflow.js";import{UpdateRecordWorkflow as A}from"./UpdateRecordWorkflow.js";import j from"./UpdateWorkflowData.js";import I from"./Workflow.js";import{createWorkflowSteps as U,fetchCandidates as E}from"./workflowUtils.js";import{isGraphicForRelatableFeatureSupportedLayer as P}from"../Feature/support/featureUtils.js";import{getAllTemplatesForLayer as x}from"../support/templateUtils.js";var O;const R="esri.widgets.Editor.UpdateWorkflow",L=()=>i.getLogger(R);let V=O=class extends I{constructor(e){super(e),this._workflowStack=new p(m),this._sketchStack=new p(m),this.data=void 0,this.type="update"}get activeEditorItem(){return this.activeWorkflow?.data.editorItem??void 0}get activeFeatureFormViewModel(){return this.activeWorkflow?.featureFormViewModel}get activeSketchViewModel(){return this._sketchStack.peek()?.viewModel}get activeWorkflow(){return this._workflowStack.last()}get updating(){return this._updatingHandles.updating||!!this.activeWorkflow?.updating}get hasPreviousStep(){const e=this.activeWorkflow?.featureFormViewModel;return this._stepIndex>0||this.nestedWorkflowCount>1||null!=e?.relationshipId||"view"!==this.data.viewModel.attachmentsViewModel.mode||null!=e?.associationId||null!=e?.associatedLayer}get hasUpdatableCandidates(){const{candidates:e,viewModel:t}=this.data;return e.some((({layer:e})=>t.findEditorItemForLayer(e)?.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((e=>e.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(e=()=>Promise.resolve(!0)){const{activeWorkflow:t}=this,a=t?.featureFormViewModel;if(null==a?.relationshipId)if(null==a?.associatedLayer)if(null==a?.associationId)if(t){if(t.hasPendingEdits){if(!await e())return}t.hasPreviousStep?await t.previous({cancelCurrentStep:!0}):await this.cancelActiveWorkflow({force:!0})}else this.hasPreviousStep?await this.previous({cancelCurrentStep:!0}):await this.cancel({force:!0});else a.associationId=null;else a.associatedLayer=null;else a.relationshipId=null}async cancelActiveWorkflow(e){await(this.activeWorkflow?.cancel(e)),await this._popWorkflow()}async commit(){await this._drainWorkflowStack((e=>e.commit())),await super.commit()}static create(e){const{viewModel:t,snappingManager:a,startAt:o,addAttachmentsCallback:i,applyEditsCallback:r}=e,s=e.sketchOptions??new C,n=new O({data:new j({addAttachmentsCallback:i,applyEditsCallback:r,sketchOptions:s,snappingManager:a,viewModel:t}),onCommit:async()=>{}});return n._set("steps",this._createWorkflowSteps(n,o)),n}async save(){this.nestedWorkflowCount>1?(await(this.activeWorkflow?.commit()),await this._popWorkflow()):await this.commit()}async startCreatingRelatedRecord(e){try{const t=await this._createNestedCreateFeaturesWorkflow(e);await this._pushWorkflow(t)}catch(t){throw new a("editor:unable-to-start-creating","Could not begin updating the provided feature or table record.",{error:t})}}async startUpdating(e){try{const t=await this._createNestedUpdateWorkflow(e);await this._pushWorkflow(t)}catch(t){throw new a("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:t})}}async deleteActiveFeature(){const{activeWorkflow:e}=this;if(!e)throw new a("editor:nothing-to-delete","There is no feature to delete");D(e)?await e.deleteAndCommit():await e.cancel(),1===this.nestedWorkflowCount?await this.reset():await this._popWorkflow()}async cancelAll(){await this._drainWorkflowStack((e=>e.cancel({force:!0})))}async _createNestedCreateFeaturesWorkflow(e){const{relatedLayer:t}=e,{addAttachmentsCallback:o,applyEditsCallback:i,sketchOptions:r,snappingManager:s,viewModel:n}=this.data;if(!v(t))throw new a("editor:unsupported-layer","Editing is not supported on the provided layer");const l=this._getCreationInfoForNestedCreateFeaturesWorkflow(e),d=l.template||l.initialFeature?"creating-features":"awaiting-feature-creation-info",c="create-features"!==this.activeWorkflow?.type?this.activeWorkflow:void 0;return S.create({addAttachmentsCallback:o,applyEditsCallback:i,creationInfo:l,isNested:!0,parent:c,sketchOptions:r,snappingManager:s,startAt:d,viewModel:n})}_getCreationInfoForNestedCreateFeaturesWorkflow(e){const{relatedLayer:o}=e;if(!v(o)||y(o))throw new a("editor:unsupported-layer","Editing is not supported on the provided layer");const i={layer:o,maxFeatures:1},r=this._makeRelatedRecordAttributes(e),s=x(o);return s?.length>0?(i.attributeOverrides=r,1===s.length&&(i.template=s[0])):i.initialFeature=new t({sourceLayer:o,attributes:r}),i}async _createNestedUpdateWorkflow(e){const t=W(e.sourceLayer)?A:F,{applyEditsCallback:a,sketchOptions:o,snappingManager:i,viewModel:r}=this.data,s="create-features"!==this.activeWorkflow?.type?this.activeWorkflow:void 0,n=await t.create({feature:e,parent:s,sketchOptions:o,snappingManager:i,viewModel:r,applyEdits:a,featureFormCallbacks:{addRelatedRecord:async e=>await this.startCreatingRelatedRecord(e),editRelatedRecord:async({relatedFeature:e})=>await this.startUpdating(e),selectAssociatedFeature:async e=>await this.startUpdating(e.feature)}});return await u((()=>!n.updating)),n}async _drainWorkflowStack(e){const t=this._workflowStack,a=[];for(;t.length>0;){const o=t.pop();this._sketchStack.pop();const i=e(o).then((()=>o.destroy()));this._updatingHandles.addPromise(i),a.push(i)}await Promise.all(a)}_makeRelatedRecordAttributes(e){const{parentFeature:t,relatedLayer:a,relationshipId:o}=e;if(!P(t))return;const i=a.relationships?.find((e=>e.id===o));if(!i)return void T("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the destination layer.");if("origin"===i.role)return void T("unsupported-role","Creating new related records in the 'origin' table of a relationship is not yet supported");const r=t.sourceLayer;i.relatedTableId!==r.layerId&&T("invalid-argument-combination","The given parent feature does not belong to the relationship designated by the given relationship ID.");const s=r.relationships?.find((e=>e.id===o));if(!s)return void T("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the origin layer.");const n=H(r,s),l=t.getAttribute(n);l||T("no-key-on-origin-feature","The given parent feature does not have a value for the relationship's origin primary key field.");const d=H(a,i);return{[d]:l}}async _popWorkflow(){this._workflowStack.pop()?.destroy(),this._sketchStack.pop();const e=await this._reconcileWorkflowStack();if(e.failureCount>0)throw new a("editor:next-workflow-failed","Popped the top workflow, but the next workflow in the stack failed to activate",e)}async _pushWorkflow(e){const t=this._workflowRequiresSketchViewModel(e);this.activeWorkflow?.exit({removeSketchHandles:t});const o=this._sketchStack,i=await(e?.start()),r=o.peek();i?(r?.exit(),o.push(i)):o.push(this._cloneSketchController(r)),this._workflowStack.push(e);const s=await this._reconcileWorkflowStack();if(s.failureCount>0)throw new a("editor:failed-to-start-updating-feature","Failed to enter the provided workflow.",s)}async _reconcileWorkflowStack(){const e=this._workflowStack,t=this._sketchStack;try{const a=e.peek();return await(a?.enter()),await(t.peek()?.enter()),{activeWorkflow:a,failureCount:0}}catch(a){e.pop().destroy(),t.pop();const{activeWorkflow:o,failureCount:i}=await this._reconcileWorkflowStack();return{activeWorkflow:o,failureCount:i+1}}}_cloneSketchController(e){return{enter:e?.enter??(async()=>{}),exit:e?.exit??(async()=>{}),viewModel:e?.viewModel}}_workflowRequiresSketchViewModel(e){const{type:t}=e;return"update-feature"===t||"create-features"===t&&!W(e.data.creationInfo?.layer)}static _createWorkflowSteps(e,t="awaiting-feature-to-update"){const{data:i}=e;return U(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],t,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:t}=i.viewModel,a=i.viewModel.view;a.activeTool=null;let c=null;e.addHandles(o((()=>{c=r(c)})),this.id),i.rootFeature=null,i.candidates=[];const p=a.on("immediate-click",(async o=>{const r=s();e._updatingHandles.addPromise(r.promise);try{t.location=o.mapPoint,t.visible=!0,c?.abort();const{editorItems:r}=i.viewModel;c=new AbortController;const s=await o.async((()=>new Promise(((e,t)=>{n(c?.signal,(()=>t(l()))),e(E(r,a,o,c?.signal))}))));if(d(c),i.candidates=s.filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value)).filter((e=>!e.isAggregate)),t.visible=1===i.candidates.length,0===i.candidates.length)return;o.stopPropagation(),1===i.candidates.length?(i.rootFeature=i.candidates[0],e.go("editing-existing-feature").catch((()=>{})).then((()=>t.visible=!1))):e.next()}finally{r.resolve()}}),_.TOOL),u=h((()=>null!=a.activeTool),(()=>e.cancel({force:!0})),{once:!0});a.focus(),e.addHandles([p,u],this.id)},async tearDown(){0===i.candidates.length&&(i.viewModel.spinnerViewModel.visible=!1),e.removeHandles(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){i.rootFeature=null;const{view:t}=i.viewModel;if(!t)return;const a=new b({view:t,highlightName:M});e.addHandles([w((()=>i.rootFeature),((e,t)=>{a.remove(t),a.add(e)}),f),o((()=>a.removeAll()))],this.id)},async tearDown(){e.removeHandles(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const{rootFeature:t,viewModel:o}=e.data;if(!t)throw new a("editor:no-feature-specified","Cannot setup the 'updating-existing-feature' step until the root feature is defined");await e.startUpdating(t),o.spinnerViewModel.visible=!1;const i=c((async()=>{await u((()=>!e.updating)),e.previous()}));e.addHandles([w((()=>e.nestedWorkflowCount),((e,t)=>{0===e&&0!==t&&i()}),f)],this.id)},async tearDown(){await e.cancelAll(),e.removeHandles(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){i.viewModel.attachmentsViewModel.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){i.viewModel.attachmentsViewModel.mode="view"}})})}};function H(e,{keyField:t}){return e.getField(t)?.name??t}e([g()],V.prototype,"activeEditorItem",null),e([g()],V.prototype,"activeFeatureFormViewModel",null),e([g()],V.prototype,"activeSketchViewModel",null),e([g()],V.prototype,"activeWorkflow",null),e([g()],V.prototype,"updating",null),e([g()],V.prototype,"data",void 0),e([g()],V.prototype,"hasPreviousStep",null),e([g()],V.prototype,"hasUpdatableCandidates",null),e([g()],V.prototype,"nestedWorkflowCount",null),e([g()],V.prototype,"shouldShowAttachments",null),e([g()],V.prototype,"shouldAllowAttachmentEditing",null),e([g()],V.prototype,"hasPendingEdits",null),e([g()],V.prototype,"helpMessage",null),e([g()],V.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],V.prototype,"hasInvalidFormTemplate",null),V=O=e([k(R)],V);const T=(e,t)=>L().warn(`editor:${e}`,t,"The create operation will be allowed to proceed, but the resulting feature may not be related to the given parent feature."),D=e=>!!e&&/update-/.test(e.type),N=V;export{N as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as o}from"../../core/handleUtils.js";import i from"../../core/Logger.js";import{abortMaybe as r}from"../../core/maybe.js";import{createResolver as s,onAbort as n,createAbortError as l,throwIfAborted as d,debounce as c}from"../../core/promiseUtils.js";import p from"../../core/Queue.js";import{whenOnce as u,when as h,watch as w,sync as f}from"../../core/reactiveUtils.js";import{last as m}from"../../core/SetUtils.js";import{property as g}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{getAllStandardFeatureTemplatesForLayer as v}from"../../editing/templateUtils.js";import{isEditableLayer as y}from"../../layers/support/editableLayers.js";import{isSubtypeGroupLayer as W,isTable as b}from"../../layers/support/layerUtils.js";import _ from"../../views/draw/support/HighlightHelper.js";import{ViewEventPriorities as C}from"../../views/input/InputManager.js";import M from"../../views/interactive/sketch/SketchOptions.js";import{temporaryHighlightName as S}from"../../views/support/HighlightDefaults.js";import F from"./CreateFeaturesWorkflow.js";import{UpdateFeatureWorkflow as A}from"./UpdateFeatureWorkflow.js";import{UpdateRecordWorkflow as j}from"./UpdateRecordWorkflow.js";import I from"./UpdateWorkflowData.js";import U from"./Workflow.js";import{createWorkflowSteps as E,fetchCandidates as P}from"./workflowUtils.js";import{isGraphicForRelatableFeatureSupportedLayer as x}from"../Feature/support/featureUtils.js";var O;const R="esri.widgets.Editor.UpdateWorkflow",L=()=>i.getLogger(R);let V=O=class extends U{constructor(e){super(e),this._workflowStack=new p(m),this._sketchStack=new p(m),this.data=void 0,this.type="update"}get activeEditorItem(){return this.activeWorkflow?.data.editorItem??void 0}get activeFeatureFormViewModel(){return this.activeWorkflow?.featureFormViewModel}get activeSketchViewModel(){return this._sketchStack.peek()?.viewModel}get activeWorkflow(){return this._workflowStack.last()}get updating(){return this._updatingHandles.updating||!!this.activeWorkflow?.updating}get hasPreviousStep(){const e=this.activeWorkflow?.featureFormViewModel;return this._stepIndex>0||this.nestedWorkflowCount>1||null!=e?.relationshipId||"view"!==this.data.viewModel.attachmentsViewModel.mode||null!=e?.associationId||null!=e?.associatedLayer}get hasUpdatableCandidates(){const{candidates:e,viewModel:t}=this.data;return e.some((({layer:e})=>t.findEditorItemForLayer(e)?.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((e=>e.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(e=()=>Promise.resolve(!0)){const{activeWorkflow:t}=this,a=t?.featureFormViewModel;if(null==a?.relationshipId)if(null==a?.associatedLayer)if(null==a?.associationId)if(t){if(t.hasPendingEdits){if(!await e())return}t.hasPreviousStep?await t.previous({cancelCurrentStep:!0}):await this.cancelActiveWorkflow({force:!0})}else this.hasPreviousStep?await this.previous({cancelCurrentStep:!0}):await this.cancel({force:!0});else a.associationId=null;else a.associatedLayer=null;else a.relationshipId=null}async cancelActiveWorkflow(e){await(this.activeWorkflow?.cancel(e)),await this._popWorkflow()}async commit(){await this._drainWorkflowStack((e=>e.commit())),await super.commit()}static create(e){const{viewModel:t,snappingManager:a,startAt:o,addAttachmentsCallback:i,applyEditsCallback:r}=e,s=e.sketchOptions??new M,n=new O({data:new I({addAttachmentsCallback:i,applyEditsCallback:r,sketchOptions:s,snappingManager:a,viewModel:t}),onCommit:async()=>{}});return n._set("steps",this._createWorkflowSteps(n,o)),n}async save(){this.nestedWorkflowCount>1?(await(this.activeWorkflow?.commit()),await this._popWorkflow()):await this.commit()}async startCreatingRelatedRecord(e){try{const t=await this._createNestedCreateFeaturesWorkflow(e);await this._pushWorkflow(t)}catch(t){throw new a("editor:unable-to-start-creating","Could not begin updating the provided feature or table record.",{error:t})}}async startUpdating(e){try{const t=await this._createNestedUpdateWorkflow(e);await this._pushWorkflow(t)}catch(t){throw new a("editor:unable-to-start-updating","Could not begin updating the provided feature or table record.",{error:t})}}async deleteActiveFeature(){const{activeWorkflow:e}=this;if(!e)throw new a("editor:nothing-to-delete","There is no feature to delete");D(e)?await e.deleteAndCommit():await e.cancel(),1===this.nestedWorkflowCount?await this.reset():await this._popWorkflow()}async cancelAll(){await this._drainWorkflowStack((e=>e.cancel({force:!0})))}async _createNestedCreateFeaturesWorkflow(e){const{relatedLayer:t}=e,{addAttachmentsCallback:o,applyEditsCallback:i,sketchOptions:r,snappingManager:s,viewModel:n}=this.data;if(!y(t))throw new a("editor:unsupported-layer","Editing is not supported on the provided layer");const l=this._getCreationInfoForNestedCreateFeaturesWorkflow(e),d=l.template||l.initialFeature?"creating-features":"awaiting-feature-creation-info",c="create-features"!==this.activeWorkflow?.type?this.activeWorkflow:void 0;return F.create({addAttachmentsCallback:o,applyEditsCallback:i,creationInfo:l,isNested:!0,parent:c,sketchOptions:r,snappingManager:s,startAt:d,viewModel:n})}_getCreationInfoForNestedCreateFeaturesWorkflow(e){const{relatedLayer:o}=e;if(!y(o)||W(o))throw new a("editor:unsupported-layer","Editing is not supported on the provided layer");const i={layer:o,maxFeatures:1},r=this._makeRelatedRecordAttributes(e),s=v(o);return s?.length>0?(i.attributeOverrides=r,1===s.length&&(i.template=s[0])):i.initialFeature=new t({sourceLayer:o,attributes:r}),i}async _createNestedUpdateWorkflow(e){const t=b(e.sourceLayer)?j:A,{applyEditsCallback:a,sketchOptions:o,snappingManager:i,viewModel:r}=this.data,s="create-features"!==this.activeWorkflow?.type?this.activeWorkflow:void 0,n=await t.create({feature:e,parent:s,sketchOptions:o,snappingManager:i,viewModel:r,applyEdits:a,featureFormCallbacks:{addRelatedRecord:async e=>await this.startCreatingRelatedRecord(e),editRelatedRecord:async({relatedFeature:e})=>await this.startUpdating(e),selectAssociatedFeature:async e=>await this.startUpdating(e.feature)}});return await u((()=>!n.updating)),n}async _drainWorkflowStack(e){const t=this._workflowStack,a=[];for(;t.length>0;){const o=t.pop();this._sketchStack.pop();const i=e(o).then((()=>o.destroy()));this._updatingHandles.addPromise(i),a.push(i)}await Promise.all(a)}_makeRelatedRecordAttributes(e){const{parentFeature:t,relatedLayer:a,relationshipId:o}=e;if(!x(t))return;const i=a.relationships?.find((e=>e.id===o));if(!i)return void T("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the destination layer.");if("origin"===i.role)return void T("unsupported-role","Creating new related records in the 'origin' table of a relationship is not yet supported");const r=t.sourceLayer;i.relatedTableId!==r.layerId&&T("invalid-argument-combination","The given parent feature does not belong to the relationship designated by the given relationship ID.");const s=r.relationships?.find((e=>e.id===o));if(!s)return void T("relationship-not-found","Could not begin creating a related record because the relationship specified could not be found on the origin layer.");const n=H(r,s),l=t.getAttribute(n);l||T("no-key-on-origin-feature","The given parent feature does not have a value for the relationship's origin primary key field.");const d=H(a,i);return{[d]:l}}async _popWorkflow(){this._workflowStack.pop()?.destroy(),this._sketchStack.pop();const e=await this._reconcileWorkflowStack();if(e.failureCount>0)throw new a("editor:next-workflow-failed","Popped the top workflow, but the next workflow in the stack failed to activate",e)}async _pushWorkflow(e){const t=this._workflowRequiresSketchViewModel(e);this.activeWorkflow?.exit({removeSketchHandles:t});const o=this._sketchStack,i=await(e?.start()),r=o.peek();i?(r?.exit(),o.push(i)):o.push(this._cloneSketchController(r)),this._workflowStack.push(e);const s=await this._reconcileWorkflowStack();if(s.failureCount>0)throw new a("editor:failed-to-start-updating-feature","Failed to enter the provided workflow.",s)}async _reconcileWorkflowStack(){const e=this._workflowStack,t=this._sketchStack;try{const a=e.peek();return await(a?.enter()),await(t.peek()?.enter()),{activeWorkflow:a,failureCount:0}}catch(a){e.pop().destroy(),t.pop();const{activeWorkflow:o,failureCount:i}=await this._reconcileWorkflowStack();return{activeWorkflow:o,failureCount:i+1}}}_cloneSketchController(e){return{enter:e?.enter??(async()=>{}),exit:e?.exit??(async()=>{}),viewModel:e?.viewModel}}_workflowRequiresSketchViewModel(e){const{type:t}=e;return"update-feature"===t||"create-features"===t&&!b(e.data.creationInfo?.layer)}static _createWorkflowSteps(e,t="awaiting-feature-to-update"){const{data:i}=e;return E(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],t,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:t}=i.viewModel,a=i.viewModel.view;a.activeTool=null;let c=null;e.addHandles(o((()=>{c=r(c)})),this.id),i.rootFeature=null,i.candidates=[];const p=a.on("immediate-click",(async o=>{const r=s();e._updatingHandles.addPromise(r.promise);try{t.location=o.mapPoint,t.visible=!0,c?.abort();const{editorItems:r}=i.viewModel;c=new AbortController;const s=await o.async((()=>new Promise(((e,t)=>{n(c?.signal,(()=>t(l()))),e(P(r,a,o,c?.signal))}))));if(d(c),i.candidates=s.filter((e=>"fulfilled"===e.status)).flatMap((e=>e.value)).filter((e=>!e.isAggregate)),t.visible=1===i.candidates.length,0===i.candidates.length)return;o.stopPropagation(),1===i.candidates.length?(i.rootFeature=i.candidates[0],e.go("editing-existing-feature").catch((()=>{})).then((()=>t.visible=!1))):e.next()}finally{r.resolve()}}),C.TOOL),u=h((()=>null!=a.activeTool),(()=>e.cancel({force:!0})),{once:!0});a.focus(),e.addHandles([p,u],this.id)},async tearDown(){0===i.candidates.length&&(i.viewModel.spinnerViewModel.visible=!1),e.removeHandles(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){i.rootFeature=null;const{view:t}=i.viewModel;if(!t)return;const a=new _({view:t,highlightName:S});e.addHandles([w((()=>i.rootFeature),((e,t)=>{a.remove(t),a.add(e)}),f),o((()=>a.removeAll()))],this.id)},async tearDown(){e.removeHandles(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const{rootFeature:t,viewModel:o}=e.data;if(!t)throw new a("editor:no-feature-specified","Cannot setup the 'updating-existing-feature' step until the root feature is defined");await e.startUpdating(t),o.spinnerViewModel.visible=!1;const i=c((async()=>{await u((()=>!e.updating)),e.previous()}));e.addHandles([w((()=>e.nestedWorkflowCount),((e,t)=>{0===e&&0!==t&&i()}),f)],this.id)},async tearDown(){await e.cancelAll(),e.removeHandles(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){i.viewModel.attachmentsViewModel.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){i.viewModel.attachmentsViewModel.mode="view"}})})}};function H(e,{keyField:t}){return e.getField(t)?.name??t}e([g()],V.prototype,"activeEditorItem",null),e([g()],V.prototype,"activeFeatureFormViewModel",null),e([g()],V.prototype,"activeSketchViewModel",null),e([g()],V.prototype,"activeWorkflow",null),e([g()],V.prototype,"updating",null),e([g()],V.prototype,"data",void 0),e([g()],V.prototype,"hasPreviousStep",null),e([g()],V.prototype,"hasUpdatableCandidates",null),e([g()],V.prototype,"nestedWorkflowCount",null),e([g()],V.prototype,"shouldShowAttachments",null),e([g()],V.prototype,"shouldAllowAttachmentEditing",null),e([g()],V.prototype,"hasPendingEdits",null),e([g()],V.prototype,"helpMessage",null),e([g()],V.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],V.prototype,"hasInvalidFormTemplate",null),V=O=e([k(R)],V);const T=(e,t)=>L().warn(`editor:${e}`,t,"The create operation will be allowed to proceed, but the resulting feature may not be related to the given parent feature."),D=e=>!!e&&/update-/.test(e.type),N=V;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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Graphic.js";import{addMany as t}from"../../core/arrayUtils.js";import{createTask as r}from"../../core/asyncUtils.js";import"../../core/has.js";import{makeHandle as i,handlesGroup as a,abortHandle as n}from"../../core/handleUtils.js";import{clone as s}from"../../core/lang.js";import{whenOrAbort as l,throwIfAborted as o,debounce as c}from"../../core/promiseUtils.js";import{watch as u,whenOnce as p}from"../../core/reactiveUtils.js";import{px2pt as y}from"../../core/screenUtils.js";import{diff as f}from"../../core/accessorSupport/diffUtils.js";import{featureHasFields as d,fixFields as m,getDisplayFieldName as g}from"../../layers/support/fieldUtils.js";import{calculateTolerance as b}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as h}from"../../renderers/support/lengthUtils.js";import{getTransformationType as w,TransformationType as v}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as S,getSize as I}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as j}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as U}from"../../symbols/support/symbolUtils.js";import{GraphicState as V}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as T}from"../../views/support/drapedUtils.js";import{hitTestSelectSimilarDistance as z,filterGraphicHits as F}from"../../views/support/hitTestSelectUtils.js";import{getAllTemplatesForLayer as L}from"../support/templateUtils.js";function x(e){return"update"===e.type}function k(e){const t=e.sourceLayer;if(!t||"feature"!==t.type||!R(t.renderer))return{rotation:null,size:null};let r=null,i=null;const a=t.renderer.getVisualVariablesForType("rotation").filter((t=>(!t.axis||"heading"===t.axis)&&t.field&&!t.valueExpression&&null!=S(t,e)));1===a.length&&(r=A(a[0],t));const n=t.renderer.getVisualVariablesForType("size").filter((t=>t.field&&!t.useSymbolValue&&!t.valueExpression&&w(t)===v.RealWorldSize&&null!=I(t,e)));return 1===n.length&&(i=C(n[0],t)),{rotation:r,size:i}}function A(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,i=e.field,a=t.fields&&t.fields.filter((e=>e.name===i)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0};return{field:i,fieldType:n,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,M((s.current+360)%360,n)),setInitialValue:e=>{s.initial=e,s.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function E(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function P(e,t,r){if(null==t)return 0;const{symbol:i}=j(t);if(null==i||"web-style"===i.type||"cim"===i.type)return 0;const a=i.symbolLayers.at(0);if(!a)return 0;switch(a.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return a.size||Math.min(ae.icon,(await e(a,ae.icon))[0])||ae.icon}case"text":return a.size||ae.text;case"line":return a.size||ae.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return E(await t(a,e.scale/ae.viewScaleSizeFactor),r)}case"path":return(null!=a.width?a.width:a.height)||e.scale/ae.viewScaleSizeFactor;case"extrude":return a.size||e.scale/ae.viewScaleSizeFactor;default:return 0}}function C(e,t){const r=e.field,i=e.axis,a=t.fields&&t.fields.filter((e=>e.name===r)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0},l=h[e.valueUnit]??1;let o;return o="area"===e.valueRepresentation?e=>(e*l/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*l/2:e=>e*l,{field:r,fieldType:n,getDefault:async(e,t)=>M(o(await P(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,M(s.current,n)),setInitialValue:e=>{s.initial=e,s.current=0},isUpdatingInteractively:!1,displayUnit:le(e.valueUnit),axis:e.axis}}function M(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function R(e){switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function O(e,t,r){const i=await U(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t,scale:r});null!=f(e.symbol,i)&&(e.symbol=i)}function G(e){if(!e)throw new Error("no geometry type");return"multipatch"===e?"mesh":e}async function D(e,t,r){const a=t.layer,n=Z(t);let s=null;const{view:l}=e,o="2d"===l?.type;if(await q(e,a,n,r,o?l.scale:null),o){const t=c((t=>q(e,a,n,r,t)));s=u((()=>l.scale),(e=>t(e)))}const{data:p,editing:y}=a.capabilities;return e.layer.elevationInfo=a.elevationInfo,null==t.geometryToPlace?await e.create(G(a.geometryType),{graphicProperties:{attributes:n,sourceLayer:a},hasZ:p.supportsZ,defaultZ:(o?y.zDefault:null)??e.defaultCreateOptions.defaultZ}):await e.place(t.geometryToPlace,{graphicProperties:{attributes:n,sourceLayer:a}}),s??i()}function Z(e){return{...e.template?.prototype.attributes,...e.attributeOverrides}}async function q(t,r,i,a,n){const s=new e({sourceLayer:r,attributes:i}),{rotation:l,size:o}=k(s);let c=await U(s,{useSourceLayer:!0,webStyleCache:a,scale:n}),u=!1;for(const e of[o,l]){if(null==e)continue;null==i[e.field]&&(i[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await U(s,{useSourceLayer:!0,webStyleCache:a,scale:n})),c?.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=c;break;case"simple-line":case"line-3d":t.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":t.pointSymbol=c;break;case"mesh-3d":t.meshSymbol=c}Q(t.tooltipOptions,o,l)}function Q(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function B(e,t){return e?.find((e=>e.layer===t))}async function W(e,t,r,i){switch(t.type){case"3d":return H(e,t,r,i);case"2d":return J(e,t,r,i)}}async function H(e,r,i,a){if(0===e.length)return[];const{updatable:n,graphicsByLayer:s}=await i.async((async()=>{const{results:t}=await l(z(r,i),a),n=new Map,s=e=>{const t=e.layer,r=n.get(t);if(!r){const e=new Array;return n.set(t,e),e}return r};F(t).forEach((({graphic:e})=>s(e).push(e)));const o=e.filter((({capabilities:e,layer:t})=>e.update.enabled&&n.has(t)));return 0!==o.length&&i.stopPropagation(),{updatable:o,graphicsByLayer:n}}));return l(Promise.allSettled(n.map((async({layer:e})=>{const r=s.get(e),i=K(e);if(r.every((e=>d(i,e))))return r;const n=[];for(const a of r){n.push(a.getObjectId());const e=Object.keys(a.attributes);t(i,e)}const l=e.createQuery();return l.returnGeometry=!1,l.objectIds=n,l.outFields=m(e.fieldsIndex,i),e.queryFeatures(l,{signal:a}).then((({features:e})=>e))}))),a)}async function J(e,t,r,i){if(0===e.length)return[];const{mapPoint:a}=r;if(null==a)return[];let n=null;const s=await r.async((async()=>{const{results:a}=await l(t.hitTest(r),i);if(0===a.length)return[];const s=new Set;n=F(a),n.forEach((({graphic:e})=>e&&s.add(e.layer)));const o=e.filter((e=>s.has(e.layer)&&e.supportsUpdateWorkflow));return o.length>0&&r.stopPropagation(),o}));return l(Promise.allSettled(s.map((async({layer:e})=>{const s=e.createQuery();s.returnGeometry=!1,s.outFields=K(e);const l="renderer"in e?b({renderer:e.renderer,pointerType:r.pointerType}):0;s.geometry=T(a,l,t),s.outSpatialReference=t.spatialReference;const{features:o}=await e.queryFeatures(s,{signal:i});return n?.forEach((({graphic:t})=>{t.layer!==e||o.some((e=>e.getObjectId()===t.getObjectId()))||o.push(t)})),o}))),i)}function K(e){return m(e.fieldsIndex,[e.objectIdField,g({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function N(e,t,r){const{sourceLayer:i}=e,a=i.createQuery();a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,"scene"===i.type&&null!=i.infoFor3D||(a.outSpatialReference=t);const n=await i.queryFeatures(a,{signal:r});o(r);return n.features[0]}async function X(e){const{graphic:t,sketchViewModel:r,sourceLayer:i,visualVariables:a,webStyleCache:n}=e;let s=!1;const{rotation:l,size:o}=a;if([l,o].forEach((async e=>{if(null==e)return;const i=t.getAttribute(e.field);if(null!=i)e.setInitialValue(i);else{const i=await e.getDefault(t.symbol,r.view);e.setInitialValue(i),t.setAttribute(e.field,i),s=!0}})),s){const e="2d"===r.view?.type?r.view.scale:null;await O(t,n,e)}const c={multipleSelectionEnabled:!1};return"point"===i.geometryType&&(c.enableRotation=null!=l,c.enableScaling=null!=o),Q(r.tooltipOptions,o,l),r.layer.elevationInfo=i.elevationInfo,r.update(t,c)}function Y(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function $(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function _(e,t,r,i,a){if(null==t.geometry||"point"!==t.geometry?.type)return;const n=i.rotation,s=Y(r.toolEventInfo);if(null!=n&&null!=s){const{field:r,getValue:i}=n;"rotate-stop"===s.type?(n.isUpdatingInteractively=!1,n.setInitialValue(t.getAttribute(r))):(n.isUpdatingInteractively=!0,t.setAttribute(r,i(s.angle,e)))}const l=i.size,o=$(r.toolEventInfo);if(null!=l&&null!=o){const{field:r,getValue:i}=l;"scale-stop"===o.type?(l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r))):(l.isUpdatingInteractively=!0,t.setAttribute(r,i(o.xScale,e)))}await O(t,a,"2d"===e.type?e.scale:null)}async function ee({feature:e,featureClone:t,visualVariableAttributes:r,sketchViewModel:s,view:l,onUpdate:o,webStyleCache:y,addUpdatingPromise:f,addHandle:d}){await O(t,y,"2d"===l.type?l.scale:null);let m=null;if("2d"===s?.view?.type){const e=c((e=>O(t,y,e)));m=u((()=>s?.view?.scale),(t=>e(t)))}const g=t.sourceLayer,b=ue(l,g);await X({graphic:t,sketchViewModel:s,sourceLayer:g,visualVariables:r,webStyleCache:y});let h=null;b.then((e=>h=e)).catch((()=>{}));const w=r.size,v=r.rotation,S=u((()=>e.attributes),(async e=>{let r=!1;for(const i in e){const a=e[i];a!==t.getAttribute(i)&&(t.setAttribute(i,a),null==w||w.isUpdatingInteractively||w.field!==i||w.setInitialValue(a),null==v||v.isUpdatingInteractively||v.field!==i||v.setInitialValue(a),(null==h||h.requiredFields.includes(i))&&(r=!0))}r&&await O(t,y,"2d"===l.type?l.scale:null)})),I=s.on("update",(async e=>{const t=e.graphics[0],i={graphic:t,sketchViewModel:s,sourceLayer:g,visualVariables:r,webStyleCache:y};if("complete"===e.state){if(null===l.activeTool)return X(i);const e=new AbortController,t=n(e);return d(t),f(p((()=>null===l.activeTool),e.signal).then((()=>(e.abort(),X(i)))))}await _(l,t,e,r,y),o(ye(t),e)})),j=s.on(["undo","redo"],(async e=>{o(ye(e.graphics[0]),e)}));return a([j,I,i((()=>s.cancel())),S,m])}async function te(e,t,n){const s=e.view;e.layer.add(n);const l=t.sourceLayer,c=t.layer,u=t.getAttribute(c.objectIdField);let y=null;function f(e){y?.abort(),y=r((async t=>{const r=await ue(s,l);o(t),r.setVisibility?.(u,e)}))}return await ie(s,n),f(!1),a([re(s,n,(e=>f(!e))),i((async()=>{f(!0);try{const e=await ue(s,l);await p((()=>!e.updating))}finally{e.layer.remove(n)}}))])}function re(e,t,r){if("3d"===e.type){const i=new V({graphic:t});return a([e.trackGraphicState(i),u((()=>i.displaying),r)])}return u((()=>t.visible),r)}async function ie(e,t){if("3d"===e.type){const r=new V({graphic:t}),i=e.trackGraphicState(r);await p((()=>r.displaying||r.error)),i.remove()}else await p((()=>t.visible))}const ae={icon:y(24),text:y(12),line:y(1),viewScaleSizeFactor:100};function ne(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function se(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const e=r.layer,i=L(e);1===i.length&&"scene"!==e.type&&(r.template=i[0],t.shift())}return t}function le(e){return"unknown"===e?null:e}function oe(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}const ce=e=>/-stop/.test(e)||/vertex-/.test(e),ue=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function pe(e){return"createInteractiveEditSession"in e}function ye(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=s(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function fe(e){const t=e.cursor;return e.cursor="progress",i((()=>e.cursor=t))}export{se as avoidFeatureTemplateSelectionWithOnlyOneItem,pe as canCreateInteractiveEditSession,ye as cloneGraphicExceptMesh,ne as createWorkflowSteps,W as fetchCandidates,N as fetchFullFeature,B as findLayerInfo,Z as getCreationAttributes,k as getVisualVariableAttributes,ce as isTerminalUpdateEventType,x as isUpdateWorkflow,oe as prepareAttachmentsForCreateFeaturesWorkflow,ee as setUpGeometryUpdate,fe as showProgressCursor,ae as sizeDefaults,le as sizeVariableUnitToLengthUnit,D as startCreatingNewFeature,X as startUpdatingFeature,te as swapForEditingSession,O as updateGraphicSymbolWhenRequired,_ as visualVariableInteractiveUpdate,ue as whenEditorLayerView,ie as whenGraphicDisplayed};
|
|
5
|
+
import e from"../../Graphic.js";import{addMany as t}from"../../core/arrayUtils.js";import{createTask as r}from"../../core/asyncUtils.js";import"../../core/has.js";import i from"../../core/Error.js";import{makeHandle as a,handlesGroup as n,abortHandle as s}from"../../core/handleUtils.js";import{clone as l}from"../../core/lang.js";import{whenOrAbort as o,throwIfAborted as c,debounce as u}from"../../core/promiseUtils.js";import{watch as p,whenOnce as y}from"../../core/reactiveUtils.js";import{px2pt as f}from"../../core/screenUtils.js";import{diff as d}from"../../core/accessorSupport/diffUtils.js";import{isSharedTemplateOrMetadata as m,getAllStandardFeatureTemplatesForLayer as g}from"../../editing/templateUtils.js";import{featureHasFields as h,fixFields as b,getDisplayFieldName as w}from"../../layers/support/fieldUtils.js";import{calculateTolerance as v}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as S}from"../../renderers/support/lengthUtils.js";import{getTransformationType as I,TransformationType as j}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as U,getSize as V}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as T}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as z}from"../../symbols/support/symbolUtils.js";import{GraphicState as F}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as L}from"../../views/support/drapedUtils.js";import{hitTestSelectSimilarDistance as x,filterGraphicHits as k}from"../../views/support/hitTestSelectUtils.js";function A(e){return"update"===e.type}function E(e){const t=e.sourceLayer;if(!t||"feature"!==t.type||!G(t.renderer))return{rotation:null,size:null};let r=null,i=null;const a=t.renderer.getVisualVariablesForType("rotation").filter((t=>(!t.axis||"heading"===t.axis)&&t.field&&!t.valueExpression&&null!=U(t,e)));1===a.length&&(r=P(a[0],t));const n=t.renderer.getVisualVariablesForType("size").filter((t=>t.field&&!t.useSymbolValue&&!t.valueExpression&&I(t)===j.RealWorldSize&&null!=V(t,e)));return 1===n.length&&(i=R(n[0],t)),{rotation:r,size:i}}function P(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,i=e.field,a=t.fields&&t.fields.filter((e=>e.name===i)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0};return{field:i,fieldType:n,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,O((s.current+360)%360,n)),setInitialValue:e=>{s.initial=e,s.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function C(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function M(e,t,r){if(null==t)return 0;const{symbol:i}=T(t);if(null==i||"web-style"===i.type||"cim"===i.type)return 0;const a=i.symbolLayers.at(0);if(!a)return 0;switch(a.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return a.size||Math.min(se.icon,(await e(a,se.icon))[0])||se.icon}case"text":return a.size||se.text;case"line":return a.size||se.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return C(await t(a,e.scale/se.viewScaleSizeFactor),r)}case"path":return(null!=a.width?a.width:a.height)||e.scale/se.viewScaleSizeFactor;case"extrude":return a.size||e.scale/se.viewScaleSizeFactor;default:return 0}}function R(e,t){const r=e.field,i=e.axis,a=t.fields&&t.fields.filter((e=>e.name===r)),n=a&&1===a.length?a[0].type:"double",s={initial:0,current:0},l=S[e.valueUnit]??1;let o;return o="area"===e.valueRepresentation?e=>(e*l/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*l/2:e=>e*l,{field:r,fieldType:n,getDefault:async(e,t)=>O(o(await M(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,O(s.current,n)),setInitialValue:e=>{s.initial=e,s.current=0},isUpdatingInteractively:!1,displayUnit:ce(e.valueUnit),axis:e.axis}}function O(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function G(e){switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function D(e,t,r){const i=await z(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t,scale:r});null!=d(e.symbol,i)&&(e.symbol=i)}function Z(e){if(!e)throw new Error("no geometry type");return"multipatch"===e?"mesh":e}async function q(e,t,r){const i=t.layer,n=Q(t);let s=null;const{view:l}=e,o="2d"===l?.type;if(await B(e,i,n,r,o?l.scale:null),o){const t=u((t=>B(e,i,n,r,t)));s=p((()=>l.scale),(e=>t(e)))}const{data:c,editing:y}=i.capabilities;return e.layer.elevationInfo=i.elevationInfo,null==t.geometryToPlace?await e.create(Z(i.geometryType),{graphicProperties:{attributes:n,sourceLayer:i},hasZ:c.supportsZ,defaultZ:(o?y.zDefault:null)??e.defaultCreateOptions.defaultZ}):await e.place(t.geometryToPlace,{graphicProperties:{attributes:n,sourceLayer:i}}),s??a()}function Q(e){const{template:t}=e;if(t&&m(t))throw new i("Shared templates are not yet supported");return{...t?.prototype.attributes,...e.attributeOverrides}}async function B(t,r,i,a,n){const s=new e({sourceLayer:r,attributes:i}),{rotation:l,size:o}=E(s);let c=await z(s,{useSourceLayer:!0,webStyleCache:a,scale:n}),u=!1;for(const e of[o,l]){if(null==e)continue;null==i[e.field]&&(i[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await z(s,{useSourceLayer:!0,webStyleCache:a,scale:n})),c?.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=c;break;case"simple-line":case"line-3d":t.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":t.pointSymbol=c;break;case"mesh-3d":t.meshSymbol=c}W(t.tooltipOptions,o,l)}function W(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function H(e,t){return e?.find((e=>e.layer===t))}async function J(e,t,r,i){switch(t.type){case"3d":return K(e,t,r,i);case"2d":return N(e,t,r,i)}}async function K(e,r,i,a){if(0===e.length)return[];const{updatable:n,graphicsByLayer:s}=await i.async((async()=>{const{results:t}=await o(x(r,i),a),n=new Map,s=e=>{const t=e.layer,r=n.get(t);if(!r){const e=new Array;return n.set(t,e),e}return r};k(t).forEach((({graphic:e})=>s(e).push(e)));const l=e.filter((({capabilities:e,layer:t})=>e.update.enabled&&n.has(t)));return 0!==l.length&&i.stopPropagation(),{updatable:l,graphicsByLayer:n}}));return o(Promise.allSettled(n.map((async({layer:e})=>{const r=s.get(e),i=X(e);if(r.every((e=>h(i,e))))return r;const n=[];for(const a of r){n.push(a.getObjectId());const e=Object.keys(a.attributes);t(i,e)}const l=e.createQuery();return l.returnGeometry=!1,l.objectIds=n,l.outFields=b(e.fieldsIndex,i),e.queryFeatures(l,{signal:a}).then((({features:e})=>e))}))),a)}async function N(e,t,r,i){if(0===e.length)return[];const{mapPoint:a}=r;if(null==a)return[];let n=null;const s=await r.async((async()=>{const{results:a}=await o(t.hitTest(r),i);if(0===a.length)return[];const s=new Set;n=k(a),n.forEach((({graphic:e})=>e&&s.add(e.layer)));const l=e.filter((e=>s.has(e.layer)&&e.supportsUpdateWorkflow));return l.length>0&&r.stopPropagation(),l}));return o(Promise.allSettled(s.map((async({layer:e})=>{const s=e.createQuery();s.returnGeometry=!1,s.outFields=X(e);const l="renderer"in e?v({renderer:e.renderer,pointerType:r.pointerType}):0;s.geometry=L(a,l,t),s.outSpatialReference=t.spatialReference;const{features:o}=await e.queryFeatures(s,{signal:i});return n?.forEach((({graphic:t})=>{t.layer!==e||o.some((e=>e.getObjectId()===t.getObjectId()))||o.push(t)})),o}))),i)}function X(e){return b(e.fieldsIndex,[e.objectIdField,w({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function Y(e,t,r){const{sourceLayer:i}=e,a=i.createQuery();a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,"scene"===i.type&&null!=i.infoFor3D||(a.outSpatialReference=t);const n=await i.queryFeatures(a,{signal:r});c(r);return n.features[0]}async function $(e){const{graphic:t,sketchViewModel:r,sourceLayer:i,visualVariables:a,webStyleCache:n}=e;let s=!1;const{rotation:l,size:o}=a;if([l,o].forEach((async e=>{if(null==e)return;const i=t.getAttribute(e.field);if(null!=i)e.setInitialValue(i);else{const i=await e.getDefault(t.symbol,r.view);e.setInitialValue(i),t.setAttribute(e.field,i),s=!0}})),s){const e="2d"===r.view?.type?r.view.scale:null;await D(t,n,e)}const c={multipleSelectionEnabled:!1};return"point"===i.geometryType&&(c.enableRotation=null!=l,c.enableScaling=null!=o),W(r.tooltipOptions,o,l),r.layer.elevationInfo=i.elevationInfo,r.update(t,c)}function _(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function ee(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function te(e,t,r,i,a){if(null==t.geometry||"point"!==t.geometry?.type)return;const n=i.rotation,s=_(r.toolEventInfo);if(null!=n&&null!=s){const{field:r,getValue:i}=n;"rotate-stop"===s.type?(n.isUpdatingInteractively=!1,n.setInitialValue(t.getAttribute(r))):(n.isUpdatingInteractively=!0,t.setAttribute(r,i(s.angle,e)))}const l=i.size,o=ee(r.toolEventInfo);if(null!=l&&null!=o){const{field:r,getValue:i}=l;"scale-stop"===o.type?(l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r))):(l.isUpdatingInteractively=!0,t.setAttribute(r,i(o.xScale,e)))}await D(t,a,"2d"===e.type?e.scale:null)}async function re({feature:e,featureClone:t,visualVariableAttributes:r,sketchViewModel:i,view:l,onUpdate:o,webStyleCache:c,addUpdatingPromise:f,addHandle:d}){await D(t,c,"2d"===l.type?l.scale:null);let m=null;if("2d"===i?.view?.type){const e=u((e=>D(t,c,e)));m=p((()=>i?.view?.scale),(t=>e(t)))}const g=t.sourceLayer,h=ye(l,g);await $({graphic:t,sketchViewModel:i,sourceLayer:g,visualVariables:r,webStyleCache:c});let b=null;h.then((e=>b=e)).catch((()=>{}));const w=r.size,v=r.rotation,S=p((()=>e.attributes),(async e=>{let r=!1;for(const i in e){const a=e[i];a!==t.getAttribute(i)&&(t.setAttribute(i,a),null==w||w.isUpdatingInteractively||w.field!==i||w.setInitialValue(a),null==v||v.isUpdatingInteractively||v.field!==i||v.setInitialValue(a),(null==b||b.requiredFields.includes(i))&&(r=!0))}r&&await D(t,c,"2d"===l.type?l.scale:null)})),I=i.on("update",(async e=>{const t=e.graphics[0],a={graphic:t,sketchViewModel:i,sourceLayer:g,visualVariables:r,webStyleCache:c};if("complete"===e.state){if(null===l.activeTool)return $(a);const e=new AbortController,t=s(e);return d(t),f(y((()=>null===l.activeTool),e.signal).then((()=>(e.abort(),$(a)))))}await te(l,t,e,r,c),o(de(t),e)})),j=i.on(["undo","redo"],(async e=>{o(de(e.graphics[0]),e)}));return n([j,I,a((()=>i.cancel())),S,m])}async function ie(e,t,i){const s=e.view;e.layer.add(i);const l=t.sourceLayer,o=t.layer,u=t.getAttribute(o.objectIdField);let p=null;function f(e){p?.abort(),p=r((async t=>{const r=await ye(s,l);c(t),r.setVisibility?.(u,e)}))}return await ne(s,i),f(!1),n([ae(s,i,(e=>f(!e))),a((async()=>{f(!0);try{const e=await ye(s,l);await y((()=>!e.updating))}finally{e.layer.remove(i)}}))])}function ae(e,t,r){if("3d"===e.type){const i=new F({graphic:t});return n([e.trackGraphicState(i),p((()=>i.displaying),r)])}return p((()=>t.visible),r)}async function ne(e,t){if("3d"===e.type){const r=new F({graphic:t}),i=e.trackGraphicState(r);await y((()=>r.displaying||r.error)),i.remove()}else await y((()=>t.visible))}const se={icon:f(24),text:f(12),line:f(1),viewScaleSizeFactor:100};function le(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function oe(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const e=r.layer,i=g(e);1===i.length&&"scene"!==e.type&&(r.template=i[0],t.shift())}return t}function ce(e){return"unknown"===e?null:e}function ue(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}const pe=e=>/-stop/.test(e)||/vertex-/.test(e),ye=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function fe(e){return"createInteractiveEditSession"in e}function de(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=l(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function me(e){const t=e.cursor;return e.cursor="progress",a((()=>e.cursor=t))}export{oe as avoidFeatureTemplateSelectionWithOnlyOneItem,fe as canCreateInteractiveEditSession,de as cloneGraphicExceptMesh,le as createWorkflowSteps,J as fetchCandidates,Y as fetchFullFeature,H as findLayerInfo,Q as getCreationAttributes,E as getVisualVariableAttributes,pe as isTerminalUpdateEventType,A as isUpdateWorkflow,ue as prepareAttachmentsForCreateFeaturesWorkflow,re as setUpGeometryUpdate,me as showProgressCursor,se as sizeDefaults,ce as sizeVariableUnitToLengthUnit,q as startCreatingNewFeature,$ as startUpdatingFeature,ie as swapForEditingSession,D as updateGraphicSymbolWhenRequired,te as visualVariableInteractiveUpdate,ye as whenEditorLayerView,ne as whenGraphicDisplayed};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import r from"../../../core/Accessor.js";import{getContrast as o}from"../../../core/colorUtils.js";import{watch as i,syncAndInitial as s}from"../../../core/reactiveUtils.js";import{throttle as a}from"../../../core/throttle.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../../layers/GraphicsLayer.js";import n from"../../../symbols/CIMSymbol.js";import{getConfig as h}from"./constants.js";import{createLineGeometry as m}from"./visualizationUtils.js";let d=class extends r{constructor(t){super(t),this._chartData=null,this._graphic=new e,this._layer=new p({listMode:"hide",internal:!0,title:"Profile line"}),this._update=t=>{const{chartData:e}=t;if(null==e)return this.remove();if(!e.refined)return;const r=e.lines.find((t=>t.viewVisualizationEnabled));if(!r)return;this._graphic.geometry=m(r,t.spatialReference),this._graphic.symbol=new n({data:{type:"CIMSymbolReference",symbol:{type:"CIMLineSymbol",symbolLayers:[{type:"CIMSolidStroke",effects:[{type:"CIMGeometricEffectDashes",dashTemplate:[5,10],lineDashEnding:"HalfPattern",controlPointEnding:"HalfPattern"}],capStyle:"Butt",width:1.5,color:r.color.toArray()},{type:"CIMSolidStroke",capStyle:"Butt",width:2,color:o(r.color).toArray()}]}}});const i=this.view?.map?.layers;i&&!i.includes(this._layer)&&i.add(this._layer)}}initialize(){this._layer.add(this._graphic);const t=h().profileLinesUpdateThrottleMillis;let e=this._update;if(t>0){const r=a(this._update,t);this.addHandles(r),e=r}this.addHandles(i((()=>({spatialReference:this.view.spatialReference,chartData:this._chartData})),e,s))}destroy(){this.remove()}remove(){this.view?.map?.remove(this._layer)}update(t){this._chartData=t}};t([l()],d.prototype,"view",void 0),t([l()],d.prototype,"_chartData",void 0),d=t([c("esri.widgets.ElevationProfile.support.ProfileLine2D")],d);export{d as ProfileLine2D};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Graphic.js";import o from"../../../core/Accessor.js";import{watch as n,initial as r}from"../../../core/reactiveUtils.js";import{throttle as i}from"../../../core/throttle.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../../geometry/Point.js";import"../../../popup/content/AttachmentsContent.js";import"../../../popup/content/Content.js";import"../../../popup/content/CustomContent.js";import"../../../popup/content/ExpressionContent.js";import a from"../../../popup/content/FieldsContent.js";import c from"../../../popup/content/MediaContent.js";import"../../../popup/content/RelationshipContent.js";import m from"../../../popup/content/TextContent.js";import"../../../popup/content/UtilityNetworkAssociationsContent.js";import d from"../../../popup/ElementExpressionInfo.js";import h from"../FeatureContent/FeatureContentViewModel.js";import u from"../FeatureFields/FeatureFieldsViewModel.js";import f from"../FeatureMedia/FeatureMediaViewModel.js";import{loadArcade as y,createCompiledExpression as _}from"../support/arcadeFeatureUtils.js";const w=1;let j=class extends o{constructor(t){super(t),this._abortController=null,this.expressionInfo=null,this.graphic=null,this.contentElement=null,this.contentElementViewModel=null,this.interceptor=null,this.location=null,this.view=null,this._cancelQuery=()=>{const{_abortController:t}=this;t&&t.abort(),this._abortController=null},this._createVM=()=>{const t=this.contentElement?.type;this.contentElementViewModel?.destroy();const e="fields"===t?new u:"media"===t?new f:"text"===t?new h:null;this._set("contentElementViewModel",e)},this._compile=async()=>{this._cancelQuery();const t=new AbortController;this._abortController=t,await this._compileExpression(),this._abortController===t&&(this._abortController=null)},this._compileThrottled=i(this._compile,w,this),this._compileExpression=async()=>{const{expressionInfo:t,graphic:e,interceptor:o,spatialReference:n,map:r,location:i,view:s,_abortController:l}=this;if(!t||!e)return void this._set("contentElement",null);const p=await y();if(l!==this._abortController)return;const d=await _({arcade:p,expressionInfo:t,graphic:e,location:i,interceptor:o,map:r,spatialReference:n,view:s});if(!d||"esri.arcade.Dictionary"!==d.declaredClass)return void this._set("contentElement",null);const h=await d.castAsJsonAsync(l?.signal),u=h?.type,f="media"===u?c.fromJSON(h):"text"===u?m.fromJSON(h):"fields"===u?a.fromJSON(h):null;"media"===f.type&&!f.mediaInfos||"fields"===f.type&&!f.fieldInfos||"text"===f.type&&!f.text?this._set("contentElement",null):this._set("contentElement",f)},this.addHandles([n((()=>[this.expressionInfo,this.graphic,this.map,this.spatialReference,this.view]),(()=>this._compileThrottled()),r),n((()=>[this.contentElement]),(()=>this._createVM()),r)])}initialize(){this.addHandles(this._compileThrottled)}destroy(){this._cancelQuery(),this.contentElementViewModel?.destroy(),this._set("contentElementViewModel",null),this._set("contentElement",null)}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(t){this._override("spatialReference",t)}get state(){const{_abortController:t,contentElement:e,contentElementViewModel:o}=this;return t?"loading":e||o?"ready":"disabled"}get map(){return this.view?.map??null}set map(t){this._override("map",t)}};t([s()],j.prototype,"_abortController",void 0),t([s({type:d})],j.prototype,"expressionInfo",void 0),t([s({type:e})],j.prototype,"graphic",void 0),t([s({readOnly:!0})],j.prototype,"contentElement",void 0),t([s({readOnly:!0})],j.prototype,"contentElementViewModel",void 0),t([s()],j.prototype,"interceptor",void 0),t([s({type:p})],j.prototype,"location",void 0),t([s()],j.prototype,"spatialReference",null),t([s({readOnly:!0})],j.prototype,"state",null),t([s()],j.prototype,"map",null),t([s()],j.prototype,"view",void 0),j=t([l("esri.widgets.Feature.FeatureExpression.FeatureExpressionViewModel")],j);const C=j;export{C as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import"../../geometry.js";import t from"../../Graphic.js";import{FeatureSetQueryInterceptor as i}from"../../arcade/featureset/support/FeatureSetQueryInterceptor.js";import o from"../../core/Accessor.js";import{isSome as r}from"../../core/arrayUtils.js";import s from"../../core/Collection.js";import n from"../../core/Identifiable.js";import a from"../../core/Logger.js";import{isAbortError as l,eachAlways as c}from"../../core/promiseUtils.js";import{watch as p,on as d,whenOnce as u,initial as h}from"../../core/reactiveUtils.js";import{throttle as f}from"../../core/throttle.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import{cast as _}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import b from"../../popup/content/TextContent.js";import{getFeaturePopupTitle as g}from"../../support/popupUtils.js";import{system as A}from"../../time/timeZoneUtils.js";import w from"./FeatureAttachments/FeatureAttachmentsViewModel.js";import I from"./FeatureContent/FeatureContentViewModel.js";import M from"./FeatureExpression/FeatureExpressionViewModel.js";import v from"./FeatureFields/FeatureFieldsViewModel.js";import C from"./FeatureMedia/FeatureMediaViewModel.js";import F from"./FeatureRelationship/FeatureRelationshipViewModel.js";import{createCompiledExpressions as x}from"./support/arcadeFeatureUtils.js";import{createFieldInfoMap as V,getAllFieldInfos as T,getSourceLayer as E,querySourceLayer as j,isRelatableFeatureSupportedLayer as P,isAssociatedFeatureSupportedLayer as R,substituteFieldsInLinksAndAttributes as L,isExpressionField as O,isRelatedField as Z,formatEditInfo as k,graphicCallback as N,queryUpdatedFeature as U,formatAttributes as B,preLayerQueryCallback as S,preRequestCallback as H}from"./support/featureUtils.js";import{queryLayerInfos as D,queryRelatedFeatures as G,setRelatedFeatures as q,getRelatedFieldInfo as Q,createRelatedInfo as z,updateRelatedInfo as J}from"./support/relatedFeatureUtils.js";import K from"../support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js";import W from"../../geometry/Point.js";import X from"../../geometry/SpatialReference.js";var Y;const $=1,ee="content-view-models",te="relationship-view-models",ie="association-view-models",oe={attachmentsContent:!0,chartAnimation:!0,customContent:!0,expressionContent:!0,fieldsContent:!0,mediaContent:!0,textContent:!0,relationshipContent:!0,utilityNetworkAssociationsContent:!0};let re=Y=class extends(n.IdentifiableMixin(o)){constructor(e){super(e),this._error=null,this._featureAbortController=null,this._associationVMAbortController=null,this._graphicChangedThrottled=f(this._graphicChanged,$,this),this._expressionAttributes=null,this._graphicExpressionAttributes=null,this.abilities={...oe},this.content=null,this.contentViewModels=[],this.description=null,this.defaultPopupTemplateEnabled=!1,this.formattedAttributes=null,this.lastEditInfo=null,this.location=null,this.relatedInfos=new Map,this.title="",this.view=null,this._isAllowedContentType=e=>{const{abilities:t}=this;return"attachments"===e.type&&!!t.attachmentsContent||"custom"===e.type&&!!t.customContent||"fields"===e.type&&!!t.fieldsContent||"media"===e.type&&!!t.mediaContent||"text"===e.type&&!!t.textContent||"expression"===e.type&&!!t.expressionContent||"relationship"===e.type&&!!t.relationshipContent||"utility-network-associations"===e.type&&!!t.utilityNetworkAssociationsContent},this.addHandles(p((()=>[this.graphic,this._effectivePopupTemplate,this.abilities,this.timeZone]),(()=>this._graphicChangedThrottled()),h))}initialize(){this.addHandles(this._graphicChangedThrottled)}destroy(){this._clear(),this._cancelFeatureQuery(),this._error=null,this.graphic=null,this._destroyContentViewModels(),this.relatedInfos.clear()}get _effectivePopupTemplate(){return null!=this.graphic?this.graphic.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled):null}get _fieldInfoMap(){return V(T(this._effectivePopupTemplate),this._sourceLayer)}get _sourceLayer(){return E(this.graphic)}castAbilities(e){return{...oe,...e}}get isTable(){return this._sourceLayer?.isTable||!1}get state(){return this.graphic?this._error?"error":this.waitingForContent?"loading":"ready":"disabled"}set graphic(e){this._featureAbortController=new AbortController,this._set("graphic",e?.clone()??null)}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get timeZone(){return this.view?.timeZone??A}set timeZone(e){this._overrideIfSome("timeZone",e)}get map(){return this.view?.map||null}set map(e){this._override("map",e)}get waitingForContent(){return!(!this._featureAbortController&&!this._associationVMAbortController)}setActiveMedia(e,t){const i=this.contentViewModels[e];i instanceof C&&i.setActiveMedia(t)}nextMedia(e){const t=this.contentViewModels[e];t instanceof C&&t.next()}previousMedia(e){const t=this.contentViewModels[e];t instanceof C&&t.previous()}async updateGeometry(){const{graphic:e,spatialReference:t,_sourceLayer:i}=this;await(i?.load());const o=i?.objectIdField;if(!o||!e||!i)return;const r=e?.attributes?.[o];if(null==r)return;const s=[r];if(!e.geometry){const o=await j({layer:i,graphic:e,outFields:[],objectIds:s,returnGeometry:!0,spatialReference:t}),r=o?.geometry;r&&(e.geometry=r)}}_clear(){this._set("title",""),this._set("content",null),this._set("formattedAttributes",null)}async _graphicChanged(){this._cancelFeatureQuery(),this._error=null,this._clear();const{graphic:e}=this;if(!e)return;const t=new AbortController;this._featureAbortController=t;try{await this._queryFeature({signal:t.signal})}catch(i){l(i)||(this._error=i,a.getLogger(this).error("error","The popupTemplate could not be displayed for this feature.",{error:i,graphic:e,popupTemplate:this._effectivePopupTemplate}))}this._featureAbortController===t&&(this._featureAbortController=null)}_cancelFeatureQuery(){const{_featureAbortController:e}=this;e&&e.abort(),this._featureAbortController=null}_compileContentElement(e,t){return"attachments"===e.type?this._compileAttachments(e,t):"custom"===e.type?this._compileCustom(e,t):"fields"===e.type?this._compileFields(e,t):"media"===e.type?this._compileMedia(e,t):"text"===e.type?this._compileText(e,t):"expression"===e.type?this._compileExpression(e,t):"relationship"===e.type?this._compileRelationship(e,t):"utility-network-associations"===e.type?this._compileUtilityNetworkAssociation(e,t):void 0}_compileContent(e){if(this._destroyContentViewModels(),this.graphic)return Array.isArray(e)?e.filter(this._isAllowedContentType).map(((e,t)=>this._compileContentElement(e,t))).filter(r):"string"==typeof e?this._compileText(new b({text:e}),0).text:e}_destroyContentViewModels(){this.removeHandles(te),this.removeHandles(ee),this.contentViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("contentViewModels",[])}_matchesFeature(e,t){const i=e?.graphic?.getObjectId(),o=t?.getObjectId();return null!=i&&null!=o&&i===o}_setRelatedFeaturesViewModels({relatedFeatureViewModels:e,relatedFeatures:t,map:i}){const{view:o,spatialReference:r,timeZone:s}=this;t?.filter(Boolean).forEach((t=>{e.some((e=>this._matchesFeature(e,t)))||e.add(new Y({abilities:{relationshipContent:!1},map:i,view:o,spatialReference:r,timeZone:s,graphic:t}))})),e.forEach((i=>{const o=t?.find((e=>this._matchesFeature(i,e)));o||e.remove(i)}))}_setExpressionContentVM(e,t){const i=this.formattedAttributes,{contentElement:o,contentElementViewModel:r}=e,s=o?.type;r&&s&&("fields"===s&&(this._createFieldsFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createFieldsVMParams(o,t))),"media"===s&&(this._createMediaFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createMediaVMParams(o,t))),"text"===s&&r.set(this._createTextVMParams(o)))}_compileRelationship(e,t){const{displayCount:i,orderByFields:o,relationshipId:r,title:s,description:n}=e,{_sourceLayer:a,graphic:l,map:c}=this;if(!P(a))return;const p=new F({displayCount:i,graphic:l,orderByFields:o,relationshipId:r,layer:a,map:c,...this._compileTitleAndDesc({title:s,description:n})});return this.contentViewModels[t]=p,this.addHandles(d((()=>p.relatedFeatures),"change",(()=>this._setRelatedFeaturesViewModels(p))),te),e}_matchesGlobalFeature(e,t){const i=e?.association.globalId,o=t?.association.globalId;return null!=i&&null!=o&&i===o}async _setUpUtilityNetworkAssociationsViewModels(e,t,i){const{view:o,spatialReference:r,timeZone:n}=this;e.forEach(((i,o)=>{const r=t.get(o);r?i.forEach((t=>{r.find((e=>this._matchesGlobalFeature(t,e)))||(i.remove(t),0===i.length&&e.delete(o))})):(i.removeAll(),e.delete(o))})),t.forEach(((t,a)=>{const l=e.get(a)||new s;t?.filter(Boolean).forEach((e=>{l.some((t=>this._matchesGlobalFeature(t,e)))||l.add({association:e.association,featureViewModel:new Y({abilities:{utilityNetworkAssociationsContent:!1},map:i,view:o,spatialReference:r,timeZone:n,graphic:e.feature}),terminalName:e.terminalName})})),e.set(a,l)}));const a=new AbortController;this._associationVMAbortController=a,await this._sortListObjectsByTitle(e,{signal:a.signal}),this._associationVMAbortController===a&&(this._associationVMAbortController=null)}async _sortListObjectsByTitle(e,t){for(const i of e.values()){const e=i.map((e=>u((()=>"ready"===e.featureViewModel.state),t?.signal)));await Promise.all(e),i.sort(this._compareByFeatureTitle)}}_compareByFeatureTitle(e,t){const i=g(e.featureViewModel),o=g(t.featureViewModel);return i.localeCompare(o,void 0,{numeric:!0})}_compileUtilityNetworkAssociation(e,t){const{displayCount:i,title:o,description:r,associationTypes:s}=e,{_sourceLayer:n,graphic:a,map:l}=this;if(!R(n))return;const c=new K({graphic:a,displayCount:i,associationTypes:s,layer:n,map:l,...this._compileTitleAndDesc({title:o,description:r})});return this.contentViewModels[t]=c,this.addHandles([p((()=>c.associationFeatures.values()),(()=>this._setUpUtilityNetworkAssociationsViewModels(c.associationViewModels,c.associationFeatures,c.map)))],ie),e}_compileExpression(e,t){const{expressionInfo:i}=e,{graphic:o,map:r,spatialReference:s,view:n,location:a}=this,l=new M({expressionInfo:i,graphic:o,interceptor:Y.interceptor,map:r,spatialReference:s,view:n,location:a});return this.contentViewModels[t]=l,this.addHandles(p((()=>l.contentElementViewModel),(()=>this._setExpressionContentVM(l,t)),h),ee),e}_compileAttachments(e,t){const{graphic:i}=this,{description:o,title:r}=e;return this.contentViewModels[t]=new w({graphic:i,...this._compileTitleAndDesc({title:r,description:o})}),e}_compileCustom(e,t){const{graphic:i}=this,{creator:o,destroyer:r}=e;return this.contentViewModels[t]=new I({graphic:i,creator:o,destroyer:r}),e}_compileTitleAndDesc({title:e,description:t}){const{_fieldInfoMap:i,_sourceLayer:o,graphic:r,formattedAttributes:s}=this,n=r?.attributes,a=this._expressionAttributes,l=s.global;return{title:L({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:e}),description:L({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:t})}}_createFieldsVMParams(e,t){const i=this._effectivePopupTemplate,o=this.formattedAttributes,r={...o?.global,...o?.content[t]},s=e?.fieldInfos||i?.fieldInfos,n=s?.filter((({fieldName:e})=>!!e&&(O(e)||Z(e)||r.hasOwnProperty(e)))),a=i?.expressionInfos,{description:l,title:c}=e;return{attributes:r,expressionInfos:a,fieldInfos:n,...this._compileTitleAndDesc({title:c,description:l})}}_compileFields(e,t){const i=e.clone(),o=new v(this._createFieldsVMParams(e,t));return this.contentViewModels[t]=o,i.fieldInfos=o.formattedFieldInfos.slice(),i}_createMediaVMParams(e,t){const{abilities:i,graphic:o,_fieldInfoMap:r,_effectivePopupTemplate:s,relatedInfos:n,_sourceLayer:a,_expressionAttributes:l}=this,c=this.formattedAttributes,p=o?.attributes??{},{description:d,mediaInfos:u,title:h}=e;return{abilities:{chartAnimation:i.chartAnimation},activeMediaInfoIndex:e.activeMediaInfoIndex||0,attributes:p,isAggregate:o?.isAggregate,layer:a,fieldInfoMap:r,formattedAttributes:{...c?.global,...c?.content[t]},expressionAttributes:l,mediaInfos:u,popupTemplate:s,relatedInfos:n,...this._compileTitleAndDesc({title:h,description:d})}}_compileMedia(e,t){const i=e.clone(),o=new C(this._createMediaVMParams(e,t));return i.mediaInfos=o.formattedMediaInfos.slice(),this.contentViewModels[t]=o,i}_createTextVMParams(e){const{graphic:t,_fieldInfoMap:i,_sourceLayer:o,_expressionAttributes:r}=this;if(e&&e.text){const s=t?.attributes??{},n=this.formattedAttributes?.global??{};e.text=L({attributes:s,fieldInfoMap:i,globalAttributes:n,expressionAttributes:r,layer:o,text:e.text})}return{graphic:t,creator:e.text}}_compileText(e,t){const i=e.clone();return this.contentViewModels[t]=new I(this._createTextVMParams(i)),i}_compileLastEditInfo(){const{_effectivePopupTemplate:e,_sourceLayer:t,graphic:i,timeZone:o}=this;if(!e)return;const{lastEditInfoEnabled:r}=e,s=t?.editFieldsInfo;return r&&s?k(s,i?.attributes,o,t):void 0}_compileTitle(e){const{_fieldInfoMap:t,_sourceLayer:i,graphic:o,_expressionAttributes:r}=this,s=o?.attributes??{},n=this.formattedAttributes?.global??{};return L({attributes:s,fieldInfoMap:t,globalAttributes:n,expressionAttributes:r,layer:i,text:e})}async _getTitle(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?N({type:"title",value:e?.title,event:{graphic:t}}):null}async _getContent(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?N({type:"content",value:e?.content,event:{graphic:t}}):null}async _queryFeature(e){const{_featureAbortController:t,_sourceLayer:i,graphic:o,_effectivePopupTemplate:r}=this,s=this.map,n=this.view,a=this.spatialReference,l=this.location;if(t!==this._featureAbortController||!o)return;await U({graphic:o,popupTemplate:r,layer:i,spatialReference:a},e);const{content:{value:p},title:{value:d}}=await c({content:this._getContent(),title:this._getTitle()}),{expressionAttributes:{value:u}}=await c({checkForRelatedFeatures:this._checkForRelatedFeatures(e),expressionAttributes:x({expressionInfos:r?.expressionInfos,spatialReference:a,graphic:o,map:s,interceptor:Y.interceptor,view:n,options:e,location:l})});t===this._featureAbortController&&o&&(this._expressionAttributes=u,this._graphicExpressionAttributes={...o.attributes,...u},this._set("formattedAttributes",this._createFormattedAttributes(p)),this._set("title",this._compileTitle(d)),this._set("lastEditInfo",this._compileLastEditInfo()||null),this._set("content",this._compileContent(p)||null))}_createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){const{_effectivePopupTemplate:o,graphic:r,relatedInfos:s,_sourceLayer:n,_fieldInfoMap:a,_graphicExpressionAttributes:l,timeZone:c}=this;i.content[t]=B({fieldInfos:o?.fieldInfos,graphic:r,attributes:{...l,...e.attributes},layer:n,fieldInfoMap:a,relatedInfos:s,timeZone:c})}_createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){if(e.fieldInfos){const{graphic:o,relatedInfos:r,_sourceLayer:s,_fieldInfoMap:n,_graphicExpressionAttributes:a,timeZone:l}=this;i.content[t]=B({fieldInfos:e.fieldInfos,graphic:o,attributes:{...a,...e.attributes},layer:s,fieldInfoMap:n,relatedInfos:r,timeZone:l})}}_createFormattedAttributes(e){const{_effectivePopupTemplate:t,graphic:i,relatedInfos:o,_sourceLayer:r,_fieldInfoMap:s,_graphicExpressionAttributes:n,timeZone:a}=this,l=t?.fieldInfos,c={global:B({fieldInfos:l,graphic:i,attributes:n,layer:r,fieldInfoMap:s,relatedInfos:o,timeZone:a}),content:[]};return Array.isArray(e)&&e.forEach(((e,t)=>{"fields"===e.type&&this._createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c}),"media"===e.type&&this._createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c})})),c}_checkForRelatedFeatures(e){const{graphic:t,_effectivePopupTemplate:i}=this;return this._queryRelatedInfos(t,T(i),e)}async _queryRelatedInfos(e,t,i){const{relatedInfos:o,_sourceLayer:r}=this;o.clear();const s=null!=r?.associatedLayer?await(r?.associatedLayer.load(i)):r;if(!s||!e)return;const n=t.filter((e=>!!e.fieldName&&Z(e.fieldName)));if(!n?.length)return;t.forEach((e=>this._configureRelatedInfo(e,s)));const a=await D({relatedInfos:o,layer:s},i);Object.keys(a).forEach((e=>{const t=o.get(e.toString()),i=a[e]?.value;t&&i&&(t.layerInfo=i.data)}));const l=await G({graphic:e,relatedInfos:o,layer:s},i);Object.keys(l).forEach((e=>{q(l[e]?.value,o.get(e.toString()))}))}_configureRelatedInfo(e,t){const{relatedInfos:i}=this,o=Q(e.fieldName||"");if(!o)return;const{layerId:r,fieldName:s}=o;if(!r)return;const n=i.get(r.toString())||z(r,t);n&&(J({relatedInfo:n,fieldName:s,fieldInfo:e}),this.relatedInfos.set(r,n))}};re.interceptor=new i(S,H),e([m()],re.prototype,"_error",void 0),e([m()],re.prototype,"_featureAbortController",void 0),e([m()],re.prototype,"_associationVMAbortController",void 0),e([m({readOnly:!0})],re.prototype,"_effectivePopupTemplate",null),e([m({readOnly:!0})],re.prototype,"_fieldInfoMap",null),e([m({readOnly:!0})],re.prototype,"_sourceLayer",null),e([m()],re.prototype,"abilities",void 0),e([_("abilities")],re.prototype,"castAbilities",null),e([m({readOnly:!0})],re.prototype,"content",void 0),e([m({readOnly:!0})],re.prototype,"contentViewModels",void 0),e([m()],re.prototype,"description",void 0),e([m({type:Boolean})],re.prototype,"defaultPopupTemplateEnabled",void 0),e([m({readOnly:!0})],re.prototype,"isTable",null),e([m({readOnly:!0})],re.prototype,"state",null),e([m({readOnly:!0})],re.prototype,"formattedAttributes",void 0),e([m({type:t,value:null})],re.prototype,"graphic",null),e([m({readOnly:!0})],re.prototype,"lastEditInfo",void 0),e([m({type:W})],re.prototype,"location",void 0),e([m({readOnly:!0})],re.prototype,"relatedInfos",void 0),e([m({type:X})],re.prototype,"spatialReference",null),e([m()],re.prototype,"timeZone",null),e([m({readOnly:!0})],re.prototype,"title",void 0),e([m()],re.prototype,"map",null),e([m({readOnly:!0})],re.prototype,"waitingForContent",null),e([m()],re.prototype,"view",void 0),re=Y=e([y("esri.widgets.Feature.FeatureViewModel")],re);const se=re;export{se as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{FeatureSetQueryInterceptor as i}from"../../arcade/featureset/support/FeatureSetQueryInterceptor.js";import o from"../../core/Accessor.js";import{isSome as r}from"../../core/arrayUtils.js";import s from"../../core/Collection.js";import n from"../../core/Identifiable.js";import a from"../../core/Logger.js";import{isAbortError as l,eachAlways as c}from"../../core/promiseUtils.js";import{watch as p,on as d,whenOnce as u,initial as h}from"../../core/reactiveUtils.js";import{throttle as f}from"../../core/throttle.js";import{property as m}from"../../core/accessorSupport/decorators/property.js";import{cast as _}from"../../core/accessorSupport/decorators/cast.js";import"../../core/has.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import b from"../../geometry/Point.js";import g from"../../geometry/SpatialReference.js";import A from"../../popup/content/TextContent.js";import{getFeaturePopupTitle as w}from"../../support/popupUtils.js";import{system as I}from"../../time/timeZoneUtils.js";import M from"./FeatureAttachments/FeatureAttachmentsViewModel.js";import v from"./FeatureContent/FeatureContentViewModel.js";import C from"./FeatureExpression/FeatureExpressionViewModel.js";import F from"./FeatureFields/FeatureFieldsViewModel.js";import x from"./FeatureMedia/FeatureMediaViewModel.js";import V from"./FeatureRelationship/FeatureRelationshipViewModel.js";import{createCompiledExpressions as T}from"./support/arcadeFeatureUtils.js";import{createFieldInfoMap as E,getAllFieldInfos as j,getSourceLayer as P,querySourceLayer as R,isRelatableFeatureSupportedLayer as L,isAssociatedFeatureSupportedLayer as O,substituteFieldsInLinksAndAttributes as Z,isExpressionField as k,isRelatedField as N,formatEditInfo as U,graphicCallback as B,queryUpdatedFeature as S,formatAttributes as H,preLayerQueryCallback as D,preRequestCallback as G}from"./support/featureUtils.js";import{queryLayerInfos as q,queryRelatedFeatures as Q,setRelatedFeatures as z,getRelatedFieldInfo as J,createRelatedInfo as K,updateRelatedInfo as W}from"./support/relatedFeatureUtils.js";import X from"../support/UtilityNetworkAssociations/UtilityNetworkAssociationsViewModel.js";var Y;const $=1,ee="content-view-models",te="relationship-view-models",ie="association-view-models",oe={attachmentsContent:!0,chartAnimation:!0,customContent:!0,expressionContent:!0,fieldsContent:!0,mediaContent:!0,textContent:!0,relationshipContent:!0,utilityNetworkAssociationsContent:!0};let re=Y=class extends(n.IdentifiableMixin(o)){constructor(e){super(e),this._error=null,this._featureAbortController=null,this._associationVMAbortController=null,this._graphicChangedThrottled=f(this._graphicChanged,$,this),this._expressionAttributes=null,this._graphicExpressionAttributes=null,this.abilities={...oe},this.content=null,this.contentViewModels=[],this.description=null,this.defaultPopupTemplateEnabled=!1,this.formattedAttributes=null,this.lastEditInfo=null,this.location=null,this.relatedInfos=new Map,this.title="",this.view=null,this._isAllowedContentType=e=>{const{abilities:t}=this;return"attachments"===e.type&&!!t.attachmentsContent||"custom"===e.type&&!!t.customContent||"fields"===e.type&&!!t.fieldsContent||"media"===e.type&&!!t.mediaContent||"text"===e.type&&!!t.textContent||"expression"===e.type&&!!t.expressionContent||"relationship"===e.type&&!!t.relationshipContent||"utility-network-associations"===e.type&&!!t.utilityNetworkAssociationsContent},this.addHandles(p((()=>[this.graphic,this._effectivePopupTemplate,this.abilities,this.timeZone]),(()=>this._graphicChangedThrottled()),h))}initialize(){this.addHandles(this._graphicChangedThrottled)}destroy(){this._clear(),this._cancelFeatureQuery(),this._error=null,this.graphic=null,this._destroyContentViewModels(),this.relatedInfos.clear()}get _effectivePopupTemplate(){return null!=this.graphic?this.graphic.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled):null}get _fieldInfoMap(){return E(j(this._effectivePopupTemplate),this._sourceLayer)}get _sourceLayer(){return P(this.graphic)}castAbilities(e){return{...oe,...e}}get isTable(){return this._sourceLayer?.isTable||!1}get state(){return this.graphic?this._error?"error":this.waitingForContent?"loading":"ready":"disabled"}set graphic(e){this._featureAbortController=new AbortController,this._set("graphic",e?.clone()??null)}get spatialReference(){return this.view?.spatialReference??null}set spatialReference(e){this._override("spatialReference",e)}get timeZone(){return this.view?.timeZone??I}set timeZone(e){this._overrideIfSome("timeZone",e)}get map(){return this.view?.map||null}set map(e){this._override("map",e)}get waitingForContent(){return!(!this._featureAbortController&&!this._associationVMAbortController)}setActiveMedia(e,t){const i=this.contentViewModels[e];i instanceof x&&i.setActiveMedia(t)}nextMedia(e){const t=this.contentViewModels[e];t instanceof x&&t.next()}previousMedia(e){const t=this.contentViewModels[e];t instanceof x&&t.previous()}async updateGeometry(){const{graphic:e,spatialReference:t,_sourceLayer:i}=this;await(i?.load());const o=i?.objectIdField;if(!o||!e||!i)return;const r=e?.attributes?.[o];if(null==r)return;const s=[r];if(!e.geometry){const o=await R({layer:i,graphic:e,outFields:[],objectIds:s,returnGeometry:!0,spatialReference:t}),r=o?.geometry;r&&(e.geometry=r)}}_clear(){this._set("title",""),this._set("content",null),this._set("formattedAttributes",null)}async _graphicChanged(){this._cancelFeatureQuery(),this._error=null,this._clear();const{graphic:e}=this;if(!e)return;const t=new AbortController;this._featureAbortController=t;try{await this._queryFeature({signal:t.signal})}catch(i){l(i)||(this._error=i,a.getLogger(this).error("error","The popupTemplate could not be displayed for this feature.",{error:i,graphic:e,popupTemplate:this._effectivePopupTemplate}))}this._featureAbortController===t&&(this._featureAbortController=null)}_cancelFeatureQuery(){const{_featureAbortController:e}=this;e&&e.abort(),this._featureAbortController=null}_compileContentElement(e,t){return"attachments"===e.type?this._compileAttachments(e,t):"custom"===e.type?this._compileCustom(e,t):"fields"===e.type?this._compileFields(e,t):"media"===e.type?this._compileMedia(e,t):"text"===e.type?this._compileText(e,t):"expression"===e.type?this._compileExpression(e,t):"relationship"===e.type?this._compileRelationship(e,t):"utility-network-associations"===e.type?this._compileUtilityNetworkAssociation(e,t):void 0}_compileContent(e){if(this._destroyContentViewModels(),this.graphic)return Array.isArray(e)?e.filter(this._isAllowedContentType).map(((e,t)=>this._compileContentElement(e,t))).filter(r):"string"==typeof e?this._compileText(new A({text:e}),0).text:e}_destroyContentViewModels(){this.removeHandles(te),this.removeHandles(ee),this.contentViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("contentViewModels",[])}_matchesFeature(e,t){const i=e?.graphic?.getObjectId(),o=t?.getObjectId();return null!=i&&null!=o&&i===o}_setRelatedFeaturesViewModels({relatedFeatureViewModels:e,relatedFeatures:t,map:i}){const{view:o,spatialReference:r,timeZone:s}=this;t?.filter(Boolean).forEach((t=>{e.some((e=>this._matchesFeature(e,t)))||e.add(new Y({abilities:{relationshipContent:!1},map:i,view:o,spatialReference:r,timeZone:s,graphic:t}))})),e.forEach((i=>{const o=t?.find((e=>this._matchesFeature(i,e)));o||e.remove(i)}))}_setExpressionContentVM(e,t){const i=this.formattedAttributes,{contentElement:o,contentElementViewModel:r}=e,s=o?.type;r&&s&&("fields"===s&&(this._createFieldsFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createFieldsVMParams(o,t))),"media"===s&&(this._createMediaFormattedAttributes({contentElement:o,contentElementIndex:t,formattedAttributes:i}),r.set(this._createMediaVMParams(o,t))),"text"===s&&r.set(this._createTextVMParams(o)))}_compileRelationship(e,t){const{displayCount:i,orderByFields:o,relationshipId:r,title:s,description:n}=e,{_sourceLayer:a,graphic:l,map:c}=this;if(!L(a))return;const p=new V({displayCount:i,graphic:l,orderByFields:o,relationshipId:r,layer:a,map:c,...this._compileTitleAndDesc({title:s,description:n})});return this.contentViewModels[t]=p,this.addHandles(d((()=>p.relatedFeatures),"change",(()=>this._setRelatedFeaturesViewModels(p))),te),e}_matchesGlobalFeature(e,t){const i=e?.association.globalId,o=t?.association.globalId;return null!=i&&null!=o&&i===o}async _setUpUtilityNetworkAssociationsViewModels(e,t,i){const{view:o,spatialReference:r,timeZone:n}=this;e.forEach(((i,o)=>{const r=t.get(o);r?i.forEach((t=>{r.find((e=>this._matchesGlobalFeature(t,e)))||(i.remove(t),0===i.length&&e.delete(o))})):(i.removeAll(),e.delete(o))})),t.forEach(((t,a)=>{const l=e.get(a)||new s;t?.filter(Boolean).forEach((e=>{l.some((t=>this._matchesGlobalFeature(t,e)))||l.add({association:e.association,featureViewModel:new Y({abilities:{utilityNetworkAssociationsContent:!1},map:i,view:o,spatialReference:r,timeZone:n,graphic:e.feature}),terminalName:e.terminalName})})),e.set(a,l)}));const a=new AbortController;this._associationVMAbortController=a,await this._sortListObjectsByTitle(e,{signal:a.signal}),this._associationVMAbortController===a&&(this._associationVMAbortController=null)}async _sortListObjectsByTitle(e,t){for(const i of e.values()){const e=i.map((e=>u((()=>"ready"===e.featureViewModel.state),t?.signal)));await Promise.all(e),i.sort(this._compareByFeatureTitle)}}_compareByFeatureTitle(e,t){const i=w(e.featureViewModel),o=w(t.featureViewModel);return i.localeCompare(o,void 0,{numeric:!0})}_compileUtilityNetworkAssociation(e,t){const{displayCount:i,title:o,description:r,associationTypes:s}=e,{_sourceLayer:n,graphic:a,map:l}=this;if(!O(n))return;const c=new X({graphic:a,displayCount:i,associationTypes:s,layer:n,map:l,...this._compileTitleAndDesc({title:o,description:r})});return this.contentViewModels[t]=c,this.addHandles([p((()=>c.associationFeatures.values()),(()=>this._setUpUtilityNetworkAssociationsViewModels(c.associationViewModels,c.associationFeatures,c.map)))],ie),e}_compileExpression(e,t){const{expressionInfo:i}=e,{graphic:o,map:r,spatialReference:s,view:n,location:a}=this,l=new C({expressionInfo:i,graphic:o,interceptor:Y.interceptor,map:r,spatialReference:s,view:n,location:a});return this.contentViewModels[t]=l,this.addHandles(p((()=>l.contentElementViewModel),(()=>this._setExpressionContentVM(l,t)),h),ee),e}_compileAttachments(e,t){const{graphic:i}=this,{description:o,title:r}=e;return this.contentViewModels[t]=new M({graphic:i,...this._compileTitleAndDesc({title:r,description:o})}),e}_compileCustom(e,t){const{graphic:i}=this,{creator:o,destroyer:r}=e;return this.contentViewModels[t]=new v({graphic:i,creator:o,destroyer:r}),e}_compileTitleAndDesc({title:e,description:t}){const{_fieldInfoMap:i,_sourceLayer:o,graphic:r,formattedAttributes:s}=this,n=r?.attributes,a=this._expressionAttributes,l=s.global;return{title:Z({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:e}),description:Z({attributes:n,fieldInfoMap:i,globalAttributes:l,expressionAttributes:a,layer:o,text:t})}}_createFieldsVMParams(e,t){const i=this._effectivePopupTemplate,o=this.formattedAttributes,r={...o?.global,...o?.content[t]},s=e?.fieldInfos||i?.fieldInfos,n=s?.filter((({fieldName:e})=>!!e&&(k(e)||N(e)||r.hasOwnProperty(e)))),a=i?.expressionInfos,{description:l,title:c}=e;return{attributes:r,expressionInfos:a,fieldInfos:n,...this._compileTitleAndDesc({title:c,description:l})}}_compileFields(e,t){const i=e.clone(),o=new F(this._createFieldsVMParams(e,t));return this.contentViewModels[t]=o,i.fieldInfos=o.formattedFieldInfos.slice(),i}_createMediaVMParams(e,t){const{abilities:i,graphic:o,_fieldInfoMap:r,_effectivePopupTemplate:s,relatedInfos:n,_sourceLayer:a,_expressionAttributes:l}=this,c=this.formattedAttributes,p=o?.attributes??{},{description:d,mediaInfos:u,title:h}=e;return{abilities:{chartAnimation:i.chartAnimation},activeMediaInfoIndex:e.activeMediaInfoIndex||0,attributes:p,isAggregate:o?.isAggregate,layer:a,fieldInfoMap:r,formattedAttributes:{...c?.global,...c?.content[t]},expressionAttributes:l,mediaInfos:u,popupTemplate:s,relatedInfos:n,...this._compileTitleAndDesc({title:h,description:d})}}_compileMedia(e,t){const i=e.clone(),o=new x(this._createMediaVMParams(e,t));return i.mediaInfos=o.formattedMediaInfos.slice(),this.contentViewModels[t]=o,i}_createTextVMParams(e){const{graphic:t,_fieldInfoMap:i,_sourceLayer:o,_expressionAttributes:r}=this;if(e&&e.text){const s=t?.attributes??{},n=this.formattedAttributes?.global??{};e.text=Z({attributes:s,fieldInfoMap:i,globalAttributes:n,expressionAttributes:r,layer:o,text:e.text})}return{graphic:t,creator:e.text}}_compileText(e,t){const i=e.clone();return this.contentViewModels[t]=new v(this._createTextVMParams(i)),i}_compileLastEditInfo(){const{_effectivePopupTemplate:e,_sourceLayer:t,graphic:i,timeZone:o}=this;if(!e)return;const{lastEditInfoEnabled:r}=e,s=t?.editFieldsInfo;return r&&s?U(s,i?.attributes,o,t):void 0}_compileTitle(e){const{_fieldInfoMap:t,_sourceLayer:i,graphic:o,_expressionAttributes:r}=this,s=o?.attributes??{},n=this.formattedAttributes?.global??{};return Z({attributes:s,fieldInfoMap:t,globalAttributes:n,expressionAttributes:r,layer:i,text:e})}async _getTitle(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?B({type:"title",value:e?.title,event:{graphic:t}}):null}async _getContent(){const{_effectivePopupTemplate:e,graphic:t}=this;return t?B({type:"content",value:e?.content,event:{graphic:t}}):null}async _queryFeature(e){const{_featureAbortController:t,_sourceLayer:i,graphic:o,_effectivePopupTemplate:r}=this,s=this.map,n=this.view,a=this.spatialReference,l=this.location;if(t!==this._featureAbortController||!o)return;await S({graphic:o,popupTemplate:r,layer:i,spatialReference:a},e);const{content:{value:p},title:{value:d}}=await c({content:this._getContent(),title:this._getTitle()}),{expressionAttributes:{value:u}}=await c({checkForRelatedFeatures:this._checkForRelatedFeatures(e),expressionAttributes:T({expressionInfos:r?.expressionInfos,spatialReference:a,graphic:o,map:s,interceptor:Y.interceptor,view:n,options:e,location:l})});t===this._featureAbortController&&o&&(this._expressionAttributes=u,this._graphicExpressionAttributes={...o.attributes,...u},this._set("formattedAttributes",this._createFormattedAttributes(p)),this._set("title",this._compileTitle(d)),this._set("lastEditInfo",this._compileLastEditInfo()||null),this._set("content",this._compileContent(p)||null))}_createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){const{_effectivePopupTemplate:o,graphic:r,relatedInfos:s,_sourceLayer:n,_fieldInfoMap:a,_graphicExpressionAttributes:l,timeZone:c}=this;i.content[t]=H({fieldInfos:o?.fieldInfos,graphic:r,attributes:{...l,...e.attributes},layer:n,fieldInfoMap:a,relatedInfos:s,timeZone:c})}_createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:i}){if(e.fieldInfos){const{graphic:o,relatedInfos:r,_sourceLayer:s,_fieldInfoMap:n,_graphicExpressionAttributes:a,timeZone:l}=this;i.content[t]=H({fieldInfos:e.fieldInfos,graphic:o,attributes:{...a,...e.attributes},layer:s,fieldInfoMap:n,relatedInfos:r,timeZone:l})}}_createFormattedAttributes(e){const{_effectivePopupTemplate:t,graphic:i,relatedInfos:o,_sourceLayer:r,_fieldInfoMap:s,_graphicExpressionAttributes:n,timeZone:a}=this,l=t?.fieldInfos,c={global:H({fieldInfos:l,graphic:i,attributes:n,layer:r,fieldInfoMap:s,relatedInfos:o,timeZone:a}),content:[]};return Array.isArray(e)&&e.forEach(((e,t)=>{"fields"===e.type&&this._createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c}),"media"===e.type&&this._createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:c})})),c}_checkForRelatedFeatures(e){const{graphic:t,_effectivePopupTemplate:i}=this;return this._queryRelatedInfos(t,j(i),e)}async _queryRelatedInfos(e,t,i){const{relatedInfos:o,_sourceLayer:r}=this;o.clear();const s=null!=r?.associatedLayer?await(r?.associatedLayer.load(i)):r;if(!s||!e)return;const n=t.filter((e=>!!e.fieldName&&N(e.fieldName)));if(!n?.length)return;t.forEach((e=>this._configureRelatedInfo(e,s)));const a=await q({relatedInfos:o,layer:s},i);Object.keys(a).forEach((e=>{const t=o.get(e.toString()),i=a[e]?.value;t&&i&&(t.layerInfo=i.data)}));const l=await Q({graphic:e,relatedInfos:o,layer:s},i);Object.keys(l).forEach((e=>{z(l[e]?.value,o.get(e.toString()))}))}_configureRelatedInfo(e,t){const{relatedInfos:i}=this,o=J(e.fieldName||"");if(!o)return;const{layerId:r,fieldName:s}=o;if(!r)return;const n=i.get(r.toString())||K(r,t);n&&(W({relatedInfo:n,fieldName:s,fieldInfo:e}),this.relatedInfos.set(r,n))}};re.interceptor=new i(D,G),e([m()],re.prototype,"_error",void 0),e([m()],re.prototype,"_featureAbortController",void 0),e([m()],re.prototype,"_associationVMAbortController",void 0),e([m({readOnly:!0})],re.prototype,"_effectivePopupTemplate",null),e([m({readOnly:!0})],re.prototype,"_fieldInfoMap",null),e([m({readOnly:!0})],re.prototype,"_sourceLayer",null),e([m()],re.prototype,"abilities",void 0),e([_("abilities")],re.prototype,"castAbilities",null),e([m({readOnly:!0})],re.prototype,"content",void 0),e([m({readOnly:!0})],re.prototype,"contentViewModels",void 0),e([m()],re.prototype,"description",void 0),e([m({type:Boolean})],re.prototype,"defaultPopupTemplateEnabled",void 0),e([m({readOnly:!0})],re.prototype,"isTable",null),e([m({readOnly:!0})],re.prototype,"state",null),e([m({readOnly:!0})],re.prototype,"formattedAttributes",void 0),e([m({type:t,value:null})],re.prototype,"graphic",null),e([m({readOnly:!0})],re.prototype,"lastEditInfo",void 0),e([m({type:b})],re.prototype,"location",void 0),e([m({readOnly:!0})],re.prototype,"relatedInfos",void 0),e([m({type:g})],re.prototype,"spatialReference",null),e([m()],re.prototype,"timeZone",null),e([m({readOnly:!0})],re.prototype,"title",void 0),e([m()],re.prototype,"map",null),e([m({readOnly:!0})],re.prototype,"waitingForContent",null),e([m()],re.prototype,"view",void 0),re=Y=e([y("esri.widgets.Feature.FeatureViewModel")],re);const se=re;export{se as default};
|