@arcgis/core 4.23.0-next.20220105 → 4.23.0-next.20220123
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/assets/components/assets/calcite-date-picker/nls/bg.json +31 -0
- package/assets/components/assets/calcite-icon/centerAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/centerAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/centerAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF16.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF24.json +1 -0
- package/assets/components/assets/calcite-icon/checkSquareF32.json +1 -0
- package/assets/components/assets/calcite-icon/convert16.json +1 -0
- package/assets/components/assets/calcite-icon/convert24.json +1 -0
- package/assets/components/assets/calcite-icon/convert32.json +1 -0
- package/assets/components/assets/calcite-icon/explore16.json +1 -0
- package/assets/components/assets/calcite-icon/explore24.json +1 -0
- package/assets/components/assets/calcite-icon/explore32.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown16.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown24.json +1 -0
- package/assets/components/assets/calcite-icon/formDropdown32.json +1 -0
- package/assets/components/assets/calcite-icon/language16.json +1 -0
- package/assets/components/assets/calcite-icon/language24.json +1 -0
- package/assets/components/assets/calcite-icon/language32.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate16.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate24.json +1 -0
- package/assets/components/assets/calcite-icon/languageTranslate32.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/leftAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/lineSolid4.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy16.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy24.json +1 -0
- package/assets/components/assets/calcite-icon/partlyCloudy32.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign16.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign24.json +1 -0
- package/assets/components/assets/calcite-icon/rightAlign32.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode16.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode24.json +1 -0
- package/assets/components/assets/calcite-icon/screenshotMode32.json +1 -0
- package/assets/components/assets/calcite-icon/squareF16.json +1 -0
- package/assets/components/assets/calcite-icon/squareF24.json +1 -0
- package/assets/components/assets/calcite-icon/squareF32.json +1 -0
- package/assets/components/assets/calcite-icon/terminal16.json +1 -0
- package/assets/components/assets/calcite-icon/terminal24.json +1 -0
- package/assets/components/assets/calcite-icon/terminal32.json +1 -0
- package/assets/components/assets/calcite-icon/touch16.json +1 -0
- package/assets/components/assets/calcite-icon/touch24.json +1 -0
- package/assets/components/assets/calcite-icon/touch32.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon16.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon24.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagon32.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF16.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF24.json +1 -0
- package/assets/components/assets/calcite-icon/xHexagonF32.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF16.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF24.json +1 -0
- package/assets/components/assets/calcite-icon/xOctagonF32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
- package/assets/esri/core/workers/chunks/0bf079e752ab79468478.js +1 -0
- package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
- package/assets/esri/core/workers/chunks/199670a3a564ebe3bd79.js +1 -0
- package/assets/esri/core/workers/chunks/1e4d37c2b9dc83d20a11.js +1 -0
- package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
- package/assets/esri/core/workers/chunks/2416f8bf8bbd2ec786ab.js +1 -0
- package/assets/esri/core/workers/chunks/25a3e9bc0b4c7e0d3165.js +1 -0
- package/assets/esri/core/workers/chunks/{99f0d896c17dd09cd285.js → 2629adf79e7fd9f25f07.js} +1 -1
- package/assets/esri/core/workers/chunks/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
- package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
- package/assets/esri/core/workers/chunks/37a7bd30352b1309b8f8.js +1 -0
- package/assets/esri/core/workers/chunks/390d9021169e65c10eb8.js +1 -0
- package/assets/esri/core/workers/chunks/{3d5169ea9810d10caf0d.js → 3a9740dccda6a733313c.js} +1 -1
- package/assets/esri/core/workers/chunks/{8a250ec51097f16feb66.js → 40a1e713f63ec77110c0.js} +1 -1
- package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +1 -0
- package/assets/esri/core/workers/chunks/4c9084a04948b6924749.js +1 -0
- package/assets/esri/core/workers/chunks/{35961690afe9ea1f91b0.js → 5383a8f3e4ec1a8a4fcd.js} +1 -1
- package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 5538639a49c7cc2eca63.js} +1 -1
- package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.js +1 -0
- package/assets/esri/core/workers/chunks/5a4a5585ec8027079f32.js +1 -0
- package/assets/esri/core/workers/chunks/5ac4c1d54b94c7d87835.js +1 -0
- package/assets/esri/core/workers/chunks/60371c0f750cde87656d.js +1 -0
- package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
- package/assets/esri/core/workers/chunks/{3a2b2dc3e938d53faa30.js → 64276aacaafa4c8a15bd.js} +1 -1
- package/assets/esri/core/workers/chunks/{75466e0c8c8da499b150.js → 662d13f68cf3ec92439b.js} +1 -1
- package/assets/esri/core/workers/chunks/663ad15b86936eb06b69.js +1 -0
- package/assets/esri/core/workers/chunks/67162b3e2cc1b5dc6818.js +1 -0
- package/assets/esri/core/workers/chunks/68a59ce98177d8513337.js +1 -0
- package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
- package/assets/esri/core/workers/chunks/739e579150bf466d43ae.js +1 -0
- package/assets/esri/core/workers/chunks/74df1f3e1e2e524a89d2.js +1 -0
- package/assets/esri/core/workers/chunks/76eef4799f6c5fff7e2d.js +1 -0
- package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js → 7a8764ae8a0041e1151d.js} +2 -2
- package/assets/esri/core/workers/chunks/{ea05f870dda27bca4fe8.js.LICENSE.txt → 7a8764ae8a0041e1151d.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/7baf6b1f3f050aa67ae4.js +1 -0
- package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 7bc5cc5dbf1b7b70ddac.js} +1 -1
- package/assets/esri/core/workers/chunks/85e27fd949475f9a6bbc.js +1 -0
- package/assets/esri/core/workers/chunks/8967288145f8fbd20e7d.js +1 -0
- package/assets/esri/core/workers/chunks/8cbb04a9065aa3756638.js +1 -0
- package/assets/esri/core/workers/chunks/8fa0a14165d43ffe87a5.js +1 -0
- package/assets/esri/core/workers/chunks/94b8dbf859df71858d1c.js +1 -0
- package/assets/esri/core/workers/chunks/96ab518eb6ba11333dee.js +1 -0
- package/assets/esri/core/workers/chunks/99a777693e4539f0b03b.js +1 -0
- package/assets/esri/core/workers/chunks/9cb2ae42a8e328b1d98d.js +1 -0
- package/assets/esri/core/workers/chunks/9d3c58a0ef634d95b7bd.js +1 -0
- package/assets/esri/core/workers/chunks/9d77467aa71d345fc1b6.js +1 -0
- package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
- package/assets/esri/core/workers/chunks/a78757b9c7e8cbea08fa.js +1 -0
- package/assets/esri/core/workers/chunks/{9b7c51ff3d2b42aa62f5.js → a7b1b75643ed31489495.js} +1 -1
- package/assets/esri/core/workers/chunks/a8b13fb804bb775e4967.js +1 -0
- package/assets/esri/core/workers/chunks/a8c13529367c037cdd94.js +1 -0
- package/assets/esri/core/workers/chunks/a96afc176041f698c7a1.js +1 -0
- package/assets/esri/core/workers/chunks/aa861b8eae6c85f3dad4.js +1 -0
- package/assets/esri/core/workers/chunks/ac8dca61ade28c542ae2.js +1 -0
- package/assets/esri/core/workers/chunks/ad081d8e49e7f90c3c26.js +1 -0
- package/assets/esri/core/workers/chunks/afa6912454f2a5ffadce.js +1 -0
- package/assets/esri/core/workers/chunks/b0b036ad3ad3cd956747.js +1 -0
- package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
- package/assets/esri/core/workers/chunks/b2beb6e1fd2ee6503830.js +1 -0
- package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
- package/assets/esri/core/workers/chunks/ba615f118a3a8970ef25.js +1 -0
- package/assets/esri/core/workers/chunks/{7c1b9ae141112a63b446.js → ba6654a885be4b7a43f0.js} +1 -1
- package/assets/esri/core/workers/chunks/bab1cfd0a901181622af.js +1 -0
- package/assets/esri/core/workers/chunks/be2b7cce79fd41627931.js +1 -0
- package/assets/esri/core/workers/chunks/bf6dda4a2af14c4b7716.js +1 -0
- package/assets/esri/core/workers/chunks/{ed0297fc61014e848c18.js → c080114a69fa95b88d22.js} +1 -1
- package/assets/esri/core/workers/chunks/c13dfdd548dcb1bdb294.js +1 -0
- package/assets/esri/core/workers/chunks/c36f84daa7736878418d.js +1 -0
- package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
- package/assets/esri/core/workers/chunks/{573dc3064e84ca86844d.js → c959e0d1cf7dce0421b9.js} +1 -1
- package/assets/esri/core/workers/chunks/{1fd48459afb58a6cf14f.js → ca2f5faa01d99c21ec14.js} +1 -1
- package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.js +1 -0
- package/assets/esri/core/workers/chunks/{7aa543a97f055cddea99.js → cc146c57bbdac8029fd8.js} +1 -1
- package/assets/esri/core/workers/chunks/cd7d83d127e085d52584.js +1 -0
- package/assets/esri/core/workers/chunks/cef4af64860ebbfc1c47.js +1 -0
- package/assets/esri/core/workers/chunks/d1454155ee1b8a421cbb.js +1 -0
- package/assets/esri/core/workers/chunks/{0cd583c3233573cb8468.js → d24c4fbc567486b1188f.js} +1 -1
- package/assets/esri/core/workers/chunks/d52108864136c5a8a618.js +1 -0
- package/assets/esri/core/workers/chunks/d72488db62fcf39447b6.js +1 -0
- package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
- package/assets/esri/core/workers/chunks/de6cff7b6cbbf99b20d1.js +981 -0
- package/assets/esri/core/workers/chunks/e079cb1d53aca15b7df2.js +1 -0
- package/assets/esri/core/workers/chunks/e59764ee8cf25d4f74e2.js +1 -0
- package/assets/esri/core/workers/chunks/e6df9839b551569fbc62.js +1 -0
- package/assets/esri/core/workers/chunks/e97e986120aaadad7d4c.js +1 -0
- package/assets/esri/core/workers/chunks/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
- package/assets/esri/core/workers/chunks/f8e7755240a94b499e1f.js +1 -0
- package/assets/esri/libs/vxl/vxlLayer.wasm +0 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
- package/assets/esri/themes/base/icons/selection.json +1 -1
- package/assets/esri/themes/base/icons/style.css +4 -0
- package/assets/esri/themes/base/icons/style.scss +6 -0
- package/assets/esri/themes/base/icons/variables.scss +1 -0
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/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/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/CloudsComposition.glsl.js +4 -4
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/HUDMaterial.glsl.js +22 -21
- package/chunks/RibbonLine.glsl.js +10 -14
- package/chunks/persistableUrlUtils.js +1 -1
- package/chunks/vec32.js +1 -1
- package/chunks/vec42.js +1 -1
- package/chunks/vxlLayer.js +1 -1
- package/core/has.js +1 -1
- package/core/urlUtils.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/form/elements/FieldElement.js +1 -1
- package/geometry/support/buffer/math/common.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/interfaces.d.ts +372 -126
- package/layers/FeatureLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/VoxelLayer.js +1 -1
- package/layers/VoxelWasmPerScene.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
- package/layers/graphics/sources/OGCFeatureSource.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/ogc/crsUtils.js +5 -0
- package/layers/support/RasterFunction.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/capabilities.js +1 -1
- package/layers/support/rasterDatasets/BaseRaster.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/libs/vxl/enums.js +1 -1
- package/package.json +5 -5
- package/portal/schemas/buildingSceneLayerItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/schemas/integratedMeshLayerItem.js +1 -1
- package/portal/schemas/pointCloudLayerItem.js +1 -1
- package/portal/schemas/sceneLayerItem.js +1 -1
- package/portal/schemas/webScene.js +1 -1
- package/rasterRenderers.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/request.js +1 -1
- package/rest/find.js +1 -1
- package/rest/geometryService/generalize.js +1 -1
- package/rest/geometryService/lengths.js +1 -1
- package/rest/geometryService/offset.js +1 -1
- package/rest/geometryService/relation.js +1 -1
- package/rest/geometryService/trimExtend.js +1 -1
- package/rest/identify.js +1 -1
- package/{tasks → rest}/operations/find.js +0 -0
- package/{tasks → rest}/operations/generalize.js +0 -0
- package/rest/operations/identify.js +5 -0
- package/{tasks → rest}/operations/lengths.js +0 -0
- package/{tasks → rest}/operations/offset.js +0 -0
- package/{tasks → rest}/operations/relation.js +0 -0
- package/{tasks → rest}/operations/trimExtend.js +0 -0
- package/{tasks → rest}/operations/urlUtils.js +0 -0
- package/rest/print.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryAttachments.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/route/utils.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/NetworkServiceDescription.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/RouteParameters.js +1 -1
- package/rest/support/RouteSettings.js +5 -0
- package/rest/support/StatisticDefinition.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/rest/support/networkEnums.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/support/featureFlags.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/ExtrudeSymbol3DLayer.js +1 -1
- package/symbols/Font.js +1 -1
- package/symbols/IconSymbol3DLayer.js +1 -1
- package/symbols/ObjectSymbol3DLayer.js +1 -1
- package/symbols/PathSymbol3DLayer.js +1 -1
- package/symbols/TextSymbol.js +1 -1
- package/symbols/TextSymbol3DLayer.js +1 -1
- package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
- package/symbols/support/Symbol3DHalo.js +1 -1
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/cimSymbolUtils.js +1 -1
- package/symbols/support/textUtils.js +5 -0
- package/symbols/support/utils.js +1 -1
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTileSource.js +1 -1
- package/views/2d/engine/vectorTiles/style/VectorTilesRequestManager.js +5 -0
- package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
- package/views/2d/engine/webgl/MaterialManager.js +1 -1
- package/views/2d/engine/webgl/alignmentUtils.js +1 -1
- package/views/2d/engine/webgl/effects/BlendEffect.js +1 -1
- package/views/2d/engine/webgl/materialKey/MaterialKey.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLLabelTemplate.js +1 -1
- package/views/2d/engine/webgl/shaders/BlendPrograms.js +1 -1
- package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
- package/views/2d/layers/BaseLayerView2D.js +1 -1
- package/views/2d/layers/BaseLayerViewGL2D.js +1 -1
- package/views/2d/layers/GraphicsLayerView2D.js +1 -1
- package/views/2d/layers/ImageryLayerView2D.js +1 -1
- package/views/2d/layers/ImageryTileLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MapNotesLayerView2D.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VectorTileLayerView2D.js +1 -1
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/WMTSLayerView2D.js +1 -1
- package/views/2d/layers/features/sources/BaseFeatureSource.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/support/engineHelpers.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/environment/CloudsComposition.glsl.js +1 -1
- package/views/3d/environment/CloudsComposition.js +1 -1
- package/views/3d/environment/CloudsGenerator.js +1 -1
- package/views/3d/environment/CloudyWeather.js +1 -1
- package/views/3d/environment/Fog.js +1 -1
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/environment/NoiseTextureAtlas.js +1 -1
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/Stars.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MapImageLayerView3D.js +1 -1
- package/views/3d/layers/OGCFeatureLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/WMSLayerView3D.js +1 -1
- package/views/3d/layers/WMTSLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
- package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +5 -0
- package/views/3d/layers/graphics/Graphics3DFrustumVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/GraphicsProcessor.js +5 -0
- package/views/3d/layers/graphics/IGraphics3DFeatureProcessor.js +4 -0
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +12 -14
- package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
- package/views/3d/webgl-engine/lib/InstanceParameters.js +5 -0
- package/views/3d/webgl-engine/lib/{localOrigin.js → LocalOriginFactory.js} +0 -0
- package/views/3d/webgl-engine/lib/OffscreenRendering.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/RenderTargetHelper.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/SSAOHelper.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/support/imageReprojection.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/ContextState.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/ProgramCache.js +1 -1
- package/views/webgl/ProgramTemplate.js +1 -1
- package/views/webgl/Renderbuffer.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/UniformBufferLayout.js +5 -0
- package/views/webgl/UniformBufferObject.js +5 -0
- package/views/webgl/Util.js +1 -1
- package/views/webgl/enums.js +1 -1
- package/views/webgl/rasterUtils.js +1 -1
- package/views/webgl/storageLayouts.js +5 -0
- package/views/webgl/testDoublePrecisionArithmetic.js +1 -1
- package/views/webgl/testFloatBufferBlend.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/views/webgl/testSamplerPrecision.js +1 -1
- package/views/webgl/tests/SimpleDraw.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesViewModel.js +1 -1
- package/widgets/Editor/BatchCreateWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Feature/FeatureExpression/FeatureExpressionViewModel.js +1 -1
- package/widgets/Feature/FeatureExpression.js +1 -1
- package/widgets/Feature/FeatureMedia/FeatureMediaViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureViewModel.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/LayerList/LayerListViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList/support/layerListUtils.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Weather/CoverageSlider.js +5 -0
- package/widgets/Weather/WeatherViewModel.js +1 -1
- package/widgets/Weather/css.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0881ce46b10362861f87.js +0 -1
- package/assets/esri/core/workers/chunks/0c0a02770eeeb3e28ea1.js +0 -1
- package/assets/esri/core/workers/chunks/0d2effbd84a9482eb639.js +0 -1
- package/assets/esri/core/workers/chunks/0f04246c1b591a3ac74d.js +0 -1
- package/assets/esri/core/workers/chunks/1ac6be0dc25e16c75d06.js +0 -1
- package/assets/esri/core/workers/chunks/1f8110ea12d65ca94b55.js +0 -1
- package/assets/esri/core/workers/chunks/2025d0fd61a64876c81b.js +0 -1
- package/assets/esri/core/workers/chunks/241859d74c0daac62e11.js +0 -1
- package/assets/esri/core/workers/chunks/2c9af2ebd72d9b55329b.js +0 -1
- package/assets/esri/core/workers/chunks/331be347c1b1ca0be2d2.js +0 -1
- package/assets/esri/core/workers/chunks/39af317388ecebb4387d.js +0 -1
- package/assets/esri/core/workers/chunks/39be2893a7dbdecfd65a.js +0 -1
- package/assets/esri/core/workers/chunks/3a20f66b0b7d08064e34.js +0 -1
- package/assets/esri/core/workers/chunks/445099d037affd139ed0.js +0 -1
- package/assets/esri/core/workers/chunks/45848fecec88ed2da33d.js +0 -1
- package/assets/esri/core/workers/chunks/48d3a3abc53abe6a4017.js +0 -1
- package/assets/esri/core/workers/chunks/5005b8c1fdd5cb9a4c19.js +0 -1
- package/assets/esri/core/workers/chunks/52e4c367c72ea7cc3457.js +0 -1
- package/assets/esri/core/workers/chunks/5d8170f6207dbeb4de1b.js +0 -1
- package/assets/esri/core/workers/chunks/615aa2d3ecafe30c80c0.js +0 -1
- package/assets/esri/core/workers/chunks/642c38ac00a962f35d44.js +0 -1
- package/assets/esri/core/workers/chunks/64459604505647e9c714.js +0 -1
- package/assets/esri/core/workers/chunks/653d1550dd1a4867a9fc.js +0 -1
- package/assets/esri/core/workers/chunks/65f73fbbc3c7c60c6d3d.js +0 -1
- package/assets/esri/core/workers/chunks/6db7081d344bea26ef64.js +0 -1
- package/assets/esri/core/workers/chunks/6deac533bb455be4004b.js +0 -1
- package/assets/esri/core/workers/chunks/6e13dab8ec43f7494297.js +0 -1
- package/assets/esri/core/workers/chunks/722a10c65456844d72b9.js +0 -1
- package/assets/esri/core/workers/chunks/7bd4c3ee43fb038b88d8.js +0 -1
- package/assets/esri/core/workers/chunks/803de5097a8a2c4b58a8.js +0 -1
- package/assets/esri/core/workers/chunks/8298231a0fd0129b0d5c.js +0 -1
- package/assets/esri/core/workers/chunks/8500c6c011400af1b7bd.js +0 -1
- package/assets/esri/core/workers/chunks/8b322a2a47dfdbb59b45.js +0 -1
- package/assets/esri/core/workers/chunks/8f83bebef9174c3f15da.js +0 -1
- package/assets/esri/core/workers/chunks/904332faa22bc0e876cb.js +0 -1
- package/assets/esri/core/workers/chunks/950565d1e682fc4072e1.js +0 -1
- package/assets/esri/core/workers/chunks/9846098704ee38bf6350.js +0 -1
- package/assets/esri/core/workers/chunks/a247ddd84245c81112c8.js +0 -1
- package/assets/esri/core/workers/chunks/a721342a32541717324d.js +0 -1
- package/assets/esri/core/workers/chunks/a9ffa806df20130ecfb6.js +0 -1
- package/assets/esri/core/workers/chunks/af13e534e4160636bd3d.js +0 -1
- package/assets/esri/core/workers/chunks/b2f62234ebb8b6158baa.js +0 -1
- package/assets/esri/core/workers/chunks/b51261a9a9ab62388839.js +0 -971
- package/assets/esri/core/workers/chunks/b58eba403bd517a7bb15.js +0 -1
- package/assets/esri/core/workers/chunks/b5bb7cfa26b1f0cec67a.js +0 -1
- package/assets/esri/core/workers/chunks/b8666d1a4e4fff7a4703.js +0 -1
- package/assets/esri/core/workers/chunks/bea1da9e3f878e0e2c83.js +0 -1
- package/assets/esri/core/workers/chunks/c1b6c31fa3ec1542f996.js +0 -1
- package/assets/esri/core/workers/chunks/c32a4fbdc87225f84019.js +0 -1
- package/assets/esri/core/workers/chunks/c67fea81f69a60c0eaef.js +0 -1
- package/assets/esri/core/workers/chunks/cb68db7169b9dfd1c3ff.js +0 -1
- package/assets/esri/core/workers/chunks/cc96608b2802fbfe7a08.js +0 -1
- package/assets/esri/core/workers/chunks/cd02fe27eb07681cb366.js +0 -1
- package/assets/esri/core/workers/chunks/d336afd5890dcdbf5341.js +0 -1
- package/assets/esri/core/workers/chunks/da69e3e5949fe1716e34.js +0 -1
- package/assets/esri/core/workers/chunks/daa9c450b2e2a5371249.js +0 -1
- package/assets/esri/core/workers/chunks/dd63ba77b7e4c3c9c594.js +0 -1
- package/assets/esri/core/workers/chunks/dfa57982d28c9aeb97b9.js +0 -1
- package/assets/esri/core/workers/chunks/e01812116b27874948f0.js +0 -1
- package/assets/esri/core/workers/chunks/e5c9d8482b913cf3580a.js +0 -1
- package/assets/esri/core/workers/chunks/eeadd92f0bede9fc8745.js +0 -1
- package/assets/esri/core/workers/chunks/fbb67cb6224aed2cce16.js +0 -1
- package/assets/esri/core/workers/chunks/feeaf61424336e9eac88.js +0 -1
- package/assets/esri/core/workers/chunks/ff02295329a8986d0568.js +0 -1
- package/tasks/operations/identify.js +0 -5
- package/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
- package/views/3d/layers/graphics/Graphics3DFeatureLikeLayerView.js +0 -5
- package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{isSome as t}from"../../core/maybe.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"./CreateWorkflowData.js";import{Edits as r}from"./Edits.js";import i from"./Workflow.js";import{createWorkflowSteps as s,avoidFeatureTemplateSelectionWithOnlyOneItem as n,setUpFeatureAdd as l,findLayerInfo as c,getVisualVariableAttributes as d,startUpdatingFeature as f,visualVariableInteractiveUpdate as w,updateGraphicSymbolWhenRequired as u}from"./workflowUtils.js";var m;let p=m=class extends i{constructor(e){super(e),this.type="create"}static create(e,t,a){const i=new m({data:new o({edits:new r,viewModel:e}),onCommit:async e=>{await a(e.creationInfo.layer,{addFeatures:[e.edits.feature]})}});return i._set("steps",this._createWorkflowSteps(i,t)),i}static _createWorkflowSteps(e,a="awaiting-feature-creation-info"){const{data:o,handles:r}=e,i=s(["awaiting-feature-creation-info","awaiting-feature-to-create","editing-new-feature"],a,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){o.creationInfo=null,o.edits.feature=null,o.viewModel.featureTemplatesViewModel.select(null),r.add(o.viewModel.featureTemplatesViewModel.on("select",(({item:e})=>{o.creationInfo={layer:e.layer,template:e.template},o.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){r.remove(this.id)}}),"awaiting-feature-to-create":()=>({id:"awaiting-feature-to-create",async setUp(){r.add(await l(o.viewModel.sketchViewModel,o.creationInfo,(e=>{o.edits.feature=e,o.viewModel.activeWorkflow.next()})),this.id)},async tearDown(){r.remove(this.id)}}),"editing-new-feature":()=>({id:"editing-new-feature",async setUp(){const e=o.edits.feature,a=e.sourceLayer,i=o.viewModel,s=i.sketchViewModel,n=c(i.layerInfos,a),l=null==n?void 0:n.formTemplate;i.featureFormViewModel.set({feature:e,formTemplate:l}),s.allowDeleteKey=!1;const m=d(e);await f(s,e,a,m);const p=s.on("update",(async e=>{const o=e.graphics[0];if("complete"===e.state)return f(s,o,a,m);await w(s.view,o,e,m);const r=o.attributes;if(t(m.rotation)){const{field:e}=m.rotation;i.featureFormViewModel.setValue(e,r[e])}if(t(m.size)){const{field:e}=m.size;i.featureFormViewModel.setValue(e,r[e])}}));r.add([o.viewModel.featureFormViewModel.on("value-change",(async()=>{o.edits.updateAttributes(o.viewModel.featureFormViewModel.getValues()),e.attributes=o.edits.feature.attributes,"3d"===s.view.type&&await u(e)})),p],this.id)},async tearDown(e){e.cancelled&&o.viewModel.sketchViewModel.layer.removeAll(),r.remove(this.id)}})});return n(o,i)}};p=m=e([a("esri.widgets.Editor.CreateWorkflow")],p);const v=p;export{v 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{makeHandle as t}from"../../core/handleUtils.js";import{isSome as i}from"../../core/maybe.js";import{onAbort as a,createAbortError as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{makeHandle as t}from"../../core/handleUtils.js";import{isSome as i}from"../../core/maybe.js";import{onAbort as a,createAbortError as s,throwIfAborted as o,isAborted as r}from"../../core/promiseUtils.js";import{watch as d}from"../../core/watchUtils.js";import"../../core/Logger.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/set.js";import{subclass as n}from"../../core/accessorSupport/decorators/subclass.js";import{highlightsSupported as l}from"../../views/support/layerViewUtils.js";import{Edits as c}from"./Edits.js";import u from"./UpdateWorkflowData.js";import m from"./Workflow.js";import{createWorkflowSteps as h,fetchCandidates as w,fetchFullFeature as f,findLayerInfo as p,getVisualVariableAttributes as g,setUpGeometryUpdate as v}from"./workflowUtils.js";var y;const b="candidate-highlight";let M=y=class extends m{constructor(e){super(e),this.type="update"}static create(e,t,i){const a=new y({data:new u({edits:new c,viewModel:e}),onCommit:async e=>{const t=e.edits.feature,a=t.sourceLayer,s=t.clone();if(!e.edits.attributesModified){const{objectIdField:e}=a;s.attributes={[e]:t.getAttribute(e)}}e.edits.geometryModified||(s.geometry=null),await i(a,{updateFeatures:[s]})}});return a._set("steps",this._createWorkflowSteps(a,t)),a}highlight(e){const{data:{viewModel:{view:t}}}=this,i=e&&t.allLayerViews.items.find((({layer:t})=>t===e.layer));l(i)&&this.handles.add(i.highlight(e),b)}unhighlight(){this.handles.remove(b)}static _createWorkflowSteps(e,n="awaiting-feature-to-update"){const{data:l,handles:c}=e;return h(["awaiting-feature-to-update","awaiting-update-feature-candidate","editing-existing-feature","adding-attachment","editing-attachment"],n,{"awaiting-feature-to-update":()=>({id:"awaiting-feature-to-update",async setUp(){const{spinnerViewModel:e,view:t}=l.viewModel;let i=null;c.add({remove(){i&&(i.abort(),i=null)}},this.id),l.edits.feature=null;const r=t.on("immediate-click",(r=>{e.location=r.mapPoint,e.visible=!0,i&&i.abort();const{editableItems:d}=l.viewModel;i=new AbortController,new Promise(((e,o)=>{a(i.signal,(()=>o(s()))),e(w(d,t,r,i.signal))})).then((e=>{if(o(i),l.candidates=e.reduce(((e,t)=>t.error?e:[...e,...t.value]),[]),l.viewModel.spinnerViewModel.visible=1===l.candidates.length,0!==l.candidates.length)if(1===l.candidates.length){const e=l.candidates[0];l.edits.feature=e,l.viewModel.activeWorkflow.go("editing-existing-feature").catch((()=>{})).then((()=>l.viewModel.spinnerViewModel.visible=!1))}else l.viewModel.activeWorkflow.next()}))}));c.add(r,this.id)},async tearDown(){c.remove(this.id)}}),"awaiting-update-feature-candidate":()=>({id:"awaiting-update-feature-candidate",async setUp(){const{edits:t}=l;t.feature=null,c.add(d(t,"feature",(t=>{e.unhighlight(),e.highlight(t)})),this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"editing-existing-feature":()=>({id:"editing-existing-feature",async setUp(){const a=l.edits.feature,s=l.viewModel;l.editableItem=s.editableItems.find((e=>e.layer===a.layer));const o=new AbortController;c.add({remove:()=>o.abort()},this.id);const d=s.view.whenLayerView(a.layer),n=f(a,s.view,o.signal),u=await d,m=await n;if(r(o))return;l.edits.updateGeometry(m.geometry),l.edits.updateAttributes(m.attributes),l.edits.trackChanges(),s.attachmentsViewModel.set({graphic:m,mode:"view"});const h=m.sourceLayer,w=p(s.layerInfos,h),y=null==w?void 0:w.formTemplate;s.featureFormViewModel.set({feature:m,formTemplate:y});const b="createInteractiveEditSession"in u?u.createInteractiveEditSession(a):null,M=[s.featureFormViewModel.on("value-change",(e=>{l.edits.updateAttributes(s.featureFormViewModel.getValues()),m.attributes=l.edits.feature.attributes,b&&b.setAttribute(e.fieldName,e.value)})),s.attachmentsViewModel.watch("mode",(e=>{"add"===e&&l.viewModel.activeWorkflow.go("adding-attachment"),"edit"===e&&l.viewModel.activeWorkflow.go("editing-attachment")}))];b&&(M.push(t((()=>b.rollback()))),c.add(t((()=>b.commit())),e._handleKeys.afterCommit));const{supportsGeometryUpdate:V}=h.capabilities.editing;if(V){s.sketchViewModel.allowDeleteKey=!1;const t=g(m),{interactive:a,visual:o}=await v(m,t,s.sketchViewModel,s.view,(({geometry:e,attributes:a})=>{if(i(t.rotation)){const{field:e}=t.rotation;s.featureFormViewModel.setValue(e,a[e])}if(i(t.size)){const{field:e}=t.size;s.featureFormViewModel.setValue(e,a[e])}l.edits.updateAttributes(a),l.edits.updateGeometry(e)}));M.push(a,o),c.add(a,e._handleKeys.beforeCommit),c.add(o,e._handleKeys.afterCommit)}else e.highlight(m);c.add(M,this.id)},async tearDown(){e.unhighlight(),c.remove(this.id)}}),"adding-attachment":()=>({id:"adding-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}}),"editing-attachment":()=>({id:"editing-attachment",parent:"editing-existing-feature",async setUp(){},async tearDown(){}})})}};M=y=e([n("esri.widgets.Editor.UpdateWorkflow")],M);const V=M;export{V 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Graphic.js";import"../../core/has.js";import{isSome as t,isNone as r,removeMaybe as i}from"../../core/maybe.js";import{whenOrAbort as a,eachAlways as n}from"../../core/promiseUtils.js";import{px2pt as s}from"../../core/screenUtils.js";import{init as o,whenFalseOnce as l}from"../../core/watchUtils.js";import{diff as c}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as u}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as p}from"../../renderers/support/lengthUtils.js";import{getTransformationType as y,TransformationType as f}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as d,getSize as m}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as h}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as g}from"../../symbols/support/symbolUtils.js";import{GraphicState as b}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as w}from"../../views/support/drapedUtils.js";import{hitTestSelectSameDistance as v}from"../../views/support/hitTestSelectUtils.js";function S(e){const r=e.sourceLayer;if("feature"!==r.type||!F(r.renderer))return{rotation:null,size:null};let i=null,a=null;const n=r.renderer.getVisualVariablesForType("rotation").filter((r=>(!r.axis||"heading"===r.axis)&&r.field&&!r.valueExpression&&t(d(r,e))));1===n.length&&(i=j(n[0],r));const s=r.renderer.getVisualVariablesForType("size").filter((r=>r.field&&!r.useSymbolValue&&!r.valueExpression&&y(r)===f.RealWorldSize&&t(m(r,e))));return 1===s.length&&(a=U(s[0],r)),{rotation:i,size:a}}function j(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,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,z((s.current+360)%360,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function I(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 V(e,t,i){if(r(t))return 0;const{symbol:a}=h(t);if(r(a)||"web-style"===a.type||"cim"===a.type)return 0;const n=a.symbolLayers.getItemAt(0);if(!n)return 0;switch(n.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return n.size||Math.min(B.icon,(await e(n,B.icon))[0])||B.icon}case"text":return n.size||B.text;case"line":return n.size||B.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return I(await t(n,e.scale/B.viewScaleSizeFactor),i)}case"path":return(null!=n.width?n.width:n.height)||e.scale/B.viewScaleSizeFactor;case"extrude":return n.size||e.scale/B.viewScaleSizeFactor;default:return 0}}function U(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={updating:!1,initial:0,current:0},o=p[e.valueUnit];let l;return l="area"===e.valueRepresentation?e=>(e*o/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*o/2:e=>e*o,{field:r,getDefault:async(e,t)=>z(l(await V(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,z(s.current,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function z(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 F(e){switch(e.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":return!0;default:return!1}}async function L(e){const r=await g(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0}),i=c(e.symbol,r);t(i)&&(e.symbol=r)}function x(e){if("mesh"===e||"multipatch"===e)throw new Error("Mesh and Multipatch not supported");return e}async function M(e,t,r){await R(e,t);const i=e.on("create",(async i=>{if("cancel"===i.state)return R(e,t);if("complete"===i.state){const e=i.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await L(e),r(e)}}));return{remove:()=>{i.remove(),e.cancel()}}}async function R(e,t){const r=t.layer,i={...t.template.prototype.attributes};await T(e,r,i);const a={graphicProperties:{attributes:i,sourceLayer:r},hasZ:r.capabilities.data.supportsZ};return e.layer.elevationInfo=r.elevationInfo,e.create(x(r.geometryType),a)}async function T(t,i,a){var n;const s=new e({sourceLayer:i,attributes:a}),{rotation:o,size:l}=S(s);let c=await g(s,{useSourceLayer:!0}),u=!1;for(const e of[l,o]){if(r(e))continue;null==a[e.field]&&(a[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await g(s,{useSourceLayer:!0})),null==(n=c)?void 0:n.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":t.pointSymbol=c}}function E(e,t){return e&&e.find((e=>e.layer===t))}async function k(e,t,r,i){if(0===e.length)return[];const{updatable:s,graphicsByLayer:o}=await r.async((async()=>{const{results:n}=await a(v(t,r),i),s=new Map,o=({layer:e})=>{const t=s.get(e);if(!t){const t=new Array;return s.set(e,t),t}return t};n.forEach((({graphic:e})=>o(e).push(e)));const l=e.filter((({supports:e,layer:t})=>e.indexOf("update")>-1&&s.has(t)));return 0!==l.length&&r.stopPropagation(),{updatable:l,graphicsByLayer:s}}));return a(n(s.map((async({layer:e})=>{const{objectIdField:t,displayField:r}=e,a=[t];e.fieldsIndex.has(r)&&a.push(r);const n=o.get(e);if(!!n.some((e=>a.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=a,t.returnGeometry=!1,t.objectIds=n.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:i}).then((({features:e})=>e))}return n}))),i)}async function A(e,t,r,i){if(0===e.length)return[];const s=await r.async((async()=>{const{results:n}=await a(t.hitTest(r),i);if(0===n.length)return[];const s=new Set;n.forEach((({graphic:e})=>s.add(e.layer)));const o=e.items.filter((({layer:e,supports:t})=>t.indexOf("update")>-1&&s.has(e)));return o.length>0&&r.stopPropagation(),o}));return a(n(s.map((({layer:e})=>{const{objectIdField:a,displayField:n}=e,s=[a];e.fieldsIndex.has(n)&&s.push(n);const o=e.createQuery();o.outFields=s,o.returnGeometry=!1;const l="renderer"in e?u({renderer:e.renderer,event:r}):0;return o.geometry=w(r.mapPoint,l,t),o.outSpatialReference=t.spatialReference,e.queryFeatures(o,{signal:i}).then((({features:e})=>e))}))),i)}async function G(e,t,r,i){switch(t.type){case"3d":return k(e,t,r,i);case"2d":return A(e,t,r,i)}}async function P(e,t,r){const i=e.layer,a=i.createQuery();return a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.outSpatialReference=t.spatialReference,a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,(await i.queryFeatures(a,{signal:r})).features[0]}async function q(e,i,a,n){let s=!1;const{rotation:o,size:l}=n;[o,l].forEach((async a=>{if(r(a))return;const n=i.attributes[a.field];if(t(n))a.initValue(n);else{const t=await a.getDefault(i.symbol,e.view);a.initValue(t),i.setAttribute(a.field,t),s=!0}})),s&&await L(i);const c={multipleSelectionEnabled:!1};return"point"===a.geometryType&&(c.enableRotation=t(o),c.enableScaling=t(l)),e.layer.elevationInfo=a.elevationInfo,e.update(i,c)}function D(e){return!e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function O(e){return!e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function Z(e,r,i,a){var n;if(!t(r.geometry)||"point"!==(null==(n=r.geometry)?void 0:n.type))return;const s=a.rotation,o=D(i.toolEventInfo);if(t(s)&&t(o))if("rotate-stop"===o.type)s.isUpdatingInteractively=!1,s.initValue();else{s.isUpdatingInteractively=!0;const{field:t,getValue:i}=s;r.attributes[t]=i(o.angle,e)}const l=a.size,c=O(i.toolEventInfo);if(t(l)&&t(c))if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.initValue();else{l.isUpdatingInteractively=!0;const{field:t,getValue:i}=l;r.attributes[t]=i(c.xScale,e)}await L(r)}async function Q(e,a,n,s,c){const u=e.clone();await L(u),s.map.add(n.layer),n.layer.add(u);const p=e.sourceLayer,y=s.whenLayerView(p),f=()=>{const t=e.layer,r=e.attributes[t.objectIdField];return y.then((e=>e.setVisibility(r,!1)),(()=>{})),{remove(){y.then((e=>e.setVisibility(r,!0)),(()=>{}))}}};let d=null,m=null;if("3d"===s.type){const e=new b({graphic:u});d=s.trackGraphicState(e),o(e,"displaying",(e=>{m=e?f():i(m)}))}else m=f();await q(n,u,p,a);let h=null;y.then((e=>h=e),(()=>{}));const g=a.size,w=a.rotation,v=e.watch("attributes",(async e=>{let i=!1;for(const a in e){const n=e[a];n!==u.attributes[a]&&(u.setAttribute(a,n),t(g)&&!g.isUpdatingInteractively&&g.field===a&&g.initValue(n),t(w)&&!w.isUpdatingInteractively&&w.field===a&&w.initValue(n),(r(h)||h.requiredFields.includes(a))&&(i=!0))}i&&await L(u)})),S=n.on("update",(async e=>{const t=e.graphics[0];if("complete"===e.state)return q(n,t,p,a);await Z(s,t,e,a),c(t.clone())})),j=n.on(["undo","redo"],(async e=>{c(e.graphics[0].clone())})),I=()=>{};return{interactive:{remove(){j.remove(),S.remove(),n.cancel(),v&&v.remove(),this.remove=I}},visual:{remove(){i(m),s.whenLayerView(p).then((e=>l(e,"updating"))).then((()=>{i(d),n.layer.remove(u),this.remove=I}))}}}}const B={icon:s(24),text:s(12),line:s(1),viewScaleSizeFactor:100};function C(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function W(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function H(e,r){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===r[0].id){const i=W(e.viewModel.featureTemplatesViewModel.items);t(i)&&(e.creationInfo={layer:i.layer,template:i.template},r.shift())}return r}export{H as avoidFeatureTemplateSelectionWithOnlyOneItem,C as createWorkflowSteps,G as fetchCandidates,P as fetchFullFeature,E as findLayerInfo,S as getVisualVariableAttributes,M as setUpFeatureAdd,Q as setUpGeometryUpdate,B as sizeDefaults,R as startCreatingNewFeature,q as startUpdatingFeature,L as updateGraphicSymbolWhenRequired,Z as visualVariableInteractiveUpdate};
|
|
5
|
+
import e from"../../Graphic.js";import"../../core/has.js";import{isSome as t,isNone as r,removeMaybe as i}from"../../core/maybe.js";import{whenOrAbort as a,eachAlways as n}from"../../core/promiseUtils.js";import{px2pt as s}from"../../core/screenUtils.js";import{init as o,whenFalseOnce as l}from"../../core/watchUtils.js";import{diff as c}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as u}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as p}from"../../renderers/support/lengthUtils.js";import{getTransformationType as y,TransformationType as f}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as d,getSize as m}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{to3D as h}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as g}from"../../symbols/support/symbolUtils.js";import{GraphicState as b}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as w}from"../../views/support/drapedUtils.js";import{hitTestSelectSameDistance as v}from"../../views/support/hitTestSelectUtils.js";function S(e){const r=e.sourceLayer;if("feature"!==r.type||!F(r.renderer))return{rotation:null,size:null};let i=null,a=null;const n=r.renderer.getVisualVariablesForType("rotation").filter((r=>(!r.axis||"heading"===r.axis)&&r.field&&!r.valueExpression&&t(d(r,e))));1===n.length&&(i=j(n[0],r));const s=r.renderer.getVisualVariablesForType("size").filter((r=>r.field&&!r.useSymbolValue&&!r.valueExpression&&y(r)===f.RealWorldSize&&t(m(r,e))));return 1===s.length&&(a=U(s[0],r)),{rotation:i,size:a}}function j(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,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,z((s.current+360)%360,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function I(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 V(e,t,i){if(r(t))return 0;const{symbol:a}=h(t);if(r(a)||"web-style"===a.type||"cim"===a.type)return 0;const n=a.symbolLayers.getItemAt(0);if(!n)return 0;switch(n.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return n.size||Math.min(B.icon,(await e(n,B.icon))[0])||B.icon}case"text":return n.size||B.text;case"line":return n.size||B.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return I(await t(n,e.scale/B.viewScaleSizeFactor),i)}case"path":return(null!=n.width?n.width:n.height)||e.scale/B.viewScaleSizeFactor;case"extrude":return n.size||e.scale/B.viewScaleSizeFactor;default:return 0}}function U(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={updating:!1,initial:0,current:0},o=p[e.valueUnit];let l;return l="area"===e.valueRepresentation?e=>(e*o/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*o/2:e=>e*o,{field:r,getDefault:async(e,t)=>z(l(await V(t,e,i)),n),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,z(s.current,n)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1}}function z(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 F(e){switch(e.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":return!0;default:return!1}}async function L(e){const r=await g(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0}),i=c(e.symbol,r);t(i)&&(e.symbol=r)}function x(e){if("mesh"===e||"multipatch"===e)throw new Error("Mesh and Multipatch not supported");return e}async function M(e,t,r){await R(e,t);const i=e.on("create",(async i=>{if("cancel"===i.state)return R(e,t);if("complete"===i.state){const e=i.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await L(e),r(e)}}));return{remove:()=>{i.remove(),e.cancel()}}}async function R(e,t){const r=t.layer,i={...t.template.prototype.attributes};await E(e,r,i);const a={graphicProperties:{attributes:i,sourceLayer:r},hasZ:r.capabilities.data.supportsZ};return e.layer.elevationInfo=r.elevationInfo,e.create(x(r.geometryType),a)}async function E(t,i,a){var n;const s=new e({sourceLayer:i,attributes:a}),{rotation:o,size:l}=S(s);let c=await g(s,{useSourceLayer:!0}),u=!1;for(const e of[l,o]){if(r(e))continue;null==a[e.field]&&(a[e.field]=await e.getDefault(c,t.view),u=!0)}switch(u&&(c=await g(s,{useSourceLayer:!0})),null==(n=c)?void 0:n.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":t.pointSymbol=c}}function T(e,t){return e&&e.find((e=>e.layer===t))}async function k(e,t,r,i){if(0===e.length)return[];const{updatable:s,graphicsByLayer:o}=await r.async((async()=>{const{results:n}=await a(v(t,r),i),s=new Map,o=({layer:e})=>{const t=s.get(e);if(!t){const t=new Array;return s.set(e,t),t}return t};n.forEach((({graphic:e})=>o(e).push(e)));const l=e.filter((({supports:e,layer:t})=>e.indexOf("update")>-1&&s.has(t)));return 0!==l.length&&r.stopPropagation(),{updatable:l,graphicsByLayer:s}}));return a(n(s.map((async({layer:e})=>{const{objectIdField:t,displayField:r}=e,a=[t];e.fieldsIndex.has(r)&&a.push(r);const n=o.get(e);if(!!n.some((e=>a.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=a,t.returnGeometry=!1,t.objectIds=n.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:i}).then((({features:e})=>e))}return n}))),i)}async function A(e,t,r,i){if(0===e.length)return[];let s=null;const o=await r.async((async()=>{const{results:n}=await a(t.hitTest(r),i);if(0===n.length)return[];const o=new Set;s=n,s.forEach((({graphic:e})=>o.add(e.layer)));const l=e.items.filter((({layer:e,supports:t})=>t.indexOf("update")>-1&&o.has(e)));return l.length>0&&r.stopPropagation(),l}));return a(n(o.map((({layer:e})=>{const{objectIdField:a,displayField:n}=e,o=[a];e.fieldsIndex.has(n)&&o.push(n);const l=e.createQuery();l.outFields=o,l.returnGeometry=!1;const c="renderer"in e?u({renderer:e.renderer,event:r}):0;return l.geometry=w(r.mapPoint,c,t),l.outSpatialReference=t.spatialReference,e.queryFeatures(l,{signal:i}).then((({features:t})=>(s.forEach((({graphic:r})=>{if(r.layer===e){t.find((t=>t.attributes[a]===r.attributes[e.objectIdField]))||t.push(r)}})),t)))}))),i)}async function G(e,t,r,i){switch(t.type){case"3d":return k(e,t,r,i);case"2d":return A(e,t,r,i)}}async function P(e,t,r){const i=e.layer,a=i.createQuery();return a.objectIds=[e.getAttribute(i.objectIdField)],a.outFields=["*"],a.outSpatialReference=t.spatialReference,a.returnM=i.capabilities.data.supportsM,a.returnZ=i.capabilities.data.supportsZ,(await i.queryFeatures(a,{signal:r})).features[0]}async function q(e,i,a,n){let s=!1;const{rotation:o,size:l}=n;[o,l].forEach((async a=>{if(r(a))return;const n=i.attributes[a.field];if(t(n))a.initValue(n);else{const t=await a.getDefault(i.symbol,e.view);a.initValue(t),i.setAttribute(a.field,t),s=!0}})),s&&await L(i);const c={multipleSelectionEnabled:!1};return"point"===a.geometryType&&(c.enableRotation=t(o),c.enableScaling=t(l)),e.layer.elevationInfo=a.elevationInfo,e.update(i,c)}function D(e){return!e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function O(e){return!e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function Z(e,r,i,a){var n;if(!t(r.geometry)||"point"!==(null==(n=r.geometry)?void 0:n.type))return;const s=a.rotation,o=D(i.toolEventInfo);if(t(s)&&t(o))if("rotate-stop"===o.type)s.isUpdatingInteractively=!1,s.initValue();else{s.isUpdatingInteractively=!0;const{field:t,getValue:i}=s;r.attributes[t]=i(o.angle,e)}const l=a.size,c=O(i.toolEventInfo);if(t(l)&&t(c))if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.initValue();else{l.isUpdatingInteractively=!0;const{field:t,getValue:i}=l;r.attributes[t]=i(c.xScale,e)}await L(r)}async function Q(e,a,n,s,c){const u=e.clone();await L(u),s.map.add(n.layer),n.layer.add(u);const p=e.sourceLayer,y=s.whenLayerView(p),f=()=>{const t=e.layer,r=e.attributes[t.objectIdField];return y.then((e=>e.setVisibility(r,!1)),(()=>{})),{remove(){y.then((e=>e.setVisibility(r,!0)),(()=>{}))}}};let d=null,m=null;if("3d"===s.type){const e=new b({graphic:u});d=s.trackGraphicState(e),o(e,"displaying",(e=>{m=e?f():i(m)}))}else m=f();await q(n,u,p,a);let h=null;y.then((e=>h=e),(()=>{}));const g=a.size,w=a.rotation,v=e.watch("attributes",(async e=>{let i=!1;for(const a in e){const n=e[a];n!==u.attributes[a]&&(u.setAttribute(a,n),t(g)&&!g.isUpdatingInteractively&&g.field===a&&g.initValue(n),t(w)&&!w.isUpdatingInteractively&&w.field===a&&w.initValue(n),(r(h)||h.requiredFields.includes(a))&&(i=!0))}i&&await L(u)})),S=n.on("update",(async e=>{const t=e.graphics[0];if("complete"===e.state)return q(n,t,p,a);await Z(s,t,e,a),c(t.clone())})),j=n.on(["undo","redo"],(async e=>{c(e.graphics[0].clone())})),I=()=>{};return{interactive:{remove(){j.remove(),S.remove(),n.cancel(),v&&v.remove(),this.remove=I}},visual:{remove(){i(m),s.whenLayerView(p).then((e=>l(e,"updating"))).then((()=>{i(d),n.layer.remove(u),this.remove=I}))}}}}const B={icon:s(24),text:s(12),line:s(1),viewScaleSizeFactor:100};function C(e,t,r){let i=!1;return e.filter((e=>!!i||(i=e===t,i))).map((e=>r[e]()))}function W(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function H(e,r){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===r[0].id){const i=W(e.viewModel.featureTemplatesViewModel.items);t(i)&&(e.creationInfo={layer:i.layer,template:i.template},r.shift())}return r}export{H as avoidFeatureTemplateSelectionWithOnlyOneItem,C as createWorkflowSteps,G as fetchCandidates,P as fetchFullFeature,T as findLayerInfo,S as getVisualVariableAttributes,M as setUpFeatureAdd,Q as setUpGeometryUpdate,B as sizeDefaults,R as startCreatingNewFeature,q as startUpdatingFeature,L as updateGraphicSymbolWhenRequired,Z as visualVariableInteractiveUpdate};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{on as t}from"../../../core/events.js";import{isSome as o,removeMaybe as s,destroyMaybe as r,unwrap as i,applySome as n}from"../../../core/maybe.js";import{isMeasurementSystem as l}from"../../../core/unitUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../Widget.js";import{SETTINGS_CSS as h}from"../css.js";import u from"../../support/Popover.js";import{getDir as m}from"../../support/widgetUtils.js";import{messageBundle as _}from"../../support/decorators/messageBundle.js";import"../../../core/Logger.js";import{tsx as g}from"../../support/jsxFactory.js";let f=class extends p{constructor(e,t){super(e,t),this._messagesUnits=null,this._popover=null,this._buttonElement=null,this._focusOutElement=null,this._requestFocusOnCreate=!1}destroy(){this._destroyPopover()}render(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;if(!e&&!t)return g("div",{key:`${this.id}-empty`});const s=o(this._popover)&&this._popover.open?this._messages.hideSettings:this._messages.showSettings;return g("button",{class:h.base,title:s,bind:this,afterCreate:this._initializePopover,onclick:this._togglePopover,"aria-label":s})}_initializePopover(e){this._destroyPopover(),this._buttonElement=e,this._popover=new u({owner:this,placement:"bottom-end",offset:[0,0],anchorElement:e,renderContentFunction:()=>this._renderPopoverContent()})}_destroyPopover(){this._focusOutElement=s(this._focusOutElement),this._popover=r(this._popover)}_renderPopoverContent(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;return g("div",{class:h.popoverContent,dir:m(i(this._buttonElement)),bind:this,afterCreate:this._onPopoverContentAfterCreate},e&&this._renderUnitSelector(),t&&this._renderUniformChartScalingToggle())}_renderUnitSelector(){const{unit:e,unitOptions:t}=this.viewModel,o=this._messagesUnits;return g("label",{key:"unit-selector-label",class:h.selectLabel},this._messages.unitSelectLabel,g("select",{class:h.select,value:e,bind:this,onchange:this._onUnitChange,afterCreate:this._onUnitSelectAfterCreate},t.map((e=>g("option",{key:e,value:e},l(e)?o.systems[e]:o.units[e].pluralCapitalized)))))}_onUnitChange(e){this.viewModel.unit=e.target.value}_onUnitSelectAfterCreate(e){this._requestFocusOnCreate&&(this._requestFocusOnCreate=!1,e.focus())}_renderUniformChartScalingToggle(){const e=this._messages,t=this.viewModel.uniformChartScaling,o=t?e.uniformChartScalingDisable:e.uniformChartScalingEnable;return g("label",{key:"uniform-chart-scaling-label",class:h.checkboxLabel,onmousedown:v},g("input",{class:this.classes(h.checkbox,h.uniformChartScalingCheckbox),type:"checkbox",checked:t,title:o,"aria-label":o,bind:this,onchange:this._onUniformChartScalingChange}),e.uniformChartScalingLabel)}_onUniformChartScalingChange(e){this.viewModel.uniformChartScaling=e.target.checked}_togglePopover(e){o(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){n(this._popover,(e=>e.open=!0)),this._requestFocusOnCreate=!0}_closePopover({focusOnButton:e=!0}={}){n(this._popover,(e=>e.open=!1)),e&&n(this._buttonElement,(e=>e.focus()))}_onPopoverContentAfterCreate(e){s(this._focusOutElement),this._focusOutElement=t(e,"focusout",(({relatedTarget:t})=>{const o=e.contains(t),s=t===this._buttonElement;o||s||this._closePopover({focusOnButton:!1})}))}};function v(e){e.preventDefault()}e([a()],f.prototype,"viewModel",void 0),e([a()],f.prototype,"visibleElements",void 0),e([a(),_("esri/widgets/ElevationProfile/t9n/ElevationProfile")],f.prototype,"_messages",void 0),e([a(),_("esri/core/t9n/Units")],f.prototype,"_messagesUnits",void 0),f=e([c("esri.widgets.ElevationProfile.SettingsButton")],f);export{f as SettingsButton};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{on as t}from"../../../core/events.js";import{isSome as o,removeMaybe as s,destroyMaybe as r,unwrap as i,applySome as n}from"../../../core/maybe.js";import{isMeasurementSystem as l}from"../../../core/unitUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../../core/accessorSupport/decorators/subclass.js";import p from"../../Widget.js";import{SETTINGS_CSS as h}from"../css.js";import u from"../../support/Popover.js";import{getDir as m}from"../../support/widgetUtils.js";import{messageBundle as _}from"../../support/decorators/messageBundle.js";import"../../../core/Logger.js";import{tsx as g}from"../../support/jsxFactory.js";let f=class extends p{constructor(e,t){super(e,t),this._messagesUnits=null,this._popover=null,this._buttonElement=null,this._focusOutElement=null,this._requestFocusOnCreate=!1}destroy(){this._destroyPopover()}render(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;if(!e&&!t)return g("div",{key:`${this.id}-empty`});const s=o(this._popover)&&this._popover.open?this._messages.hideSettings:this._messages.showSettings;return g("button",{class:h.base,title:s,bind:this,afterCreate:this._initializePopover,onclick:this._togglePopover,"aria-label":s,type:"button"})}_initializePopover(e){this._destroyPopover(),this._buttonElement=e,this._popover=new u({owner:this,placement:"bottom-end",offset:[0,0],anchorElement:e,renderContentFunction:()=>this._renderPopoverContent()})}_destroyPopover(){this._focusOutElement=s(this._focusOutElement),this._popover=r(this._popover)}_renderPopoverContent(){const{unitSelector:e,uniformChartScalingToggle:t}=this.visibleElements;return g("div",{class:h.popoverContent,dir:m(i(this._buttonElement)),bind:this,afterCreate:this._onPopoverContentAfterCreate},e&&this._renderUnitSelector(),t&&this._renderUniformChartScalingToggle())}_renderUnitSelector(){const{unit:e,unitOptions:t}=this.viewModel,o=this._messagesUnits;return g("label",{key:"unit-selector-label",class:h.selectLabel},this._messages.unitSelectLabel,g("select",{class:h.select,value:e,bind:this,onchange:this._onUnitChange,afterCreate:this._onUnitSelectAfterCreate},t.map((e=>g("option",{key:e,value:e},l(e)?o.systems[e]:o.units[e].pluralCapitalized)))))}_onUnitChange(e){this.viewModel.unit=e.target.value}_onUnitSelectAfterCreate(e){this._requestFocusOnCreate&&(this._requestFocusOnCreate=!1,e.focus())}_renderUniformChartScalingToggle(){const e=this._messages,t=this.viewModel.uniformChartScaling,o=t?e.uniformChartScalingDisable:e.uniformChartScalingEnable;return g("label",{key:"uniform-chart-scaling-label",class:h.checkboxLabel,onmousedown:v},g("input",{class:this.classes(h.checkbox,h.uniformChartScalingCheckbox),type:"checkbox",checked:t,title:o,"aria-label":o,bind:this,onchange:this._onUniformChartScalingChange}),e.uniformChartScalingLabel)}_onUniformChartScalingChange(e){this.viewModel.uniformChartScaling=e.target.checked}_togglePopover(e){o(this._popover)&&this._popover.open?this._closePopover():this._openPopover()}_openPopover(){n(this._popover,(e=>e.open=!0)),this._requestFocusOnCreate=!0}_closePopover({focusOnButton:e=!0}={}){n(this._popover,(e=>e.open=!1)),e&&n(this._buttonElement,(e=>e.focus()))}_onPopoverContentAfterCreate(e){s(this._focusOutElement),this._focusOutElement=t(e,"focusout",(({relatedTarget:t})=>{const o=e.contains(t),s=t===this._buttonElement;o||s||this._closePopover({focusOnButton:!1})}))}};function v(e){e.preventDefault()}e([a()],f.prototype,"viewModel",void 0),e([a()],f.prototype,"visibleElements",void 0),e([a(),_("esri/widgets/ElevationProfile/t9n/ElevationProfile")],f.prototype,"_messages",void 0),e([a(),_("esri/core/t9n/Units")],f.prototype,"_messagesUnits",void 0),f=e([c("esri.widgets.ElevationProfile.SettingsButton")],f);export{f as SettingsButton};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{isNone as e,isSome as s,destroyMaybe as i,applySome as o,abortMaybe as r}from"../core/maybe.js";import{memoize as n}from"../core/memoize.js";import{createTask as a}from"../core/promiseUtils.js";import{init as l}from"../core/watchUtils.js";import{aliasOf as c}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import p from"./Widget.js";import{CSS as u}from"./ElevationProfile/css.js";import m from"./ElevationProfile/ElevationProfileViewModel.js";import _ from"./ElevationProfile/ElevationProfileVisibleElements.js";import{Legend as C}from"./ElevationProfile/components/Legend.js";import{SettingsButton as v}from"./ElevationProfile/components/SettingsButton.js";import{createChart as g}from"./ElevationProfile/support/chartUtils.js";import{ElevationProfileErrorState as f,PORTRAIT_MODE_PIXEL_BREAKPOINT as y,ElevationProfileState as w,LARGE_CHART_SAMPLES as k}from"./ElevationProfile/support/constants.js";import{onResize as b}from"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{tsx as B}from"./support/jsxFactory.js";var M;!function(t){t.Sketch="sketch",t.SketchCancel="sketch-cancel",t.SketchDone="sketch-done",t.Select="select",t.SelectCancel="select-cancel"}(M||(M={}));const P=[{type:M.Select},{type:M.Sketch}],E={[f.None]:null,[f.NoValidInput]:"noProfile",[f.NoVisibleProfiles]:"noProfile",[f.RefinedButNoChartData]:"noProfile",[f.TooComplex]:"tooComplex",[f.UnknownError]:"unknown",[f.InvalidGeometry]:"invalidGeometry",[f.InvalidElevationInfo]:"invalidElevationInfo"};let j=class extends p{constructor(t,e){super(t,e),this.viewModel=null,this.view=null,this.input=null,this.profiles=null,this.unitOptions=[],this.unit="metric",this.geodesicDistanceThreshold=1e5,this.visibleElements=new _,this.iconClass=u.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this._chartContainer=null,this._chart=null,this._chartInitTask=null,this._chartIsRefined=!1,this._portrait=!1,this._zoomOutButtonVisible=!1,this._getChartUpdateParamsMemoized=n(((t,e,s,i)=>({chart:t,data:e,stationary:s,messages:i}))),this._getDetailsPropsMemoized=n(((t,e)=>({effectiveUnits:t,profiles:e}))),null!=t&&t.viewModel||(this._defaultViewModel=new m({view:null==t?void 0:t.view}),this.viewModel=this._defaultViewModel)}initialize(){this._legend=new C(this._legendProps),this._settingsButton=new v(this._settingsButtonProps),this.own([this.watch("_legendProps",(t=>this._legend.set(t))),this.watch("_settingsButtonProps",(t=>this._settingsButton.set(t)))])}postInitialize(){this.own([l(this,"_chartContainer",(()=>{this._destroyChart();const t=this._chartContainer;e(t)||(this._chartInitTask=a((e=>this._initializeChart(t,e))))})),l(this,"_chartUpdateParams",(()=>this._updateChart(this._chartUpdateParams)))])}destroy(){this._destroyChart(),s(this._defaultViewModel)&&this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy(),this._legend=i(this._legend),this._settingsButton=i(this._settingsButton)}get _chartUpdateParams(){const t=this.view;return this._getChartUpdateParamsMemoized(this._chart,this.viewModel.chartData,!s(t)||t.stationary,this._chartMessages)}get _chartMessages(){return{...this.messagesUnits,...this.messages}}get _legendProps(){return this._getDetailsPropsMemoized(this.viewModel.effectiveUnits,this._profilesArray)}get _profilesArray(){return this.profiles.toArray()}get _settingsButtonProps(){return{viewModel:this.viewModel,visibleElements:this.visibleElements}}render(){const{viewModel:t,visible:e}=this;return B("div",{key:this,class:this.classes({[u.base]:e,[u.esriWidget]:e,[u.esriWidgetDisabled]:e&&"disabled"===t.state,[u.portrait]:this._portrait,[u.refined]:1===this.viewModel.progress}),"aria-label":this.messages.widgetLabel,afterCreate:t=>{this.own(b(t,(t=>{this._portrait=t.contentRect.width<y})))}},e&&this._renderContentForState())}_renderContentForState(){switch(this.viewModel.state){case w.Ready:return this._renderContentForReadyState();case w.Selecting:return this._renderContentForSelectingState();case w.Creating:return this._renderContentForCreatingState();case w.Selected:return this._renderContentForSelectedState();case w.Created:return this._renderContentForCreatedState();case w.Disabled:return this._renderContentForReadyState()}}_renderContentForReadyState(){const{sketchButton:t,selectButton:e}=this.visibleElements,s=this.messages;let i;if(t&&e)i=s.readyPrompt;else if(t)i=s.readyPromptCreateOnly;else if(e)i=s.readyPromptSelectOnly;else{var o;i=null==(o=s.errors)?void 0:o.noProfile}return this._renderContent({prompt:i,chart:!1,actions:P})}_renderContentForSelectingState(){const t=this.view;if(e(t))return null;const s=this.messages[`selectingPrompt-${t.type}`];return this._renderContent({prompt:s,chart:!1,actions:[{type:M.SelectCancel}]})}_renderContentForCreatingState(){const{view:t,viewModel:s}=this;if(e(t))return null;const i=s.hasVertices?[{type:M.SketchCancel},{type:M.SketchDone,disabled:!s.tool.interaction.canStopCreating}]:[{type:M.Select},{type:M.Sketch,disabled:!0}];if(s.errorState===f.NoValidInput){const e=this.messages[`creatingPrompt-${t.type}`];return this._renderContent({chart:!1,actions:i,prompt:e})}const o=this._getErrorMessage();return o?this._renderContent({chart:!1,actions:i,prompt:o}):this._renderContent({chart:!0,actions:i})}_renderContentForSelectedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:P,prompt:t}):this._renderContent({chart:!0,actions:P})}_renderContentForCreatedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:P,prompt:t}):this._renderContent({chart:!0,actions:P})}_getErrorMessage(){var t,e;const s=E[this.viewModel.errorState];return null==(t=this.messages)||null==(e=t.errors)?void 0:e[s]}_renderContent(t){const e=s(t.prompt)?this._renderPrompt(t.prompt):t.chart&&this._renderChart(),i=s(this.viewModel.input);return[B("header",{key:"header",class:u.header},this._zoomOutButtonVisible&&this._renderZoomOutButton(),this.visibleElements.clearButton&&i&&this._renderClearButton(),this.visibleElements.settingsButton&&this._settingsButton.render()),B("div",{class:u.mainContainer},...e),this.visibleElements.legend&&this._legend.render(),this._renderActions(t)]}_renderZoomOutButton(){return B("button",{key:"zoom-out",class:u.zoomOutButton,bind:this,onclick:this._onZoomOutButtonClick,title:this.messages.zoomOut})}_onZoomOutButtonClick(){o(this._chart,(t=>t.zoomOut()))}_renderClearButton(){return B("button",{key:"clear-profile",class:u.clearButton,bind:this,onclick:this._onClearButtonClick,title:this.messages.clearProfile})}_onClearButtonClick(){this.viewModel.clear()}_renderPrompt(t){return[B("div",{key:"prompt-container",bind:this,class:u.promptContainer},B("p",null,t))]}_renderChart(){if(!this.visibleElements.chart)return[B("div",{key:"empty-chart-container",class:u.chartContainer})];const t=this._chartIsRefined||this._canRenderChart();if(!t)return[this._renderSpinner({size:"large"}),B("div",{key:"chart-container-empty",class:u.chartContainer})];const{chartData:e,progress:i}=this.viewModel;return[s(e)&&i>0&&i<1&&this._renderSpinner({size:t?"small":"large"}),B("div",{key:"chart-container",bind:this,class:u.chartContainer,afterCreate:this._onChartContainerAfterCreate,afterRemoved:this._onChartContainerRemoved})]}_renderSpinner(t){return B("div",{key:"spinner",class:this.classes(u.chartSpinner,{[u.chartSpinnerSmall]:"small"===t.size}),afterCreate:this._onSpinnerAfterCreate,exitAnimation:this._onSpinnerExit})}_onSpinnerAfterCreate(t){requestAnimationFrame((()=>t.classList.add(u.chartSpinnerVisible)))}_onSpinnerExit(t,e){t.classList.remove(u.chartSpinnerVisible),setTimeout(e,200)}_canRenderChart(){const t=this.viewModel.chartData;if(e(t))return!1;if(!this.viewModel.inputIsSketched)return t.refined;let i=0;for(const{samples:e}of t.lines)i+=s(e)?e.length:0;return t.refined||i<=k}_renderActions({actions:t}){const e=t.map((t=>{switch(t.type){case M.Sketch:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onSketchButtonClick,className:u.sketchButton,label:this.messages.sketchButtonLabel});case M.SketchCancel:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:u.sketchCancelButton,label:this.messagesCommon.cancel});case M.SketchDone:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onDoneButtonClick,className:u.sketchDoneButton,label:this.messagesCommon.done});case M.Select:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onSelectButtonClick,className:u.selectButton,label:this.messages.selectButtonLabel});case M.SelectCancel:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:u.selectCancelButton,label:this.messagesCommon.cancel})}})).filter(Boolean);return e.length?B("footer",{key:"footer",class:u.footer},...e):null}_renderAction({action:t,onClick:e,className:s,label:i}){return B("button",{key:`action-${t.type}`,class:this.classes(u.actionButton,s,{[u.buttonDisabled]:t.disabled}),bind:this,disabled:t.disabled,onclick:e},i)}_onSketchButtonClick(){this.viewModel.start({mode:"sketch"})}_onSelectButtonClick(){this.viewModel.start({mode:"select"})}_onCancelButtonClick(){this.viewModel.cancel()}_onDoneButtonClick(){this.viewModel.stop()}_updateChart(t){const{data:i,chart:o,messages:r,stationary:n}=t;!e(o)&&!e(r)&&n&&this._canRenderChart()&&(o.update(t),this._chartIsRefined=s(i)&&i.refined)}_onChartContainerAfterCreate(t){this._chartContainer=t}_onChartContainerRemoved(){this._chartContainer=null}async _initializeChart(t,e){this._chart=await g({container:t,abortOptions:{signal:e},onRangeChange:(t,e)=>{this._zoomOutButtonVisible=1!==t||1!==e},onCursorPositionChange:t=>{this.viewModel.hoveredChartPosition=t}}),this._updateChart(this._chartUpdateParams)}_destroyChart(){this._chartInitTask=r(this._chartInitTask),this._chart=i(this._chart),this._chartIsRefined=!1}};t([h({type:m})],j.prototype,"viewModel",void 0),t([c("viewModel.view")],j.prototype,"view",void 0),t([c("viewModel.input")],j.prototype,"input",void 0),t([c("viewModel.profiles")],j.prototype,"profiles",void 0),t([c("viewModel.unitOptions")],j.prototype,"unitOptions",void 0),t([c("viewModel.unit")],j.prototype,"unit",void 0),t([c("viewModel.geodesicDistanceThreshold")],j.prototype,"geodesicDistanceThreshold",void 0),t([h({type:_,nonNullable:!0})],j.prototype,"visibleElements",void 0),t([h()],j.prototype,"iconClass",void 0),t([c("messages.widgetLabel",{overridable:!0})],j.prototype,"label",void 0),t([c("viewModel.visible")],j.prototype,"visible",void 0),t([h(),S("esri/widgets/ElevationProfile/t9n/ElevationProfile")],j.prototype,"messages",void 0),t([h(),S("esri/t9n/common")],j.prototype,"messagesCommon",void 0),t([h(),S("esri/core/t9n/Units")],j.prototype,"messagesUnits",void 0),t([h()],j.prototype,"_chartContainer",void 0),t([h()],j.prototype,"_chart",void 0),t([h()],j.prototype,"_chartInitTask",void 0),t([h()],j.prototype,"_chartIsRefined",void 0),t([h()],j.prototype,"_settingsButton",void 0),t([h()],j.prototype,"_legend",void 0),t([h()],j.prototype,"_portrait",void 0),t([h()],j.prototype,"_zoomOutButtonVisible",void 0),t([h()],j.prototype,"_chartUpdateParams",null),t([h()],j.prototype,"_chartMessages",null),t([h()],j.prototype,"_legendProps",null),t([h()],j.prototype,"_profilesArray",null),t([h()],j.prototype,"_settingsButtonProps",null),j=t([d("esri.widgets.ElevationProfile")],j);const z=j;export{z as default};
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{isNone as e,isSome as s,destroyMaybe as i,applySome as o,abortMaybe as r}from"../core/maybe.js";import{memoize as n}from"../core/memoize.js";import{createTask as a}from"../core/promiseUtils.js";import{init as l}from"../core/watchUtils.js";import{aliasOf as c}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import p from"./Widget.js";import{CSS as u}from"./ElevationProfile/css.js";import m from"./ElevationProfile/ElevationProfileViewModel.js";import _ from"./ElevationProfile/ElevationProfileVisibleElements.js";import{Legend as C}from"./ElevationProfile/components/Legend.js";import{SettingsButton as v}from"./ElevationProfile/components/SettingsButton.js";import{createChart as g}from"./ElevationProfile/support/chartUtils.js";import{ElevationProfileErrorState as f,PORTRAIT_MODE_PIXEL_BREAKPOINT as y,ElevationProfileState as w,LARGE_CHART_SAMPLES as b}from"./ElevationProfile/support/constants.js";import{onResize as k}from"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{tsx as B}from"./support/jsxFactory.js";var M;!function(t){t.Sketch="sketch",t.SketchCancel="sketch-cancel",t.SketchDone="sketch-done",t.Select="select",t.SelectCancel="select-cancel"}(M||(M={}));const P=[{type:M.Select},{type:M.Sketch}],E={[f.None]:null,[f.NoValidInput]:"noProfile",[f.NoVisibleProfiles]:"noProfile",[f.RefinedButNoChartData]:"noProfile",[f.TooComplex]:"tooComplex",[f.UnknownError]:"unknown",[f.InvalidGeometry]:"invalidGeometry",[f.InvalidElevationInfo]:"invalidElevationInfo"};let j=class extends p{constructor(t,e){super(t,e),this.viewModel=null,this.view=null,this.input=null,this.profiles=null,this.unitOptions=[],this.unit="metric",this.geodesicDistanceThreshold=1e5,this.visibleElements=new _,this.iconClass=u.widgetIcon,this.label=void 0,this.messages=null,this.messagesCommon=null,this.messagesUnits=null,this._chartContainer=null,this._chart=null,this._chartInitTask=null,this._chartIsRefined=!1,this._portrait=!1,this._zoomOutButtonVisible=!1,this._getChartUpdateParamsMemoized=n(((t,e,s,i)=>({chart:t,data:e,stationary:s,messages:i}))),this._getDetailsPropsMemoized=n(((t,e)=>({effectiveUnits:t,profiles:e}))),null!=t&&t.viewModel||(this._defaultViewModel=new m({view:null==t?void 0:t.view}),this.viewModel=this._defaultViewModel)}initialize(){this._legend=new C(this._legendProps),this._settingsButton=new v(this._settingsButtonProps),this.own([this.watch("_legendProps",(t=>this._legend.set(t))),this.watch("_settingsButtonProps",(t=>this._settingsButton.set(t)))])}postInitialize(){this.own([l(this,"_chartContainer",(()=>{this._destroyChart();const t=this._chartContainer;e(t)||(this._chartInitTask=a((e=>this._initializeChart(t,e))))})),l(this,"_chartUpdateParams",(()=>this._updateChart(this._chartUpdateParams)))])}destroy(){this._destroyChart(),s(this._defaultViewModel)&&this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy(),this._legend=i(this._legend),this._settingsButton=i(this._settingsButton)}get _chartUpdateParams(){const t=this.view;return this._getChartUpdateParamsMemoized(this._chart,this.viewModel.chartData,!s(t)||t.stationary,this._chartMessages)}get _chartMessages(){return{...this.messagesUnits,...this.messages}}get _legendProps(){return this._getDetailsPropsMemoized(this.viewModel.effectiveUnits,this._profilesArray)}get _profilesArray(){return this.profiles.toArray()}get _settingsButtonProps(){return{viewModel:this.viewModel,visibleElements:this.visibleElements}}render(){const{viewModel:t,visible:e}=this;return B("div",{key:this,class:this.classes({[u.base]:e,[u.esriWidget]:e,[u.esriWidgetDisabled]:e&&"disabled"===t.state,[u.portrait]:this._portrait,[u.refined]:1===this.viewModel.progress}),"aria-label":this.messages.widgetLabel,afterCreate:t=>{this.own(k(t,(t=>{this._portrait=t.contentRect.width<y})))}},e&&this._renderContentForState())}_renderContentForState(){switch(this.viewModel.state){case w.Ready:return this._renderContentForReadyState();case w.Selecting:return this._renderContentForSelectingState();case w.Creating:return this._renderContentForCreatingState();case w.Selected:return this._renderContentForSelectedState();case w.Created:return this._renderContentForCreatedState();case w.Disabled:return this._renderContentForReadyState()}}_renderContentForReadyState(){const{sketchButton:t,selectButton:e}=this.visibleElements,s=this.messages;let i;if(t&&e)i=s.readyPrompt;else if(t)i=s.readyPromptCreateOnly;else if(e)i=s.readyPromptSelectOnly;else{var o;i=null==(o=s.errors)?void 0:o.noProfile}return this._renderContent({prompt:i,chart:!1,actions:P})}_renderContentForSelectingState(){const t=this.view;if(e(t))return null;const s=this.messages[`selectingPrompt-${t.type}`];return this._renderContent({prompt:s,chart:!1,actions:[{type:M.SelectCancel}]})}_renderContentForCreatingState(){const{view:t,viewModel:s}=this;if(e(t))return null;const i=s.hasVertices?[{type:M.SketchCancel},{type:M.SketchDone,disabled:!s.tool.interaction.canStopCreating}]:[{type:M.Select},{type:M.Sketch,disabled:!0}];if(s.errorState===f.NoValidInput){const e=this.messages[`creatingPrompt-${t.type}`];return this._renderContent({chart:!1,actions:i,prompt:e})}const o=this._getErrorMessage();return o?this._renderContent({chart:!1,actions:i,prompt:o}):this._renderContent({chart:!0,actions:i})}_renderContentForSelectedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:P,prompt:t}):this._renderContent({chart:!0,actions:P})}_renderContentForCreatedState(){const t=this._getErrorMessage();return t?this._renderContent({chart:!1,actions:P,prompt:t}):this._renderContent({chart:!0,actions:P})}_getErrorMessage(){var t,e;const s=E[this.viewModel.errorState];return null==(t=this.messages)||null==(e=t.errors)?void 0:e[s]}_renderContent(t){const e=s(t.prompt)?this._renderPrompt(t.prompt):t.chart&&this._renderChart(),i=s(this.viewModel.input);return[B("header",{key:"header",class:u.header},this._zoomOutButtonVisible&&this._renderZoomOutButton(),this.visibleElements.clearButton&&i&&this._renderClearButton(),this.visibleElements.settingsButton&&this._settingsButton.render()),B("div",{class:u.mainContainer},...e),this.visibleElements.legend&&this._legend.render(),this._renderActions(t)]}_renderZoomOutButton(){return B("button",{key:"zoom-out",class:u.zoomOutButton,bind:this,onclick:this._onZoomOutButtonClick,title:this.messages.zoomOut,type:"button"})}_onZoomOutButtonClick(){o(this._chart,(t=>t.zoomOut()))}_renderClearButton(){return B("button",{key:"clear-profile",class:u.clearButton,bind:this,onclick:this._onClearButtonClick,title:this.messages.clearProfile,type:"button"})}_onClearButtonClick(){this.viewModel.clear()}_renderPrompt(t){return[B("div",{key:"prompt-container",bind:this,class:u.promptContainer},B("p",null,t))]}_renderChart(){if(!this.visibleElements.chart)return[B("div",{key:"empty-chart-container",class:u.chartContainer})];const t=this._chartIsRefined||this._canRenderChart();if(!t)return[this._renderSpinner({size:"large"}),B("div",{key:"chart-container-empty",class:u.chartContainer})];const{chartData:e,progress:i}=this.viewModel;return[s(e)&&i>0&&i<1&&this._renderSpinner({size:t?"small":"large"}),B("div",{key:"chart-container",bind:this,class:u.chartContainer,afterCreate:this._onChartContainerAfterCreate,afterRemoved:this._onChartContainerRemoved})]}_renderSpinner(t){return B("div",{key:"spinner",class:this.classes(u.chartSpinner,{[u.chartSpinnerSmall]:"small"===t.size}),afterCreate:this._onSpinnerAfterCreate,exitAnimation:this._onSpinnerExit})}_onSpinnerAfterCreate(t){requestAnimationFrame((()=>t.classList.add(u.chartSpinnerVisible)))}_onSpinnerExit(t,e){t.classList.remove(u.chartSpinnerVisible),setTimeout(e,200)}_canRenderChart(){const t=this.viewModel.chartData;if(e(t))return!1;if(!this.viewModel.inputIsSketched)return t.refined;let i=0;for(const{samples:e}of t.lines)i+=s(e)?e.length:0;return t.refined||i<=b}_renderActions({actions:t}){const e=t.map((t=>{switch(t.type){case M.Sketch:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onSketchButtonClick,className:u.sketchButton,label:this.messages.sketchButtonLabel});case M.SketchCancel:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:u.sketchCancelButton,label:this.messagesCommon.cancel});case M.SketchDone:return this.visibleElements.sketchButton&&this._renderAction({action:t,onClick:this._onDoneButtonClick,className:u.sketchDoneButton,label:this.messagesCommon.done});case M.Select:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onSelectButtonClick,className:u.selectButton,label:this.messages.selectButtonLabel});case M.SelectCancel:return this.visibleElements.selectButton&&this._renderAction({action:t,onClick:this._onCancelButtonClick,className:u.selectCancelButton,label:this.messagesCommon.cancel})}})).filter(Boolean);return e.length?B("footer",{key:"footer",class:u.footer},...e):null}_renderAction({action:t,onClick:e,className:s,label:i}){return B("button",{key:`action-${t.type}`,class:this.classes(u.actionButton,s,{[u.buttonDisabled]:t.disabled}),bind:this,disabled:t.disabled,onclick:e,type:"button"},i)}_onSketchButtonClick(){this.viewModel.start({mode:"sketch"})}_onSelectButtonClick(){this.viewModel.start({mode:"select"})}_onCancelButtonClick(){this.viewModel.cancel()}_onDoneButtonClick(){this.viewModel.stop()}_updateChart(t){const{data:i,chart:o,messages:r,stationary:n}=t;!e(o)&&!e(r)&&n&&this._canRenderChart()&&(o.update(t),this._chartIsRefined=s(i)&&i.refined)}_onChartContainerAfterCreate(t){this._chartContainer=t}_onChartContainerRemoved(){this._chartContainer=null}async _initializeChart(t,e){this._chart=await g({container:t,abortOptions:{signal:e},onRangeChange:(t,e)=>{this._zoomOutButtonVisible=1!==t||1!==e},onCursorPositionChange:t=>{this.viewModel.hoveredChartPosition=t}}),this._updateChart(this._chartUpdateParams)}_destroyChart(){this._chartInitTask=r(this._chartInitTask),this._chart=i(this._chart),this._chartIsRefined=!1}};t([h({type:m})],j.prototype,"viewModel",void 0),t([c("viewModel.view")],j.prototype,"view",void 0),t([c("viewModel.input")],j.prototype,"input",void 0),t([c("viewModel.profiles")],j.prototype,"profiles",void 0),t([c("viewModel.unitOptions")],j.prototype,"unitOptions",void 0),t([c("viewModel.unit")],j.prototype,"unit",void 0),t([c("viewModel.geodesicDistanceThreshold")],j.prototype,"geodesicDistanceThreshold",void 0),t([h({type:_,nonNullable:!0})],j.prototype,"visibleElements",void 0),t([h()],j.prototype,"iconClass",void 0),t([c("messages.widgetLabel",{overridable:!0})],j.prototype,"label",void 0),t([c("viewModel.visible")],j.prototype,"visible",void 0),t([h(),S("esri/widgets/ElevationProfile/t9n/ElevationProfile")],j.prototype,"messages",void 0),t([h(),S("esri/t9n/common")],j.prototype,"messagesCommon",void 0),t([h(),S("esri/core/t9n/Units")],j.prototype,"messagesUnits",void 0),t([h()],j.prototype,"_chartContainer",void 0),t([h()],j.prototype,"_chart",void 0),t([h()],j.prototype,"_chartInitTask",void 0),t([h()],j.prototype,"_chartIsRefined",void 0),t([h()],j.prototype,"_settingsButton",void 0),t([h()],j.prototype,"_legend",void 0),t([h()],j.prototype,"_portrait",void 0),t([h()],j.prototype,"_zoomOutButtonVisible",void 0),t([h()],j.prototype,"_chartUpdateParams",null),t([h()],j.prototype,"_chartMessages",null),t([h()],j.prototype,"_legendProps",null),t([h()],j.prototype,"_profilesArray",null),t([h()],j.prototype,"_settingsButtonProps",null),j=t([d("esri.widgets.ElevationProfile")],j);const z=j;export{z 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Graphic.js";import{w as o}from"../../../chunks/languageUtils.js";import r from"../../../core/Accessor.js";import{HandleOwnerMixin as n}from"../../../core/HandleOwner.js";import{throttle as s}from"../../../core/throttle.js";import{init as i}from"../../../core/watchUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.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 m from"../../../popup/content/TextContent.js";import d from"../../../popup/ElementExpressionInfo.js";import u from"../FeatureContent/FeatureContentViewModel.js";import h from"../FeatureFields/FeatureFieldsViewModel.js";import f from"../FeatureMedia/FeatureMediaViewModel.js";import{loadArcadeUtils as _,createCompiledExpression as v}from"../support/arcadeFeatureUtils.js";const w=1;let y=class extends(n(r)){constructor(e){super(e),this._abortController=null,this.expressionInfo=null,this.graphic=null,this.contentElement=null,this.contentElementViewModel=null,this.interceptor=null,this.view=null,this._cancelQuery=()=>{const{_abortController:e}=this;e&&e.abort(),this._abortController=null},this._createVM=()=>{var e,t;const o=null==(e=this.contentElement)?void 0:e.type;null==(t=this.contentElementViewModel)||t.destroy();const r="fields"===o?new h:"media"===o?new f:"text"===o?new u:null;this._set("contentElementViewModel",r)},this._compile=async()=>{this._cancelQuery();const e=new AbortController;this._abortController=e,await this._compileExpression(),this._abortController===e&&(this._abortController=null)},this._compileThrottled=s(this._compile,w,this),this._compileExpression=async()=>{const{expressionInfo:e,graphic:t,interceptor:r,spatialReference:n,map:s,view:i,_abortController:l}=this;if(!(e&&t&&n&&s
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Graphic.js";import{w as o}from"../../../chunks/languageUtils.js";import r from"../../../core/Accessor.js";import{HandleOwnerMixin as n}from"../../../core/HandleOwner.js";import{throttle as s}from"../../../core/throttle.js";import{init as i}from"../../../core/watchUtils.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.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 m from"../../../popup/content/TextContent.js";import d from"../../../popup/ElementExpressionInfo.js";import u from"../FeatureContent/FeatureContentViewModel.js";import h from"../FeatureFields/FeatureFieldsViewModel.js";import f from"../FeatureMedia/FeatureMediaViewModel.js";import{loadArcadeUtils as _,createCompiledExpression as v}from"../support/arcadeFeatureUtils.js";const w=1;let y=class extends(n(r)){constructor(e){super(e),this._abortController=null,this.expressionInfo=null,this.graphic=null,this.contentElement=null,this.contentElementViewModel=null,this.interceptor=null,this.view=null,this._cancelQuery=()=>{const{_abortController:e}=this;e&&e.abort(),this._abortController=null},this._createVM=()=>{var e,t;const o=null==(e=this.contentElement)?void 0:e.type;null==(t=this.contentElementViewModel)||t.destroy();const r="fields"===o?new h:"media"===o?new f:"text"===o?new u:null;this._set("contentElementViewModel",r)},this._compile=async()=>{this._cancelQuery();const e=new AbortController;this._abortController=e,await this._compileExpression(),this._abortController===e&&(this._abortController=null)},this._compileThrottled=s(this._compile,w,this),this._compileExpression=async()=>{const{expressionInfo:e,graphic:t,interceptor:r,spatialReference:n,map:s,view:i,_abortController:l}=this;if(!(e&&t&&n&&s))return void this._set("contentElement",null);const p=await _();if(l!==this._abortController)return;const d=await v({arcadeUtils:p,expressionInfo:e,graphic:t,interceptor:r,map:s,spatialReference:n,view:i});if(!d||"esri.arcade.Dictionary"!==d.declaredClass)return void this._set("contentElement",null);const u=await o(d,l.signal),h=null==u?void 0:u.type,f="media"===h?c.fromJSON(u):"text"===h?m.fromJSON(u):"fields"===h?a.fromJSON(u):null;this._set("contentElement",f)},this.handles.add([i(this,["expressionInfo","graphic","map","spatialReference","view"],this._compileThrottled),i(this,"contentElement",this._createVM)])}destroy(){var e;this._cancelQuery(),null==(e=this.contentElementViewModel)||e.destroy(),this._set("contentElementViewModel",null),this._set("contentElement",null)}get spatialReference(){var e;return(null==(e=this.view)?void 0:e.spatialReference)||null}set spatialReference(e){void 0!==e?this._override("spatialReference",e):this._clearOverride("spatialReference")}get state(){const{_abortController:e,contentElement:t,contentElementViewModel:o}=this;return e?"loading":t||o?"ready":"disabled"}get map(){var e;return(null==(e=this.view)?void 0:e.map)||null}set map(e){void 0!==e?this._override("map",e):this._clearOverride("map")}};e([l()],y.prototype,"_abortController",void 0),e([l({type:d})],y.prototype,"expressionInfo",void 0),e([l({type:t})],y.prototype,"graphic",void 0),e([l({readOnly:!0})],y.prototype,"contentElement",void 0),e([l({readOnly:!0})],y.prototype,"contentElementViewModel",void 0),e([l()],y.prototype,"interceptor",void 0),e([l()],y.prototype,"spatialReference",null),e([l({readOnly:!0})],y.prototype,"state",null),e([l()],y.prototype,"map",null),e([l()],y.prototype,"view",void 0),y=e([p("esri.widgets.Feature.FeatureExpression.FeatureExpressionViewModel")],y);const j=y;export{j 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{init as t}from"../../core/watchUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{init as t}from"../../core/watchUtils.js";import{property as o}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as s}from"../../core/accessorSupport/decorators/subclass.js";import i from"../Widget.js";import r from"./FeatureContent.js";import n from"./FeatureFields.js";import d from"./FeatureMedia.js";import a from"./FeatureExpression/FeatureExpressionViewModel.js";import"../support/widgetUtils.js";import"../../core/Logger.js";import{tsx as l}from"../support/jsxFactory.js";const p={iconLoading:"esri-icon-loading-indicator esri-rotating",base:"esri-feature-expression",loadingSpinnerContainer:"esri-feature__loading-container",spinner:"esri-feature__loading-spinner"};let c=class extends i{constructor(e,t){super(e,t),this.viewModel=new a}initialize(){t(this,"viewModel.contentElementViewModel",(()=>this._setupExpressionWidget()))}destroy(){this._destroyContentWidget()}renderLoading(){return l("div",{key:"loading-container",class:p.loadingSpinnerContainer},l("span",{class:this.classes(p.iconLoading,p.spinner)}))}render(){var e;const{state:t}=this.viewModel;return l("div",{class:p.base},"loading"===t?this.renderLoading():"disabled"===t?null:null==(e=this._contentWidget)?void 0:e.render())}_destroyContentWidget(){const{_contentWidget:e}=this;e&&(e.viewModel=null,e.destroy()),this._contentWidget=null}_setupExpressionWidget(){const{contentElementViewModel:e,contentElement:t}=this.viewModel,o=null==t?void 0:t.type;this._destroyContentWidget();const s=e?"fields"===o?new n({viewModel:e}):"media"===o?new d({viewModel:e}):"text"===o?new r({viewModel:e}):null:null;this._contentWidget=s,this.scheduleRender()}};e([o({type:a})],c.prototype,"viewModel",void 0),c=e([s("esri.widgets.Feature.FeatureExpression")],c);const u=c;export{u as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import{property as
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../core/Accessor.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{cast as o}from"../../../core/accessorSupport/decorators/cast.js";import{subclass as r}from"../../../core/accessorSupport/decorators/subclass.js";import a from"../../../popup/FieldInfo.js";import s from"../../../popup/content/support/ChartMediaInfoValueSeries.js";import{substituteFieldsInLinksAndAttributes as l,fixTokens as n,substituteAttributes as d,getFixedFieldNames as p,getFixedFieldName as u,isRelatedField as f,formatValueToFieldInfo as c,getFieldInfo as m,getFieldInfoLabel as h}from"../support/featureUtils.js";import{getRelatedFieldInfo as y}from"../support/relatedFeatureUtils.js";const v={chartAnimation:!0};let I=class extends e{constructor(t){super(t),this.abilities={...v},this.activeMediaInfoIndex=0,this.attributes=null,this.description=null,this.fieldInfoMap=null,this.formattedAttributes=null,this.expressionAttributes=null,this.layer=null,this.mediaInfos=null,this.popupTemplate=null,this.relatedInfos=null,this.title=null}castAbilities(t){return{...v,...t}}get activeMediaInfo(){return this.formattedMediaInfos[this.activeMediaInfoIndex]||null}get formattedMediaInfos(){return this._formatMediaInfos()||[]}get formattedMediaInfoCount(){return this.formattedMediaInfos.length}setActiveMedia(t){this._setContentElementMedia(t)}next(){this._pageContentElementMedia(1)}previous(){this._pageContentElementMedia(-1)}_setContentElementMedia(t){const{formattedMediaInfoCount:e}=this,i=(t+e)%e;this.activeMediaInfoIndex=i}_pageContentElementMedia(t){const{activeMediaInfoIndex:e}=this,i=e+t;this._setContentElementMedia(i)}_formatMediaInfos(){const{attributes:t,mediaInfos:e,formattedAttributes:i,expressionAttributes:o,fieldInfoMap:r,layer:a}=this;return null==e?void 0:e.map((e=>{const s=null==e?void 0:e.clone();if(!s)return null;if(s.title=l({attributes:t,fieldInfoMap:r,globalAttributes:i,expressionAttributes:o,layer:a,text:s.title}),s.caption=l({attributes:t,fieldInfoMap:r,globalAttributes:i,expressionAttributes:o,layer:a,text:s.caption}),s.altText=l({attributes:t,fieldInfoMap:r,globalAttributes:i,expressionAttributes:o,layer:a,text:s.altText}),"image"===s.type){const{value:t}=s;return this._setImageValue({value:t,formattedAttributes:i,layer:a}),s.value.sourceURL?s:void 0}if("pie-chart"===s.type||"line-chart"===s.type||"column-chart"===s.type||"bar-chart"===s.type){const{value:e}=s;return this._setChartValue({value:e,chartType:s.type,attributes:t,formattedAttributes:i,layer:a}),s}return null})).filter(Boolean)}_setImageValue(t){const{fieldInfoMap:e}=this,{value:i,formattedAttributes:o,layer:r}=t,{linkURL:a,sourceURL:s}=i;if(s){const t=n(s,r);i.sourceURL=d({formattedAttributes:o,template:t,fieldInfoMap:e})}if(a){const t=n(a,r);i.linkURL=d({formattedAttributes:o,template:t,fieldInfoMap:e})}}_setChartValue(t){const{value:e,attributes:i,formattedAttributes:o,chartType:r,layer:a}=t,{popupTemplate:s,relatedInfos:l}=this,{fields:n,normalizeField:d}=e;e.fields=p(n,a),d&&(e.normalizeField=u(d,a));if(!n.some((t=>!!(null!=o[t]||f(t)&&l.size))))return;const c=null==s?void 0:s.fieldInfos;n.forEach((t=>{if(f(t))return void(e.series=[...e.series,...this._getRelatedChartInfos({fieldInfos:c,fieldName:t,formattedAttributes:o,chartType:r,value:e})]);const a=this._getChartOption({value:e,attributes:i,chartType:r,formattedAttributes:o,fieldName:t,fieldInfos:c});e.series.push(a)}))}_getRelatedChartInfos(t){var e;const{fieldInfos:i,fieldName:o,formattedAttributes:r,chartType:a,value:s}=t,l=[],n=y(o),{layerId:d,fieldName:p}=n,u=null==(e=this.relatedInfos)?void 0:e.get(d.toString());if(!u)return l;const{relatedFeatures:f,relation:c}=u;if(!c||!f)return l;const{cardinality:m}=c;f.forEach((t=>{const{attributes:e}=t;e&&Object.keys(e).forEach((t=>{t===p&&l.push(this._getChartOption({value:s,attributes:e,formattedAttributes:r,fieldName:o,chartType:a,relatedFieldName:t,fieldInfos:i}))}))}));return"one-to-many"===m||"many-to-many"===m?l:[l[0]]}_getTooltip({label:t,value:e,chartType:i}){return"pie-chart"===i?t:`${t}: ${e}`}_getChartOption(t){var e;const{value:i,attributes:o,formattedAttributes:r,fieldName:l,relatedFieldName:n,fieldInfos:d,chartType:p}=t,{layer:v}=this,{normalizeField:I,tooltipField:b}=i,M=I?f(I)?o[y(I).fieldName]:o[I]:null,A=n&&void 0!==o[n]?o[n]:void 0!==o[l]?o[l]:r[l],g=void 0===A?null:A&&M?A/M:A,_=new s({value:g});if(f(l)){const t=y(l),e=y(b),i=e?e.fieldName:null,r=c(g,{fieldInfos:d,fieldName:n,layer:v,preventPlacesFormatting:!!M}),a=t?t.label||t.fieldName:n,s=i&&void 0!==o[i]?o[i]:a;return _.tooltip=this._getTooltip({label:s,value:r,chartType:p}),_}const x=m(d,l),T=u(l,v),C=b&&void 0!==r[b]?r[b]:h(x||new a({fieldName:T}),null==(e=this.popupTemplate)?void 0:e.expressionInfos),F=r[T];return _.tooltip=this._getTooltip({label:C,value:F,chartType:p}),_}};t([i()],I.prototype,"abilities",void 0),t([o("abilities")],I.prototype,"castAbilities",null),t([i()],I.prototype,"activeMediaInfoIndex",void 0),t([i({readOnly:!0})],I.prototype,"activeMediaInfo",null),t([i()],I.prototype,"attributes",void 0),t([i()],I.prototype,"description",void 0),t([i()],I.prototype,"fieldInfoMap",void 0),t([i()],I.prototype,"formattedAttributes",void 0),t([i()],I.prototype,"expressionAttributes",void 0),t([i({readOnly:!0})],I.prototype,"formattedMediaInfos",null),t([i()],I.prototype,"layer",void 0),t([i({readOnly:!0})],I.prototype,"formattedMediaInfoCount",null),t([i()],I.prototype,"mediaInfos",void 0),t([i()],I.prototype,"popupTemplate",void 0),t([i()],I.prototype,"relatedInfos",void 0),t([i()],I.prototype,"title",void 0),I=t([r("esri.widgets.Feature.FeatureMedia.FeatureMediaViewModel")],I);const b=I;export{b 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{eventKey as t}from"../../core/events.js";import{init as i}from"../../core/watchUtils.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";import n from"./FeatureMedia/FeatureMediaViewModel.js";import l from"./support/FeatureElementInfo.js";import{shouldOpenInNewTab as d}from"./support/featureUtils.js";import{loadChartsModule as c,getColorSet as m}from"../support/chartUtils.js";import{isRTL as u}from"../support/widgetUtils.js";import{messageBundle as h}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as p}from"../support/jsxFactory.js";import{isDarkTheme as f}from"../support/widgetThemeUtils.js";const v={base:"esri-feature-media",mediaContainer:"esri-feature-media__container",mediaItemContainer:"esri-feature-media__item-container",mediaItem:"esri-feature-media__item",mediaItemTitle:"esri-feature-media__item-title",mediaItemCaption:"esri-feature-media__item-caption",mediaPrevious:"esri-feature-media__previous",mediaPreviousIconLTR:"esri-feature-media__previous-icon",mediaPreviousIconRTL:"esri-feature-media__previous-icon--rtl",mediaNext:"esri-feature-media__next",mediaNextIconLTR:"esri-feature-media__next-icon",mediaNextIconRTL:"esri-feature-media__next-icon--rtl",mediaChart:"esri-feature-media__chart",mediaButton:"esri-feature-media__button",mediaIcon:"esri-feature-media__icon",iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconRightTriangleArrow:"esri-icon-right-triangle-arrow"},_=.05,I=.95,M=15;let w=class extends s{constructor(e,t){super(e,t),this._refreshTimer=null,this._refreshIntervalInfo=null,this._featureElementInfo=null,this.attributes=null,this.activeMediaInfoIndex=null,this.description=null,this.fieldInfoMap=null,this.layer=null,this.mediaInfos=null,this.popupTemplate=null,this.relatedInfos=null,this.title=null,this.viewModel=new n,this.messages=null,this._getChartDependencies=async e=>{const t=await c(),{viewModel:i}=this;if(!i)return;const{activeMediaInfo:r}=i;this._renderChart({chartDiv:e,mediaInfo:r,chartsModule:t})}}initialize(){this._featureElementInfo=new l,this.own(i(this,["viewModel.activeMediaInfo","viewModel.activeMediaInfoIndex"],(()=>this._setupMediaRefreshTimer())),i(this,["viewModel.description","viewModel.title"],(()=>this._setupFeatureElementInfo())))}destroy(){this._clearMediaRefreshTimer(),this._featureElementInfo.destroy()}render(){var e;return p("div",{bind:this,class:v.base,onkeyup:this._handleMediaKeyup},null==(e=this._featureElementInfo)?void 0:e.render(),this.renderMedia())}renderMedia(){const{formattedMediaInfoCount:e}=this.viewModel;return e?p("div",{key:"media-element-container",class:v.mediaContainer},this.renderMediaPageButton("previous"),this.renderMediaInfo(),this.renderMediaPageButton("next")):null}renderImageMediaInfo(e){const{_refreshIntervalInfo:t}=this,{activeMediaInfoIndex:i,formattedMediaInfoCount:r}=this.viewModel,{value:a,refreshInterval:o,altText:s,title:n,type:l}=e,{sourceURL:c,linkURL:m}=a,u=d(m)?"_blank":"_self",h="_blank"===u?"noreferrer":"",f=o?t:null,v=f?f.timestamp:0,_=f?f.sourceURL:c,I=p("img",{alt:s||n,key:`media-${l}-${i}-${r}-${v}`,src:_}),M=m?p("a",{title:n,href:m,rel:h,target:u},I):null;return M||I}renderChartMediaInfo(e){const{activeMediaInfoIndex:t,formattedMediaInfoCount:i}=this.viewModel;return p("div",{key:`media-${e.type}-${t}-${i}`,bind:this,class:v.mediaChart,afterCreate:this._getChartDependencies})}renderMediaInfoType(){const{activeMediaInfo:e}=this.viewModel;return e?"image"===e.type?this.renderImageMediaInfo(e):-1!==e.type.indexOf("chart")?this.renderChartMediaInfo(e):null:null}renderMediaInfo(){const{activeMediaInfo:e}=this.viewModel;if(!e)return null;const t=e.title?p("div",{key:"media-title",class:v.mediaItemTitle,innerHTML:e.title}):null,i=e.caption?p("div",{key:"media-caption",class:v.mediaItemCaption,innerHTML:e.caption}):null;return p("div",{key:"media-container",class:v.mediaItemContainer},p("div",{key:"media-item-container",class:v.mediaItem},this.renderMediaInfoType()),t,i)}renderMediaPageButton(e){if(this.viewModel.formattedMediaInfoCount<2)return null;const t="previous"===e,i=t?this.messages.previous:this.messages.next,r=t?this.classes(v.mediaButton,v.mediaPrevious):this.classes(v.mediaButton,v.mediaNext),a=t?this.classes(v.mediaIcon,v.mediaPreviousIconLTR,v.iconLeftTriangleArrow):this.classes(v.mediaIcon,v.mediaNextIconLTR,v.iconRightTriangleArrow),o=t?this.classes(v.mediaIcon,v.mediaPreviousIconRTL,v.iconRightTriangleArrow):this.classes(v.mediaIcon,v.mediaNextIconRTL,v.iconLeftTriangleArrow),s=t?"media-previous":"media-next",n=t?this._previous:this._next;return p("button",{type:"button",key:s,title:i,"aria-label":i,tabIndex:0,class:r,bind:this,onclick:n},p("span",{"aria-hidden":"true",class:a}),p("span",{"aria-hidden":"true",class:o}))}_setupFeatureElementInfo(){const{description:e,title:t}=this;this._featureElementInfo.set({description:e,title:t})}_next(){this.viewModel.next()}_previous(){this.viewModel.previous()}_handleMediaKeyup(e){const i=t(e);"ArrowLeft"===i&&(e.stopPropagation(),this.viewModel.previous()),"ArrowRight"===i&&(e.stopPropagation(),this.viewModel.next())}_renderChart(e){const{chartsModule:t,chartDiv:i,mediaInfo:r}=e,{value:a,type:o}=r,{am4core:s}=t,n=m(s);function l(e){e instanceof s.ColorSet&&n&&(e.list=n)}f()&&s.useTheme(t.am4themes_dark),s.useTheme(t.am4themes_animated),s.useTheme(l);const d="pie-chart"===o?this._createPieChart(e):this._createXYChart(e);i.setAttribute("aria-label",r.altText||r.title),d.data=a.series.map((e=>({tooltip:e.tooltip,value:e.value}))).filter((e=>"pie-chart"!==o||e.value>0))}_customizeChartTooltip(e,t){e.label.wrap=!0,e.label.maxWidth=200,e.autoTextColor=!1,e.getFillFromObject=!1,e.label.fill=t.color("#ffffff"),e.background.fill=t.color({r:0,g:0,b:0,a:.7})}_createPieChart(e){const{chartDiv:t,chartsModule:i}=e,{am4core:r,am4charts:a}=i,o=r.create(t,a.PieChart);o.rtl=u(this.container);const s=o.series.push(new a.PieSeries);return s.labels.template.disabled=!0,s.ticks.template.disabled=!0,s.dataFields.value="value",s.dataFields.category="tooltip",this._customizeChartTooltip(s.tooltip,r),o}_getMinSeriesValue(e){let t=0;return e.forEach((e=>t=Math.min(e.value,t))),t}_createColumnChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.xAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dy=-n.tooltip.contentHeight}));const l=e.yAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.ColumnSeries);c.dataFields.valueY="value",c.dataFields.categoryX="tooltip",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarX=new o.Scrollbar)}_createBarChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.yAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.inversed=!0,n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dx=n.tooltip.contentWidth}));const l=e.xAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.ColumnSeries);c.dataFields.valueX="value",c.dataFields.categoryY="tooltip",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarY=new o.Scrollbar)}_createLineChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.xAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dy=-n.tooltip.contentHeight}));const l=e.yAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.LineSeries);c.dataFields.categoryX="tooltip",c.dataFields.valueY="value",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarX=new o.Scrollbar)}_createXYChart(e){const{chartDiv:t,chartsModule:i,mediaInfo:r}=e,{type:a}=r,{am4core:o,am4charts:s}=i,n=o.create(t,s.XYChart);return n.rtl=u(this.container),"column-chart"===a&&this._createColumnChart(n,e),"bar-chart"===a&&this._createBarChart(n,e),"line-chart"===a&&this._createLineChart(n,e),n}_clearMediaRefreshTimer(){const{_refreshTimer:e}=this;e&&(clearTimeout(e),this._refreshTimer=null)}_updateMediaInfoTimestamp(e){const t=Date.now();this._refreshIntervalInfo={timestamp:t,sourceURL:this._getImageSource(e,t)},this.scheduleRender()}_setupMediaRefreshTimer(){this._clearMediaRefreshTimer();const{activeMediaInfo:e}=this.viewModel;e&&"image"===e.type&&e.refreshInterval&&this._setRefreshTimeout(e)}_setRefreshTimeout(e){const{refreshInterval:t,value:i}=e;if(!t)return;const r=6e4*t;this._updateMediaInfoTimestamp(i.sourceURL);const a=setInterval((()=>{this._updateMediaInfoTimestamp(i.sourceURL)}),r);this._refreshTimer=a}_getImageSource(e,t){const i=-1!==e.indexOf("?")?"&":"?",[r,a=""]=e.split("#");return`${r}${i}timestamp=${t}${a?"#":""}${a}`}};e([r("viewModel.attributes")],w.prototype,"attributes",void 0),e([r("viewModel.activeMediaInfoIndex")],w.prototype,"activeMediaInfoIndex",void 0),e([r("viewModel.description")],w.prototype,"description",void 0),e([r("viewModel.fieldInfoMap")],w.prototype,"fieldInfoMap",void 0),e([r("viewModel.layer")],w.prototype,"layer",void 0),e([r("viewModel.mediaInfos")],w.prototype,"mediaInfos",void 0),e([r("viewModel.popupTemplate")],w.prototype,"popupTemplate",void 0),e([r("viewModel.relatedInfos")],w.prototype,"relatedInfos",void 0),e([r("viewModel.title")],w.prototype,"title",void 0),e([a({type:n})],w.prototype,"viewModel",void 0),e([a(),h("esri/widgets/Feature/t9n/Feature")],w.prototype,"messages",void 0),w=e([o("esri.widgets.Feature.FeatureMedia")],w);const g=w;export{g as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{eventKey as t}from"../../core/events.js";import{init as i}from"../../core/watchUtils.js";import{aliasOf as r}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as a}from"../../core/accessorSupport/decorators/property.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";import n from"./FeatureMedia/FeatureMediaViewModel.js";import l from"./support/FeatureElementInfo.js";import{shouldOpenInNewTab as d}from"./support/featureUtils.js";import{loadChartsModule as c,getColorSet as m}from"../support/chartUtils.js";import{isRTL as u}from"../support/widgetUtils.js";import{messageBundle as h}from"../support/decorators/messageBundle.js";import"../../core/Logger.js";import{tsx as p}from"../support/jsxFactory.js";import{isDarkTheme as f}from"../support/widgetThemeUtils.js";const v={base:"esri-feature-media",mediaContainer:"esri-feature-media__container",mediaItemContainer:"esri-feature-media__item-container",mediaItem:"esri-feature-media__item",mediaItemTitle:"esri-feature-media__item-title",mediaItemCaption:"esri-feature-media__item-caption",mediaPrevious:"esri-feature-media__previous",mediaPreviousIconLTR:"esri-feature-media__previous-icon",mediaPreviousIconRTL:"esri-feature-media__previous-icon--rtl",mediaNext:"esri-feature-media__next",mediaNextIconLTR:"esri-feature-media__next-icon",mediaNextIconRTL:"esri-feature-media__next-icon--rtl",mediaChart:"esri-feature-media__chart",mediaButton:"esri-feature-media__button",mediaIcon:"esri-feature-media__icon",iconLeftTriangleArrow:"esri-icon-left-triangle-arrow",iconRightTriangleArrow:"esri-icon-right-triangle-arrow"},_=.05,I=.95,M=15;let w=class extends s{constructor(e,t){super(e,t),this._refreshTimer=null,this._refreshIntervalInfo=null,this._featureElementInfo=null,this.attributes=null,this.activeMediaInfoIndex=null,this.description=null,this.fieldInfoMap=null,this.layer=null,this.mediaInfos=null,this.popupTemplate=null,this.relatedInfos=null,this.title=null,this.viewModel=new n,this.messages=null,this._getChartDependencies=async e=>{const t=await c(),{destroyed:i,viewModel:r}=this;if(i||!r||!e)return;const{activeMediaInfo:a}=r;this._renderChart({chartDiv:e,mediaInfo:a,chartsModule:t})}}initialize(){this._featureElementInfo=new l,this.own(i(this,["viewModel.activeMediaInfo","viewModel.activeMediaInfoIndex"],(()=>this._setupMediaRefreshTimer())),i(this,["viewModel.description","viewModel.title"],(()=>this._setupFeatureElementInfo())))}destroy(){this._clearMediaRefreshTimer(),this._featureElementInfo.destroy()}render(){var e;return p("div",{bind:this,class:v.base,onkeyup:this._handleMediaKeyup},null==(e=this._featureElementInfo)?void 0:e.render(),this.renderMedia())}renderMedia(){const{formattedMediaInfoCount:e}=this.viewModel;return e?p("div",{key:"media-element-container",class:v.mediaContainer},this.renderMediaPageButton("previous"),this.renderMediaInfo(),this.renderMediaPageButton("next")):null}renderImageMediaInfo(e){const{_refreshIntervalInfo:t}=this,{activeMediaInfoIndex:i,formattedMediaInfoCount:r}=this.viewModel,{value:a,refreshInterval:o,altText:s,title:n,type:l}=e,{sourceURL:c,linkURL:m}=a,u=d(m)?"_blank":"_self",h="_blank"===u?"noreferrer":"",f=o?t:null,v=f?f.timestamp:0,_=f?f.sourceURL:c,I=p("img",{alt:s||n,key:`media-${l}-${i}-${r}-${v}`,src:_}),M=m?p("a",{title:n,href:m,rel:h,target:u},I):null;return M||I}renderChartMediaInfo(e){const{activeMediaInfoIndex:t,formattedMediaInfoCount:i}=this.viewModel;return p("div",{key:`media-${e.type}-${t}-${i}`,bind:this,class:v.mediaChart,afterCreate:this._getChartDependencies})}renderMediaInfoType(){const{activeMediaInfo:e}=this.viewModel;return e?"image"===e.type?this.renderImageMediaInfo(e):-1!==e.type.indexOf("chart")?this.renderChartMediaInfo(e):null:null}renderMediaInfo(){const{activeMediaInfo:e}=this.viewModel;if(!e)return null;const t=e.title?p("div",{key:"media-title",class:v.mediaItemTitle,innerHTML:e.title}):null,i=e.caption?p("div",{key:"media-caption",class:v.mediaItemCaption,innerHTML:e.caption}):null;return p("div",{key:"media-container",class:v.mediaItemContainer},p("div",{key:"media-item-container",class:v.mediaItem},this.renderMediaInfoType()),t,i)}renderMediaPageButton(e){if(this.viewModel.formattedMediaInfoCount<2)return null;const t="previous"===e,i=t?this.messages.previous:this.messages.next,r=t?this.classes(v.mediaButton,v.mediaPrevious):this.classes(v.mediaButton,v.mediaNext),a=t?this.classes(v.mediaIcon,v.mediaPreviousIconLTR,v.iconLeftTriangleArrow):this.classes(v.mediaIcon,v.mediaNextIconLTR,v.iconRightTriangleArrow),o=t?this.classes(v.mediaIcon,v.mediaPreviousIconRTL,v.iconRightTriangleArrow):this.classes(v.mediaIcon,v.mediaNextIconRTL,v.iconLeftTriangleArrow),s=t?"media-previous":"media-next",n=t?this._previous:this._next;return p("button",{type:"button",key:s,title:i,"aria-label":i,tabIndex:0,class:r,bind:this,onclick:n},p("span",{"aria-hidden":"true",class:a}),p("span",{"aria-hidden":"true",class:o}))}_setupFeatureElementInfo(){const{description:e,title:t}=this;this._featureElementInfo.set({description:e,title:t})}_next(){this.viewModel.next()}_previous(){this.viewModel.previous()}_handleMediaKeyup(e){const i=t(e);"ArrowLeft"===i&&(e.stopPropagation(),this.viewModel.previous()),"ArrowRight"===i&&(e.stopPropagation(),this.viewModel.next())}_renderChart(e){const{abilities:t}=this.viewModel,{chartsModule:i,chartDiv:r,mediaInfo:a}=e,{value:o,type:s}=a,{am4core:n}=i,l=m(n);function d(e){e instanceof n.ColorSet&&l&&(e.list=l)}f()&&n.useTheme(i.am4themes_dark);const c=window.matchMedia("(prefers-reduced-motion: reduce)");t.chartAnimation&&!c.matches?n.useTheme(i.am4themes_animated):n.unuseTheme(i.am4themes_animated),n.useTheme(d);const u="pie-chart"===s?this._createPieChart(e):this._createXYChart(e);r.setAttribute("aria-label",a.altText||a.title),u.data=o.series.map((e=>({tooltip:e.tooltip,value:e.value}))).filter((e=>"pie-chart"!==s||e.value>0))}_customizeChartTooltip(e,t){e.label.wrap=!0,e.label.maxWidth=200,e.autoTextColor=!1,e.getFillFromObject=!1,e.label.fill=t.color("#ffffff"),e.background.fill=t.color({r:0,g:0,b:0,a:.7})}_createPieChart(e){const{chartDiv:t,chartsModule:i}=e,{am4core:r,am4charts:a}=i,o=r.create(t,a.PieChart);o.rtl=u(this.container);const s=o.series.push(new a.PieSeries);return s.labels.template.disabled=!0,s.ticks.template.disabled=!0,s.dataFields.value="value",s.dataFields.category="tooltip",this._customizeChartTooltip(s.tooltip,r),o}_getMinSeriesValue(e){let t=0;return e.forEach((e=>t=Math.min(e.value,t))),t}_createColumnChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.xAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dy=-n.tooltip.contentHeight}));const l=e.yAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.ColumnSeries);c.dataFields.valueY="value",c.dataFields.categoryX="tooltip",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarX=new o.Scrollbar)}_createBarChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.yAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.inversed=!0,n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dx=n.tooltip.contentWidth}));const l=e.xAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.ColumnSeries);c.dataFields.valueX="value",c.dataFields.categoryY="tooltip",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarY=new o.Scrollbar)}_createLineChart(e,t){const{chartsModule:i,mediaInfo:r}=t,{value:a}=r,{am4core:o,am4charts:s}=i,n=e.xAxes.push(new s.CategoryAxis);n.dataFields.category="tooltip",n.renderer.labels.template.disabled=!0,this._customizeChartTooltip(n.tooltip,o),n.tooltip.events.on("sizechanged",(()=>{n.tooltip.dy=-n.tooltip.contentHeight}));const l=e.yAxes.push(new s.ValueAxis),d=l.renderer.labels.template;l.renderer.minLabelPosition=_,l.renderer.maxLabelPosition=I,l.min=this._getMinSeriesValue(a.series),this._customizeChartTooltip(l.tooltip,o),d.wrap=!0;const c=e.series.push(new s.LineSeries);c.dataFields.categoryX="tooltip",c.dataFields.valueY="value",e.cursor=new s.XYCursor,a.series.length>M&&(e.scrollbarX=new o.Scrollbar)}_createXYChart(e){const{chartDiv:t,chartsModule:i,mediaInfo:r}=e,{type:a}=r,{am4core:o,am4charts:s}=i,n=o.create(t,s.XYChart);return n.rtl=u(this.container),"column-chart"===a&&this._createColumnChart(n,e),"bar-chart"===a&&this._createBarChart(n,e),"line-chart"===a&&this._createLineChart(n,e),n}_clearMediaRefreshTimer(){const{_refreshTimer:e}=this;e&&(clearTimeout(e),this._refreshTimer=null)}_updateMediaInfoTimestamp(e){const t=Date.now();this._refreshIntervalInfo={timestamp:t,sourceURL:this._getImageSource(e,t)},this.scheduleRender()}_setupMediaRefreshTimer(){this._clearMediaRefreshTimer();const{activeMediaInfo:e}=this.viewModel;e&&"image"===e.type&&e.refreshInterval&&this._setRefreshTimeout(e)}_setRefreshTimeout(e){const{refreshInterval:t,value:i}=e;if(!t)return;const r=6e4*t;this._updateMediaInfoTimestamp(i.sourceURL);const a=setInterval((()=>{this._updateMediaInfoTimestamp(i.sourceURL)}),r);this._refreshTimer=a}_getImageSource(e,t){const i=-1!==e.indexOf("?")?"&":"?",[r,a=""]=e.split("#");return`${r}${i}timestamp=${t}${a?"#":""}${a}`}};e([r("viewModel.attributes")],w.prototype,"attributes",void 0),e([r("viewModel.activeMediaInfoIndex")],w.prototype,"activeMediaInfoIndex",void 0),e([r("viewModel.description")],w.prototype,"description",void 0),e([r("viewModel.fieldInfoMap")],w.prototype,"fieldInfoMap",void 0),e([r("viewModel.layer")],w.prototype,"layer",void 0),e([r("viewModel.mediaInfos")],w.prototype,"mediaInfos",void 0),e([r("viewModel.popupTemplate")],w.prototype,"popupTemplate",void 0),e([r("viewModel.relatedInfos")],w.prototype,"relatedInfos",void 0),e([r("viewModel.title")],w.prototype,"title",void 0),e([a({type:n})],w.prototype,"viewModel",void 0),e([a(),h("esri/widgets/Feature/t9n/Feature")],w.prototype,"messages",void 0),w=e([o("esri.widgets.Feature.FeatureMedia")],w);const g=w;export{g 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{FeatureSetQueryInterceptor as r}from"../../arcade/featureset/support/FeatureSetQueryInterceptor.js";import i from"../../core/Accessor.js";import o from"../../core/Handles.js";import s from"../../core/Logger.js";import{isSome as n}from"../../core/maybe.js";import{isAbortError as a,eachAlways as l}from"../../core/promiseUtils.js";import{throttle as p}from"../../core/throttle.js";import{init as c}from"../../core/watchUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as u}from"../../core/accessorSupport/decorators/cast.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../popup/content/TextContent.js";import m from"./FeatureAttachments/FeatureAttachmentsViewModel.js";import _ from"./FeatureContent/FeatureContentViewModel.js";import y from"./FeatureExpression/FeatureExpressionViewModel.js";import b from"./FeatureFields/FeatureFieldsViewModel.js";import g from"./FeatureMedia/FeatureMediaViewModel.js";import{createCompiledExpressions as I}from"./support/arcadeFeatureUtils.js";import{preLayerQueryCallback as A,preRequestCallback as v,createfieldInfoMap as M,getAllFieldInfos as x,getSourceLayer as w,substituteFieldsInLinksAndAttributes as C,isExpressionField as F,isRelatedField as E,formatEditInfo as T,graphicCallback as V,queryUpdatedFeature as P,formatAttributes as j}from"./support/featureUtils.js";import{queryLayerInfos as L,queryRelatedFeatures as R,setRelatedFeatures as O,getRelatedFieldInfo as S,createRelatedInfo as k,updateRelatedInfo as U}from"./support/relatedFeatureUtils.js";var N;const q=1,D="content-view-models",Q="esri.widgets.FeatureViewModel",B=s.getLogger(Q),G={attachmentsContent:!0,customContent:!0,expressionContent:!0,fieldsContent:!0,mediaContent:!0,textContent:!0};let H=N=class extends i{constructor(e){super(e),this._handles=new o,this._error=null,this._featureAbortController=null,this.graphicChangedThrottled=p(this._graphicChanged,q,this),this._expressionAttributes=null,this._graphicExpressionAttributes=null,this.abilities={...G},this.content=null,this.contentViewModels=[],this.defaultPopupTemplateEnabled=!1,this.formattedAttributes=null,this.lastEditInfo=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},this._handles.add(c(this,["graphic","_effectivePopupTemplate","abilities"],(()=>this.graphicChangedThrottled())))}destroy(){this._clear(),this._cancelFeatureQuery(),this._error=null,this._handles.destroy(),this._handles=null,this.graphic=null,this._destroyContentViewModels(),this.relatedInfos.clear()}get _effectivePopupTemplate(){return n(this.graphic)?this.graphic.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled):null}get _fieldInfoMap(){return M(x(this._effectivePopupTemplate),this._sourceLayer)}get _sourceLayer(){return w(this.graphic)}castAbilities(e){return{...G,...e}}get state(){return this.graphic?this._error?"error":this.waitingForContent?"loading":"ready":"disabled"}set graphic(e){this._set("graphic",e?e.clone():null)}get spatialReference(){return this.get("view.spatialReference")||null}set spatialReference(e){void 0!==e?this._override("spatialReference",e):this._clearOverride("spatialReference")}get map(){return this.get("view.map")||null}set map(e){void 0!==e?this._override("map",e):this._clearOverride("map")}get waitingForContent(){return!!this._featureAbortController}setActiveMedia(e,t){const r=this.contentViewModels[e];r instanceof g&&r.setActiveMedia(t)}nextMedia(e){const t=this.contentViewModels[e];t instanceof g&&t.next()}previousMedia(e){const t=this.contentViewModels[e];t instanceof g&&t.previous()}_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(r){a(r)||(this._error=r,B.error("error","The popupTemplate could not be displayed for this feature.",{error:r,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):void 0}_compileContent(e){if(this._destroyContentViewModels(),this.graphic)return Array.isArray(e)?e.filter(this._isAllowedContentType).map(((e,t)=>this._compileContentElement(e,t))):"string"==typeof e?this._compileText(new h({text:e}),0).text:e}_destroyContentViewModels(){var e;null==(e=this._handles)||e.remove(D),this.contentViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("contentViewModels",[])}_setExpressionContentVM(e,t){const{formattedAttributes:r}=this,{contentElement:i,contentElementViewModel:o}=e,s=null==i?void 0:i.type;o&&s&&("fields"===s&&(this._createFieldsFormattedAttributes({contentElement:i,contentElementIndex:t,formattedAttributes:r}),o.set(this._createFieldsVMParams(i,t))),"media"===s&&(this._createMediaFormattedAttributes({contentElement:i,contentElementIndex:t,formattedAttributes:r}),o.set(this._createMediaVMParams(i,t))),"text"===s&&o.set(this._createTextVMParams(i)))}_compileExpression(e,t){const{expressionInfo:r}=e,{graphic:i,map:o,spatialReference:s,view:n}=this,a=new y({expressionInfo:r,graphic:i,interceptor:N.interceptor,map:o,spatialReference:s,view:n});return this.contentViewModels[t]=a,this._handles.add(c(a,"contentElementViewModel",(()=>this._setExpressionContentVM(a,t))),D),e}_compileAttachments(e,t){const{graphic:r}=this,{description:i,title:o}=e;return this.contentViewModels[t]=new m({graphic:r,...this._compileTitleAndDesc({title:o,description:i})}),e}_compileCustom(e,t){const{graphic:r}=this,{creator:i,destroyer:o}=e;return this.contentViewModels[t]=new _({graphic:r,creator:i,destroyer:o}),e}_compileTitleAndDesc({title:e,description:t}){const{_fieldInfoMap:r,_sourceLayer:i,graphic:o,formattedAttributes:s,_expressionAttributes:n}=this,{attributes:a}=o,l=s.global;return{title:C({attributes:a,fieldInfoMap:r,globalAttributes:l,expressionAttributes:n,layer:i,text:e}),description:C({attributes:a,fieldInfoMap:r,globalAttributes:l,expressionAttributes:n,layer:i,text:t})}}_createFieldsVMParams(e,t){const{_effectivePopupTemplate:r,formattedAttributes:i}=this,o={...i.global,...i.content[t]},s=(null==e?void 0:e.fieldInfos)||(null==r?void 0:r.fieldInfos),n=null==s?void 0:s.filter((({fieldName:e})=>F(e)||E(e)||o.hasOwnProperty(e))),a=null==r?void 0:r.expressionInfos,{description:l,title:p}=e;return{attributes:o,expressionInfos:a,fieldInfos:n,...this._compileTitleAndDesc({title:p,description:l})}}_compileFields(e,t){const r=e.clone(),i=new b(this._createFieldsVMParams(e,t));return this.contentViewModels[t]=i,r.fieldInfos=i.formattedFieldInfos.slice(0),r}_createMediaVMParams(e,t){const{graphic:r,_fieldInfoMap:i,formattedAttributes:o,_effectivePopupTemplate:s,relatedInfos:n,_sourceLayer:a,_expressionAttributes:l}=this,{attributes:p}=r,{description:c,mediaInfos:d,title:u}=e;return{activeMediaInfoIndex:e.activeMediaInfoIndex||0,attributes:p,layer:a,fieldInfoMap:i,formattedAttributes:{...o.global,...o.content[t]},expressionAttributes:l,mediaInfos:d,popupTemplate:s,relatedInfos:n,...this._compileTitleAndDesc({title:u,description:c})}}_compileMedia(e,t){const r=e.clone(),i=new g(this._createMediaVMParams(e,t));return r.mediaInfos=i.formattedMediaInfos.slice(0),this.contentViewModels[t]=i,r}_createTextVMParams(e){const{graphic:t,_fieldInfoMap:r,_sourceLayer:i,_expressionAttributes:o}=this;if(e&&e.text){const{attributes:s}=t,n=this.formattedAttributes.global;e.text=C({attributes:s,fieldInfoMap:r,globalAttributes:n,expressionAttributes:o,layer:i,text:e.text})}return{graphic:t,creator:e.text}}_compileText(e,t){const r=e.clone();return this.contentViewModels[t]=new _(this._createTextVMParams(r)),r}_compileLastEditInfo(){const{_effectivePopupTemplate:e,_sourceLayer:t,graphic:r}=this;if(!e)return;const{lastEditInfoEnabled:i}=e,o=null==t?void 0:t.editFieldsInfo;return i&&o?T(o,r.attributes):void 0}_compileTitle(e){const{_fieldInfoMap:t,_sourceLayer:r,graphic:i,_expressionAttributes:o}=this,{attributes:s}=i,n=this.formattedAttributes.global;return C({attributes:s,fieldInfoMap:t,globalAttributes:n,expressionAttributes:o,layer:r,text:e})}async _getTitle(){const{_effectivePopupTemplate:e,graphic:t}=this,r=null==e?void 0:e.title;return V(r,{graphic:t})}async _getContent(){const{_effectivePopupTemplate:e,graphic:t}=this,r=null==e?void 0:e.content;return V(r,{graphic:t})}async _queryFeature(e){const{_featureAbortController:t,_sourceLayer:r,graphic:i,_effectivePopupTemplate:o,spatialReference:s,map:n,view:a}=this,{content:{value:p},title:{value:c}}=await l({content:this._getContent(),title:this._getTitle()});if(t!==this._featureAbortController||!i)return;await P({graphic:i,popupTemplate:o,layer:r,spatialReference:s},e);const{expressionAttributes:{value:d}}=await l({checkForRelatedFeatures:this._checkForRelatedFeatures(e),expressionAttributes:I({expressionInfos:null==o?void 0:o.expressionInfos,spatialReference:s,graphic:i,map:n,interceptor:N.interceptor,view:a})});t===this._featureAbortController&&i&&(this._expressionAttributes=d,this._graphicExpressionAttributes={...i.attributes,...d},this._set("formattedAttributes",this._createFormattedAttributes(p)),this._set("title",this._compileTitle(c)),this._set("lastEditInfo",this._compileLastEditInfo()||null),this._set("content",this._compileContent(p)||null))}_createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:r}){const{_effectivePopupTemplate:i,graphic:o,relatedInfos:s,_sourceLayer:n,_fieldInfoMap:a,_graphicExpressionAttributes:l}=this;r.content[t]=j({fieldInfos:null==i?void 0:i.fieldInfos,graphic:o,attributes:{...l,...e.attributes},layer:n,fieldInfoMap:a,relatedInfos:s})}_createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:r}){if(e.fieldInfos){const{graphic:i,relatedInfos:o,_sourceLayer:s,_fieldInfoMap:n,_graphicExpressionAttributes:a}=this;r.content[t]=j({fieldInfos:e.fieldInfos,graphic:i,attributes:{...a,...e.attributes},layer:s,fieldInfoMap:n,relatedInfos:o})}}_createFormattedAttributes(e){const{_effectivePopupTemplate:t,graphic:r,relatedInfos:i,_sourceLayer:o,_fieldInfoMap:s,_graphicExpressionAttributes:n}=this,a=null==t?void 0:t.fieldInfos,l={global:j({fieldInfos:a,graphic:r,attributes:n,layer:o,fieldInfoMap:s,relatedInfos:i}),content:[]};return Array.isArray(e)&&e.forEach(((e,t)=>{"fields"===e.type&&this._createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:l}),"media"===e.type&&this._createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:l})})),l}_checkForRelatedFeatures(e){const{graphic:t,_effectivePopupTemplate:r}=this;return this._queryRelatedInfos(t,x(r),e)}async _queryRelatedInfos(e,t,r){const{relatedInfos:i,_sourceLayer:o}=this;i.clear();const s=n(o.associatedLayer)?await o.associatedLayer.load(r):o;if(!s)return;const a=t.filter((e=>e&&E(e.fieldName)));if(!a||!a.length)return;t.forEach((e=>this._configureRelatedInfo(e,s)));const l=await L({relatedInfos:i,layer:s},r);Object.keys(l).forEach((e=>{var t;const r=i.get(e.toString()),o=null==(t=l[e])?void 0:t.value;r&&o&&(r.layerInfo=o.data)}));const p=await R({graphic:e,relatedInfos:i,layer:s},r);Object.keys(p).forEach((e=>{var t;O(null==(t=p[e])?void 0:t.value,i.get(e.toString()))}))}_configureRelatedInfo(e,t){const{relatedInfos:r}=this,i=S(e.fieldName);if(!i)return;const{layerId:o,fieldName:s}=i;if(!o)return;const n=r.get(o.toString())||k(o,t);n&&(U({relatedInfo:n,fieldName:s,fieldInfo:e}),this.relatedInfos.set(o,n))}};H.interceptor=new r(A,v),e([d()],H.prototype,"_error",void 0),e([d()],H.prototype,"_featureAbortController",void 0),e([d({readOnly:!0})],H.prototype,"_effectivePopupTemplate",null),e([d({readOnly:!0})],H.prototype,"_fieldInfoMap",null),e([d({readOnly:!0})],H.prototype,"_sourceLayer",null),e([d()],H.prototype,"abilities",void 0),e([u("abilities")],H.prototype,"castAbilities",null),e([d({readOnly:!0})],H.prototype,"content",void 0),e([d({readOnly:!0})],H.prototype,"contentViewModels",void 0),e([d({type:Boolean})],H.prototype,"defaultPopupTemplateEnabled",void 0),e([d({readOnly:!0})],H.prototype,"state",null),e([d({readOnly:!0})],H.prototype,"formattedAttributes",void 0),e([d({type:t,value:null})],H.prototype,"graphic",null),e([d({readOnly:!0})],H.prototype,"lastEditInfo",void 0),e([d({readOnly:!0})],H.prototype,"relatedInfos",void 0),e([d()],H.prototype,"spatialReference",null),e([d({readOnly:!0})],H.prototype,"title",void 0),e([d()],H.prototype,"map",null),e([d({readOnly:!0})],H.prototype,"waitingForContent",null),e([d()],H.prototype,"view",void 0),H=N=e([f(Q)],H);const z=H;export{z as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import{FeatureSetQueryInterceptor as r}from"../../arcade/featureset/support/FeatureSetQueryInterceptor.js";import i from"../../core/Accessor.js";import o from"../../core/Handles.js";import s from"../../core/Logger.js";import{isSome as n}from"../../core/maybe.js";import{isAbortError as a,eachAlways as l}from"../../core/promiseUtils.js";import{throttle as p}from"../../core/throttle.js";import{init as c}from"../../core/watchUtils.js";import{property as d}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{cast as u}from"../../core/accessorSupport/decorators/cast.js";import{subclass as f}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../popup/content/TextContent.js";import m from"./FeatureAttachments/FeatureAttachmentsViewModel.js";import _ from"./FeatureContent/FeatureContentViewModel.js";import y from"./FeatureExpression/FeatureExpressionViewModel.js";import b from"./FeatureFields/FeatureFieldsViewModel.js";import g from"./FeatureMedia/FeatureMediaViewModel.js";import{createCompiledExpressions as A}from"./support/arcadeFeatureUtils.js";import{preLayerQueryCallback as I,preRequestCallback as v,createfieldInfoMap as M,getAllFieldInfos as x,getSourceLayer as w,substituteFieldsInLinksAndAttributes as C,isExpressionField as F,isRelatedField as E,formatEditInfo as T,graphicCallback as V,queryUpdatedFeature as P,formatAttributes as j}from"./support/featureUtils.js";import{queryLayerInfos as L,queryRelatedFeatures as R,setRelatedFeatures as O,getRelatedFieldInfo as S,createRelatedInfo as k,updateRelatedInfo as U}from"./support/relatedFeatureUtils.js";var N;const q=1,D="content-view-models",Q="esri.widgets.FeatureViewModel",B=s.getLogger(Q),G={attachmentsContent:!0,chartAnimation:!0,customContent:!0,expressionContent:!0,fieldsContent:!0,mediaContent:!0,textContent:!0};let H=N=class extends i{constructor(e){super(e),this._handles=new o,this._error=null,this._featureAbortController=null,this.graphicChangedThrottled=p(this._graphicChanged,q,this),this._expressionAttributes=null,this._graphicExpressionAttributes=null,this.abilities={...G},this.content=null,this.contentViewModels=[],this.defaultPopupTemplateEnabled=!1,this.formattedAttributes=null,this.lastEditInfo=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},this._handles.add(c(this,["graphic","_effectivePopupTemplate","abilities"],(()=>this.graphicChangedThrottled())))}destroy(){this._clear(),this._cancelFeatureQuery(),this._error=null,this._handles.destroy(),this._handles=null,this.graphic=null,this._destroyContentViewModels(),this.relatedInfos.clear()}get _effectivePopupTemplate(){return n(this.graphic)?this.graphic.getEffectivePopupTemplate(this.defaultPopupTemplateEnabled):null}get _fieldInfoMap(){return M(x(this._effectivePopupTemplate),this._sourceLayer)}get _sourceLayer(){return w(this.graphic)}castAbilities(e){return{...G,...e}}get state(){return this.graphic?this._error?"error":this.waitingForContent?"loading":"ready":"disabled"}set graphic(e){this._set("graphic",e?e.clone():null)}get spatialReference(){return this.get("view.spatialReference")||null}set spatialReference(e){void 0!==e?this._override("spatialReference",e):this._clearOverride("spatialReference")}get map(){return this.get("view.map")||null}set map(e){void 0!==e?this._override("map",e):this._clearOverride("map")}get waitingForContent(){return!!this._featureAbortController}setActiveMedia(e,t){const r=this.contentViewModels[e];r instanceof g&&r.setActiveMedia(t)}nextMedia(e){const t=this.contentViewModels[e];t instanceof g&&t.next()}previousMedia(e){const t=this.contentViewModels[e];t instanceof g&&t.previous()}_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(r){a(r)||(this._error=r,B.error("error","The popupTemplate could not be displayed for this feature.",{error:r,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):void 0}_compileContent(e){if(this._destroyContentViewModels(),this.graphic)return Array.isArray(e)?e.filter(this._isAllowedContentType).map(((e,t)=>this._compileContentElement(e,t))):"string"==typeof e?this._compileText(new h({text:e}),0).text:e}_destroyContentViewModels(){var e;null==(e=this._handles)||e.remove(D),this.contentViewModels.forEach((e=>e&&!e.destroyed&&e.destroy())),this._set("contentViewModels",[])}_setExpressionContentVM(e,t){const{formattedAttributes:r}=this,{contentElement:i,contentElementViewModel:o}=e,s=null==i?void 0:i.type;o&&s&&("fields"===s&&(this._createFieldsFormattedAttributes({contentElement:i,contentElementIndex:t,formattedAttributes:r}),o.set(this._createFieldsVMParams(i,t))),"media"===s&&(this._createMediaFormattedAttributes({contentElement:i,contentElementIndex:t,formattedAttributes:r}),o.set(this._createMediaVMParams(i,t))),"text"===s&&o.set(this._createTextVMParams(i)))}_compileExpression(e,t){const{expressionInfo:r}=e,{graphic:i,map:o,spatialReference:s,view:n}=this,a=new y({expressionInfo:r,graphic:i,interceptor:N.interceptor,map:o,spatialReference:s,view:n});return this.contentViewModels[t]=a,this._handles.add(c(a,"contentElementViewModel",(()=>this._setExpressionContentVM(a,t))),D),e}_compileAttachments(e,t){const{graphic:r}=this,{description:i,title:o}=e;return this.contentViewModels[t]=new m({graphic:r,...this._compileTitleAndDesc({title:o,description:i})}),e}_compileCustom(e,t){const{graphic:r}=this,{creator:i,destroyer:o}=e;return this.contentViewModels[t]=new _({graphic:r,creator:i,destroyer:o}),e}_compileTitleAndDesc({title:e,description:t}){const{_fieldInfoMap:r,_sourceLayer:i,graphic:o,formattedAttributes:s,_expressionAttributes:n}=this,{attributes:a}=o,l=s.global;return{title:C({attributes:a,fieldInfoMap:r,globalAttributes:l,expressionAttributes:n,layer:i,text:e}),description:C({attributes:a,fieldInfoMap:r,globalAttributes:l,expressionAttributes:n,layer:i,text:t})}}_createFieldsVMParams(e,t){const{_effectivePopupTemplate:r,formattedAttributes:i}=this,o={...i.global,...i.content[t]},s=(null==e?void 0:e.fieldInfos)||(null==r?void 0:r.fieldInfos),n=null==s?void 0:s.filter((({fieldName:e})=>F(e)||E(e)||o.hasOwnProperty(e))),a=null==r?void 0:r.expressionInfos,{description:l,title:p}=e;return{attributes:o,expressionInfos:a,fieldInfos:n,...this._compileTitleAndDesc({title:p,description:l})}}_compileFields(e,t){const r=e.clone(),i=new b(this._createFieldsVMParams(e,t));return this.contentViewModels[t]=i,r.fieldInfos=i.formattedFieldInfos.slice(0),r}_createMediaVMParams(e,t){const{abilities:r,graphic:i,_fieldInfoMap:o,formattedAttributes:s,_effectivePopupTemplate:n,relatedInfos:a,_sourceLayer:l,_expressionAttributes:p}=this,{attributes:c}=i,{description:d,mediaInfos:u,title:f}=e;return{abilities:{chartAnimation:r.chartAnimation},activeMediaInfoIndex:e.activeMediaInfoIndex||0,attributes:c,layer:l,fieldInfoMap:o,formattedAttributes:{...s.global,...s.content[t]},expressionAttributes:p,mediaInfos:u,popupTemplate:n,relatedInfos:a,...this._compileTitleAndDesc({title:f,description:d})}}_compileMedia(e,t){const r=e.clone(),i=new g(this._createMediaVMParams(e,t));return r.mediaInfos=i.formattedMediaInfos.slice(0),this.contentViewModels[t]=i,r}_createTextVMParams(e){const{graphic:t,_fieldInfoMap:r,_sourceLayer:i,_expressionAttributes:o}=this;if(e&&e.text){const{attributes:s}=t,n=this.formattedAttributes.global;e.text=C({attributes:s,fieldInfoMap:r,globalAttributes:n,expressionAttributes:o,layer:i,text:e.text})}return{graphic:t,creator:e.text}}_compileText(e,t){const r=e.clone();return this.contentViewModels[t]=new _(this._createTextVMParams(r)),r}_compileLastEditInfo(){const{_effectivePopupTemplate:e,_sourceLayer:t,graphic:r}=this;if(!e)return;const{lastEditInfoEnabled:i}=e,o=null==t?void 0:t.editFieldsInfo;return i&&o?T(o,r.attributes):void 0}_compileTitle(e){const{_fieldInfoMap:t,_sourceLayer:r,graphic:i,_expressionAttributes:o}=this,{attributes:s}=i,n=this.formattedAttributes.global;return C({attributes:s,fieldInfoMap:t,globalAttributes:n,expressionAttributes:o,layer:r,text:e})}async _getTitle(){const{_effectivePopupTemplate:e,graphic:t}=this,r=null==e?void 0:e.title;return V(r,{graphic:t})}async _getContent(){const{_effectivePopupTemplate:e,graphic:t}=this,r=null==e?void 0:e.content;return V(r,{graphic:t})}async _queryFeature(e){const{_featureAbortController:t,_sourceLayer:r,graphic:i,_effectivePopupTemplate:o,spatialReference:s,map:n,view:a}=this,{content:{value:p},title:{value:c}}=await l({content:this._getContent(),title:this._getTitle()});if(t!==this._featureAbortController||!i)return;await P({graphic:i,popupTemplate:o,layer:r,spatialReference:s},e);const{expressionAttributes:{value:d}}=await l({checkForRelatedFeatures:this._checkForRelatedFeatures(e),expressionAttributes:A({expressionInfos:null==o?void 0:o.expressionInfos,spatialReference:s,graphic:i,map:n,interceptor:N.interceptor,view:a})});t===this._featureAbortController&&i&&(this._expressionAttributes=d,this._graphicExpressionAttributes={...i.attributes,...d},this._set("formattedAttributes",this._createFormattedAttributes(p)),this._set("title",this._compileTitle(c)),this._set("lastEditInfo",this._compileLastEditInfo()||null),this._set("content",this._compileContent(p)||null))}_createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:r}){const{_effectivePopupTemplate:i,graphic:o,relatedInfos:s,_sourceLayer:n,_fieldInfoMap:a,_graphicExpressionAttributes:l}=this;r.content[t]=j({fieldInfos:null==i?void 0:i.fieldInfos,graphic:o,attributes:{...l,...e.attributes},layer:n,fieldInfoMap:a,relatedInfos:s})}_createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:r}){if(e.fieldInfos){const{graphic:i,relatedInfos:o,_sourceLayer:s,_fieldInfoMap:n,_graphicExpressionAttributes:a}=this;r.content[t]=j({fieldInfos:e.fieldInfos,graphic:i,attributes:{...a,...e.attributes},layer:s,fieldInfoMap:n,relatedInfos:o})}}_createFormattedAttributes(e){const{_effectivePopupTemplate:t,graphic:r,relatedInfos:i,_sourceLayer:o,_fieldInfoMap:s,_graphicExpressionAttributes:n}=this,a=null==t?void 0:t.fieldInfos,l={global:j({fieldInfos:a,graphic:r,attributes:n,layer:o,fieldInfoMap:s,relatedInfos:i}),content:[]};return Array.isArray(e)&&e.forEach(((e,t)=>{"fields"===e.type&&this._createFieldsFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:l}),"media"===e.type&&this._createMediaFormattedAttributes({contentElement:e,contentElementIndex:t,formattedAttributes:l})})),l}_checkForRelatedFeatures(e){const{graphic:t,_effectivePopupTemplate:r}=this;return this._queryRelatedInfos(t,x(r),e)}async _queryRelatedInfos(e,t,r){const{relatedInfos:i,_sourceLayer:o}=this;i.clear();const s=n(o.associatedLayer)?await o.associatedLayer.load(r):o;if(!s)return;const a=t.filter((e=>e&&E(e.fieldName)));if(!a||!a.length)return;t.forEach((e=>this._configureRelatedInfo(e,s)));const l=await L({relatedInfos:i,layer:s},r);Object.keys(l).forEach((e=>{var t;const r=i.get(e.toString()),o=null==(t=l[e])?void 0:t.value;r&&o&&(r.layerInfo=o.data)}));const p=await R({graphic:e,relatedInfos:i,layer:s},r);Object.keys(p).forEach((e=>{var t;O(null==(t=p[e])?void 0:t.value,i.get(e.toString()))}))}_configureRelatedInfo(e,t){const{relatedInfos:r}=this,i=S(e.fieldName);if(!i)return;const{layerId:o,fieldName:s}=i;if(!o)return;const n=r.get(o.toString())||k(o,t);n&&(U({relatedInfo:n,fieldName:s,fieldInfo:e}),this.relatedInfos.set(o,n))}};H.interceptor=new r(I,v),e([d()],H.prototype,"_error",void 0),e([d()],H.prototype,"_featureAbortController",void 0),e([d({readOnly:!0})],H.prototype,"_effectivePopupTemplate",null),e([d({readOnly:!0})],H.prototype,"_fieldInfoMap",null),e([d({readOnly:!0})],H.prototype,"_sourceLayer",null),e([d()],H.prototype,"abilities",void 0),e([u("abilities")],H.prototype,"castAbilities",null),e([d({readOnly:!0})],H.prototype,"content",void 0),e([d({readOnly:!0})],H.prototype,"contentViewModels",void 0),e([d({type:Boolean})],H.prototype,"defaultPopupTemplateEnabled",void 0),e([d({readOnly:!0})],H.prototype,"state",null),e([d({readOnly:!0})],H.prototype,"formattedAttributes",void 0),e([d({type:t,value:null})],H.prototype,"graphic",null),e([d({readOnly:!0})],H.prototype,"lastEditInfo",void 0),e([d({readOnly:!0})],H.prototype,"relatedInfos",void 0),e([d()],H.prototype,"spatialReference",null),e([d({readOnly:!0})],H.prototype,"title",void 0),e([d()],H.prototype,"map",null),e([d({readOnly:!0})],H.prototype,"waitingForContent",null),e([d()],H.prototype,"view",void 0),H=N=e([f(Q)],H);const z=H;export{z 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import i from"../../core/Evented.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import s from"../../core/Logger.js";import{
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../Graphic.js";import"../../intl.js";import i from"../../core/Evented.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import s from"../../core/Logger.js";import{isSome as l,isNone as n}from"../../core/maybe.js";import{watch as o}from"../../core/reactiveUtils.js";import{ReentrantObjectPool as a}from"../../core/ReentrantObjectPool.js";import{property as u}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import d from"../../form/FormTemplate.js";import{loadArcade as m}from"../../support/arcadeOnDemand.js";import c from"./InputField.js";import h from"./InputFieldGroup.js";import{onLocaleChange as f}from"../../intl/locale.js";import{fetchMessageBundle as y}from"../../intl/messages.js";function _(e){return!!e.inputFields}const F=new t({attributes:{}}),g="esri.widgets.FeatureForm.FeatureFormViewModel",v=s.getLogger(g);let E=class extends(r(i.EventedAccessor)){constructor(e){super(e),this._arcade=null,this._compiledExpressions=new Map,this._fieldPool=new a(c),this._fieldGroupPool=new a(h),this._featureClone=F.clone(),this._initialFeature=F.clone(),this._needsArcade=!1,this._inputFieldCache=new Map,this._inputFieldGroupCache=new Map,this.messages=null,this.strict=!1}initialize(){const e=async()=>this.messages=await y("esri/widgets/FeatureForm/t9n/FeatureForm");e();const t=o((()=>{var e,t;const{formTemplate:i}=this;if(n(i))return null;const r=null!=(e=i.expressionInfos)?e:[],s=null!=(t=i.elements)?t:[];return[...r.map((e=>e.expression)),...null==s?void 0:s.map((e=>this._getExpressionsFromElementRecursive(e))).flat()]}),(async e=>{if(e.length<1)return;const i=new Set(e),r=new Map;if(l(this.formTemplate)&&l(this.formTemplate.expressionInfos))for(const t of this.formTemplate.expressionInfos)i.delete(t.name),r.set(t.expression,t.name);for(const t of this._compiledExpressions.keys())i.delete(t);if(i.size<1)return;this._needsArcade=!0;const s=await m();this._arcade=s;const{arcadeUtils:n}=s;for(const l of i.values()){var o;n.hasGeometryOperations(l)&&(await n.enableGeometryOperations(),t.remove()),this._setFunctionForExpression(null!=(o=r.get(l))?o:l,l)}this.notifyChange("inputFields")})),i=o((()=>this.formTemplate),(()=>this._compiledExpressions.clear()));this.handles.add([f(e),t,i])}destroy(){this.feature=null,this.layer=null,this._fieldPool.destroy(),this._fieldGroupPool.destroy()}get _allInputFields(){return this.inputFields.reduce(((e,t)=>_(t)?[...e,...t.inputFields]:[...e,t]),[])}get _layerFieldsByName(){return new Map(this.layer.fields.map((e=>[e.name,e])))}get description(){const{formTemplate:e}=this;return l(e)?e.description:""}set description(e){void 0===e?this._clearOverride("description"):this._override("description",e)}get feature(){return this._get("feature")}set feature(e){this._featureClone=e?e.clone():F.clone(),this._initialFeature=this._featureClone.clone(),this._set("feature",e)}get formTemplate(){return this.layer&&"formTemplate"in this.layer?this.layer.formTemplate:null}set formTemplate(e){void 0===e?this._clearOverride("formTemplate"):this._override("formTemplate",e)}get inputFields(){const{_arcade:e,_featureClone:t,_initialFeature:i,_inputFieldCache:r,_needsArcade:s,formTemplate:n,messages:o,layer:a,state:u}=this;if("ready"!==u||s&&!e)return[];const p=t.clone(),d=Array.from(r.keys()),m={arcade:e,feature:p,initialFeature:i,layer:a,messages:o},c=l(n)&&n.elements.length>0?this._generateInputFieldsFromElements(n.elements,m):this._generateInputFieldsFromLayerFields(null==a?void 0:a.fields,m);return this._cullInputFieldCache(this._flattenGroups(c).map((e=>e.name)),d),this._releasePreviousInputFields(),c.filter((e=>e.visible))}get layer(){var e;return null!=(e=this.feature)&&e.sourceLayer&&"applyEdits"in this.feature.sourceLayer?this.feature.sourceLayer:null}set layer(e){e?this._override("layer",e):this._clearOverride("layer")}get state(){return this.messages&&this.get("layer.loaded")?"ready":"disabled"}get title(){const{formTemplate:e}=this;return l(e)?e.title:""}set title(e){void 0===e?this._clearOverride("title"):this._override("title",e)}get valid(){const e=this._allInputFields;return e.length>0&&e.every((({valid:e})=>e))}findField(e){return this._allInputFields.find((t=>t.name===e))}getValue(e){var t;const{_featureClone:i,layer:r}=this,s=!(null==r||!r.getField(e));return null!=(t=i.getAttribute(e))?t:s?null:void 0}setValue(e,t){const{_featureClone:i,strict:r}=this,s=this.findField(e);if(t=""===t?null:t,!s||i.getAttribute(e)===t)return;s.value=t;if(this.get("layer.typeIdField")===s.name&&"types"in this.layer){const e=new Set;this.layer.types.forEach((t=>Object.keys(t.domains).forEach((t=>e.add(t))))),e.forEach((e=>{const t=this.findField(e);t&&t.notifyChange("domain")}))}r&&!s.valid||(i.setAttribute(e,t),this.notifyChange("inputFields"),this._emitChangeEvent(s))}getValues(){return{...this._featureClone.attributes}}submit(){const e=this._allInputFields,t=e.filter((e=>e.valid)).map((({name:e})=>e)),i=e.filter((e=>!e.valid)).map((({name:e})=>e)),r=this.getValues();this.emit("submit",{valid:t,invalid:i,values:r})}_cullInputFieldCache(e,t){const i=t.filter((t=>!e.includes(t)));for(const r in i)this._inputFieldCache.delete(r)}_flattenGroups(e){return e.flatMap((e=>"groupElement"in e?e.inputFields:e))}_releasePreviousInputFields(){const e=this._get("inputFields");if(e&&!(e.length<1))for(const t of e)"groupElement"in t?this._releaseInputFieldGroup(t):this._releaseInputField(t)}_releaseInputFieldGroup(e){e.inputFields.forEach((e=>this._releaseInputField(e))),this._fieldGroupPool.release(e)}_releaseInputField(e){this._fieldPool.release(e)}_emitChangeEvent({name:e,valid:t,value:i}){this.emit("value-change",{layer:this.layer,feature:this.feature,fieldName:e,value:i,valid:t})}_generateInputFieldsFromElements(e,t){const i=[];for(const r of e)this._isSupportedElement(r)&&i.push("group"===r.type?this._acquireAndInitializeInputFieldGroup(r,t):this._acquireAndInitializeInputField({field:this._layerFieldsByName.get(r.fieldName),fieldElement:r,...t}));return i}_generateInputFieldsFromLayerFields(e,t){return Array.isArray(e)?e.map((e=>this._acquireAndInitializeInputField({field:e,fieldElement:null,...t}))):(v.warn(g,"No attribute fields found."),[])}_acquireAndInitializeInputField(e){var t,i,r,s;const{arcade:l,feature:n,field:o,fieldElement:a,group:u,initialFeature:p,layer:d,messages:m}=e,c=null!=(t=this._compiledExpressions.get(null==a?void 0:a.requiredExpression))?t:void 0,h=null!=(i=this._compiledExpressions.get(null==a?void 0:a.visibilityExpression))?i:void 0,f=o.name,y=null!=(r=null==(s=this._inputFieldCache.get(f))?void 0:s.value)?r:this.getValue(f),_=this._fieldPool.acquire();return this._inputFieldCache.set(f,_),_.set({field:o,fieldElement:a,arcade:l,feature:n,group:u,initialFeature:p,layer:d,messages:m,requiredFunction:c,visibilityFunction:h,value:y})}_acquireAndInitializeInputFieldGroup(e,t){const i=this._fieldGroupPool.acquire(),r=[];for(const o of e.elements)this._isSupportedElement(o)&&r.push(this._acquireAndInitializeInputField({field:this._layerFieldsByName.get(o.fieldName),fieldElement:o,group:i,...t}));const{arcade:s,feature:l}=t,n=this._compiledExpressions.get(e.visibilityExpression);return i.set({arcade:s,feature:l,groupElement:e,inputFields:r,visibilityFunction:n})}_getExpressionsFromElementRecursive(e){const t=[];if(e.visibilityExpression&&t.push(e.visibilityExpression),"field"===e.type&&e.requiredExpression&&t.push(e.requiredExpression),"group"===e.type&&e.elements)for(const i of e.elements)t.push(...this._getExpressionsFromElementRecursive(i));return t}_setFunctionForExpression(e,t){const{_arcade:{arcadeUtils:i},_compiledExpressions:r}=this;r.set(e,i.createFunction(t))}_isSupportedElement(e){return"field"===e.type||"group"===e.type||(v.warn("form-info::unsupported-element-type","Only element types 'field' and 'group' are supported",`Element ${e.label} has unsupported type '${e.type}'`),!1)}};e([u({readOnly:!0})],E.prototype,"_allInputFields",null),e([u()],E.prototype,"_layerFieldsByName",null),e([u({readOnly:!0})],E.prototype,"_inputFieldCache",void 0),e([u({readOnly:!0})],E.prototype,"_inputFieldGroupCache",void 0),e([u()],E.prototype,"description",null),e([u()],E.prototype,"feature",null),e([u({type:d})],E.prototype,"formTemplate",null),e([u({readOnly:!0,dependsOn:["formTemplate","messages","feature","layer.fields","layer.loaded","state"]})],E.prototype,"inputFields",null),e([u()],E.prototype,"layer",null),e([u()],E.prototype,"messages",void 0),e([u()],E.prototype,"state",null),e([u()],E.prototype,"strict",void 0),e([u()],E.prototype,"title",null),e([u()],E.prototype,"valid",null),e([u()],E.prototype,"getValues",null),e([u()],E.prototype,"submit",null),E=e([p(g)],E);const I=E;export{I 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.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import t from"../../core/Accessor.js";import{
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import"../../intl.js";import t from"../../core/Accessor.js";import{isNone as i,get as r,isSome as n}from"../../core/maybe.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as o}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../layers/support/CodedValueDomain.js";import"../../layers/support/Domain.js";import"../../layers/support/InheritedDomain.js";import"../../layers/support/RangeDomain.js";import{validateDomainValue as a,DomainValidationError as u,getDomainRange as d}from"../../layers/support/domainUtils.js";import{isNumericField as p,isStringField as m,isDateField as c,TypeValidationError as y,validateFieldValue as h,getFeatureEditFields as f,getFeatureGeometryFields as v,NumericRangeValidationError as g,getFieldRange as b}from"../../layers/support/fieldUtils.js";import{substitute as E}from"../../intl/substitute.js";var _,O;!function(e){e.Text="text",e.Number="number",e.Date="date",e.Unsupported="unsupported"}(_||(_={})),function(e){e.TOO_SHORT="length-validation-error::too-short"}(O||(O={}));const F={type:"number"},T={type:"number",intlOptions:{notation:"scientific"}},x={type:"date",intlOptions:{day:"2-digit",month:"2-digit",year:"numeric",hour:"numeric",minute:"numeric",second:"numeric"}};let D=class extends t{constructor(e){super(e),this.arcade=null,this.visibilityFunction=null,this.requiredFunction=null,this.feature=null,this.field=null,this.fieldElement=null,this.initialFeature=null,this.layer=null,this.description=null,this.inputType=null,this.error=null,this.group=null,this.hint=null,this.messages=null,this.name=null}get evaluatedRequirement(){const{requiredFunction:e}=this;if(i(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get evaluatedVisibility(){const{visibilityFunction:e}=this;if(i(e))return null;const{arcade:t}=this;return t.arcadeUtils.executeFunction(e,t.arcadeUtils.createExecContext(this.feature))}get domain(){var e;const{typeIdField:t}=this.layer,i=t===this.name,l=null==(e=this.field)?void 0:e.domain;if(i&&!l){const{layer:e}=this,t="subtype-group"===e.type?e.sublayers.map((({subtypeCode:e,title:t})=>({id:e,name:t}))):e.types.map((({id:e,name:t})=>({code:e,name:t})));return new s({name:"__internal-type-based-coded-value-domain__",codedValues:t})}const{feature:o}=this,a=t&&this.layer.getFieldDomain(this.name,{feature:o})||l,u=r(this.fieldElement,"domain");return n(u)&&this._isDomainCompatible(u)?u:a}get editable(){var e,t;const{field:i,fieldElement:r,layer:l,name:o}=this,s=l.capabilities.operations.supportsEditing&&i.editable;if("subtype-group"===l.type)return s;const a=null==(e=l.popupTemplate)||null==(t=e.fieldInfos)?void 0:t.find((({fieldName:e})=>e===o)),u=n(r)?!1!==r.editable:!1!==(null==a?void 0:a.isEditable);return s&&u}get errorMessage(){return this._toErrorMessage()}get includeTime(){const{fieldElement:e}=this,t=n(e)&&"datetime-picker"===e.input.type?e.input.includeTime:void 0;return void 0===t||t}get label(){return n(this.fieldElement)&&this.fieldElement.label||this.field.alias||this.field.name}get maxLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:i}=this,r=null==t?void 0:t.length,l=n(i)&&N(i.input)?i.input.maxLength:NaN;return!isNaN(l)&&l>=e&&(r===e||l<=r)?l:r}get minLength(){const e=-1;if(this.type===_.Date)return e;const{field:t,fieldElement:i}=this,r=null==t?void 0:t.length,l=n(i)&&N(i.input)?i.input.minLength:NaN;return!isNaN(l)&&l>=e&&(r===e||l<=r)?l:e}get required(){var e,t;if(!this.editable)return!1;return!(null==(e=this.field)?void 0:e.nullable)||null!=(t=this.evaluatedRequirement)&&t}get type(){const{field:e}=this;return p(e)?_.Number:m(e)?_.Text:c(e)?_.Date:_.Unsupported}get valid(){const e=this.editable?this._validate():null;return this._set("error",e),null===e}get value(){return this._get("value")}set value(e){this.notifyChange("evaluatedVisibility"),this._set("value",e)}get visible(){return!this._isEditorField()&&(n(this.fieldElement)?null==(e=this.evaluatedVisibility)||e:this._isVisibleByDefault());var e}_isDomainCompatible(e){const{field:t}=this;if("coded-value"===(null==e?void 0:e.type)){const i=typeof e.codedValues[0].code;if("string"===i&&m(t)||"number"===i&&p(t))return!0}return!!("range"===(null==e?void 0:e.type)&&p(t)||c(t))}_validate(){const{domain:e,field:t,initialFeature:i,minLength:r,required:n,type:l,valid:o,value:s}=this,u=n&&null===s,d=void 0!==o;return!u&&i.getAttribute(t.name)===s&&d?null:"text"===l&&r>-1&&"string"==typeof s&&s.length<r?O.TOO_SHORT:e?null!==s||n?a(e,s):null:u?y.INVALID_TYPE:h(t,s)}_isVisibleByDefault(){var e;const t=null==(e=this.field)?void 0:e.type;return"oid"!==t&&"global-id"!==t&&!this._isGeometryField()}_isEditorField(){return f(this.layer).indexOf(this.name)>-1}_isGeometryField(){return v(this.layer).indexOf(this.name)>-1}_toErrorMessage(){const{domain:e,field:t,messages:i,minLength:r,value:n,required:l,type:o}=this,s=this.error;if(l&&null===n)return i.validationErrors.cannotBeNull;if(s===u.VALUE_OUT_OF_RANGE||s===g.OUT_OF_RANGE){const r=d(e)||b(t);return E(i.validationErrors.outsideRange,r,{format:{max:"date"===o?x:r.isInteger?F:T,min:"date"===o?x:r.isInteger?F:T}})}return s===u.INVALID_CODED_VALUE?i.validationErrors.invalidCodedValue:s===y.INVALID_TYPE?i.validationErrors.invalidType:s===O.TOO_SHORT?E(i.validationErrors.tooShort,{min:r}):null}};function N(e){return!!e&&"maxLength"in e}e([l()],D.prototype,"arcade",void 0),e([l()],D.prototype,"visibilityFunction",void 0),e([l()],D.prototype,"requiredFunction",void 0),e([l()],D.prototype,"evaluatedRequirement",null),e([l()],D.prototype,"evaluatedVisibility",null),e([l()],D.prototype,"feature",void 0),e([l()],D.prototype,"field",void 0),e([l()],D.prototype,"fieldElement",void 0),e([l()],D.prototype,"initialFeature",void 0),e([l()],D.prototype,"layer",void 0),e([l({aliasOf:"fieldElement.description"})],D.prototype,"description",void 0),e([l()],D.prototype,"domain",null),e([l()],D.prototype,"editable",null),e([l({aliasOf:"fieldElement.input.type"})],D.prototype,"inputType",void 0),e([l({readOnly:!0})],D.prototype,"error",void 0),e([l({dependsOn:["error","messages","value"]})],D.prototype,"errorMessage",null),e([l()],D.prototype,"group",void 0),e([l({aliasOf:"fieldElement.hint"})],D.prototype,"hint",void 0),e([l()],D.prototype,"includeTime",null),e([l()],D.prototype,"label",null),e([l()],D.prototype,"maxLength",null),e([l()],D.prototype,"minLength",null),e([l()],D.prototype,"messages",void 0),e([l({aliasOf:"field.name"})],D.prototype,"name",void 0),e([l()],D.prototype,"required",null),e([l()],D.prototype,"type",null),e([l()],D.prototype,"valid",null),e([l({value:null})],D.prototype,"value",null),e([l()],D.prototype,"visible",null),D=e([o("esri.widgets.FeatureForm.InputField")],D);const j=D;export{j as default};
|