@arcgis/core 4.23.0-next.20220106 → 4.23.0-next.20220124
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/{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/core/workers/chunks/{b4ed7856cd9c98434477.js → fe864d01e72aa24574b6.js} +1 -1
- 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/_FeatureTable.scss +6 -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/accessorSupport/ensureType.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/set.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/Graphics3DLineSymbolLayer.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/Graphics3DWaterSymbolLayer.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/OverlayRenderer.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/Model.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/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable.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 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};
|
|
@@ -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
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import{isNone as s,isSome as r}from"../../core/maybe.js";import{aliasOf as o}from"../../core/accessorSupport/decorators/aliasOf.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{property as l}from"../../core/accessorSupport/decorators/property.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";let a=class extends(i(e)){constructor(t){super(t),this.arcade=null,this.visibilityFunction=null,this.description=null,this.feature=null,this.groupElement=null,this.label=null}get evaluatedVisibility(){const{visibilityFunction:t}=this;if(s(t))return;const{arcade:e}=this;return e.arcadeUtils.executeFunction(t,e.arcadeUtils.createExecContext(this.feature))}get inputFields(){return this._get("inputFields")}set inputFields(t){this.handles.removeAll(),t&&this.handles.add(t.map((t=>t.watch("visible",this._dirtyEvaluatedVisibility)))),this._set("inputFields",t)}get state(){return r(this.groupElement)&&this.groupElement.initialState||"expanded"}set state(t){s(t)?this._clearOverride("state"):this._override("state",t)}get visible(){return!1!==this.evaluatedVisibility&&this.inputFields&&this.inputFields.some((t=>t.visible))}_dirtyEvaluatedVisibility(){const{groupElement:t}=this;r(t)&&t.visibilityExpression&&this.notifyChange("evaluatedVisibility")}};t([l()],a.prototype,"arcade",void 0),t([l()],a.prototype,"visibilityFunction",void 0),t([l()],a.prototype,"evaluatedVisibility",null),t([o("groupElement.description")],a.prototype,"description",void 0),t([l()],a.prototype,"feature",void 0),t([l()],a.prototype,"groupElement",void 0),t([l()],a.prototype,"inputFields",null),t([o("groupElement.label")],a.prototype,"label",void 0),t([l()],a.prototype,"state",null),t([l()],a.prototype,"visible",null),a=t([p("esri.widgets.FeatureForm.InputFieldGroup")],a);const n=a;export{n as default};
|
package/widgets/FeatureForm.js
CHANGED
|
@@ -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{aliasOf as t}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import{getDomainRange as l}from"../layers/support/domainUtils.js";import{getFieldRange as r}from"../layers/support/fieldUtils.js";import n from"./Widget.js";import s from"./FeatureForm/FeatureFormViewModel.js";import{Heading as o,incrementHeadingLevel as d}from"./support/Heading.js";import"./support/widgetUtils.js";import{messageBundle as u}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as p}from"./support/decorators/vmEvent.js";import{tsx as c}from"./support/jsxFactory.js";import{DateTime as h}from"luxon";import{getLocale as m}from"../intl/locale.js";const f={base:"esri-feature-form",form:"esri-feature-form__form",formHeader:"esri-feature-form__form-header",label:"esri-feature-form__label",inputField:"esri-feature-form__input",inputDate:"esri-feature-form__input--date",inputTime:"esri-feature-form__input--time",inputRadioGroup:"esri-feature-form__input--radio-group",inputRadio:"esri-feature-form__input--radio",inputRadioLabel:"esri-feature-form__input--radio-label",inputDisabled:"esri-feature-form__input--disabled",inputSwitch:"esri-feature-form__input--switch",inputInvalid:"esri-feature-form__input--invalid",inputIconInvalid:"esri-feature-form__input-icon--invalid",errorMessage:"esri-feature-form__field-error-message",description:"esri-feature-form__description-text",dateInputPart:"esri-feature-form__date-input-part",loneDateInputPart:"esri-feature-form__date-input-part--lone",dateInputContainer:"esri-feature-form__date-input-container",dateFormatHint:"esri-feature-form__date-format-hint",group:"esri-feature-form__group",groupLabel:"esri-feature-form__group-label",groupHeader:"esri-feature-form__group-header",groupHeading:"esri-feature-form__group-header",groupTitle:"esri-feature-form__group-title",groupDescription:"esri-feature-form__group-description",groupToggleIcon:"esri-feature-form__group-toggle-icon",groupCollapsed:"esri-feature-form__group--collapsed",groupSequential:"esri-feature-form__group--sequential",groupActive:"esri-feature-form__group--active",collapseIcon:"esri-icon-up",errorIcon:"esri-icon-notice-triangle",expandIcon:"esri-icon-down",widget:"esri-widget",panel:"esri-widget--panel",input:"esri-input",select:"esri-select"},_={datePattern:"D",timePattern:"tt"};function v(e){return e&&e.inputFields}let g=class extends n{constructor(e,t){super(e,t),this._activeDateFieldEdit=null,this._activeInputName=null,this._fieldFocusNeeded=!1,this._fieldToInitialIncompatibleDomainValue=new Map,this._switchFieldsWithInitialIncompatibleValue=new Set,this._userUpdatedInputFieldNames=new Set,this.description=null,this.feature=null,this.fieldConfig=null,this.formTemplate=null,this.groupDisplay="all",this.headingLevel=2,this.label=void 0,this.layer=null,this.messages=null,this.strict=null,this.title=null,this.viewModel=new s,this._handleSwitchClick=e=>{e.target===e.currentTarget&&e.stopImmediatePropagation()},this._handleRadioInputChange=e=>{this._commitInputValue(e.target)},this._handleInputInput=e=>{this._commitInputValue(e.currentTarget,!0)},this._handleFormKeyDown=this._handleFormKeyDown.bind(this),this._handleInputBlur=this._handleInputBlur.bind(this),this._handleInputFocus=this._handleInputFocus.bind(this),this._handleNumberInputMouseDown=this._handleNumberInputMouseDown.bind(this),this._handleInputKeyDown=this._handleInputKeyDown.bind(this),this._handleOptionChange=this._handleOptionChange.bind(this),this._handleGroupClick=this._handleGroupClick.bind(this),this._handleSubmit=this._handleSubmit.bind(this),this._afterInputCreateOrUpdate=this._afterInputCreateOrUpdate.bind(this)}initialize(){this.own(this.watch("feature",(()=>{const e=this._getFocusableInput("forward");this._activeInputName=e&&e.name,this._userUpdatedInputFieldNames.clear(),this._fieldToInitialIncompatibleDomainValue.clear(),this._switchFieldsWithInitialIncompatibleValue.clear(),this._fieldFocusNeeded=!0})),this.on("submit",(e=>{if(e.invalid.length>0){const[t]=e.invalid;e.invalid.forEach((e=>this._userUpdatedInputFieldNames.add(e))),this._activeInputName=t,this._fieldFocusNeeded=!0,this.scheduleRender()}})))}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-switch.js")}destroy(){this._userUpdatedInputFieldNames.clear(),this._userUpdatedInputFieldNames=null}getValues(){return null}submit(){return null}render(){const{state:e}=this.viewModel;return c("div",{class:this.classes(f.base,f.widget,f.panel)},"ready"===e?this.renderForm():null)}renderForm(){const e=this.title?c(o,{key:"title",level:this.headingLevel},this.title):null,t=this.description?c("p",{class:f.description,key:"description"},this.description):null,i=e||t?c("div",{class:f.formHeader},e,t):null;return c("form",{class:f.form,novalidate:!0,onsubmit:this._handleSubmit,onkeydown:this._handleFormKeyDown},i,this.renderFields())}renderFields(){const{viewModel:{inputFields:e}}=this;return e.map(((e,t)=>v(e)?this.renderGroup(e,t):this.renderLabeledField(e)))}renderGroup(e,t){const{description:i,inputFields:a,label:l,state:r}=e,n=this.viewModel.findField(this._activeInputName),s=!(!n||n.group!==e),u=`${this.id}_group_${t}`,p=`${this.id}_group-label_${t}`,h=`${this.id}_group-description_${t}`,m=i?c("p",{class:this.classes(f.groupDescription,f.description),id:h},i):null,_="sequential"===this.groupDisplay,v=_?s:"expanded"===r,g=v?f.collapseIcon:f.expandIcon;return c("fieldset",{"aria-expanded":v.toString(),"aria-labelledby":p,"aria-describedby":i?h:"",class:this.classes(f.group,_?f.groupSequential:null,v?null:f.groupCollapsed,s?f.groupActive:null),"data-group":e,id:u,key:t,onclick:this._handleGroupClick},c("button",{role:_?"presentation":void 0,class:f.groupHeader,type:"button",tabIndex:_?-1:0},c("div",{class:f.groupTitle},c(o,{class:f.groupLabel,id:p,level:this.title?d(this.headingLevel):this.headingLevel},l),m),_?null:c("span",{class:this.classes(g,f.groupToggleIcon)})),a.map((e=>this.renderLabeledField(e))))}_getFocusableInput(e,t){const i=this.viewModel._allInputFields,a="forward"===e?i:i.slice().reverse();let l;if(t)if(v(t))l=a.indexOf(t.inputFields[0]);else{let i;if(this._isFieldInClosedCollapsibleGroup(t)){const{inputFields:a}=t.group;i="forward"===e?a[a.length-1]:a[0]}else i=t;l=a.indexOf(i)+1}else l=0;for(let r=l;r<a.length;r++){const e=a[r];if(e.visible)return e}return null}renderLabeledField(e){const{label:t,layer:i,type:a}=e;return c("label",{key:`${i.id}-${e.name}`,class:f.label},[t,"unsupported"!==a?this.renderInputField(e):this.renderUnsupportedField(e),this.renderAuxiliaryText(e)])}renderInputField(e){const{viewModel:t}=this,{domain:i,editable:a,name:l,type:r}=e,n=t.getValue(l),s=!a,o=this.getCommonInputProps(e);if("coded-value"===(null==i?void 0:i.type)&&!s){if("switch"===e.editorType){if(!(this._switchFieldsWithInitialIncompatibleValue.has(l)||null==n||e.config.onValue!==n&&e.config.offValue!==n))return this.renderSwitchInputField(n,o);this._switchFieldsWithInitialIncompatibleValue.add(l)}return"radio-buttons"===e.editorType?this.renderRadioButtonsInputField(n,i.codedValues.map((({code:e,name:t})=>({value:e,name:t}))),o):this.renderSelectInputField(n,i.codedValues.map((({code:e,name:t})=>({value:e,name:t}))),o)}return"text"===r&&"text-area"===e.editorType||"rich-text"===e.editorType?c("textarea",{...o}):"datetime-picker"===e.editorType||"date"===r?this.renderDateInputField(n,o):c("input",{type:"text"===r?"text":"number",...o})}_parseDateTime(e,t,i){if(i){var a;let l=h.fromJSDate(this._parseDate(e,i));const r=h.fromMillis(null!=(a=t.value)?a:Date.now());return l="date"===i?l.set({hour:r.hour,minute:r.minute,second:r.second}):l.set({day:r.day,month:r.month,year:r.year}),l.isValid?l.toMillis():null}const l=h.fromJSDate(this._parseDate(e));return l.isValid?l.toMillis():null}renderDateInputField(e,t){const{date:i,time:a}=this._formatDate(0),l=`${this.id}-${t.key}`,r=`${l}-date`,n=`${l}-time`,s=t["data-field"],{includeTime:o}=s,{_activeDateFieldEdit:d}=this;let{date:u,time:p}=this._formatDate(e);var h,m,_,v;(null==d?void 0:d.fieldName)===s.name&&(u=null!=(h=null==(m=d.date.input)?void 0:m.value)?h:u,p=null!=(_=null==(v=d.time.input)?void 0:v.value)?_:p);return c("div",{key:`${t.key}-date`,class:f.dateInputContainer},c("div",{class:this.classes(f.dateInputPart,o?null:f.loneDateInputPart)},c("input",{"aria-label":s.label,"aria-describedby":r,type:"text",...t,"data-date-part":"date",class:this.classes(t.class,f.inputDate),value:u}),c("div",{class:f.dateFormatHint,id:r},i)),o?c("div",{class:f.dateInputPart,key:"time-input"},c("input",{"aria-describedby":n,"aria-label":s.label,type:"text",...t,"data-date-part":"time",class:this.classes(t.class,f.inputTime),value:p}),c("div",{class:f.dateFormatHint,id:n},a)):null)}renderUnsupportedField(e){const t=this.getCommonInputProps(e);return c("input",{afterCreate:t.afterCreate,afterUpdate:t.afterUpdate,class:this.classes(f.input,f.inputField,f.inputDisabled),"data-field":t["data-field"],onfocus:t.onfocus,readOnly:!0,tabIndex:t.tabIndex,type:"text",value:t.value})}renderSelectInputField(e,t,i){const a=t.map((e=>c("option",{value:`${e.value}`,key:e.name},e.name))),l=i["data-field"];if(this._registerIncompatibleValue(e,t,l,(e=>{a.unshift(c("option",{value:`${e}`,key:"incompatible-option",readOnly:!0},e))})),!l.required&&("combo-box"!==l.editorType||l.config.showNoValueOption)){var r;const e="",t=(null==(r=l.config)?void 0:r.noValueOptionLabel)||this.messages.empty;a.unshift(c("option",{value:e,key:"empty-option"},t))}return c("select",{...i,class:this.classes(i.class,f.select),onchange:this._handleOptionChange},a)}_registerIncompatibleValue(e,t,i,a){const l=this._fieldToInitialIncompatibleDomainValue,r=l.has(i.name);(r||null!=e&&""!==e&&!t.find((t=>t.value===e))||r)&&(r||l.set(i.name,e),null==a||a(l.get(i.name)))}renderRadioButtonsInputField(e,t,i){const a=i["data-field"],l=t.map((t=>this.renderRadioButton({key:t.name,label:t.name,name:a.name,value:t.value,selected:t.value===e,props:i})));if(this._registerIncompatibleValue(e,t,a),!a.required&&(!a.config||a.config.showNoValueOption)){var r;const t="",n=(null==(r=a.config)?void 0:r.noValueOptionLabel)||this.messages.empty,s=e===t||null===e;l.unshift(this.renderRadioButton({key:"empty-option",label:n,name:a.name,value:t,selected:s,props:i}))}return c("div",{key:`${i.key}-radio`,class:f.inputRadioGroup},l)}renderSwitchInputField(e,t){const i=t["data-field"];return c("calcite-switch",{...t,class:f.inputSwitch,onclick:this._handleSwitchClick,checked:e===i.config.onValue})}renderRadioButton({key:e,name:t,value:i,selected:a,label:l,props:r}){return c("label",{key:e,class:f.inputRadioLabel},c("input",{...r,class:f.inputRadio,name:t,type:"radio",value:i,checked:a,onchange:this._handleRadioInputChange}),l)}renderAuxiliaryText(e){return this._userUpdatedInputFieldNames.has(e.name)&&!e.valid?c("div",{key:"error-message"},c("span",{class:this.classes(f.inputIconInvalid,f.errorIcon)}),c("div",{class:f.errorMessage},e.errorMessage)):e.description?c("div",{key:"description",class:f.description},e.description):void 0}getCommonInputProps(e){const{groupDisplay:t,viewModel:i}=this,{editable:a,group:l,hint:r,maxLength:n,minLength:s,name:o,required:d,type:u,valid:p}=e,c=i.getValue(o),h=this._userUpdatedInputFieldNames.has(o),m=!a,_="all"===t&&"collapsed"===(null==l?void 0:l.state);return{afterCreate:this._afterInputCreateOrUpdate,afterUpdate:this._afterInputCreateOrUpdate,"aria-invalid":p?"false":"true",class:this.classes(f.input,f.inputField,m?f.inputDisabled:null,h&&!p?f.inputInvalid:null),key:o,minlength:s>-1?`${s}`:"",maxlength:n>-1?`${n}`:"",...this._getNumberFieldConstraints(e),readOnly:m,value:null==c?"":`${c}`,"data-field":e,onfocus:this._handleInputFocus,oninput:this._handleInputInput,onblur:this._handleInputBlur,onkeydown:this._handleInputKeyDown,onmousedown:"number"===u?this._handleNumberInputMouseDown:null,placeholder:"number"===u||"text"===u?r:"",required:d,tabIndex:_?-1:0}}_isFieldInClosedCollapsibleGroup(e){var t;return"all"===this.groupDisplay&&!v(e)&&"collapsed"===(null==e||null==(t=e.group)?void 0:t.state)}_handleNumberInputMouseDown({target:e}){e.focus(),this.scheduleRender()}_getNumberFieldConstraints(e){const t=l(e.domain)||r(e.field);return t&&t.max!==Number.MAX_VALUE&&t.min!==Number.MIN_VALUE?t:{min:null,max:null}}_afterInputCreateOrUpdate(e){const t=e["data-field"],i=this.viewModel.findField(this._activeInputName),a=this._fieldToInitialIncompatibleDomainValue.get(t.name)===t.value;this._fieldFocusNeeded&&i===t&&("radio-buttons"!==t.editorType||a||e.checked)&&(this._fieldFocusNeeded=!1,e.focus())}_handleInputFocus(e){const t=e.target,i=t["data-field"];this._activeInputName=i.name,"date"===i.type&&this._syncDateFieldEdits(t)}_handleInputBlur(e){const t=e.target,i=t["data-field"];if("date"===i.type){const l=e.relatedTarget,r=l&&l["data-field"];if(r&&"date"===i.type&&"date"===r.type&&i.field===r.field){if(""!==t.value&&""===l.value){var a;const r=l.getAttribute("data-date-part");l.value=this._formatDate(null!=(a=i.value)?a:Date.now())[r],this._parseDate(t.value,t.getAttribute("data-date-part"))&&this._commitInputValue(e.target,!0,!1)}return}}this._commitInputValue(t),this.scheduleRender()}_commitInputValue(e,t=!1,i=!0){const a=e["data-field"];if(this._activeDateFieldEdit){const{date:o,time:d}=this._activeDateFieldEdit,u=this._parseDateTime(e.value,a,o.active?"date":"time"),p=null!==this.viewModel.getValue(a.name),c=o.input&&(d.input||!a.includeTime),h=null===u;if(t){if(h)return;(c||!i||p)&&this._updateDateFieldValue(a,u)}else{var l,r;if(""===(null==(l=o.input)?void 0:l.value)||""===(null==(r=d.input)?void 0:r.value))this._updateDateFieldValue(a,null);else if(c){var n,s;const e=`${o.input.value} ${null!=(n=null==(s=d.input)?void 0:s.value)?n:""}`,t=this._parseDateTime(e,a);!(null!==t)&&p||this._updateDateFieldValue(a,t)}this._activeDateFieldEdit=null}}else this._updateFieldValue(e)}_handleInputKeyDown(e){const{key:t,altKey:i,ctrlKey:a,metaKey:l}=e,r=e.target["data-field"];if("Enter"===t)this._isFieldInClosedCollapsibleGroup(r)&&(r.group.state="expanded");else{const{type:n}=r.field,s="single"===n||"double"===n,o=!i&&!a&&!l;if(("integer"===n||"small-integer"===n||s)&&o&&1===t.length){const i=Number(t),a=["-","+"],l=["e","."],r=s?[...a,...l]:a;isNaN(i)&&-1===r.indexOf(t)&&e.preventDefault()}}}_syncDateFieldEdits(e){var t,i;const a=e["data-field"];if("date"!==a.type)return;const l=e.getAttribute("data-date-part"),r="date"===l?{value:e.value,input:e,active:!0}:{...null==(t=this._activeDateFieldEdit)?void 0:t.date,active:!1},n="time"===l?{value:e.value,input:e,active:!0}:{...null==(i=this._activeDateFieldEdit)?void 0:i.time,active:!1};this._activeDateFieldEdit={fieldName:a.name,date:r,time:n}}_updateFieldValue(e){const t=e["data-field"];this.viewModel.setValue(t.name,this._parseValue(e)),this._userUpdatedInputFieldNames.add(t.name)}_updateDateFieldValue(e,t){this.viewModel.setValue(e.name,t),this._userUpdatedInputFieldNames.add(e.name)}_parseValue(e){const t=e["data-field"],i=e.value;if("switch"===t.editorType&&!(e instanceof HTMLSelectElement))return e.checked?t.config.onValue:t.config.offValue;if("radio-buttons"===t.editorType&&"radio"===e.type&&!e.checked)return t.value;const{type:a}=t;if("number"===a)return i?parseFloat(i):null;if("date"===a){if(!i)return null;const a=Number(i);if(!isNaN(a))return a;const l=e.getAttribute("data-date-part"),r=this._parseDate(i,l);if(!r)return null;let n=h.fromJSDate(r);const s=t.domain,o=h.now();let d=o;if(s&&"range"===s.type){const e=h.fromMillis(s.maxValue);o<e&&(d=e)}const u=this.viewModel.getValue(t.name),p=null!=u?h.fromMillis(u):d;return n="date"===l?n.set({hour:p.hour,minute:p.minute,second:p.second}):n.set({day:p.day,month:p.month,year:p.year}),n.toMillis()}return i}_handleOptionChange(e){this._commitInputValue(e.target),this.scheduleRender()}_handleGroupClick(e){var t;const i=e.currentTarget["data-group"],a="expanded"===i.state,l="sequential"===this.groupDisplay,r=`.${f.groupHeader}`;if(!(a&&!e.target.closest(r))){if(this._activeInputName=null==(t=this._getFocusableInput("forward",i))?void 0:t.name,l){const t=e.target.closest(r);if(a&&!t)return;this.viewModel.inputFields.forEach((e=>{v(e)&&e!==i&&(e.state="collapsed")}))}i.state=a?"collapsed":"expanded",this._fieldFocusNeeded=l,this.scheduleRender()}}_handleSubmit(e){e.preventDefault()}_handleFormKeyDown(e){"Enter"===e.key&&this.viewModel.submit()}_formatDate(e){if(null==e)return{date:"",time:""};const t=h.fromMillis(e,{locale:m(),numberingSystem:"latn"});return{date:t.toLocaleString({year:"numeric",month:"2-digit",day:"2-digit"}),time:t.toFormat(_.timePattern)}}_parseDate(e,t){if(null==e||""===e)return null;const{timePattern:i,datePattern:a}=_,l=t?"date"===t?a:i:`${a} ${i}`,r=h.fromFormat(e,l,{locale:m(),numberingSystem:"latn"});return r.isValid?r.toJSDate():null}};e([t("viewModel.description")],g.prototype,"description",void 0),e([t("viewModel.feature")],g.prototype,"feature",void 0),e([t("viewModel.fieldConfig")],g.prototype,"fieldConfig",void 0),e([t("viewModel.formTemplate")],g.prototype,"formTemplate",void 0),e([i()],g.prototype,"groupDisplay",void 0),e([i()],g.prototype,"headingLevel",void 0),e([i({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],g.prototype,"label",void 0),e([t("viewModel.layer")],g.prototype,"layer",void 0),e([i(),u("esri/widgets/FeatureForm/t9n/FeatureForm")],g.prototype,"messages",void 0),e([t("viewModel.strict")],g.prototype,"strict",void 0),e([t("viewModel.title")],g.prototype,"title",void 0),e([i(),p(["value-change","submit"])],g.prototype,"viewModel",void 0),e([t("viewModel.getValues")],g.prototype,"getValues",null),e([t("viewModel.submit")],g.prototype,"submit",null),g=e([a("esri.widgets.FeatureForm")],g);const y=g;export{y as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{isNone as t,isSome as i}from"../core/maybe.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{getDomainRange as s}from"../layers/support/domainUtils.js";import{getFieldRange as r}from"../layers/support/fieldUtils.js";import o from"./Widget.js";import u from"./FeatureForm/FeatureFormViewModel.js";import{Heading as d,incrementHeadingLevel as p}from"./support/Heading.js";import"./support/widgetUtils.js";import{messageBundle as c}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as m}from"./support/decorators/vmEvent.js";import{tsx as h}from"./support/jsxFactory.js";import{DateTime as f}from"luxon";import{getLocale as _}from"../intl/locale.js";const v={base:"esri-feature-form",form:"esri-feature-form__form",formHeader:"esri-feature-form__form-header",label:"esri-feature-form__label",inputField:"esri-feature-form__input",inputDate:"esri-feature-form__input--date",inputTime:"esri-feature-form__input--time",inputRadioGroup:"esri-feature-form__input--radio-group",inputRadio:"esri-feature-form__input--radio",inputRadioLabel:"esri-feature-form__input--radio-label",inputDisabled:"esri-feature-form__input--disabled",inputSwitch:"esri-feature-form__input--switch",inputInvalid:"esri-feature-form__input--invalid",inputIconInvalid:"esri-feature-form__input-icon--invalid",errorMessage:"esri-feature-form__field-error-message",description:"esri-feature-form__description-text",dateInputPart:"esri-feature-form__date-input-part",loneDateInputPart:"esri-feature-form__date-input-part--lone",dateInputContainer:"esri-feature-form__date-input-container",dateFormatHint:"esri-feature-form__date-format-hint",group:"esri-feature-form__group",groupLabel:"esri-feature-form__group-label",groupHeader:"esri-feature-form__group-header",groupHeading:"esri-feature-form__group-header",groupTitle:"esri-feature-form__group-title",groupDescription:"esri-feature-form__group-description",groupToggleIcon:"esri-feature-form__group-toggle-icon",groupCollapsed:"esri-feature-form__group--collapsed",groupSequential:"esri-feature-form__group--sequential",groupActive:"esri-feature-form__group--active",collapseIcon:"esri-icon-up",errorIcon:"esri-icon-notice-triangle",expandIcon:"esri-icon-down",widget:"esri-widget",panel:"esri-widget--panel",input:"esri-input",select:"esri-select"},g={datePattern:"D",timePattern:"tt"};function y(e){return e&&e.inputFields}let I=class extends o{constructor(e,t){super(e,t),this._activeDateFieldEdit=null,this._activeInputName=null,this._fieldFocusNeeded=!1,this._fieldToInitialIncompatibleDomainValue=new Map,this._switchFieldsWithInitialIncompatibleValue=new Set,this._userUpdatedInputFieldNames=new Set,this.description=null,this.feature=null,this.fieldConfig=null,this.formTemplate=null,this.groupDisplay="all",this.headingLevel=2,this.label=void 0,this.layer=null,this.messages=null,this.strict=null,this.title=null,this.viewModel=new u,this._handleSwitchClick=e=>{e.target===e.currentTarget&&e.stopImmediatePropagation()},this._handleRadioInputChange=e=>{this._commitInputValue(e.target)},this._handleInputInput=e=>{this._commitInputValue(e.currentTarget,!0)},this._handleFormKeyDown=this._handleFormKeyDown.bind(this),this._handleInputBlur=this._handleInputBlur.bind(this),this._handleInputFocus=this._handleInputFocus.bind(this),this._handleNumberInputMouseDown=this._handleNumberInputMouseDown.bind(this),this._handleInputKeyDown=this._handleInputKeyDown.bind(this),this._handleOptionChange=this._handleOptionChange.bind(this),this._handleGroupClick=this._handleGroupClick.bind(this),this._handleSubmit=this._handleSubmit.bind(this),this._afterInputCreateOrUpdate=this._afterInputCreateOrUpdate.bind(this)}initialize(){this.own(this.watch("feature",(()=>{const e=this._getFocusableInput("forward");this._activeInputName=e&&e.name,this._userUpdatedInputFieldNames.clear(),this._fieldToInitialIncompatibleDomainValue.clear(),this._switchFieldsWithInitialIncompatibleValue.clear(),this._fieldFocusNeeded=!0})),this.on("submit",(e=>{if(e.invalid.length>0){const[t]=e.invalid;e.invalid.forEach((e=>this._userUpdatedInputFieldNames.add(e))),this._activeInputName=t,this._fieldFocusNeeded=!0,this.scheduleRender()}})))}loadDependencies(){return import("@esri/calcite-components/dist/components/calcite-switch.js")}destroy(){this._userUpdatedInputFieldNames.clear(),this._userUpdatedInputFieldNames=null}getValues(){return null}submit(){return null}render(){const{state:e}=this.viewModel;return h("div",{class:this.classes(v.base,v.widget,v.panel)},"ready"===e?this.renderForm():null)}renderForm(){const e=this.title?h(d,{key:"title",level:this.headingLevel},this.title):null,t=this.description?h("p",{class:v.description,key:"description"},this.description):null,i=e||t?h("div",{class:v.formHeader},e,t):null;return h("form",{class:v.form,novalidate:!0,onsubmit:this._handleSubmit,onkeydown:this._handleFormKeyDown},i,this.renderFields())}renderFields(){const{viewModel:{inputFields:e}}=this;return e.map(((e,t)=>y(e)?this.renderGroup(e,t):this.renderLabeledField(e)))}renderGroup(e,t){const{description:i,inputFields:a,label:n,state:l}=e,s=this.viewModel.findField(this._activeInputName),r=!(!s||s.group!==e),o=`${this.id}_group_${t}`,u=`${this.id}_group-label_${t}`,c=`${this.id}_group-description_${t}`,m=i?h("p",{class:this.classes(v.groupDescription,v.description),id:c},i):null,f="sequential"===this.groupDisplay,_=f?r:"expanded"===l,g=_?v.collapseIcon:v.expandIcon;return h("fieldset",{"aria-expanded":_.toString(),"aria-labelledby":u,"aria-describedby":i?c:"",class:this.classes(v.group,f?v.groupSequential:null,_?null:v.groupCollapsed,r?v.groupActive:null),"data-group":e,id:o,key:t,onclick:this._handleGroupClick},h("button",{role:f?"presentation":void 0,class:v.groupHeader,type:"button",tabIndex:f?-1:0},h("div",{class:v.groupTitle},h(d,{class:v.groupLabel,id:u,level:this.title?p(this.headingLevel):this.headingLevel},n),m),f?null:h("span",{class:this.classes(g,v.groupToggleIcon)})),a.map((e=>this.renderLabeledField(e))))}_getFocusableInput(e,t){const i=this.viewModel._allInputFields,a="forward"===e?i:i.slice().reverse();let n;if(t)if(y(t))n=a.indexOf(t.inputFields[0]);else{let i;if(this._isInputFieldInGroup(t)&&"collapsed"===t.group.state){const{inputFields:a}=t.group;i="forward"===e?a[a.length-1]:a[0]}else i=t;n=a.indexOf(i)+1}else n=0;for(let l=n;l<a.length;l++){const e=a[l];if(e.visible)return e}return null}renderLabeledField(e){const{label:t,layer:i,type:a}=e;return h("label",{key:`${i.id}-${e.name}`,class:v.label},[t,"unsupported"!==a?this.renderInputField(e):this.renderUnsupportedField(e),this.renderAuxiliaryText(e)])}renderInputField(e){const{viewModel:t}=this,{domain:i,editable:a,name:n,type:l}=e,s=t.getValue(n),r=!a,o=this.getCommonInputProps(e);if("coded-value"===(null==i?void 0:i.type)&&!r){if(this._inputFieldHasInputType(e,"switch")){const{fieldElement:t}=e;if(!(this._switchFieldsWithInitialIncompatibleValue.has(n)||null==s||t.input.onValue!==s&&t.input.offValue!==s))return this.renderSwitchInputField(s,o);this._switchFieldsWithInitialIncompatibleValue.add(n)}return"radio-buttons"===e.inputType?this.renderRadioButtonsInputField(s,i.codedValues.map((({code:e,name:t})=>({value:e,name:t}))),o):this.renderSelectInputField(s,i.codedValues.map((({code:e,name:t})=>({value:e,name:t}))),o)}return"text"===l&&"text-area"===e.inputType?h("textarea",{...o}):"datetime-picker"===e.inputType||"date"===l?this.renderDateInputField(s,o):h("input",{type:"text"===l?"text":"number",...o})}_parseDateTime(e,t,i){if(i){var a;let n=f.fromJSDate(this._parseDate(e,i));const l=f.fromMillis(null!=(a=t.value)?a:Date.now());return n="date"===i?n.set({hour:l.hour,minute:l.minute,second:l.second}):n.set({day:l.day,month:l.month,year:l.year}),n.isValid?n.toMillis():null}const n=f.fromJSDate(this._parseDate(e));return n.isValid?n.toMillis():null}renderDateInputField(e,t){const{date:i,time:a}=this._formatDate(0),n=`${this.id}-${t.key}`,l=`${n}-date`,s=`${n}-time`,r=t["data-field"],{includeTime:o}=r,{_activeDateFieldEdit:u}=this;let{date:d,time:p}=this._formatDate(e);var c,m,f,_;(null==u?void 0:u.fieldName)===r.name&&(d=null!=(c=null==(m=u.date.input)?void 0:m.value)?c:d,p=null!=(f=null==(_=u.time.input)?void 0:_.value)?f:p);return h("div",{key:`${t.key}-date`,class:v.dateInputContainer},h("div",{class:this.classes(v.dateInputPart,o?null:v.loneDateInputPart)},h("input",{"aria-label":r.label,"aria-describedby":l,type:"text",...t,"data-date-part":"date",class:this.classes(t.class,v.inputDate),value:d}),h("div",{class:v.dateFormatHint,id:l},i)),o?h("div",{class:v.dateInputPart,key:"time-input"},h("input",{"aria-describedby":s,"aria-label":r.label,type:"text",...t,"data-date-part":"time",class:this.classes(t.class,v.inputTime),value:p}),h("div",{class:v.dateFormatHint,id:s},a)):null)}renderUnsupportedField(e){const t=this.getCommonInputProps(e);return h("input",{afterCreate:t.afterCreate,afterUpdate:t.afterUpdate,class:this.classes(v.input,v.inputField,v.inputDisabled),"data-field":t["data-field"],onfocus:t.onfocus,readOnly:!0,tabIndex:t.tabIndex,type:"text",value:t.value})}renderSelectInputField(e,i,a){const n=i.map((e=>h("option",{value:`${e.value}`,key:e.name},e.name))),l=a["data-field"];this._registerIncompatibleValue(e,i,l,(e=>{n.unshift(h("option",{value:`${e}`,key:"incompatible-option",readOnly:!0},e))}));const s=t(l.fieldElement)||this._inputFieldHasInputType(l,"combo-box")&&l.fieldElement.input.showNoValueOption;if(!l.required&&s){const e="",t=this._inputFieldHasInputType(l,"combo-box")&&l.fieldElement.input.noValueOptionLabel||this.messages.empty;n.unshift(h("option",{value:e,key:"empty-option"},t))}return h("select",{...a,class:this.classes(a.class,v.select),onchange:this._handleOptionChange},n)}_registerIncompatibleValue(e,t,i,a){const n=this._fieldToInitialIncompatibleDomainValue,l=n.has(i.name);(l||null!=e&&""!==e&&!t.find((t=>t.value===e))||l)&&(l||n.set(i.name,e),null==a||a(n.get(i.name)))}renderRadioButtonsInputField(e,i,a){const n=a["data-field"],l=i.map((t=>this.renderRadioButton({key:t.name,label:t.name,name:n.name,value:t.value,selected:t.value===e,props:a})));this._registerIncompatibleValue(e,i,n);const s=t(n.fieldElement)||this._inputFieldHasInputType(n,"radio-buttons")&&n.fieldElement.input.showNoValueOption;if(!n.required&&s){const t="",i=this._inputFieldHasInputType(n,"radio-buttons")&&n.fieldElement.input.noValueOptionLabel||this.messages.empty,s=e===t||null===e;l.unshift(this.renderRadioButton({key:"empty-option",label:i,name:n.name,value:t,selected:s,props:a}))}return h("div",{key:`${a.key}-radio`,class:v.inputRadioGroup},l)}renderSwitchInputField(e,t){const i=t["data-field"],a=!!this._inputFieldHasInputType(i,"switch")&&e===i.fieldElement.input.onValue;return h("calcite-switch",{...t,class:v.inputSwitch,onclick:this._handleSwitchClick,checked:a})}renderRadioButton({key:e,name:t,value:i,selected:a,label:n,props:l}){return h("label",{key:e,class:v.inputRadioLabel},h("input",{...l,class:v.inputRadio,name:t,type:"radio",value:i,checked:a,onchange:this._handleRadioInputChange}),n)}renderAuxiliaryText(e){return this._userUpdatedInputFieldNames.has(e.name)&&!e.valid?h("div",{key:"error-message"},h("span",{class:this.classes(v.inputIconInvalid,v.errorIcon)}),h("div",{class:v.errorMessage},e.errorMessage)):e.description?h("div",{key:"description",class:v.description},e.description):void 0}getCommonInputProps(e){const{groupDisplay:t,viewModel:a}=this,{editable:n,group:l,hint:s,maxLength:r,minLength:o,name:u,required:d,type:p,valid:c}=e,m=a.getValue(u),h=this._userUpdatedInputFieldNames.has(u),f=!n,_="all"===t&&i(l)&&"collapsed"===l.state;return{afterCreate:this._afterInputCreateOrUpdate,afterUpdate:this._afterInputCreateOrUpdate,"aria-invalid":c?"false":"true",class:this.classes(v.input,v.inputField,f?v.inputDisabled:null,h&&!c?v.inputInvalid:null),key:u,minlength:o>-1?`${o}`:"",maxlength:r>-1?`${r}`:"",...this._getNumberFieldConstraints(e),readOnly:f,value:null==m?"":`${m}`,"data-field":e,onfocus:this._handleInputFocus,oninput:this._handleInputInput,onblur:this._handleInputBlur,onkeydown:this._handleInputKeyDown,onmousedown:"number"===p?this._handleNumberInputMouseDown:null,placeholder:"number"===p||"text"===p?s:"",required:d,tabIndex:_?-1:0}}_isInputFieldInGroup(e){return!y(e)&&i(e.group)}_handleNumberInputMouseDown({target:e}){e.focus(),this.scheduleRender()}_getNumberFieldConstraints(e){const t=s(e.domain)||r(e.field);return t&&t.max!==Number.MAX_VALUE&&t.min!==Number.MIN_VALUE?t:{min:null,max:null}}_afterInputCreateOrUpdate(e){const t=e["data-field"],i=this.viewModel.findField(this._activeInputName),a=this._fieldToInitialIncompatibleDomainValue.get(t.name)===t.value;this._fieldFocusNeeded&&i===t&&("radio-buttons"!==t.inputType||a||e.checked)&&(this._fieldFocusNeeded=!1,e.focus())}_handleInputFocus(e){const t=e.target,i=t["data-field"];this._activeInputName=i.name,"date"===i.type&&this._syncDateFieldEdits(t)}_handleInputBlur(e){const t=e.target,i=t["data-field"];if("date"===i.type){const n=e.relatedTarget,l=n&&n["data-field"];if(l&&"date"===i.type&&"date"===l.type&&i.field===l.field){if(""!==t.value&&""===n.value){var a;const l=n.getAttribute("data-date-part");n.value=this._formatDate(null!=(a=i.value)?a:Date.now())[l],this._parseDate(t.value,t.getAttribute("data-date-part"))&&this._commitInputValue(e.target,!0,!1)}return}}this._commitInputValue(t),this.scheduleRender()}_commitInputValue(e,t=!1,i=!0){const a=e["data-field"];if(this._activeDateFieldEdit){const{date:o,time:u}=this._activeDateFieldEdit,d=this._parseDateTime(e.value,a,o.active?"date":"time"),p=null!==this.viewModel.getValue(a.name),c=o.input&&(u.input||!a.includeTime),m=null===d;if(t){if(m)return;(c||!i||p)&&this._updateDateFieldValue(a,d)}else{var n,l;if(""===(null==(n=o.input)?void 0:n.value)||""===(null==(l=u.input)?void 0:l.value))this._updateDateFieldValue(a,null);else if(c){var s,r;const e=`${o.input.value} ${null!=(s=null==(r=u.input)?void 0:r.value)?s:""}`,t=this._parseDateTime(e,a);!(null!==t)&&p||this._updateDateFieldValue(a,t)}this._activeDateFieldEdit=null}}else this._updateFieldValue(e)}_handleInputKeyDown(e){const{key:t,altKey:i,ctrlKey:a,metaKey:n}=e,l=e.target["data-field"];if("Enter"===t)this._isInputFieldInGroup(l)&&"collapsed"===l.group.state&&(l.group.state="expanded");else{const{type:s}=l.field,r="single"===s||"double"===s,o=!i&&!a&&!n;if(("integer"===s||"small-integer"===s||r)&&o&&1===t.length){const i=Number(t),a=["-","+"],n=["e","."],l=r?[...a,...n]:a;isNaN(i)&&-1===l.indexOf(t)&&e.preventDefault()}}}_syncDateFieldEdits(e){var t,i;const a=e["data-field"];if("date"!==a.type)return;const n=e.getAttribute("data-date-part"),l="date"===n?{value:e.value,input:e,active:!0}:{...null==(t=this._activeDateFieldEdit)?void 0:t.date,active:!1},s="time"===n?{value:e.value,input:e,active:!0}:{...null==(i=this._activeDateFieldEdit)?void 0:i.time,active:!1};this._activeDateFieldEdit={fieldName:a.name,date:l,time:s}}_updateFieldValue(e){const t=e["data-field"];this.viewModel.setValue(t.name,this._parseValue(e)),this._userUpdatedInputFieldNames.add(t.name)}_updateDateFieldValue(e,t){this.viewModel.setValue(e.name,t),this._userUpdatedInputFieldNames.add(e.name)}_parseValue(e){const t=e["data-field"],i=e.value;if(this._inputFieldHasInputType(t,"switch")&&!(e instanceof HTMLSelectElement))return e.checked?t.fieldElement.input.onValue:t.fieldElement.input.offValue;if("radio-buttons"===t.inputType&&"radio"===e.type&&!e.checked)return t.value;const{type:a}=t;if("number"===a)return i?parseFloat(i):null;if("date"===a){if(!i)return null;const a=Number(i);if(!isNaN(a))return a;const n=e.getAttribute("data-date-part"),l=this._parseDate(i,n);if(!l)return null;let s=f.fromJSDate(l);const r=t.domain,o=f.now();let u=o;if(r&&"range"===r.type){const e=f.fromMillis(r.maxValue);o<e&&(u=e)}const d=this.viewModel.getValue(t.name),p=null!=d?f.fromMillis(d):u;return s="date"===n?s.set({hour:p.hour,minute:p.minute,second:p.second}):s.set({day:p.day,month:p.month,year:p.year}),s.toMillis()}return i}_handleOptionChange(e){this._commitInputValue(e.target),this.scheduleRender()}_handleGroupClick(e){var t;const i=e.currentTarget["data-group"],a="expanded"===i.state,n="sequential"===this.groupDisplay,l=`.${v.groupHeader}`;if(!(a&&!e.target.closest(l))){if(this._activeInputName=null==(t=this._getFocusableInput("forward",i))?void 0:t.name,n){const t=e.target.closest(l);if(a&&!t)return;this.viewModel.inputFields.forEach((e=>{y(e)&&e!==i&&(e.state="collapsed")}))}i.state=a?"collapsed":"expanded",this._fieldFocusNeeded=n,this.scheduleRender()}}_handleSubmit(e){e.preventDefault()}_handleFormKeyDown(e){"Enter"===e.key&&this.viewModel.submit()}_formatDate(e){if(null==e)return{date:"",time:""};const t=f.fromMillis(e,{locale:_(),numberingSystem:"latn"});return{date:t.toLocaleString({year:"numeric",month:"2-digit",day:"2-digit"}),time:t.toFormat(g.timePattern)}}_parseDate(e,t){if(null==e||""===e)return null;const{timePattern:i,datePattern:a}=g,n=t?"date"===t?a:i:`${a} ${i}`,l=f.fromFormat(e,n,{locale:_(),numberingSystem:"latn"});return l.isValid?l.toJSDate():null}_inputFieldHasInputType(e,t){var a;return i(e.fieldElement)&&(null==(a=e.fieldElement.input)?void 0:a.type)===t}};e([a("viewModel.description")],I.prototype,"description",void 0),e([a("viewModel.feature")],I.prototype,"feature",void 0),e([a("viewModel.fieldConfig")],I.prototype,"fieldConfig",void 0),e([a("viewModel.formTemplate")],I.prototype,"formTemplate",void 0),e([n()],I.prototype,"groupDisplay",void 0),e([n()],I.prototype,"headingLevel",void 0),e([n({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],I.prototype,"label",void 0),e([a("viewModel.layer")],I.prototype,"layer",void 0),e([n(),c("esri/widgets/FeatureForm/t9n/FeatureForm")],I.prototype,"messages",void 0),e([a("viewModel.strict")],I.prototype,"strict",void 0),e([a("viewModel.title")],I.prototype,"title",void 0),e([n(),m(["value-change","submit"])],I.prototype,"viewModel",void 0),e([a("viewModel.getValues")],I.prototype,"getValues",null),e([a("viewModel.submit")],I.prototype,"submit",null),I=e([l("esri.widgets.FeatureForm")],I);const b=I;export{b as default};
|