@arcgis/core 4.23.0-next.20220104 → 4.23.0-next.20220119
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/01ef8de7f76a8c61b464.js +1 -0
- package/assets/esri/core/workers/chunks/05db312a0ca6bd3f014a.js +1 -0
- package/assets/esri/core/workers/chunks/09da224052976e290828.js +1 -0
- package/assets/esri/core/workers/chunks/{2c9af2ebd72d9b55329b.js → 0f254c3e91e8fee55f28.js} +1 -1
- package/assets/esri/core/workers/chunks/{ce5ca5e95b2378ec55b9.js → 1305ef8717da6e902a55.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a2e5b267a0cbf8553b7.js → 1b28042fdf3f4dbc8ea5.js} +1 -1
- package/assets/esri/core/workers/chunks/20411bb8e04703962ce6.js +1 -0
- package/assets/esri/core/workers/chunks/21a77eed1a4ef5b0ff08.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/{9c417740bf3707a0d465.js → 2c607d30ff8ca1b61286.js} +1 -1
- package/assets/esri/core/workers/chunks/2e445a8735ea2adb641a.js +1 -0
- package/assets/esri/core/workers/chunks/3564e14010953def6df9.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/403c7d64f12f00330d88.js +1 -0
- package/assets/esri/core/workers/chunks/43cdff2418325e163420.js +1 -0
- package/assets/esri/core/workers/chunks/4409d77c9734de4e82a7.js +1 -0
- package/assets/esri/core/workers/chunks/{f52b6d5037e4205b035c.js → 47395d225229d237f0ac.js} +1 -1
- package/assets/esri/core/workers/chunks/4b69129c0557852d9b3d.js +1 -0
- package/assets/esri/core/workers/chunks/57c67e260267a1dbc5e3.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/618076e6de605873e433.js +1 -0
- package/assets/esri/core/workers/chunks/{ba6fdaed6c315dc13981.js → 625d2663daa8e0cf64b0.js} +1 -1
- package/assets/esri/core/workers/chunks/631c5b514bb73782c570.js +1 -0
- 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/67162b3e2cc1b5dc6818.js +1 -0
- package/assets/esri/core/workers/chunks/6c1e92ff4c732dfda756.js +1 -0
- package/assets/esri/core/workers/chunks/6cdfe175c965918b741b.js +1 -0
- package/assets/esri/core/workers/chunks/75d53b28afe732c459b2.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/7e596478507466953e65.js +1 -0
- 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/{9846098704ee38bf6350.js → 8fdd5bca3716816d359b.js} +1 -1
- 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/9d77467aa71d345fc1b6.js +1 -0
- package/assets/esri/core/workers/chunks/{4beba242e7540ee3182b.js → 9d9dffc8884d66a258e4.js} +1 -1
- package/assets/esri/core/workers/chunks/9f8b7b6b4e95f9a794fc.js +1 -0
- package/assets/esri/core/workers/chunks/{a721342a32541717324d.js → a28b53c61bddefb6616e.js} +1 -1
- 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/a960074644c3722be71e.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/b10fcbe1393c812fc219.js +1 -0
- package/assets/esri/core/workers/chunks/{2a39d520b192b8e552b5.js → b2ae5fc4f787ea568b88.js} +1 -1
- package/assets/esri/core/workers/chunks/{b87bc1481a49b38109f4.js → b9c177524b3e7de1ffd1.js} +1 -1
- package/assets/esri/core/workers/chunks/b9de831ac379cf1d2969.js +1 -0
- 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/be2b7cce79fd41627931.js +1 -0
- 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/{b58eba403bd517a7bb15.js → c3eca92d02958732e141.js} +1 -1
- package/assets/esri/core/workers/chunks/c6f94b92e866b881d9b9.js +1 -0
- package/assets/esri/core/workers/chunks/{b51261a9a9ab62388839.js → c8f976e53e232e8da9cc.js} +39 -29
- package/assets/esri/core/workers/chunks/cbb291412fd1a5261aa9.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/dd433c160f7a0c120b82.js +1 -0
- package/assets/esri/core/workers/chunks/de03439ca2c9782bf325.js +1 -0
- package/assets/esri/core/workers/chunks/e2d68bcd2f99a65387bf.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/{2f66fcb8670b108af549.js → ed0bcc66fb1e0ee75a4b.js} +1 -1
- package/assets/esri/core/workers/chunks/{6deac533bb455be4004b.js → ef8b75b92cf549e0507e.js} +1 -1
- package/assets/esri/core/workers/chunks/f7fc4c993536e62f7f3e.js +1 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.svg +1 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.ttf +0 -0
- package/assets/esri/themes/base/icons/fonts/CalciteWebCoreIcons.woff +0 -0
- package/assets/esri/themes/base/icons/selection.json +1 -1
- package/assets/esri/themes/base/icons/style.css +4 -0
- package/assets/esri/themes/base/icons/style.scss +6 -0
- package/assets/esri/themes/base/icons/variables.scss +1 -0
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/ElevationProfile/t9n/ElevationProfile_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ar.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bg.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_bs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ca.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_cs.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_da.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_de.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_el.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_es.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_et.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_fr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_he.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_hu.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_id.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_it.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ja.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ko.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lt.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_lv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nb.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_nl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ro.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_ru.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sl.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_sv.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_th.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_tr.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_uk.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_vi.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTemplates/t9n/FeatureTemplates_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_cs.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_el.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_fr.json +1 -1
- package/assets/esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ar.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bg.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_bs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ca.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_cs.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_da.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_de.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_el.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_es.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_et.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_fr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_he.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_hu.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_id.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_it.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ja.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ko.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lt.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_lv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nb.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_nl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-BR.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_pt-PT.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ro.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_ru.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sl.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_sv.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_th.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_tr.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_uk.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_vi.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-CN.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-HK.json +1 -1
- package/assets/esri/widgets/Weather/t9n/Weather_zh-TW.json +1 -1
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/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/core/urlUtils.js +1 -1
- package/form/elements/FieldElement.js +1 -1
- package/geometry/support/buffer/math/common.js +1 -1
- package/interfaces.d.ts +100 -57
- package/layers/FeatureLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/VectorTileLayer.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/capabilities.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.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/package.json +5 -5
- package/rasterRenderers.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/request.js +1 -1
- package/rest/print.js +1 -1
- package/rest/support/ImageIdentifyParameters.js +1 -1
- package/rest/support/StatisticDefinition.js +1 -1
- package/smartMapping/raster/renderers/classBreaks.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/support/Symbol3DHalo.js +1 -1
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/constants.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/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/support/engineHelpers.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.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/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/Graphics3DFeatureLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphicLikeLayerView.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPointSymbol.js +1 -1
- package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/QueryEngine.js +1 -1
- package/views/3d/layers/support/FeatureTileTree3DDebugger.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomStepController.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/sunUtils.js +1 -1
- package/views/3d/terrain/Overlay.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +7 -1
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +28 -24
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +19 -14
- package/views/3d/webgl-engine/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/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/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
- package/views/LayerViewManager.js +1 -1
- package/views/MapView.js +1 -1
- package/views/SceneView.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/OGCFeatureLayerView.js +1 -1
- package/views/layers/RefreshableLayerView.js +1 -1
- package/views/overlay/ViewOverlay.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/WatchUpdatingTracking.js +1 -1
- package/views/support/imageReprojection.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/ContextState.js +1 -1
- package/views/webgl/FramebufferObject.js +1 -1
- package/views/webgl/Program.js +1 -1
- package/views/webgl/ProgramCache.js +1 -1
- package/views/webgl/ProgramTemplate.js +1 -1
- package/views/webgl/RenderingContext.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/views/webgl/UniformBufferLayout.js +5 -0
- package/views/webgl/UniformBufferObject.js +5 -0
- 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/FeatureMedia.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.js +1 -1
- package/widgets/FeatureForm/InputFieldGroup.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/LayerList/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/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/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/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/6e13dab8ec43f7494297.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/a247ddd84245c81112c8.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/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/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/views/2d/engine/webgl/mesh/templates/meshUtils.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{pickRandom as t}from"../../../core/arrayUtils.js";import a from"../../../core/Error.js";import r from"../../../core/Logger.js";import{unwrap as i}from"../../../core/maybe.js";import{timeout as s,eachAlways as n,throwIfAborted as o}from"../../../core/promiseUtils.js";import{whenFalseOnce as l}from"../../../core/watchUtils.js";import{property as u}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../core/accessorSupport/decorators/subclass.js";import{toQuantizationTransform as c,quantizePoint as p}from"../../../geometry/support/quantizationUtils.js";import{isWrappable as h,getInfo as d}from"../../../geometry/support/spatialReferenceUtils.js";import{isHostedAgolService as y}from"../../../layers/support/arcgisLayerUrl.js";import{kebabDict as f}from"../../../layers/support/fieldType.js";import{isStringField as g,isNumericField as F,isDateField as S}from"../../../layers/support/fieldUtils.js";import w from"../../../rest/support/GenerateRendererParameters.js";import v from"../../../rest/support/QuantizationParameters.js";import x from"../../../rest/support/StatisticDefinition.js";import _ from"../../../rest/support/UniqueValueDefinition.js";import{getArcadeForPredominantCategory as z,getSQLForPredominantCategoryName as q}from"../../statistics/support/predominanceUtils.js";import{summaryStatistics as V,uniqueValues as T,histogram as E,classBreaks as L}from"../../statistics/support/statsWorker.js";import{getRangeExpr as j,getSQLFilterForNormalization as Q,mergeWhereClauses as M}from"../../statistics/support/utils.js";import{WorkerClient as C}from"../../statistics/support/WorkerClient.js";import{getFieldsList as b}from"../utils.js";import P from"./LayerAdapter.js";import{ensureFeaturesJSON as N,msSinceUnixEpochSQL as B,getFieldExpr as k,getSummaryStatisticsFromFeatureSet as O,getViewInfoParams as R,getMissingFields as I,getUniqueValuesFromFeatureSet as D,getHistogramFromFeatureSet as G,generateBinParams as J,calculateHeatmapStats as U,getPredominantCategoriesFromUVInfos as A}from"./support/utils.js";import{processSummaryStatisticsResult as W,isNullCountSupported as $,statisticTypes as H,createUVResult as Z,getEqualIntervalBins as K,createClassBreaksDefinition as X,resolveCBResult as Y}from"../../../statistics/utils.js";import ee from"../../../tasks/GenerateRendererTask.js";import te from"../../../geometry/Point.js";const ae=r.getLogger("esri.smartMapping.support.adapters.FeatureLayerAdapter"),re=5,ie=10,se=2e4,ne=4e5;let oe=class extends P{constructor(e){super(e)}destroy(){var e;this._hasLocalSource=null,null==(e=this.workerClient)||e.destroy()}_isStatsSupportedOnService(){const e=this.layer;return!e.get("capabilities.query.supportsStatistics")||"multipatch"===this.geometryType&&!y(e.url)&&e.version<10.5?Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support statistics query")):Promise.resolve()}async _waitForLayerViewUpdate(e){if(!e)throw new a("feature-layer-adapter:insufficient-data","layerView is required to fetch the features");const t=new AbortController,r=l(e,"updating",t.signal);await s(r,5e3,t).catch((e=>{throw ae.warn("LayerView is taking too long to update. Aborting fetch from layerView."),e}))}async _fetchFeaturesFromMemory(e,t,a,r){const i=this.layer,s="json"===r;if(this._hasLocalSource){const e=await i.queryFeatures(t);return s?N(e.features):e.features}if(await this._waitForLayerViewUpdate(e),s&&"queryFeaturesJSON"in e&&e.queryFeaturesJSON){const{features:r}=await e.queryFeaturesJSON(t,{signal:a});return r}const n=await e.queryFeatures(t,{signal:a});return s?N(n.features):n.features}_fetchFeaturesFromService(e,t){return this.layer.queryFeatures(e,{signal:t}).then((e=>e.features))}_fetchFeaturesJSONFromService(e,t){return this._fetchFeaturesFromService(e,t).then(N)}_fetchFeaturesForStats(e,t){return b({field:e.field,normalizationField:e.normalizationField,valueExpression:e.valueExpression}).then((a=>this.getSampleFeatures({sampleSize:-1,view:e.view,returnGeometry:e.returnGeometry,requiredFields:a,signal:e.signal},t)))}_summaryStatsFromGenRend(e){const t=e.normalizationType,a=e.normalizationField;return this.classBreaks({field:e.field,numClasses:re,classificationMethod:"standard-deviation",standardDeviationInterval:.25,normalizationType:t,normalizationField:"field"===t?a:void 0,minValue:e.minValue,maxValue:e.maxValue,signal:e.signal}).then((e=>{let t,a,r;if(e.classBreakInfos.some((e=>(e.hasAvg&&(t=e),!!t))),t){const e=t.maxValue-t.minValue;a=t.minValue+e/2,r=4*e}const i={min:e.minValue,max:e.maxValue,avg:a,stddev:r};return W(i)}))}_getSummaryStatsQuery(e,t){const{field:a,normalizationType:r,normalizationField:i,normalizationTotal:s,minValue:n,maxValue:o}=e,l=this.supportsSQLExpression&&t?B(this,a):e.sqlExpression,u=k({field:a,normalizationType:r,normalizationField:i,normalizationTotal:s,layer:this}),m=l||u,c=m?j(m,n,o):null,p=Q({field:a,normalizationField:i,normalizationType:r}),h=M(e.sqlWhere,p),d=M(h,c),y=$({normalizationField:i,normalizationType:r,sqlExpression:l,supportsSQLExpression:this.supportsSQLExpression,minValue:n,maxValue:o}),f=g(this.getField(a)),F=H.filter((e=>"nullcount"===e?y:!f||"count"===e)),S=this.layer.createQuery();return S.where=M(S.where,d),S.sqlFormat=l?"standard":null,S.outStatistics=F.map((e=>{const t=new x;let a=null,r=null,i=`${e}_value`;return"variance"===e?(a="var",r=m):"nullcount"===e?(a="count",r=this.layer.objectIdField,i="totalcount_value"):"median"===e?(a="percentile-continuous",r=m,t.statisticParameters={value:.5}):(a=e,r=m),t.statisticType=a,t.onStatisticField=r,t.outStatisticFieldName=i,t})),S}async _summaryStatsFromServiceQuery(e,t){await this._isStatsSupportedOnService(),"percent-of-total"===e.normalizationType&&(e.normalizationTotal=await this._getNormalizationTotal(e.field,e.normalizationType));const a=this._getSummaryStatsQuery(e,t),r=await this.layer.queryFeatures(a,{signal:e.signal}),i=O(r,t);return W(i)}async _summaryStatsFromClientQuery(e,t){const a=this._getSummaryStatsQuery(e,t),r=await this.layer.queryFeatures(a,{signal:e.signal}),i=O(r,t);return W(i)}async _getNormalizationTotalFromMemory(e,t,r){const{featuresJSON:i,graphics:s,layerView:n,query:o}=t,l=(!i&&!s&&n&&"querySummaryStatistics"in n?await n.querySummaryStatistics(o,{field:e},{signal:r}):i?await this.workerClient.summaryStatistics({field:e},i):await V({attribute:{field:e},features:s})).sum;if(null==l)throw new a("feature-layer-adapter:invalid","invalid normalizationTotal");return l}async _summaryStatsFromMemory(e,t){const{view:a,field:r,valueExpression:i,normalizationType:s,features:n,signal:o}=e,l={field:r,valueExpression:i,normalizationType:s,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue};i&&a&&n&&(l.fieldType=null!=t&&t.type?f.toJSON(t.type):null,l.viewInfoParams=R(a));const{featuresJSON:u,graphics:m,layerView:c,query:p}=await this._processStatsFromMemoryParams(e);return"percent-of-total"===s&&null==e.normalizationTotal&&(l.normalizationTotal=await this._getNormalizationTotalFromMemory(r,{featuresJSON:u,graphics:m,layerView:c,query:p},o)),!u&&!m&&c&&"querySummaryStatistics"in c?c.querySummaryStatistics(p,l,{signal:o}):u?this.workerClient.summaryStatistics(l,u):V({attribute:l,features:m})}async _processStatsFromMemoryParams(e){const t=e.features;if(null!=t&&t.length){return t.length&&"declaredClass"in t[0]&&"esri.Graphic"===t[0].declaredClass?{graphics:t}:{featuresJSON:t}}const{view:r,field:i,normalizationField:s,valueExpression:n,signal:o}=e;let l=null,u=null,m=null,c=null;if(r)try{l=await r.whenLayerView(this.layer),u="querySummaryStatistics"in l&&"function"==typeof l.querySummaryStatistics}catch{u=!1}if(u)try{await this._waitForLayerViewUpdate(l);const e=await b({field:i,normalizationField:s,valueExpression:n});(await I(this,e,l)).length?u=!1:(m=this.layer.createQuery(),m.outFields=e,m.returnGeometry=!1),l.suspended&&(u=!1)}catch{u=!1}var p;if(!u&&(c=await this._fetchFeaturesForStats({field:i,valueExpression:n,normalizationField:s,view:r,signal:o},"json"),null==(p=c)||!p.length))throw new a("feature-layer-adapter:insufficient-data","No features are available to calculate statistics");return{layerView:l,query:m,featuresJSON:c}}_uvFromGenRenderer(e,t){const a=e.field,r=new _;r.attributeField=a;const i=new w;return i.classificationDefinition=r,this.generateRenderer(i,e.signal).then((e=>{const t={},r=this.getField(a);return e.uniqueValues.forEach((e=>{let a=e.value;null!=a&&""!==a&&("string"!=typeof a||""!==a.trim()&&"<null>"!==a.toLowerCase())||(a=null),null==t[a]?t[a]={count:e.count,data:F(r)&&a?Number(a):a}:t[a].count=t[a].count+e.count})),{count:t}})).then((a=>Z(a,t,e.returnAllCodedValues)))}_getUVQuery(e){const t=e.field,a=e.sqlExpression,r="countOF"+(t||"Expr"),i=new x;i.statisticType="count",i.onStatisticField=a?"1":t,i.outStatisticFieldName=r;const s=this.layer.createQuery();return s.where=M(s.where,e.sqlWhere),s.sqlFormat=a?"standard":null,s.outStatistics=[i],s.groupByFieldsForStatistics=[t||a],s}_uvFromServiceQuery(e,t){return this._isStatsSupportedOnService().then((()=>this.layer.queryFeatures(this._getUVQuery(e),{signal:e.signal}))).then((t=>D(t,this,e.field,e.view,null,e.signal))).then((a=>Z(a,t,e.returnAllCodedValues)))}async _uvFromClientQuery(e,t){const{signal:a}=e,r=this._getUVQuery(e),i=await this.layer.queryFeatures(r,{signal:a}),s=await D(i,this,e.field,e.view,null,a);return Z(s,t,e.returnAllCodedValues)}async _uvFromMemory(e,t){const{view:a,field:r,valueExpression:i,returnAllCodedValues:s,signal:n}=e,{featuresJSON:o,graphics:l,layerView:u,query:m}=await this._processStatsFromMemoryParams(e),c={field:r,valueExpression:i,domain:t,returnAllCodedValues:s};return i&&a&&o&&(c.viewInfoParams=R(a)),!o&&!l&&u&&"queryUniqueValues"in u?u.queryUniqueValues(m,c,{signal:n}):o?this.workerClient.uniqueValues(c,o):T({attribute:c,features:l})}_calcBinsSQL(e,t,a){const r=[],i=t.length;return t.forEach(((t,s)=>{const[n,o]=t;let l=null;l=0!==s||a?s!==i-1||a?M(`${e} >= ${n}`,`${e} ${s===i-1?" <= ":" < "} ${o}`):`${e} >= ${n}`:`${e} < ${o}`,r.push("WHEN ("+l+") THEN "+(s+1))})),["CASE",r.join(" "),"ELSE 0","END"].join(" ")}_getNormalizationTotal(e,t,a){return e&&"percent-of-total"===t?this.summaryStatistics({field:e,signal:a}).then((e=>e.sum)):Promise.resolve(null)}_getQueryParamsForExpr(e,t){const a=e.valueExpression||e.sqlExpression,r=e.signal;if(!a){const{field:a,normalizationType:i,normalizationField:s}=e,n=a?this.getField(a):null,o=S(n),l={field:a,normalizationType:i,normalizationField:s,normalizationTotal:t,layer:this};return{sqlExpression:o?B(this,a):k(l),sqlWhere:o?null:e.sqlWhere||Q({field:a,normalizationType:i,normalizationField:s}),signal:r}}return{valueExpression:e.valueExpression,sqlExpression:e.sqlExpression,sqlWhere:e.sqlWhere,signal:r}}_getDataRange(e,t,a){return null!=t&&null!=a?Promise.resolve({min:t,max:a}):this.summaryStatistics(e).then((e=>({min:e.min,max:e.max})))}_histogramForExpr(e){return this._getNormalizationTotal(e.field,e.normalizationType,e.signal).then((t=>{const a=this._getQueryParamsForExpr(e,t);return this._getDataRange(a,e.minValue,e.maxValue).then((r=>{const{min:i,max:s}=r,n=e.numBins||ie,o=K(i,s,n),l=this._calcBinsSQL(a.sqlExpression,o,null!=e.minValue&&null!=e.maxValue),u=new x({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:"1"}),m=this.layer.createQuery();return m.where=M(m.where,a.sqlWhere),m.sqlFormat="standard",m.outStatistics=[u],m.groupByFieldsForStatistics=[l],m.orderByFields=[l],this._isStatsSupportedOnService().then((()=>this.layer.queryFeatures(m,{signal:a.signal}))).then((e=>G(e,i,s,n,t)))}))}))}_histogramForField(e){let t=null;return t=null!=e.minValue&&null!=e.maxValue?Promise.resolve({min:e.minValue,max:e.maxValue}):this.summaryStatistics(e).then((e=>{if(!e.count)throw new a("feature-layer-adapter:insufficient-data","Either the layer has no features or none of the features have data for the field");return{min:e.min,max:e.max}})),t.then((t=>this._getBins({min:t.min,max:t.max},e.field,e.numBins,e.view,e.signal)))}_getBins(e,t,a=ie,r,i){const{min:s,max:n,normTotal:o,excludeZerosExpr:l}=e,u=e.intervals||K(s,n,a),m=e.sqlExpr||t;return this._queryBins(u,m,l,r,i).then((e=>({bins:e.map(((e,t)=>({minValue:u[t][0],maxValue:u[t][1],count:e.value}))),minValue:s,maxValue:n,normalizationTotal:o})))}_queryBins(e,t,a,r,i){const s=[],o=e.length;for(let n=0;n<o;n++){const r=M(a,M(t+" >= "+e[n][0],null!==e[n][1]?t+(n===o-1?" <= ":" < ")+e[n][1]:""));s.push(r)}return n(s.map((e=>this.queryFeatureCount({whereClause:e,view:r,signal:i}))))}_binParamsFromGenRend(e,t){const{field:a,normalizationType:r,normalizationField:i,signal:s}=e,n=Q({field:a,normalizationType:r,normalizationField:i}),o=new w({classificationDefinition:X({field:a,normalizationType:r,normalizationField:i,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numBins||ie}),where:M(n,t)});return this.generateRenderer(o,s).then((e=>{const{normalizationTotal:t,classBreaks:s}=e;return J({field:a,normalizationType:r,normalizationField:i,normalizationTotal:t,classBreaks:s,where:n,layer:this})}))}async _histogramFromMemory(e){const{view:t,field:a,signal:r}=e,{featuresJSON:i,graphics:s,layerView:n,query:o}=await this._processStatsFromMemoryParams(e),l={field:a,valueExpression:e.valueExpression,normalizationType:e.normalizationType,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue,standardDeviationInterval:e.standardDeviationInterval,classificationMethod:e.classificationMethod,numBins:e.numBins};return e.valueExpression&&t&&i&&(l.viewInfoParams=R(t)),"percent-of-total"===e.normalizationType&&null==e.normalizationTotal&&(l.normalizationTotal=await this._getNormalizationTotalFromMemory(a,{featuresJSON:i,graphics:s,layerView:n,query:o},r)),!i&&!s&&n&&"queryHistogram"in n?n.queryHistogram(o,l,{signal:r}):i?this.workerClient.histogram(l,i):E({attribute:l,features:s})}_classBreaksFromGenRend(e){const{field:t,normalizationType:a,normalizationField:r,normalizationTotal:i,signal:s}=e,n=Q({field:t,normalizationType:a,normalizationField:r}),o=k({field:t,normalizationType:a,normalizationField:r,normalizationTotal:i,layer:this}),l=j(o,e.minValue,e.maxValue),u=X({field:t,normalizationType:a,normalizationField:r,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numClasses||re}),m=new w;return m.classificationDefinition=u,m.where=M(n,l),this.generateRenderer(m,s).then((t=>Y(t,e.classificationMethod)))}_classBreaksFromInterpolation(e){const{minValue:t,maxValue:a}=e,r=e.numClasses||re,i=[],s=(a-t)/r;for(let l=0;l<r;l++){const e=t+l*s;i.push({minValue:e,maxValue:e+s})}i[r-1].maxValue=a;const n={classBreaks:i,normalizationTotal:e.normalizationTotal},o=Y(n,e.classificationMethod);return Promise.resolve(o)}async _classBreaksFromMemory(e){const{view:t,field:a,signal:r}=e,{featuresJSON:i,graphics:s,layerView:n,query:o}=await this._processStatsFromMemoryParams(e),l={field:a,valueExpression:e.valueExpression,normalizationType:e.normalizationType,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue,standardDeviationInterval:e.standardDeviationInterval,classificationMethod:e.classificationMethod,numClasses:e.numClasses};return e.valueExpression&&t&&i&&(l.viewInfoParams=R(t)),"percent-of-total"===e.normalizationType&&null==e.normalizationTotal&&(l.normalizationTotal=await this._getNormalizationTotalFromMemory(a,{featuresJSON:i,graphics:s,layerView:n,query:o},r)),!i&&!s&&n&&"queryClassBreaks"in n?n.queryClassBreaks(o,l,{signal:r}):i?this.workerClient.classBreaks(l,i):L({attribute:l,features:s})}async _heatmapStatsFromMemory(e,t){const{blurRadius:r,field:i,view:s,signal:n}=e,{resolution:o,size:l}=s.state,u=new v({extent:s.extent,tolerance:o}),m=this._quantizeFeatures(e.features||await this._fetchFeaturesForStats({field:i,view:s,returnGeometry:!0,signal:n}),u,s);if(!m||!m.length)return{count:0,min:null,max:null,avg:null,stddev:null};const c=U(m,r,t,i,l[0],l[1]);if(c)return{count:c.count,min:c.min,max:c.max,avg:c.mean,stddev:c.stdDev};throw new a("feature-layer-adapter:invalid","unable to calculate heatmap statistics")}_quantizeFeatures(e,t,a){const r=c(t),{spatialReference:s,size:n}=a,o=h(s)?d(s):null,l=o?Math.round((o.valid[1]-o.valid[0])/r.scale[0]):null;return e.map((e=>{const t=new te(i(e.geometry));return p(r,t,t,t.hasZ,t.hasM),e.geometry=o?this._wrapPoint(t,l,n[0]):t,e}))}_wrapPoint(e,t,a){return e.x<0?e.x+=t:e.x>a&&(e.x-=t),e}getField(e=""){return this.layer.getField(e)}getFieldUsageInfo(e){return this.getField(e)?{supportsLabelingInfo:!0,supportsRenderer:!0,supportsPopupTemplate:!0,supportsLayerQuery:!0,supportsStatistics:!0}:null}getFieldDomain(e,t){return this.layer.getFieldDomain(e,t)}summaryStatistics(e){const{field:t,normalizationType:r,sqlExpression:i,view:s,features:n}=e,l=t?this.getField(t):null,u=S(l),m=e.valueExpression||i,c=m&&!i,p=this._hasLocalSource||n,h=s&&"3d"===s.type;if(p||c)return c||n||h?this._summaryStatsFromMemory(e,l):this._summaryStatsFromClientQuery(e,u);if(!this.supportsSQLExpression&&(u||m||"natural-log"===r||"square-root"===r))return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support standardized SQL expression for queries"));return(r&&!this.supportsSQLExpression?this._summaryStatsFromGenRend(e):this._summaryStatsFromServiceQuery(e,u)).catch((()=>(o(e.signal),this._summaryStatsFromMemory(e,l))))}uniqueValues(e){const{field:t,valueExpression:a,sqlExpression:r,signal:i}=e,s=(t?this.getField(t):null)&&this.getFieldDomain(t),n=a&&(!r||!this.supportsSQLExpression),l=this._hasLocalSource||e.features||n,u=e.view,m=u&&"3d"===u.type;return l?n||e.features||m?this._uvFromMemory(e,s):this._uvFromClientQuery(e,s):this._uvFromServiceQuery(e,s).catch((t=>(o(i),e.field?this._uvFromGenRenderer(e,s):t))).catch((()=>(o(i),n||e.features||m?this._uvFromMemory(e,s):this._uvFromClientQuery(e,s))))}histogram(e){const{field:t,normalizationType:r,normalizationField:i,classificationMethod:s,view:n,signal:o}=e,l=t?this.getField(t):null,u=S(l),m=e.valueExpression||e.sqlExpression,c=m&&!e.sqlExpression,p=this._hasLocalSource||e.features||c,h=this.supportsSQLExpression,d=!s||"equal-interval"===s,y=e.minValue,f=e.maxValue,g=null!=y&&null!=f,F=e.numBins||ie;return p?this._histogramFromMemory(e):(m||h)&&d?h||!m&&"natural-log"!==r&&"square-root"!==r?this._histogramForExpr(e):Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support standardized SQL expression for queries")):u&&d?Promise.reject(new a("feature-layer-adapter:not-supported","Normalization and date field are not allowed when layer does not support standardized SQL expression for queries")):r||!d?this._binParamsFromGenRend(e).then((s=>{if(!g)return this._getBins(s,t,F,n,o);if(y>s.max||f<s.min)throw new a("histogram:insufficient-data","Range defined by 'minValue' and 'maxValue' does not intersect available data range of the field");if(d)return this._getBins({min:y,max:f,sqlExpr:s.sqlExpr,excludeZerosExpr:s.excludeZerosExpr},t,F,n,o);{const a={field:t,normalizationType:r,normalizationField:i,normalizationTotal:s.normTotal,layer:this},l=k(a),u=j(l,y,f);return this._binParamsFromGenRend(e,u).then((e=>this._getBins(e,t,F,n,o)))}})):this._histogramForField(e)}classBreaks(e){const t=!1!==e.analyzeData,a=this._hasLocalSource||e.features||e.valueExpression;if(t&&a)return this._classBreaksFromMemory(e);return(t?this._classBreaksFromGenRend(e):this._classBreaksFromInterpolation(e)).catch((()=>(o(e.signal),this._classBreaksFromMemory(e))))}queryFeatureCount(e){if(this._hasLocalSource)return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support count query"));const t=this.layer,r=t.createQuery();return r.where=M(r.where,e.whereClause),t.queryFeatureCount(r,{signal:e.signal})}generateRenderer(e,t){const r=this.layer;if(this._hasLocalSource||r.version<10.1)return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support generateRenderer operation (requires ArcGIS Server version 10.1+)"));const i=new ee({url:r.parsedUrl.path,source:r.dynamicDataSource,gdbVersion:r.gdbVersion}),s=r.createQuery();return e.where=M(e.where,s.where),i.execute(e,{signal:t})}heatmapStatistics(e){const{field:t,fieldOffset:a,signal:r}=e;return(t&&null==a?this.summaryStatistics({field:t,signal:r}):Promise.resolve(null)).then((t=>{let r=a||0;if(t){const{count:e,min:a,max:i}=t;e?a===i&&0===a?r=1:i<=0?r="abs":a<0&&(r=-1.01*a):r=1}return this._heatmapStatsFromMemory(e,r).then((e=>({...e,summaryStatistics:t,fieldOffset:r})))}))}async predominantCategories(e){if(!this._hasLocalSource&&!this.supportsSQLExpression)throw new a("feature-layer-adapter:not-supported","Layer does not support advanced SQL expressions and standardized queries");const{fields:t,view:r,signal:i}=e,s=z(t),n=q(t),o=r&&this._hasLocalSource?await this._uvFromMemory({valueExpression:s,view:r,signal:i}):await this._uvFromServiceQuery({sqlExpression:n.expression,valueExpression:s,signal:i});return A(o.uniqueValueInfos,t)}async getSampleFeatures(e,a){const{view:r,sampleSize:i,requiredFields:s,returnGeometry:n,signal:l}=e,u=this.layer.createQuery(),m=1,c="json"===a;u.outSpatialReference=e.spatialReference||r&&r.spatialReference,u.returnGeometry=!!n,u.outFields=s;let p=[],h=!1;if(r)try{const e=await r.whenLayerView(this.layer);if(h=!(await I(this,s,e)).length,h&&(p=await this._fetchFeaturesFromMemory(e,u,l,a),p.length&&i>0&&i<=p.length))return t(p,i,m)}catch(d){o(l)}try{if(this._hasLocalSource)return h?p:c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l);const a=await this.queryFeatureCount({view:r,signal:l}),s=this.layer.capabilities.query.maxRecordCount;let n=-1===i?a:i;if(n=s&&n>s?s:n,a<=p.length||p.length>=s)return p;const o=r.extent.width/r.width/r.scale*ne;if(u.maxAllowableOffset=e.resolution||o,a<=n)return c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l);if(a<=se){const e=await this.layer.queryObjectIds();return u.objectIds=t(e,n,m),c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l)}return this.layer.get("capabilities.query.supportsPagination")&&(u.num=Math.min(n,se)),c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l)}catch(d){return o(l),p}}load(e){const t=this.layer.load(e).then((async t=>{this.geometryType=t.geometryType,this.objectIdField=t.objectIdField,this.supportsSQLExpression=t.get("capabilities.query.supportsSqlExpression"),this._hasLocalSource=!t.url&&!!t.source,this.hasQueryEngine=this._hasLocalSource,this.minScale=t.minScale,this.maxScale=t.maxScale,this.fullExtent=t.fullExtent,this.workerClient=C.getInstance(),await this.workerClient.open(i(i(e).signal))}));return this.addResolvingPromise(t),Promise.resolve(this)}};e([u({constructOnly:!0})],oe.prototype,"layer",void 0),oe=e([m("esri.smartMapping.support.adapters.FeatureLayerAdapter")],oe);const le=oe;export{le as default};
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../geometry.js";import{pickRandom as t}from"../../../core/arrayUtils.js";import a from"../../../core/Error.js";import r from"../../../core/Logger.js";import{unwrap as i}from"../../../core/maybe.js";import{timeout as s,eachAlways as n,throwIfAborted as o}from"../../../core/promiseUtils.js";import{whenFalseOnce as l}from"../../../core/watchUtils.js";import{property as u}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as m}from"../../../core/accessorSupport/decorators/subclass.js";import{toQuantizationTransform as c,quantizePoint as p}from"../../../geometry/support/quantizationUtils.js";import{isWrappable as h,getInfo as d}from"../../../geometry/support/spatialReferenceUtils.js";import{isHostedAgolService as y}from"../../../layers/support/arcgisLayerUrl.js";import{kebabDict as f}from"../../../layers/support/fieldType.js";import{isStringField as F,isNumericField as g,isDateField as S}from"../../../layers/support/fieldUtils.js";import w from"../../../rest/support/GenerateRendererParameters.js";import v from"../../../rest/support/QuantizationParameters.js";import x from"../../../rest/support/StatisticDefinition.js";import _ from"../../../rest/support/UniqueValueDefinition.js";import{getArcadeForPredominantCategory as z,getSQLForPredominantCategoryName as q}from"../../statistics/support/predominanceUtils.js";import{summaryStatistics as V,uniqueValues as T,histogram as E,classBreaks as L}from"../../statistics/support/statsWorker.js";import{getRangeExpr as j,getSQLFilterForNormalization as Q,mergeWhereClauses as M}from"../../statistics/support/utils.js";import{WorkerClient as C}from"../../statistics/support/WorkerClient.js";import{getFieldsList as b}from"../utils.js";import P from"./LayerAdapter.js";import{ensureFeaturesJSON as N,msSinceUnixEpochSQL as B,getFieldExpr as k,getSummaryStatisticsFromFeatureSet as I,getViewInfoParams as O,getMissingFields as R,getUniqueValuesFromFeatureSet as D,getHistogramFromFeatureSet as G,generateBinParams as J,calculateHeatmapStats as U,getPredominantCategoriesFromUVInfos as A}from"./support/utils.js";import{processSummaryStatisticsResult as W,isNullCountSupported as $,statisticTypes as H,createUVResult as Z,getEqualIntervalBins as K,createClassBreaksDefinition as X,resolveCBResult as Y}from"../../../statistics/utils.js";import ee from"../../../tasks/GenerateRendererTask.js";import te from"../../../geometry/Point.js";const ae=r.getLogger("esri.smartMapping.support.adapters.FeatureLayerAdapter"),re=5,ie=10,se=2e4,ne=4e5;let oe=class extends P{constructor(e){super(e)}destroy(){var e;this._hasLocalSource=null,null==(e=this.workerClient)||e.destroy()}_isStatsSupportedOnService(){const e=this.layer;return!e.get("capabilities.query.supportsStatistics")||"multipatch"===this.geometryType&&!y(e.url)&&e.version<10.5?Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support statistics query")):Promise.resolve()}async _waitForLayerViewUpdate(e){if(!e)throw new a("feature-layer-adapter:insufficient-data","layerView is required to fetch the features");const t=new AbortController,r=l(e,"updating",t.signal);await s(r,5e3,t).catch((e=>{throw ae.warn("LayerView is taking too long to update. Aborting fetch from layerView."),e}))}async _fetchFeaturesFromMemory(e,t,a,r){const i=this.layer,s="json"===r;if(this._hasLocalSource){const e=await i.queryFeatures(t);return s?N(e.features):e.features}if(await this._waitForLayerViewUpdate(e),s&&"queryFeaturesJSON"in e&&e.queryFeaturesJSON){const{features:r}=await e.queryFeaturesJSON(t,{signal:a});return r}const n=await e.queryFeatures(t,{signal:a});return s?N(n.features):n.features}_fetchFeaturesFromService(e,t){return this.layer.queryFeatures(e,{signal:t}).then((e=>e.features))}_fetchFeaturesJSONFromService(e,t){return this._fetchFeaturesFromService(e,t).then(N)}_fetchFeaturesForStats(e,t){return b({field:e.field,normalizationField:e.normalizationField,valueExpression:e.valueExpression}).then((a=>this.getSampleFeatures({sampleSize:-1,view:e.view,returnGeometry:e.returnGeometry,requiredFields:a,signal:e.signal},t)))}_summaryStatsFromGenRend(e){const t=e.normalizationType,a=e.normalizationField;return this.classBreaks({field:e.field,numClasses:re,classificationMethod:"standard-deviation",standardDeviationInterval:.25,normalizationType:t,normalizationField:"field"===t?a:void 0,minValue:e.minValue,maxValue:e.maxValue,signal:e.signal}).then((e=>{let t,a,r;if(e.classBreakInfos.some((e=>(e.hasAvg&&(t=e),!!t))),t){const e=t.maxValue-t.minValue;a=t.minValue+e/2,r=4*e}const i={min:e.minValue,max:e.maxValue,avg:a,stddev:r};return W(i)}))}_getSummaryStatsQuery(e,t){const{field:a,normalizationType:r,normalizationField:i,normalizationTotal:s,minValue:n,maxValue:o}=e,l=this.supportsSQLExpression&&t?B(this,a):e.sqlExpression,u=k({field:a,normalizationType:r,normalizationField:i,normalizationTotal:s,layer:this}),m=l||u,c=m?j(m,n,o):null,p=Q({field:a,normalizationField:i,normalizationType:r}),h=M(e.sqlWhere,p),d=M(h,c),y=$({normalizationField:i,normalizationType:r,sqlExpression:l,supportsSQLExpression:this.supportsSQLExpression,minValue:n,maxValue:o}),f=F(this.getField(a)),g=H.filter((e=>"nullcount"===e?y:!f||"count"===e)),S=this.layer.createQuery();return S.where=M(S.where,d),S.sqlFormat=l?"standard":null,S.outStatistics=g.map((e=>{const t=new x;let a=null,r=null,i=`${e}_value`;return"variance"===e?(a="var",r=m):"nullcount"===e?(a="count",r=this.layer.objectIdField,i="totalcount_value"):"median"===e?(a="percentile-continuous",r=m,t.statisticParameters={value:.5}):(a=e,r=m),t.statisticType=a,t.onStatisticField=r,t.outStatisticFieldName=i,t})),S}async _summaryStatsFromServiceQuery(e,t){await this._isStatsSupportedOnService(),"percent-of-total"===e.normalizationType&&(e.normalizationTotal=await this._getNormalizationTotal(e.field,e.normalizationType));const a=this._getSummaryStatsQuery(e,t),r=await this.layer.queryFeatures(a,{signal:e.signal}),i=I(r,t);return W(i)}async _summaryStatsFromClientQuery(e,t){const a=this._getSummaryStatsQuery(e,t),r=await this.layer.queryFeatures(a,{signal:e.signal}),i=I(r,t);return W(i)}async _getNormalizationTotalFromMemory(e,t,r){const{featuresJSON:i,graphics:s,layerView:n,query:o}=t,l=(!i&&!s&&n&&"querySummaryStatistics"in n?await n.querySummaryStatistics(o,{field:e},{signal:r}):i?await this.workerClient.summaryStatistics({field:e},i):await V({attribute:{field:e},features:s})).sum;if(null==l)throw new a("feature-layer-adapter:invalid","invalid normalizationTotal");return l}async _summaryStatsFromMemory(e,t){const{view:a,field:r,valueExpression:i,normalizationType:s,signal:n}=e,o={field:r,valueExpression:i,normalizationType:s,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue},{featuresJSON:l,graphics:u,layerView:m,query:c}=await this._processStatsFromMemoryParams(e);return i&&a&&(l||u)&&(o.fieldType=null!=t&&t.type?f.toJSON(t.type):null,o.viewInfoParams=O(a)),"percent-of-total"===s&&null==e.normalizationTotal&&(o.normalizationTotal=await this._getNormalizationTotalFromMemory(r,{featuresJSON:l,graphics:u,layerView:m,query:c},n)),!l&&!u&&m&&"querySummaryStatistics"in m?m.querySummaryStatistics(c,o,{signal:n}):l?this.workerClient.summaryStatistics(o,l):V({attribute:o,features:u})}async _processStatsFromMemoryParams(e){const t=e.features;if(null!=t&&t.length){return t.length&&"declaredClass"in t[0]&&"esri.Graphic"===t[0].declaredClass?{graphics:t}:{featuresJSON:t}}const{view:r,field:i,normalizationField:s,valueExpression:n,signal:o}=e;let l=null,u=null,m=null,c=null;if(r)try{l=await r.whenLayerView(this.layer),u="querySummaryStatistics"in l&&"function"==typeof l.querySummaryStatistics}catch{u=!1}if(u)try{await this._waitForLayerViewUpdate(l);const e=await b({field:i,normalizationField:s,valueExpression:n});(await R(this,e,l)).length?u=!1:(m=this.layer.createQuery(),m.outFields=e,m.returnGeometry=!1),l.suspended&&(u=!1)}catch{u=!1}var p;if(!u&&(c=await this._fetchFeaturesForStats({field:i,valueExpression:n,normalizationField:s,view:r,signal:o},"json"),null==(p=c)||!p.length))throw new a("feature-layer-adapter:insufficient-data","No features are available to calculate statistics");return{layerView:l,query:m,featuresJSON:c}}_uvFromGenRenderer(e,t){const a=e.field,r=new _;r.attributeField=a;const i=new w;return i.classificationDefinition=r,this.generateRenderer(i,e.signal).then((e=>{const t={},r=this.getField(a);return e.uniqueValues.forEach((e=>{let a=e.value;null!=a&&""!==a&&("string"!=typeof a||""!==a.trim()&&"<null>"!==a.toLowerCase())||(a=null),null==t[a]?t[a]={count:e.count,data:g(r)&&a?Number(a):a}:t[a].count=t[a].count+e.count})),{count:t}})).then((a=>Z(a,t,e.returnAllCodedValues)))}_getUVQuery(e){const t=e.field,a=e.sqlExpression,r="countOF"+(t||"Expr"),i=new x;i.statisticType="count",i.onStatisticField=a?"1":t,i.outStatisticFieldName=r;const s=this.layer.createQuery();return s.where=M(s.where,e.sqlWhere),s.sqlFormat=a?"standard":null,s.outStatistics=[i],s.groupByFieldsForStatistics=[t||a],s}_uvFromServiceQuery(e,t){return this._isStatsSupportedOnService().then((()=>this.layer.queryFeatures(this._getUVQuery(e),{signal:e.signal}))).then((t=>D(t,this,e.field,e.view,null,e.signal))).then((a=>Z(a,t,e.returnAllCodedValues)))}async _uvFromClientQuery(e,t){const{signal:a}=e,r=this._getUVQuery(e),i=await this.layer.queryFeatures(r,{signal:a}),s=await D(i,this,e.field,e.view,null,a);return Z(s,t,e.returnAllCodedValues)}async _uvFromMemory(e,t){const{view:a,field:r,valueExpression:i,returnAllCodedValues:s,signal:n}=e,{featuresJSON:o,graphics:l,layerView:u,query:m}=await this._processStatsFromMemoryParams(e),c={field:r,valueExpression:i,domain:t,returnAllCodedValues:s};return i&&a&&o&&(c.viewInfoParams=O(a)),!o&&!l&&u&&"queryUniqueValues"in u?u.queryUniqueValues(m,c,{signal:n}):o?this.workerClient.uniqueValues(c,o):T({attribute:c,features:l})}_calcBinsSQL(e,t,a){const r=[],i=t.length;return t.forEach(((t,s)=>{const[n,o]=t;let l=null;l=0!==s||a?s!==i-1||a?M(`${e} >= ${n}`,`${e} ${s===i-1?" <= ":" < "} ${o}`):`${e} >= ${n}`:`${e} < ${o}`,r.push("WHEN ("+l+") THEN "+(s+1))})),["CASE",r.join(" "),"ELSE 0","END"].join(" ")}_getNormalizationTotal(e,t,a){return e&&"percent-of-total"===t?this.summaryStatistics({field:e,signal:a}).then((e=>e.sum)):Promise.resolve(null)}_getQueryParamsForExpr(e,t){const a=e.valueExpression||e.sqlExpression,r=e.signal;if(!a){const{field:a,normalizationType:i,normalizationField:s}=e,n=a?this.getField(a):null,o=S(n),l={field:a,normalizationType:i,normalizationField:s,normalizationTotal:t,layer:this};return{sqlExpression:o?B(this,a):k(l),sqlWhere:o?null:e.sqlWhere||Q({field:a,normalizationType:i,normalizationField:s}),signal:r}}return{valueExpression:e.valueExpression,sqlExpression:e.sqlExpression,sqlWhere:e.sqlWhere,signal:r}}_getDataRange(e,t,a){return null!=t&&null!=a?Promise.resolve({min:t,max:a}):this.summaryStatistics(e).then((e=>({min:e.min,max:e.max})))}_histogramForExpr(e){return this._getNormalizationTotal(e.field,e.normalizationType,e.signal).then((t=>{const a=this._getQueryParamsForExpr(e,t);return this._getDataRange(a,e.minValue,e.maxValue).then((r=>{const{min:i,max:s}=r,n=e.numBins||ie,o=K(i,s,n),l=this._calcBinsSQL(a.sqlExpression,o,null!=e.minValue&&null!=e.maxValue),u=new x({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:"1"}),m=this.layer.createQuery();return m.where=M(m.where,a.sqlWhere),m.sqlFormat="standard",m.outStatistics=[u],m.groupByFieldsForStatistics=[l],m.orderByFields=[l],this._isStatsSupportedOnService().then((()=>this.layer.queryFeatures(m,{signal:a.signal}))).then((e=>G(e,i,s,n,t)))}))}))}_histogramForField(e){let t=null;return t=null!=e.minValue&&null!=e.maxValue?Promise.resolve({min:e.minValue,max:e.maxValue}):this.summaryStatistics(e).then((e=>{if(!e.count)throw new a("feature-layer-adapter:insufficient-data","Either the layer has no features or none of the features have data for the field");return{min:e.min,max:e.max}})),t.then((t=>this._getBins({min:t.min,max:t.max},e.field,e.numBins,e.view,e.signal)))}_getBins(e,t,a=ie,r,i){const{min:s,max:n,normTotal:o,excludeZerosExpr:l}=e,u=e.intervals||K(s,n,a),m=e.sqlExpr||t;return this._queryBins(u,m,l,r,i).then((e=>({bins:e.map(((e,t)=>({minValue:u[t][0],maxValue:u[t][1],count:e.value}))),minValue:s,maxValue:n,normalizationTotal:o})))}_queryBins(e,t,a,r,i){const s=[],o=e.length;for(let n=0;n<o;n++){const r=M(a,M(t+" >= "+e[n][0],null!==e[n][1]?t+(n===o-1?" <= ":" < ")+e[n][1]:""));s.push(r)}return n(s.map((e=>this.queryFeatureCount({whereClause:e,view:r,signal:i}))))}_binParamsFromGenRend(e,t){const{field:a,normalizationType:r,normalizationField:i,signal:s}=e,n=Q({field:a,normalizationType:r,normalizationField:i}),o=new w({classificationDefinition:X({field:a,normalizationType:r,normalizationField:i,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numBins||ie}),where:M(n,t)});return this.generateRenderer(o,s).then((e=>{const{normalizationTotal:t,classBreaks:s}=e;return J({field:a,normalizationType:r,normalizationField:i,normalizationTotal:t,classBreaks:s,where:n,layer:this})}))}async _histogramFromMemory(e){const{view:t,field:a,signal:r}=e,{featuresJSON:i,graphics:s,layerView:n,query:o}=await this._processStatsFromMemoryParams(e),l={field:a,valueExpression:e.valueExpression,normalizationType:e.normalizationType,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue,standardDeviationInterval:e.standardDeviationInterval,classificationMethod:e.classificationMethod,numBins:e.numBins};return e.valueExpression&&t&&i&&(l.viewInfoParams=O(t)),"percent-of-total"===e.normalizationType&&null==e.normalizationTotal&&(l.normalizationTotal=await this._getNormalizationTotalFromMemory(a,{featuresJSON:i,graphics:s,layerView:n,query:o},r)),!i&&!s&&n&&"queryHistogram"in n?n.queryHistogram(o,l,{signal:r}):i?this.workerClient.histogram(l,i):E({attribute:l,features:s})}_classBreaksFromGenRend(e){const{field:t,normalizationType:a,normalizationField:r,normalizationTotal:i,signal:s}=e,n=Q({field:t,normalizationType:a,normalizationField:r}),o=k({field:t,normalizationType:a,normalizationField:r,normalizationTotal:i,layer:this}),l=j(o,e.minValue,e.maxValue),u=X({field:t,normalizationType:a,normalizationField:r,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numClasses||re}),m=new w;return m.classificationDefinition=u,m.where=M(n,l),this.generateRenderer(m,s).then((t=>Y(t,e.classificationMethod)))}_classBreaksFromInterpolation(e){const{minValue:t,maxValue:a}=e,r=e.numClasses||re,i=[],s=(a-t)/r;for(let l=0;l<r;l++){const e=t+l*s;i.push({minValue:e,maxValue:e+s})}i[r-1].maxValue=a;const n={classBreaks:i,normalizationTotal:e.normalizationTotal},o=Y(n,e.classificationMethod);return Promise.resolve(o)}async _classBreaksFromMemory(e){const{view:t,field:a,signal:r}=e,{featuresJSON:i,graphics:s,layerView:n,query:o}=await this._processStatsFromMemoryParams(e),l={field:a,valueExpression:e.valueExpression,normalizationType:e.normalizationType,normalizationField:e.normalizationField,normalizationTotal:e.normalizationTotal,minValue:e.minValue,maxValue:e.maxValue,standardDeviationInterval:e.standardDeviationInterval,classificationMethod:e.classificationMethod,numClasses:e.numClasses};return e.valueExpression&&t&&i&&(l.viewInfoParams=O(t)),"percent-of-total"===e.normalizationType&&null==e.normalizationTotal&&(l.normalizationTotal=await this._getNormalizationTotalFromMemory(a,{featuresJSON:i,graphics:s,layerView:n,query:o},r)),!i&&!s&&n&&"queryClassBreaks"in n?n.queryClassBreaks(o,l,{signal:r}):i?this.workerClient.classBreaks(l,i):L({attribute:l,features:s})}async _heatmapStatsFromMemory(e,t){const{blurRadius:r,field:i,view:s,signal:n}=e,{resolution:o,size:l}=s.state,u=new v({extent:s.extent,tolerance:o}),m=this._quantizeFeatures(e.features||await this._fetchFeaturesForStats({field:i,view:s,returnGeometry:!0,signal:n}),u,s);if(!m||!m.length)return{count:0,min:null,max:null,avg:null,stddev:null};const c=U(m,r,t,i,l[0],l[1]);if(c)return{count:c.count,min:c.min,max:c.max,avg:c.mean,stddev:c.stdDev};throw new a("feature-layer-adapter:invalid","unable to calculate heatmap statistics")}_quantizeFeatures(e,t,a){const r=c(t),{spatialReference:s,size:n}=a,o=h(s)?d(s):null,l=o?Math.round((o.valid[1]-o.valid[0])/r.scale[0]):null;return e.map((e=>{const t=new te(i(e.geometry));return p(r,t,t,t.hasZ,t.hasM),e.geometry=o?this._wrapPoint(t,l,n[0]):t,e}))}_wrapPoint(e,t,a){return e.x<0?e.x+=t:e.x>a&&(e.x-=t),e}getField(e=""){return this.layer.getField(e)}getFieldUsageInfo(e){return this.getField(e)?{supportsLabelingInfo:!0,supportsRenderer:!0,supportsPopupTemplate:!0,supportsLayerQuery:!0,supportsStatistics:!0}:null}getFieldDomain(e,t){return this.layer.getFieldDomain(e,t)}summaryStatistics(e){const{field:t,normalizationType:r,sqlExpression:i,view:s,features:n,useFeaturesInView:l}=e,u=t?this.getField(t):null,m=S(u),c=e.valueExpression||i,p=c&&!i,h=this._hasLocalSource||n||l,d=s&&"3d"===s.type;if(h||p)return p||n||l||d?this._summaryStatsFromMemory(e,u):this._summaryStatsFromClientQuery(e,m);if(!this.supportsSQLExpression&&(m||c||"natural-log"===r||"square-root"===r))return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support standardized SQL expression for queries"));return(r&&!this.supportsSQLExpression?this._summaryStatsFromGenRend(e):this._summaryStatsFromServiceQuery(e,m)).catch((()=>(o(e.signal),this._summaryStatsFromMemory(e,u))))}uniqueValues(e){const{field:t,valueExpression:a,sqlExpression:r,features:i,useFeaturesInView:s,signal:n}=e,l=(t?this.getField(t):null)&&this.getFieldDomain(t),u=a&&(!r||!this.supportsSQLExpression),m=this._hasLocalSource||i||s||u,c=e.view,p=c&&"3d"===c.type;return m?u||i||s||p?this._uvFromMemory(e,l):this._uvFromClientQuery(e,l):this._uvFromServiceQuery(e,l).catch((t=>(o(n),e.field?this._uvFromGenRenderer(e,l):t))).catch((()=>(o(n),p?this._uvFromMemory(e,l):this._uvFromClientQuery(e,l))))}histogram(e){const{field:t,normalizationType:r,normalizationField:i,classificationMethod:s,view:n,signal:o}=e,l=t?this.getField(t):null,u=S(l),m=e.valueExpression||e.sqlExpression,c=m&&!e.sqlExpression,p=this._hasLocalSource||e.features||e.useFeaturesInView||c,h=this.supportsSQLExpression,d=!s||"equal-interval"===s,y=e.minValue,f=e.maxValue,F=null!=y&&null!=f,g=e.numBins||ie;return p?this._histogramFromMemory(e):(m||h)&&d?h||!m&&"natural-log"!==r&&"square-root"!==r?this._histogramForExpr(e):Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support standardized SQL expression for queries")):u&&d?Promise.reject(new a("feature-layer-adapter:not-supported","Normalization and date field are not allowed when layer does not support standardized SQL expression for queries")):r||!d?this._binParamsFromGenRend(e).then((s=>{if(!F)return this._getBins(s,t,g,n,o);if(y>s.max||f<s.min)throw new a("histogram:insufficient-data","Range defined by 'minValue' and 'maxValue' does not intersect available data range of the field");if(d)return this._getBins({min:y,max:f,sqlExpr:s.sqlExpr,excludeZerosExpr:s.excludeZerosExpr},t,g,n,o);{const a={field:t,normalizationType:r,normalizationField:i,normalizationTotal:s.normTotal,layer:this},l=k(a),u=j(l,y,f);return this._binParamsFromGenRend(e,u).then((e=>this._getBins(e,t,g,n,o)))}})):this._histogramForField(e)}classBreaks(e){const t=!1!==e.analyzeData,a=this._hasLocalSource||e.features||e.useFeaturesInView||e.valueExpression;if(t&&a)return this._classBreaksFromMemory(e);return(t?this._classBreaksFromGenRend(e):this._classBreaksFromInterpolation(e)).catch((()=>(o(e.signal),this._classBreaksFromMemory(e))))}queryFeatureCount(e){if(this._hasLocalSource)return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support count query"));const t=this.layer,r=t.createQuery();return r.where=M(r.where,e.whereClause),t.queryFeatureCount(r,{signal:e.signal})}generateRenderer(e,t){const r=this.layer;if(this._hasLocalSource||r.version<10.1)return Promise.reject(new a("feature-layer-adapter:not-supported","Layer does not support generateRenderer operation (requires ArcGIS Server version 10.1+)"));const i=new ee({url:r.parsedUrl.path,source:r.dynamicDataSource,gdbVersion:r.gdbVersion}),s=r.createQuery();return e.where=M(e.where,s.where),i.execute(e,{signal:t})}heatmapStatistics(e){const{field:t,fieldOffset:a,signal:r}=e;return(t&&null==a?this.summaryStatistics({field:t,signal:r}):Promise.resolve(null)).then((t=>{let r=a||0;if(t){const{count:e,min:a,max:i}=t;e?a===i&&0===a?r=1:i<=0?r="abs":a<0&&(r=-1.01*a):r=1}return this._heatmapStatsFromMemory(e,r).then((e=>({...e,summaryStatistics:t,fieldOffset:r})))}))}async predominantCategories(e){if(!this._hasLocalSource&&!this.supportsSQLExpression)throw new a("feature-layer-adapter:not-supported","Layer does not support advanced SQL expressions and standardized queries");const{fields:t,view:r,signal:i}=e,s=z(t),n=q(t),o=r&&this._hasLocalSource?await this._uvFromMemory({valueExpression:s,view:r,signal:i}):await this._uvFromServiceQuery({sqlExpression:n.expression,valueExpression:s,signal:i});return A(o.uniqueValueInfos,t)}async getSampleFeatures(e,a){const{view:r,sampleSize:i,requiredFields:s,returnGeometry:n,signal:l}=e,u=this.layer.createQuery(),m=1,c="json"===a;u.outSpatialReference=e.spatialReference||r&&r.spatialReference,u.returnGeometry=!!n,u.outFields=s;let p=[],h=!1;if(r)try{const e=await r.whenLayerView(this.layer);if(h=!(await R(this,s,e)).length,h&&(p=await this._fetchFeaturesFromMemory(e,u,l,a),p.length&&i>0&&i<=p.length))return t(p,i,m)}catch(d){o(l)}try{if(this._hasLocalSource)return h?p:c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l);const a=await this.queryFeatureCount({view:r,signal:l}),s=this.layer.capabilities.query.maxRecordCount;let n=-1===i?a:i;if(n=s&&n>s?s:n,a<=p.length||p.length>=s)return p;const o=r.extent.width/r.width/r.scale*ne;if(u.maxAllowableOffset=e.resolution||o,a<=n)return c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l);if(a<=se){const e=await this.layer.queryObjectIds();return u.objectIds=t(e,n,m),c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l)}return this.layer.get("capabilities.query.supportsPagination")&&(u.num=Math.min(n,se)),c?this._fetchFeaturesJSONFromService(u,l):this._fetchFeaturesFromService(u,l)}catch(d){return o(l),p}}load(e){const t=this.layer.load(e).then((async t=>{this.geometryType=t.geometryType,this.objectIdField=t.objectIdField,this.supportsSQLExpression=t.get("capabilities.query.supportsSqlExpression"),this._hasLocalSource=!t.url&&!!t.source,this.hasQueryEngine=this._hasLocalSource,this.minScale=t.minScale,this.maxScale=t.maxScale,this.fullExtent=t.fullExtent,this.workerClient=C.getInstance(),await this.workerClient.open(i(i(e).signal))}));return this.addResolvingPromise(t),Promise.resolve(this)}};e([u({constructOnly:!0})],oe.prototype,"layer",void 0),oe=e([m("esri.smartMapping.support.adapters.FeatureLayerAdapter")],oe);const le=oe;export{le as default};
|
package/support/featureFlags.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 e from"../core/has.js";const
|
|
5
|
+
import e from"../core/has.js";const r=()=>!!e("enable-feature:force-wosr"),a=()=>!!e("enable-feature:direct-3d-object-feature-layer-display");export{a as enableDirect3DObjectFeatureLayerDisplay,r as enableWebStyleForceWOSR};
|
package/support/revision.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
|
-
const
|
|
5
|
+
const c="20220119",f="694f7c5490f0db0b4f2bcc9ee0d8f985c0ccfb74";export{c as buildDate,f as commitHash};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import{isSome as o}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import a from"./Symbol3DLayer.js";import{symbol3dEdgesProperty as i}from"./edges/utils.js";import p
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import{isSome as o}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as t}from"../core/accessorSupport/decorators/subclass.js";import a from"./Symbol3DLayer.js";import{symbol3dEdgesProperty as i}from"./edges/utils.js";import{Symbol3DMaterial as p}from"./support/Symbol3DMaterial.js";var l;let c=l=class extends a{constructor(e){super(e),this.type="extrude",this.size=1,this.material=null,this.castShadows=!0,this.edges=null}clone(){return new l({edges:this.edges&&this.edges.clone(),enabled:this.enabled,material:o(this.material)?this.material.clone():null,castShadows:this.castShadows,size:this.size})}};e([s({Extrude:"extrude"},{readOnly:!0})],c.prototype,"type",void 0),e([r({type:Number,json:{write:{enabled:!0,isRequired:!0}},nonNullable:!0})],c.prototype,"size",void 0),e([r({type:p,json:{write:!0}})],c.prototype,"material",void 0),e([r({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),e([r(i)],c.prototype,"edges",void 0),c=l=e([t("esri.symbols.ExtrudeSymbol3DLayer")],c);const m=c;export{m as default};
|
package/symbols/Font.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 t}from"../chunks/tslib.es6.js";import{JSONSupport as o}from"../core/JSONSupport.js";import{toPt as e}from"../core/screenUtils.js";import{property as
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{JSONSupport as o}from"../core/JSONSupport.js";import{toPt as e}from"../core/screenUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as r}from"../core/accessorSupport/decorators/cast.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import{FONT_DECORATIONS as p,FONT_STYLES as a,FONT_WEIGHTS as n}from"./support/constants.js";var c;let l=c=class extends o{constructor(t){super(t),this.decoration="none",this.family="sans-serif",this.size=9,this.style="normal",this.weight="normal"}castSize(t){return e(t)}clone(){return new c({decoration:this.decoration,family:this.family,size:this.size,style:this.style,weight:this.weight})}hash(){return`${this.decoration}.${this.family}.${this.size}.${this.style}.${this.weight}`}};t([s({type:p,json:{default:"none",write:!0}})],l.prototype,"decoration",void 0),t([s({type:String,json:{write:!0}})],l.prototype,"family",void 0),t([s({type:Number,json:{write:{overridePolicy:(t,o,e)=>({enabled:!e||!e.textSymbol3D})}}})],l.prototype,"size",void 0),t([r("size")],l.prototype,"castSize",null),t([s({type:a,json:{default:"normal",write:!0}})],l.prototype,"style",void 0),t([s({type:n,json:{default:"normal",write:!0}})],l.prototype,"weight",void 0),l=c=t([i("esri.symbols.Font")],l);const m=l;export{m as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{isSome as r}from"../core/maybe.js";import{makeData as e}from"../core/urlUtils.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import c from"./Symbol3DLayer.js";import{white as l,isBlack as a}from"./support/colors.js";import p from"./support/IconSymbol3DLayerResource.js";import{screenSizeProperty as m}from"./support/materialUtils.js";import{Symbol3DAnchorPosition2D as u}from"./support/Symbol3DAnchorPosition2D.js";import h from"./support/Symbol3DIconOutline.js";import y
|
|
5
|
+
import{_ as o}from"../chunks/tslib.es6.js";import t from"../core/Logger.js";import{isSome as r}from"../core/maybe.js";import{makeData as e}from"../core/urlUtils.js";import{property as i}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as s}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as n}from"../core/accessorSupport/decorators/subclass.js";import c from"./Symbol3DLayer.js";import{white as l,isBlack as a}from"./support/colors.js";import p from"./support/IconSymbol3DLayerResource.js";import{screenSizeProperty as m}from"./support/materialUtils.js";import{Symbol3DAnchorPosition2D as u}from"./support/Symbol3DAnchorPosition2D.js";import h from"./support/Symbol3DIconOutline.js";import{Symbol3DMaterial as y}from"./support/Symbol3DMaterial.js";var d;const f=t.getLogger("esri.symbols.IconSymbol3DLayer");let b=d=class extends c{constructor(o){super(o),this.material=null,this.resource=null,this.type="icon",this.size=12,this.anchor="center",this.anchorPosition=void 0,this.outline=void 0}clone(){return new d({anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),enabled:this.enabled,material:r(this.material)?this.material.clone():null,outline:r(this.outline)?this.outline.clone():null,resource:this.resource&&this.resource.clone(),size:this.size})}static fromSimpleMarkerSymbol(o){const t=o.color||l,r=j(o),e=o.outline&&o.outline.width>0?{size:o.outline.width,color:(o.outline.color||l).clone()}:null;return new d({size:o.size,resource:{primitive:w(o.style)},material:{color:t},outline:e,anchor:r?"relative":void 0,anchorPosition:r})}static fromPictureMarkerSymbol(o){const t=!o.color||a(o.color)?l:o.color,r=j(o);return new d({size:o.width<=o.height?o.height:o.width,resource:{href:o.url},material:{color:t.clone()},anchor:r?"relative":void 0,anchorPosition:r})}static fromCIMSymbol(o){return new d({resource:{href:e({mediaType:"application/json",data:JSON.stringify(o.data)})}})}};function j(o){const t="width"in o?o.width:o.size,r="height"in o?o.height:o.size,e=v(o.xoffset),i=v(o.yoffset);return(e||i)&&t&&r?{x:-e/t,y:i/r}:null}function v(o){return isFinite(o)?o:0}o([i({type:y,json:{write:!0}})],b.prototype,"material",void 0),o([i({type:p,json:{write:!0}})],b.prototype,"resource",void 0),o([s({Icon:"icon"},{readOnly:!0})],b.prototype,"type",void 0),o([i(m)],b.prototype,"size",void 0),o([s({center:"center",left:"left",right:"right",top:"top",bottom:"bottom",topLeft:"top-left",topRight:"top-right",bottomLeft:"bottom-left",bottomRight:"bottom-right",relative:"relative"}),i({json:{default:"center"}})],b.prototype,"anchor",void 0),o([i({type:u,json:{type:[Number],read:{reader:o=>new u({x:o[0],y:o[1]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],b.prototype,"anchorPosition",void 0),o([i({type:h,json:{write:!0}})],b.prototype,"outline",void 0),b=d=o([n("esri.symbols.IconSymbol3DLayer")],b);const g={circle:"circle",cross:"cross",diamond:"kite",square:"square",x:"x",triangle:"triangle",path:null};function w(o){const t=g[o];return t||(f.warn(`${o} cannot be mapped to Icon symbol. Fallback to "circle"`),"circle")}const S=b;export{S 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 o}from"../chunks/tslib.es6.js";import{isSome as t}from"../core/maybe.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Symbol3DLayer.js";import p from"./support/ObjectSymbol3DLayerResource.js";import{Symbol3DAnchorPosition3D as a}from"./support/Symbol3DAnchorPosition3D.js";import h
|
|
5
|
+
import{_ as o}from"../chunks/tslib.es6.js";import{isSome as t}from"../core/maybe.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Symbol3DLayer.js";import p from"./support/ObjectSymbol3DLayerResource.js";import{Symbol3DAnchorPosition3D as a}from"./support/Symbol3DAnchorPosition3D.js";import{Symbol3DMaterial as h}from"./support/Symbol3DMaterial.js";var n;let c=n=class extends s{constructor(o){super(o),this.material=null,this.castShadows=!0,this.resource=null,this.type="object",this.width=void 0,this.height=void 0,this.depth=void 0,this.anchor=void 0,this.anchorPosition=void 0,this.heading=void 0,this.tilt=void 0,this.roll=void 0}clone(){return new n({heading:this.heading,tilt:this.tilt,roll:this.roll,anchor:this.anchor,anchorPosition:this.anchorPosition&&this.anchorPosition.clone(),depth:this.depth,enabled:this.enabled,height:this.height,material:t(this.material)?this.material.clone():null,castShadows:this.castShadows,resource:this.resource&&this.resource.clone(),width:this.width})}get isPrimitive(){return!this.resource||"string"!=typeof this.resource.href}};o([e({type:h,json:{write:!0}})],c.prototype,"material",void 0),o([e({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],c.prototype,"castShadows",void 0),o([e({type:p,json:{write:!0}})],c.prototype,"resource",void 0),o([r({Object:"object"},{readOnly:!0})],c.prototype,"type",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"width",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"height",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"depth",void 0),o([r({center:"center",top:"top",bottom:"bottom",origin:"origin",relative:"relative"}),e({json:{default:"origin"}})],c.prototype,"anchor",void 0),o([e({type:a,json:{type:[Number],read:{reader:o=>new a({x:o[0],y:o[1],z:o[2]})},write:{writer:(o,t)=>{t.anchorPosition=[o.x,o.y,o.z]},overridePolicy(){return{enabled:"relative"===this.anchor}}}}})],c.prototype,"anchorPosition",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"heading",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"tilt",void 0),o([e({type:Number,json:{write:!0}})],c.prototype,"roll",void 0),o([e({readOnly:!0})],c.prototype,"isPrimitive",null),c=n=o([i("esri.symbols.ObjectSymbol3DLayer")],c);const l=c;export{l as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/maybe.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{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{reader as i}from"../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import p from"./Symbol3DLayer.js";import a
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{isSome as e}from"../core/maybe.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{enumeration as r}from"../core/accessorSupport/decorators/enumeration.js";import{reader as i}from"../core/accessorSupport/decorators/reader.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import p from"./Symbol3DLayer.js";import{Symbol3DMaterial as a}from"./support/Symbol3DMaterial.js";import{lineJoins as l,pathCaps as h}from"./support/symbolLayerUtils3D.js";var n;let d=n=class extends p{constructor(t){super(t),this.material=null,this.castShadows=!0,this.type="path",this.profile="circle",this.join="miter",this.cap="butt",this.width=void 0,this.height=void 0,this.anchor="center",this.profileRotation="all"}readWidth(t,e){return null!=t?t:null==e.height&&null!=e.size?e.size:void 0}readHeight(t,e){return null!=t?t:null==e.width&&null!=e.size?e.size:void 0}clone(){return new n({enabled:this.enabled,material:e(this.material)?this.material.clone():null,castShadows:this.castShadows,profile:this.profile,join:this.join,cap:this.cap,width:this.width,height:this.height,profileRotation:this.profileRotation,anchor:this.anchor})}};t([o({type:a,json:{write:!0}})],d.prototype,"material",void 0),t([o({type:Boolean,nonNullable:!0,json:{write:!0,default:!0}})],d.prototype,"castShadows",void 0),t([r({Path:"path"},{readOnly:!0})],d.prototype,"type",void 0),t([o({type:["circle","quad"],json:{write:!0,default:"circle"}})],d.prototype,"profile",void 0),t([o({type:l,json:{write:!0,default:"miter"}})],d.prototype,"join",void 0),t([o({type:h,json:{write:!0,default:"butt"}})],d.prototype,"cap",void 0),t([o({type:Number,json:{write:{enabled:!0,target:{width:{type:Number},size:{type:Number}}}}})],d.prototype,"width",void 0),t([i("width",["width","size","height"])],d.prototype,"readWidth",null),t([o({type:Number,json:{write:!0}})],d.prototype,"height",void 0),t([i("height",["height","size","width"])],d.prototype,"readHeight",null),t([o({type:["center","bottom","top"],json:{write:!0,default:"center"}})],d.prototype,"anchor",void 0),t([o({type:["heading","all"],json:{write:!0,default:"all"}})],d.prototype,"profileRotation",void 0),d=n=t([s("esri.symbols.PathSymbol3DLayer")],d);const c=d;export{c as default};
|
package/symbols/TextSymbol.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 t}from"../chunks/tslib.es6.js";import o from"../Color.js";import{clone as e}from"../core/lang.js";import{toPt as i}from"../core/screenUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{enumeration as n}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{writer as l}from"../core/accessorSupport/decorators/writer.js";import p from"./Font.js";import a from"./Symbol.js";var d;let y=d=class extends a{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new p,this.horizontalAlignment="center",this.kerning=!0,this.haloColor=null,this.haloSize=null,this.rightToLeft=null,this.rotated=!1,this.text="",this.type="text",this.verticalAlignment=
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import o from"../Color.js";import{clone as e}from"../core/lang.js";import{toPt as i}from"../core/screenUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{cast as s}from"../core/accessorSupport/decorators/cast.js";import{enumeration as n}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as h}from"../core/accessorSupport/decorators/subclass.js";import{writer as l}from"../core/accessorSupport/decorators/writer.js";import p from"./Font.js";import a from"./Symbol.js";var d;let y=d=class extends a{constructor(...t){super(...t),this.backgroundColor=null,this.borderLineColor=null,this.borderLineSize=null,this.font=new p,this.horizontalAlignment="center",this.kerning=!0,this.haloColor=null,this.haloSize=null,this.rightToLeft=null,this.rotated=!1,this.text="",this.type="text",this.verticalAlignment="baseline",this.xoffset=0,this.yoffset=0,this.angle=0,this.width=null,this.lineWidth=192,this.lineHeight=1}normalizeCtorArgs(t,o,e){if(t&&"string"!=typeof t)return t;const i={};return t&&(i.text=t),o&&(i.font=o),e&&(i.color=e),i}writeLineWidth(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}castLineWidth(t){return i(t)}writeLineHeight(t,o,e,i){i&&"string"!=typeof i?i.origin:o[e]=t}clone(){return new d({angle:this.angle,backgroundColor:e(this.backgroundColor),borderLineColor:e(this.borderLineColor),borderLineSize:this.borderLineSize,color:e(this.color),font:this.font&&this.font.clone(),haloColor:e(this.haloColor),haloSize:this.haloSize,horizontalAlignment:this.horizontalAlignment,kerning:this.kerning,lineHeight:this.lineHeight,lineWidth:this.lineWidth,rightToLeft:this.rightToLeft,rotated:this.rotated,text:this.text,verticalAlignment:this.verticalAlignment,width:this.width,xoffset:this.xoffset,yoffset:this.yoffset})}hash(){return`${this.backgroundColor&&this.backgroundColor.hash()}.${this.borderLineColor}.${this.borderLineSize}.${this.color.hash()}.${this.font&&this.font.hash()}.${this.haloColor&&this.haloColor.hash()}.${this.haloSize}.${this.horizontalAlignment}.${this.kerning}.${this.rightToLeft}.${this.rotated}.${this.text}.${this.verticalAlignment}.${this.width}.${this.xoffset}.${this.yoffset}.${this.lineHeight}.${this.lineWidth}.${this.angle}`}};t([r({type:o,json:{write:!0}})],y.prototype,"backgroundColor",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"borderLineColor",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"borderLineSize",void 0),t([r({type:p,json:{write:!0}})],y.prototype,"font",void 0),t([r({type:["left","right","center","justify"],json:{write:!0}})],y.prototype,"horizontalAlignment",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"kerning",void 0),t([r({type:o,json:{write:!0}})],y.prototype,"haloColor",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"haloSize",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rightToLeft",void 0),t([r({type:Boolean,json:{write:!0}})],y.prototype,"rotated",void 0),t([r({type:String,json:{write:!0}})],y.prototype,"text",void 0),t([n({esriTS:"text"},{readOnly:!0})],y.prototype,"type",void 0),t([r({type:["baseline","top","middle","bottom"],json:{write:!0}})],y.prototype,"verticalAlignment",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"xoffset",void 0),t([r({type:Number,cast:i,json:{write:!0}})],y.prototype,"yoffset",void 0),t([r({type:Number,json:{read:t=>t&&-1*t,write:(t,o)=>o.angle=t&&-1*t}})],y.prototype,"angle",void 0),t([r({type:Number,json:{write:!0}})],y.prototype,"width",void 0),t([r({type:Number})],y.prototype,"lineWidth",void 0),t([l("lineWidth")],y.prototype,"writeLineWidth",null),t([s("lineWidth")],y.prototype,"castLineWidth",null),t([r({type:Number})],y.prototype,"lineHeight",void 0),t([l("lineHeight")],y.prototype,"writeLineHeight",null),y=d=t([h("esri.symbols.TextSymbol")],y);const c=y;export{c as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{clone as o}from"../core/lang.js";import{isSome as e}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{clone as o}from"../core/lang.js";import{isSome as e}from"../core/maybe.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import{enumeration as i}from"../core/accessorSupport/decorators/enumeration.js";import{subclass as s}from"../core/accessorSupport/decorators/subclass.js";import{writer as n}from"../core/accessorSupport/decorators/writer.js";import l from"./Font.js";import a from"./Symbol3DLayer.js";import{screenSizeProperty as p}from"./support/materialUtils.js";import{Symbol3DHalo as m}from"./support/Symbol3DHalo.js";import{Symbol3DMaterial as h}from"./support/Symbol3DMaterial.js";var c;let u=c=class extends a{constructor(t){super(t),this._userSize=void 0,this.halo=null,this.horizontalAlignment="center",this.material=null,this.text=null,this.type="text",this.verticalAlignment="middle"}get font(){return this._get("font")||null}set font(t){e(t)&&e(this._userSize)&&(t.size=this._userSize),this._set("font",t)}writeFont(t,o,e,r){const i={...r,textSymbol3D:!0};o.font=t.write({},i),delete o.font.size}get size(){return e(this._userSize)?this._userSize:e(this.font)&&null!=this.font.size?this.font.size:9}set size(t){this._userSize=t,e(this.font)&&(this.font.size=this._userSize),this.notifyChange("size")}clone(){return new c({enabled:this.enabled,font:this.font&&o(this.font),halo:this.halo&&o(this.halo),horizontalAlignment:this.horizontalAlignment,material:e(this.material)?this.material.clone():null,size:this.size,text:this.text,verticalAlignment:this.verticalAlignment})}static fromTextSymbol(t){return new c({font:e(t.font)?t.font.clone():new l,halo:f(t.haloColor,t.haloSize),horizontalAlignment:t.horizontalAlignment,material:t.color?{color:t.color.clone()}:null,text:t.text,verticalAlignment:t.verticalAlignment})}};function f(t,e){return t&&e>0?{color:o(t),size:e}:null}t([r({type:l,json:{write:!0}})],u.prototype,"font",null),t([n("font")],u.prototype,"writeFont",null),t([r({type:m,json:{write:!0}})],u.prototype,"halo",void 0),t([r()],u.prototype,"horizontalAlignment",void 0),t([r({type:h,json:{write:!0}})],u.prototype,"material",void 0),t([r(p)],u.prototype,"size",null),t([r({type:String,json:{write:!0}})],u.prototype,"text",void 0),t([i({Text:"text"},{readOnly:!0})],u.prototype,"type",void 0),t([r()],u.prototype,"verticalAlignment",void 0),u=c=t([s("esri.symbols.TextSymbol3DLayer")],u);const y=u;export{y as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{clone as t}from"../../core/lang.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c,screenSizeProperty as i}from"./materialUtils.js";var m;let l=m=class extends s{constructor(){super(...arguments),this.color=new r([0,0,0,1]),this.size=0}clone(){return new m({color:t(this.color),size:this.size})}};o([e(c)],l.prototype,"color",void 0),o([e(i)],l.prototype,"size",void 0),l=m=o([p("esri.symbols.support.Symbol3DHalo")],l);
|
|
5
|
+
import{_ as o}from"../../chunks/tslib.es6.js";import r from"../../Color.js";import{JSONSupport as s}from"../../core/JSONSupport.js";import{clone as t}from"../../core/lang.js";import{property as e}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c,screenSizeProperty as i}from"./materialUtils.js";var m;let l=m=class extends s{constructor(){super(...arguments),this.color=new r([0,0,0,1]),this.size=0}clone(){return new m({color:t(this.color),size:this.size})}};o([e(c)],l.prototype,"color",void 0),o([e(i)],l.prototype,"size",void 0),l=m=o([p("esri.symbols.support.Symbol3DHalo")],l);export{l as Symbol3DHalo};
|
|
@@ -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 o}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c}from"./materialUtils.js";var p;let l=p=class extends r{constructor(o){super(o),this.color=null}clone(){const o={color:s(this.color)?this.color.clone():null};return new p(o)}};o([t(c)],l.prototype,"color",void 0),l=p=o([e("esri.symbols.support.Symbol3DMaterial")],l);
|
|
5
|
+
import{_ as o}from"../../chunks/tslib.es6.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{isSome as s}from"../../core/maybe.js";import{property as t}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import{colorAndTransparencyProperty as c}from"./materialUtils.js";var p;let l=p=class extends r{constructor(o){super(o),this.color=null}clone(){const o={color:s(this.color)?this.color.clone():null};return new p(o)}};o([t(c)],l.prototype,"color",void 0),l=p=o([e("esri.symbols.support.Symbol3DMaterial")],l);export{l as Symbol3DMaterial};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
const l=["none","underline","line-through"],o=["normal","italic","oblique"],e=["normal","lighter","bold","bolder"];export{l as FONT_DECORATIONS,o as FONT_STYLES,e as FONT_WEIGHTS};
|
package/symbols/support/utils.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 e from"../../Color.js";import{isSymbol3D as t,isSymbol2D as r}from"../../symbols.js";import{forEach as o}from"../../core/asyncUtils.js";import n from"../../core/has.js";import{isSome as l,isNone as i,unwrap as s,get as c}from"../../core/maybe.js";import{px2pt as u}from"../../core/screenUtils.js";import{O as a}from"../../chunks/vec3f64.js";import{effectFunctionsFromJSON as f}from"../../layers/effects/jsonUtils.js";import{getStroke as m}from"./gfxUtils.js";import y
|
|
5
|
+
import e from"../../Color.js";import{isSymbol3D as t,isSymbol2D as r}from"../../symbols.js";import{forEach as o}from"../../core/asyncUtils.js";import n from"../../core/has.js";import{isSome as l,isNone as i,unwrap as s,get as c}from"../../core/maybe.js";import{px2pt as u}from"../../core/screenUtils.js";import{O as a}from"../../chunks/vec3f64.js";import{effectFunctionsFromJSON as f}from"../../layers/effects/jsonUtils.js";import{getStroke as m}from"./gfxUtils.js";import{Symbol3DMaterial as y}from"./Symbol3DMaterial.js";const p=/\/resource\/(.*?)\.svg$/,h=new e("white");function b(e){const t=e.symbolLayers&&e.symbolLayers.length;if(!t)return;const r=e.symbolLayers.getItemAt(t-1);return"outline"in r?c(r,"outline","size"):void 0}function w(e){if(!e)return 0;if(t(e)){const t=b(e);return l(t)?t:0}const r=m(e);return r&&u(r.width)||0}function d(e){if(i(e)||!("symbolLayers"in e)||i(e.symbolLayers))return!1;switch(e.type){case"point-3d":return e.symbolLayers.some((e=>"object"===e.type));case"line-3d":return e.symbolLayers.some((e=>"path"===e.type));case"polygon-3d":return e.symbolLayers.some((e=>"object"===e.type||"extrude"===e.type));default:return!1}}function g(e,t){const r=t.resource.href;return!n("esri-canvas-svg-support")&&e.styleOrigin&&p.test(r)?r.replace(p,"/resource/png/$1.png"):r}function j(o,n){if(!o)return null;let l=null;return t(o)?l=k(o):r(o)&&(l=o.color?new e(o.color):null),l?L(l,n):null}function k(t){const r=t.symbolLayers;if(!r)return null;let o=null;return r.forEach((e=>{"object"===e.type&&null!=e.resource.href||(o="water"===e.type?s(e.color):l(e.material)?s(e.material.color):null)})),o?new e(o):null}function L(t,r){if(null==r)return t;const o=t.toRgba();return o[3]=o[3]*r,new e(o)}function z(e,t,r){const o=e.symbolLayers;if(!o)return;const n=e=>{const o=l(e)?e:null;return L(t=t||o||null!=r&&h,r)};o.forEach((e=>{if("object"!==e.type||null==e.resource.href||t)if("water"===e.type)e.color=n(e.color);else{const t=l(e.material)?e.material.color:null,o=n(t);i(e.material)?e.material=new y({color:o}):e.material.color=o,null!=r&&"outline"in e&&l(e.outline)&&l(e.outline.color)&&(e.outline.color=L(e.outline.color,r))}}))}function v(e,t,r){(t=t||e.color)&&(e.color=L(t,r)),null!=r&&"outline"in e&&e.outline&&e.outline.color&&(e.outline.color=L(e.outline.color,r))}function x(o,n,l){o&&(n||null!=l)&&(n&&(n=new e(n)),t(o)?z(o,n,l):r(o)&&v(o,n,l))}async function S(e,t){const r=e.symbolLayers;r&&await o(r,(async e=>U(e,t)))}async function U(e,t){switch(e.type){case"extrude":R(e,t);break;case"icon":case"line":case"text":O(e,t);break;case"path":A(e,t);break;case"object":await $(e,t)}}function O(e,t){const r=E(t);l(r)&&(e.size=r)}function E(e){for(const t of e)if("number"==typeof t)return t;return null}function R(e,t){e.size="number"==typeof t[2]?t[2]:0}async function $(e,t){const{resourceSize:r,symbolSize:o}=await D(e),n=C(t,r,o);e.width=I(t[0],o[0],r[0],n),e.depth=I(t[1],o[1],r[1],n),e.height=I(t[2],o[2],r[2],n)}function A(e,t){const r=C(t,a,[e.width,void 0,e.height]);e.width=I(t[0],e.width,1,r),e.height=I(t[2],e.height,1,r)}function C(e,t,r){for(let o=0;o<3;o++){const n=e[o];switch(n){case"symbol-value":return null!=r[o]?r[o]/t[o]:1;case"proportional":break;default:if(n&&t[o])return n/t[o]}}return 1}async function D(e){const t=await import("./symbolLayerUtils.js"),r=await t.computeObjectLayerResourceSize(e,10),{width:o,height:n,depth:l}=e,i=[o,l,n];let s=1;for(let c=0;c<3;c++)if(null!=i[c]){s=i[c]/r[c];break}for(let c=0;c<3;c++)null==i[c]&&(i[c]=r[c]*s);return{resourceSize:r,symbolSize:i}}function I(e,t,r,o){switch(e){case"proportional":return r*o;case"symbol-value":return null!=t?t:r;default:return e}}function J(e,t){const r=E(t);if(!i(r))switch(e.type){case"simple-marker":e.size=r;break;case"picture-marker":{const t=e.width/e.height;t>1?(e.width=r,e.height=r*t):(e.width=r*t,e.height=r);break}case"simple-line":e.width=r;break;case"text":e.font.size=r}}async function M(e,o){if(e&&o)return t(e)?S(e,o):void(r(e)&&J(e,o))}function N(e,o,n){if(e&&null!=o)if(t(e)){const t=e.symbolLayers;t&&t.forEach((e=>{if(e&&"object"===e.type)switch(n){case"tilt":e.tilt=o;break;case"roll":e.roll=o;break;default:e.heading=o}}))}else r(e)&&("simple-marker"!==e.type&&"picture-marker"!==e.type&&"text"!==e.type||(e.angle=o))}function q(e){if(!e)return null;const t=e.effects.filter((e=>"bloom"!==e.type)).map((e=>e.toJSON()));return f(t)}export{x as applyColorToSymbol,L as applyOpacityToColor,N as applyRotationToSymbol,M as applySizesToSymbol,q as getCSSFilterFromEffectList,j as getColorFromSymbol,g as getIconHref,w as getSymbolOutlineSize,d as isVolumetricSymbol};
|
package/views/2d/engine/Stage.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 e from"../../../core/Error.js";import{on as t}from"../../../core/events.js";import i from"../../../core/has.js";import{isSome as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{init as n}from"../../../core/watchUtils.js";import{t as a}from"../../../chunks/common.js";import{a as o,r as h}from"../../../chunks/mat2d.js";import{c as l}from"../../../chunks/mat2df64.js";import{c as d}from"../../../chunks/mat3f32.js";import{s as c,t as p}from"../../../chunks/vec2.js";import{a as m}from"../../../chunks/vec2f64.js";import _ from"../../../symbols/cim/CIMResourceManager.js";import{Container as u}from"./Container.js";import{WGLDrawPhase as g}from"./webgl/enums.js";import f from"./webgl/Painter.js";import{Profiler as b}from"./webgl/Profiler.js";import{stencil as R}from"./webgl/shaders/StencilPrograms.js";import{Timeline as w}from"../support/Timeline.js";import{resampleHermite as O,encodeResult as E,createEmptyImageData as F}from"../../support/screenshotUtils.js";import{BufferObject as T}from"../../webgl/BufferObject.js";import{createContextOrErrorHTML as y}from"../../webgl/context-util.js";import{TargetType as C,DepthStencilTargetType as x,StencilOperation as B,CompareFunction as P,PrimitiveType as S,DataType as j,TextureSamplingMode as L,PixelFormat as A,PixelType as D,Usage as v}from"../../webgl/enums.js";import{FramebufferObject as k}from"../../webgl/FramebufferObject.js";import{createProgram as M}from"../../webgl/ProgramTemplate.js";import{RenderingContext as H}from"../../webgl/RenderingContext.js";import{VertexArrayObject as I}from"../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as U}from"../../webgl/VertexElementDescriptor.js";const W=2e3;class q extends u{constructor(n,a){super(),this._trash=new Set,this._clipData=new Float32Array(8),this._upperLeft=m(),this._upperRight=m(),this._lowerLeft=m(),this._lowerRight=m(),this._mat2=l(),this._clipRendererInitialized=!1,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this.renderRequested=!1,this.stage=this,this._stationary=!0;const{canvas:o=document.createElement("canvas"),alpha:h=!0,stencil:d=!0,contextOptions:c={}}=a;this._canvas=o;const p=y("2d",o,{alpha:h,antialias:!1,depth:!0,stencil:d});this.context=new H(r(p)?p:null,c),this.resourceManager=new _,this.painter=new f(this.context,this,this.resourceManager),i("esri-2d-profiler")&&(this._debugOutput=document.createElement("div"),this._debugOutput.setAttribute("style","margin: 24px 64px; position: absolute; color: red;"),n.appendChild(this._debugOutput)),this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:a.timeline||new w,renderingOptions:a.renderingOptions,requireFBO:!1,profiler:new b(this.context,this._debugOutput),dataUploadCounter:0},this._taskHandle=s({render:e=>this.renderFrame(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=t(o,"webglcontextlost",(()=>{this.emit("webgl-error",{error:new e("webgl-context-lost")})})),o.setAttribute("style","width: 100%; height:100%; display:block;"),n.appendChild(o)}destroy(){this.removeAllChildren(),this._emptyTrash(),this._taskHandle.remove(),this._taskHandle=null,this._boundFBO=null,this._clipFBO&&(this._clipFBO.dispose(),this._clipFBO=null),this._clipVAO&&(this._clipVAO.dispose(),this._clipVAO=null,this._clipVBO=null),this._clipStencilProgram&&(this._clipStencilProgram.dispose(),this._clipStencilProgram=null),this._lostWebGLContextHandle&&(this._lostWebGLContextHandle.remove(),this._lostWebGLContextHandle=null),this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas),this._debugOutput&&this._debugOutput.parentNode&&this._debugOutput.parentNode.removeChild(this._debugOutput),this.highlightOptions=null,this.resourceManager.destroy(),this.painter.dispose(),this.context.dispose(),this._canvas=null}get background(){return this._background}set background(e){this._background=e,this.requestRender()}get highlightOptions(){return this._highlightOptions}set highlightOptions(e){this._highlightOptionsHandle&&(this._highlightOptionsHandle.remove(),this._highlightOptionsHandle=null),this._highlightOptions=e,this._highlightOptions&&(this._highlightOptionsHandle=n(this._highlightOptions,"version",(()=>{this.painter.setHighlightOptions(e),this.requestRender()})))}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get state(){return this._state}set state(e){this._state=e,this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=W,this.renderRequested||(this.renderRequested=!0,this.emit("will-render"),this._taskHandle.resume())}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this.renderRequested=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this.processRender(this._renderParameters),this._emptyTrash(),this.emit("post-render")}_createTransforms(){return{dvs:d()}}renderChildren(e){for(const t of this.children)t.beforeRender(e);this._renderChildren(this.children,e);for(const t of this.children)t.afterRender(e)}_renderChildren(e,t){const r=this.context;t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this._beforeRenderChildren(t),t.drawPhase=g.MAP,this.painter.beforeRenderLayers(r,this.background);for(const i of e)i.processRender(t);this.painter.renderLayers(r),t.drawPhase=g.HIGHLIGHT,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r);if(this._isLabelDrawPhaseRequired(e)){t.drawPhase=g.LABEL,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}if(i("esri-tiles-debug")){t.drawPhase=g.DEBUG,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}t.profiler.recordEnd("drawLayers"),this._afterRenderChildren()}_beforeRenderChildren(e){const{context:t}=this,{state:i,pixelRatio:r}=e;t.setClearDepth(1),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT);const{size:s,rotation:n}=i,l=Math.round(s[0]*r),d=Math.round(s[1]*r);this._boundFBO=t.getBoundFramebufferObject();if(!(i.spatialReference&&(i.spatialReference._isWrappable?i.spatialReference._isWrappable():i.spatialReference.isWrappable)))return void(this._clipFrame=!1);const m=a(n),_=Math.abs(Math.cos(m)),u=Math.abs(Math.sin(m)),g=Math.round(l*_+d*u),f=Math.round(i.worldScreenWidth);if(g<=f)return void(this._clipFrame=!1);this._clipFBO&&this._clipFBO.width===l&&this._clipFBO.height===d||(this._clipFBO=new k(t,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:l,height:d}));const b=(this.state.padding.left-this.state.padding.right)/2,R=(this.state.padding.bottom-this.state.padding.top)/2,w=.5*l,O=.5*d,E=1/l,F=1/d,T=f*r*.5,y=.5*(l*u+d*_),B=this._upperLeft,P=this._upperRight,S=this._lowerLeft,j=this._lowerRight;c(B,-T,-y),c(P,T,-y),c(S,-T,y),c(j,T,y),o(this._mat2,[w+b,O-R]),0!==n&&h(this._mat2,this._mat2,m),p(B,B,this._mat2),p(P,P,this._mat2),p(S,S,this._mat2),p(j,j,this._mat2);const L=this._clipData;L.set([2*S[0]*E-1,2*(d-S[1])*F-1,2*j[0]*E-1,2*(d-j[1])*F-1,2*B[0]*E-1,2*(d-B[1])*F-1,2*P[0]*E-1,2*(d-P[1])*F-1]),this._clipRendererInitialized||this._initializeClipRenderer(t),this._clipVBO.setData(L),this._boundFBO=t.getBoundFramebufferObject(),t.bindFramebuffer(this._clipFBO),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),t.setClearColor(0,0,0,0),t.setClearDepth(1),t.setClearStencil(0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT|t.gl.STENCIL_BUFFER_BIT),t.setDepthWriteEnabled(!1),this._clipFrame=!0}_afterRenderChildren(){const e=this.context;if(e.logIno(),this._clipFrame&&this._clipRendererInitialized){if(e.bindFramebuffer(this._boundFBO),this._boundFBO=null,e.bindVAO(this._clipVAO),e.useProgram(this._clipStencilProgram),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(B.KEEP,B.KEEP,B.REPLACE),e.setStencilWriteMask(255),e.setStencilFunction(P.ALWAYS,1,255),e.drawElements(S.TRIANGLES,6,j.UNSIGNED_SHORT,0),e.bindVAO(),e.setColorMask(!0,!0,!0,!0),null!=this.background){const{r:t,g:i,b:r,a:s}=this.background.color;e.setClearColor(s*t/255,s*i/255,s*r/255,s)}else e.setClearColor(0,0,0,0);e.clear(e.gl.COLOR_BUFFER_BIT),e.setBlendingEnabled(!0),e.setStencilFunction(P.EQUAL,1,255),this.painter.blitTexture(e,this._clipFBO.colorTexture,L.NEAREST,1),e.setStencilTestEnabled(!1)}}doRender(e){const t=this.context,{state:i,pixelRatio:r}=e;this._resizeCanvas(e),t.setViewport(0,0,r*i.size[0],r*i.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),super.doRender(e)}async takeScreenshot(e){const{framebufferWidth:t,framebufferHeight:i}={framebufferWidth:Math.round(this._renderParameters.state.size[0]*e.resolutionScale),framebufferHeight:Math.round(this._renderParameters.state.size[1]*e.resolutionScale)},r=1,s=this.context,n=this._state.clone();if(null!=e.rotation){const t=n.viewpoint;n.viewpoint.rotation=e.rotation,n.viewpoint=t}const a={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:n,pixelRatio:r,time:Date.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1},o=new k(s,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i}),h=s.getBoundFramebufferObject(),l=s.getViewport();s.bindFramebuffer(o),s.setViewport(0,0,t,i),this._renderChildren(e.children,a);const d=this._readbackScreenshot({...e.cropArea,y:i-(e.cropArea.y+e.cropArea.height)});let c;s.bindFramebuffer(h),s.setViewport(l.x,l.y,l.width,l.height),this.requestRender(),1===e.outputScale?c=d:(c=new ImageData(Math.round(d.width*e.outputScale),Math.round(d.height*e.outputScale)),O(d,c,!0));return E(c,{format:e.format,quality:e.quality,rotation:0,disableDecorations:!1},document.createElement("canvas"),{flipY:!0,premultipliedAlpha:!0})}_readbackScreenshot(e){const t=this.context.gl,i=F(e.width,e.height,document.createElement("canvas"));return t.readPixels(e.x,e.y,e.width,e.height,A.RGBA,D.UNSIGNED_BYTE,new Uint8Array(i.data.buffer)),i}_resizeCanvas(e){const t=this._canvas,i=t.style,{state:{size:r},pixelRatio:s}=e,n=r[0],a=r[1],o=Math.round(n*s),h=Math.round(a*s);t.width===o&&t.height===h||(t.width=o,t.height=h),i.width=n+"px",i.height=a+"px"}_initializeClipRenderer(e){if(this._clipRendererInitialized)return!0;const t=R.attributes,i=M(e,R);if(!i)return!1;const r=T.createVertex(e,v.STREAM_DRAW,this._clipData),s=new Uint16Array([0,1,2,2,1,3]),n=T.createIndex(e,v.STATIC_DRAW,s),a={geometry:[new U("a_pos",2,j.FLOAT,0,8)]},o=new I(e,t,a,{geometry:r},n);return this._clipStencilProgram=i,this._clipVBO=r,this._clipVAO=o,this._clipRendererInitialized=!0,!0}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}_isLabelDrawPhaseRequired(e){let t=!1;for(const i of e){if(!(i instanceof u)){t=t||!1;break}if(i.hasLabels)return!0;t=t||this._isLabelDrawPhaseRequired(i.children)}return t}}export{W as EXTRA_RENDER_TIME,q as Stage};
|
|
5
|
+
import e from"../../../core/Error.js";import{on as t}from"../../../core/events.js";import i from"../../../core/has.js";import{isSome as r}from"../../../core/maybe.js";import{addFrameTask as s}from"../../../core/scheduling.js";import{init as n}from"../../../core/watchUtils.js";import{t as a}from"../../../chunks/common.js";import{a as o,r as h}from"../../../chunks/mat2d.js";import{c as l}from"../../../chunks/mat2df64.js";import{c as d}from"../../../chunks/mat3f32.js";import{s as c,t as p}from"../../../chunks/vec2.js";import{a as m}from"../../../chunks/vec2f64.js";import _ from"../../../symbols/cim/CIMResourceManager.js";import{Container as u}from"./Container.js";import{WGLDrawPhase as g}from"./webgl/enums.js";import f from"./webgl/Painter.js";import{Profiler as b}from"./webgl/Profiler.js";import{stencil as R}from"./webgl/shaders/StencilPrograms.js";import{Timeline as w}from"../support/Timeline.js";import{resampleHermite as O,encodeResult as E,createEmptyImageData as F}from"../../support/screenshotUtils.js";import{BufferObject as T}from"../../webgl/BufferObject.js";import{createContextOrErrorHTML as y}from"../../webgl/context-util.js";import{TargetType as C,DepthStencilTargetType as x,StencilOperation as B,CompareFunction as P,PrimitiveType as S,DataType as j,TextureSamplingMode as L,PixelFormat as A,PixelType as D,Usage as v}from"../../webgl/enums.js";import{FramebufferObject as k}from"../../webgl/FramebufferObject.js";import{createProgram as M}from"../../webgl/ProgramTemplate.js";import{RenderingContext as H}from"../../webgl/RenderingContext.js";import{VertexArrayObject as I}from"../../webgl/VertexArrayObject.js";import{VertexElementDescriptor as U}from"../../webgl/VertexElementDescriptor.js";const W=2e3;class q extends u{constructor(n,a){super(),this._trash=new Set,this._clipData=new Float32Array(8),this._upperLeft=m(),this._upperRight=m(),this._lowerLeft=m(),this._lowerRight=m(),this._mat2=l(),this._clipRendererInitialized=!1,this._renderRemainingTime=0,this._lastFrameRenderTime=0,this.renderRequested=!1,this.stage=this,this._stationary=!0;const{canvas:o=document.createElement("canvas"),alpha:h=!0,stencil:d=!0,contextOptions:c={}}=a;this._canvas=o;const p=y("2d",o,{alpha:h,antialias:!1,depth:!0,stencil:d});this.context=new H(r(p)?p:null,c),this.resourceManager=new _,this.painter=new f(this.context,this,this.resourceManager),i("esri-2d-profiler")&&(this._debugOutput=document.createElement("div"),this._debugOutput.setAttribute("style","margin: 24px 64px; position: absolute; color: red;"),n.appendChild(this._debugOutput)),this._renderParameters={drawPhase:0,state:this.state,pixelRatio:window.devicePixelRatio,stationary:!1,globalOpacity:1,blendMode:null,deltaTime:-1,time:0,inFadeTransition:!1,effects:null,context:this.context,painter:this.painter,timeline:a.timeline||new w,renderingOptions:a.renderingOptions,requireFBO:!1,profiler:new b(this.context,this._debugOutput),dataUploadCounter:0},this._taskHandle=s({render:e=>this.renderFrame(e)}),this._taskHandle.pause(),this._lostWebGLContextHandle=t(o,"webglcontextlost",(()=>{this.emit("webgl-error",{error:new e("webgl-context-lost")})})),o.setAttribute("style","width: 100%; height:100%; display:block;"),n.appendChild(o)}destroy(){this.removeAllChildren(),this._emptyTrash(),this._taskHandle.remove(),this._taskHandle=null,this._boundFBO=null,this._clipFBO&&(this._clipFBO.dispose(),this._clipFBO=null),this._clipVAO&&(this._clipVAO.dispose(),this._clipVAO=null,this._clipVBO=null),this._clipStencilProgram&&(this._clipStencilProgram.dispose(),this._clipStencilProgram=null),this._lostWebGLContextHandle&&(this._lostWebGLContextHandle.remove(),this._lostWebGLContextHandle=null),this._canvas.parentNode&&this._canvas.parentNode.removeChild(this._canvas),this._debugOutput&&this._debugOutput.parentNode&&this._debugOutput.parentNode.removeChild(this._debugOutput),this.highlightOptions=null,this.resourceManager.destroy(),this.painter.dispose(),this.context.dispose(),this._canvas=null}get background(){return this._background}set background(e){this._background=e,this.requestRender()}get highlightOptions(){return this._highlightOptions}set highlightOptions(e){this._highlightOptionsHandle&&(this._highlightOptionsHandle.remove(),this._highlightOptionsHandle=null),this._highlightOptions=e,this._highlightOptions&&(this._highlightOptionsHandle=n(this._highlightOptions,"version",(()=>{this.painter.setHighlightOptions(e),this.requestRender()})))}get renderingOptions(){return this._renderingOptions}set renderingOptions(e){this._renderingOptions=e,this.requestRender()}get state(){return this._state}set state(e){this._state=e,this.requestRender()}get stationary(){return this._stationary}set stationary(e){this._stationary!==e&&(this._stationary=e,this.requestRender())}trashDisplayObject(e){this._trash.add(e),this.requestRender()}untrashDisplayObject(e){return this._trash.delete(e)}requestRender(){this._renderRemainingTime=W,this.renderRequested||(this.renderRequested=!0,this.emit("will-render"),this._taskHandle.resume())}renderFrame(e){const t=this._lastFrameRenderTime?e.time-this._lastFrameRenderTime:0;this._renderRemainingTime-=t,this._renderRemainingTime<=0&&this._taskHandle.pause(),this._lastFrameRenderTime=e.time,this.renderRequested=!1,this._renderParameters.state=this._state,this._renderParameters.stationary=this.stationary,this._renderParameters.pixelRatio=window.devicePixelRatio,this._renderParameters.globalOpacity=1,this._renderParameters.time=e.time,this._renderParameters.deltaTime=e.deltaTime,this._renderParameters.effects=null,this.processRender(this._renderParameters),this._emptyTrash(),this.emit("post-render")}_createTransforms(){return{dvs:d()}}renderChildren(e){for(const t of this.children)t.beforeRender(e);this._renderChildren(this.children,e);for(const t of this.children)t.afterRender(e)}_renderChildren(e,t){const r=this.context;t.profiler.recordStart("drawLayers"),t.dataUploadCounter=0,this._beforeRenderChildren(t),t.drawPhase=g.MAP,this.painter.beforeRenderLayers(r,this.background);for(const i of e)i.processRender(t);this.painter.renderLayers(r),t.drawPhase=g.HIGHLIGHT,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r);if(this._isLabelDrawPhaseRequired(e)){t.drawPhase=g.LABEL,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}if(i("esri-tiles-debug")){t.drawPhase=g.DEBUG,this.painter.beforeRenderLayers(r);for(const i of e)i.processRender(t);this.painter.renderLayers(r)}t.profiler.recordEnd("drawLayers"),this._afterRenderChildren()}_beforeRenderChildren(e){const{context:t}=this,{state:i,pixelRatio:r}=e;t.setClearDepth(1),t.setClearColor(0,0,0,0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT);const{size:s,rotation:n}=i,l=Math.round(s[0]*r),d=Math.round(s[1]*r);this._boundFBO=t.getBoundFramebufferObject();if(!(i.spatialReference&&(i.spatialReference._isWrappable?i.spatialReference._isWrappable():i.spatialReference.isWrappable)))return void(this._clipFrame=!1);const m=a(n),_=Math.abs(Math.cos(m)),u=Math.abs(Math.sin(m)),g=Math.round(l*_+d*u),f=Math.round(i.worldScreenWidth);if(g<=f)return void(this._clipFrame=!1);this._clipFBO&&this._clipFBO.width===l&&this._clipFBO.height===d||(this._clipFBO=new k(t,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:l,height:d}));const b=(this.state.padding.left-this.state.padding.right)/2,R=(this.state.padding.bottom-this.state.padding.top)/2,w=.5*l,O=.5*d,E=1/l,F=1/d,T=f*r*.5,y=.5*(l*u+d*_),B=this._upperLeft,P=this._upperRight,S=this._lowerLeft,j=this._lowerRight;c(B,-T,-y),c(P,T,-y),c(S,-T,y),c(j,T,y),o(this._mat2,[w+b,O-R]),0!==n&&h(this._mat2,this._mat2,m),p(B,B,this._mat2),p(P,P,this._mat2),p(S,S,this._mat2),p(j,j,this._mat2);const L=this._clipData;L.set([2*S[0]*E-1,2*(d-S[1])*F-1,2*j[0]*E-1,2*(d-j[1])*F-1,2*B[0]*E-1,2*(d-B[1])*F-1,2*P[0]*E-1,2*(d-P[1])*F-1]),this._clipRendererInitialized||this._initializeClipRenderer(t),this._clipVBO.setData(L),this._boundFBO=t.getBoundFramebufferObject(),t.bindFramebuffer(this._clipFBO),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),t.setClearColor(0,0,0,0),t.setClearDepth(1),t.setClearStencil(0),t.clear(t.gl.COLOR_BUFFER_BIT|t.gl.DEPTH_BUFFER_BIT|t.gl.STENCIL_BUFFER_BIT),t.setDepthWriteEnabled(!1),this._clipFrame=!0}_afterRenderChildren(){const e=this.context;if(e.logIno(),this._clipFrame&&this._clipRendererInitialized){if(e.bindFramebuffer(this._boundFBO),this._boundFBO=null,e.bindVAO(this._clipVAO),e.useProgram(this._clipStencilProgram),e.setDepthWriteEnabled(!1),e.setDepthTestEnabled(!1),e.setStencilTestEnabled(!0),e.setBlendingEnabled(!1),e.setColorMask(!1,!1,!1,!1),e.setStencilOp(B.KEEP,B.KEEP,B.REPLACE),e.setStencilWriteMask(255),e.setStencilFunction(P.ALWAYS,1,255),e.drawElements(S.TRIANGLES,6,j.UNSIGNED_SHORT,0),e.bindVAO(),e.setColorMask(!0,!0,!0,!0),null!=this.background){const{r:t,g:i,b:r,a:s}=this.background.color;e.setClearColor(s*t/255,s*i/255,s*r/255,s)}else e.setClearColor(0,0,0,0);e.clear(e.gl.COLOR_BUFFER_BIT),e.setBlendingEnabled(!0),e.setStencilFunction(P.EQUAL,1,255),this.painter.blitTexture(e,this._clipFBO.colorTexture,L.NEAREST,1),e.setStencilTestEnabled(!1)}}doRender(e){const t=this.context,{state:i,pixelRatio:r}=e;this._resizeCanvas(e),t.setViewport(0,0,r*i.size[0],r*i.size[1]),t.setDepthWriteEnabled(!0),t.setStencilWriteMask(255),super.doRender(e)}async takeScreenshot(e){const{framebufferWidth:t,framebufferHeight:i}={framebufferWidth:Math.round(this._renderParameters.state.size[0]*e.resolutionScale),framebufferHeight:Math.round(this._renderParameters.state.size[1]*e.resolutionScale)},r=1,s=this.context,n=this._state.clone();if(null!=e.rotation){const t=n.viewpoint;n.viewpoint.rotation=e.rotation,n.viewpoint=t}const a={...this._renderParameters,drawPhase:null,globalOpacity:1,stationary:!0,state:n,pixelRatio:r,time:Date.now(),deltaTime:0,blendMode:null,effects:null,inFadeTransition:!1},o=new k(s,{colorTarget:C.TEXTURE,depthStencilTarget:x.DEPTH_STENCIL_RENDER_BUFFER,width:t,height:i}),h=s.getBoundFramebufferObject(),l=s.getViewport();s.bindFramebuffer(o),s.setViewport(0,0,t,i),this._renderChildren(e.children,a);const d=this._readbackScreenshot(o,{...e.cropArea,y:i-(e.cropArea.y+e.cropArea.height)});s.bindFramebuffer(h),s.setViewport(l.x,l.y,l.width,l.height),this.requestRender();const c=await d;let p;1===e.outputScale?p=c:(p=new ImageData(Math.round(c.width*e.outputScale),Math.round(c.height*e.outputScale)),O(c,p,!0));return E(p,{format:e.format,quality:e.quality,rotation:0,disableDecorations:!1},document.createElement("canvas"),{flipY:!0,premultipliedAlpha:!0})}async _readbackScreenshot(e,t){const i=F(t.width,t.height,document.createElement("canvas"));return await e.readPixelsAsync(t.x,t.y,t.width,t.height,A.RGBA,D.UNSIGNED_BYTE,new Uint8Array(i.data.buffer)),i}_resizeCanvas(e){const t=this._canvas,i=t.style,{state:{size:r},pixelRatio:s}=e,n=r[0],a=r[1],o=Math.round(n*s),h=Math.round(a*s);t.width===o&&t.height===h||(t.width=o,t.height=h),i.width=n+"px",i.height=a+"px"}_initializeClipRenderer(e){if(this._clipRendererInitialized)return!0;const t=M(e,R);if(!t)return!1;const i=T.createVertex(e,v.STREAM_DRAW,this._clipData),r=new Uint16Array([0,1,2,2,1,3]),s=T.createIndex(e,v.STATIC_DRAW,r),n=R.attributes,a={geometry:[new U("a_pos",2,j.FLOAT,0,8)]},o=new I(e,n,a,{geometry:i},s);return this._clipStencilProgram=t,this._clipVBO=i,this._clipVAO=o,this._clipRendererInitialized=!0,!0}_emptyTrash(){for(;this._trash.size>0;){const e=Array.from(this._trash);this._trash.clear();for(const t of e)t.processDetach()}}_isLabelDrawPhaseRequired(e){let t=!1;for(const i of e){if(!(i instanceof u)){t=t||!1;break}if(i.hasLabels)return!0;t=t||this._isLabelDrawPhaseRequired(i.children)}return t}}export{W as EXTRA_RENDER_TIME,q as Stage};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../
|
|
5
|
+
import e from"../../../../core/has.js";import{isAbortError as t,eachAlways as s}from"../../../../core/promiseUtils.js";import{addQueryParameters as r}from"../../../../core/urlUtils.js";import{open as i}from"../../../../core/workers/workers.js";import o from"./GlyphMosaic.js";import l from"./GlyphSource.js";import a from"./SpriteMosaic.js";import{perfAdd as n}from"./decluttering/debugging.js";import c from"../../tiling/TileKey.js";class h{constructor(e,t,s){this._layer=e,this._styleRepository=t,this.devicePixelRatio=s,this._spriteMosaic=null,this._glyphMosaic=null,this._connection=null}destroy(){this._connection&&(this._connection.close(),this._connection=null),this._styleRepository=null,this._layer=null,this._spriteMosaic&&(this._spriteMosaic=null),this._glyphMosaic&&(this._glyphMosaic=null)}get spriteMosaic(){return this._spriteSourcePromise.then((()=>this._spriteMosaic))}get glyphMosaic(){return this._glyphMosaic}async start(t){this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,t),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new a(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const s=new l(this._layer.currentStyleInfo.glyphsUrl?r(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);this._glyphMosaic=new o(1024,1024,s),this._broadcastPromise=i("WorkerTileHandler",{client:this,schedule:t.schedule,signal:t.signal}).then((s=>(this._connection=s,Promise.all(this._connection.broadcast("setStyle",{style:this._layer.currentStyleInfo.style,vectorTileLayerMaxBuffers:e("vectortilelayer-max-buffers")},t)))))}async updateStyle(e){return await this._broadcastPromise,this._broadcastPromise=Promise.all(this._connection.broadcast("updateStyle",e)),this._broadcastPromise}async setStyle(t,s){await this._broadcastPromise,this._styleRepository=t,this._spriteSourcePromise=this._layer.loadSpriteSource(this.devicePixelRatio,null),this._spriteSourcePromise.then((e=>{this._spriteMosaic=new a(1024,1024,250),this._spriteMosaic.setSpriteSource(e)}));const i=new l(this._layer.currentStyleInfo.glyphsUrl?r(this._layer.currentStyleInfo.glyphsUrl,{...this._layer.customParameters,token:this._layer.apiKey}):null);return this._glyphMosaic=new o(1024,1024,i),this._broadcastPromise=Promise.all(this._connection.broadcast("setStyle",{style:s,vectorTileLayerMaxBuffers:e("vectortilelayer-max-buffers")})),this._broadcastPromise}fetchTileData(e,t){return this._getRefKeys(e,t).then((e=>{const s=this._layer.sourceNameToSource,r=[];for(const t in s)r.push(t);return this._getSourcesData(r,e,t)}))}parseTileData(e,t){const s=e&&e.data;if(!s)return Promise.resolve(null);const{sourceName2DataAndRefKey:r,transferList:i}=s;return 0===Object.keys(r).length?Promise.resolve(null):this._broadcastPromise.then((()=>this._connection.getAvailableClient().then((s=>s.invoke("createTileAndParse",{key:e.key.id,sourceName2DataAndRefKey:r,styleLayerUIDs:e.styleLayerUIDs},{...t,transferList:i})))))}async getSprites(e){return await this._spriteSourcePromise,this._spriteMosaic.getSpriteItems(e)}getGlyphs(e){return this._glyphMosaic.getGlyphItems(e.font,e.codePoints)}perfReport({key:e,milliseconds:t}){n(e,t,"ms")}async _getTilePayload(e,s,r){const i=c.pool.acquire(e.id),o=this._layer.sourceNameToSource[s],{level:l,row:a,col:n}=i;c.pool.release(i);try{return{protobuff:await o.requestTile(l,a,n,r),sourceName:s}}catch(h){if(t(h))throw h;return{protobuff:null,sourceName:s}}}_getRefKeys(e,t){const r=this._layer.sourceNameToSource,i=new Array;for(const s in r){const o=r[s].getRefKey(e,t);i.push(o)}return s(i)}_getSourcesData(e,t,r){const i=[];for(let s=0;s<t.length;s++)if(null==t[s].value||null==e[s])i.push(null);else{const o=this._getTilePayload(t[s].value,e[s],r);i.push(o)}return s(i).then((e=>{const s={},r=[];for(let i=0;i<e.length;i++)if(e[i].value&&e[i].value&&e[i].value.protobuff&&e[i].value.protobuff.byteLength>0){const o=t[i].value.id;s[e[i].value.sourceName]={refKey:o,protobuff:e[i].value.protobuff},r.push(e[i].value.protobuff)}return{sourceName2DataAndRefKey:s,transferList:r}}))}}export{h as TileHandler};
|
|
@@ -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{ShaderProgramType as e}from"../enums.js";import{text as r,outline as t,line as a,icon as s,fill as n,circle as
|
|
5
|
+
import{ShaderProgramType as e}from"../enums.js";import{text as r,outline as t,line as a,icon as s,fill as n,circle as c,background as i}from"./Programs.js";class o{constructor(){this._programByKey=new Map}dispose(){this._programByKey.forEach((e=>e.dispose())),this._programByKey.clear()}getMaterialProgram(e,r,t){const a=r.key<<3|this._getMaterialOptionsValue(r.type,t);if(this._programByKey.has(a))return this._programByKey.get(a);const s=this._getProgramTemplate(r.type),{shaders:n}=s,{vertexShader:c,fragmentShader:i}=n(t),o=r.getShaderHeader(),u=r.getShaderMain(),p=c.replace("#pragma header",o).replace("#pragma main",u),g=e.programCache.acquire(p,i,r.getAttributeLocations());return this._programByKey.set(a,g),g}_getMaterialOptionsValue(r,t){switch(r){case e.BACKGROUND:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.FILL:{const e=t;return(e.pattern?1:0)<<1|(e.id?1:0)}case e.OUTLINE:return t.id?1:0;case e.LINE:{const e=t;return(e.sdf?1:0)<<2|(e.pattern?1:0)<<1|(e.id?1:0)}case e.ICON:{const e=t;return(e.sdf?1:0)<<1|(e.id?1:0)}case e.CIRCLE:return t.id?1:0;case e.TEXT:return t.id?1:0;default:return 0}}_getProgramTemplate(o){switch(o){case e.BACKGROUND:return i;case e.CIRCLE:return c;case e.FILL:return n;case e.ICON:return s;case e.LINE:return a;case e.OUTLINE:return t;case e.TEXT:return r;default:return null}}}export{o as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{clone as t}from"../../../../../core/lang.js";import{urlToObject as e,isAbsolute as i,join as l,addQueryParameters as r}from"../../../../../core/urlUtils.js";import s from"../../../../../geometry/Extent.js";import{readServiceTileInfo as o}from"../../../../../layers/support/serviceTileInfoProperty.js";import{TilemapCache as n}from"../../../../../layers/support/TilemapCache.js";import a from"../TilemapIndex.js";import p from"../TilemapRequest.js";class
|
|
5
|
+
import{clone as t}from"../../../../../core/lang.js";import{urlToObject as e,isAbsolute as i,join as l,addQueryParameters as r}from"../../../../../core/urlUtils.js";import s from"../../../../../geometry/Extent.js";import{readServiceTileInfo as o}from"../../../../../layers/support/serviceTileInfoProperty.js";import{TilemapCache as n}from"../../../../../layers/support/TilemapCache.js";import a from"../TilemapIndex.js";import p from"../TilemapRequest.js";import{request as u}from"./VectorTilesRequestManager.js";class h{constructor(u,h,m){this.tilemap=null,this.tileInfo=null,this.capabilities=null,this.fullExtent=null,this.name=u,this.sourceUrl=h;const f=e(this.sourceUrl),c=t(m),d=c.tiles;if(f)for(let t=0;t<d.length;t++){const s=e(d[t]);s&&(i(s.path)||(s.path=l(f.path,s.path)),d[t]=r(s.path,{...f.query,...s.query}))}this.tileServers=d;const x=m.capabilities&&m.capabilities.split(",").map((t=>t.toLowerCase().trim())),y=!0===(null==m?void 0:m.exportTilesAllowed),v=!0===(null==x?void 0:x.includes("tilemap")),T=y&&m.hasOwnProperty("maxExportTilesCount")?m.maxExportTilesCount:0;this.capabilities={operations:{supportsExportTiles:y,supportsTileMap:v},exportTiles:y?{maxExportTilesCount:+T}:null},this.tileInfo=o(c.tileInfo,c,null,{ignoreMinMaxLOD:!0});const g=m.tileMap?r(l(f.path,m.tileMap),f.query):null;v?(this.type="vector-tile",this.tilemap=new p(new n({layer:{parsedUrl:f,tileInfo:this.tileInfo,type:"vector-tile",tileServers:this.tileServers}}),g)):g&&(this.tilemap=new a(g)),this.fullExtent=s.fromJSON(m.fullExtent)}destroy(){}async getRefKey(t,e){var i,l;return null!=(i=null==(l=this.tilemap)?void 0:l.dataKey(t,e))?i:t}requestTile(t,e,i,l){const r=this.tileServers[e%this.tileServers.length];return u(r,t,e,i,l)}isCompatibleWith(t){const e=this.tileInfo,i=t.tileInfo;if(!e.spatialReference.equals(i.spatialReference))return!1;if(!e.origin.equals(i.origin))return!1;if(Math.round(e.dpi)!==Math.round(i.dpi))return!1;const l=e.lods,r=i.lods,s=Math.min(l.length,r.length);for(let o=0;o<s;o++){const t=l[o],e=r[o];if(t.level!==e.level||Math.round(t.scale)!==Math.round(e.scale))return!1}return!0}}export{h as default};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import e from"../../../../../request.js";import{clone as t}from"../../../../../core/lang.js";const r=new Map;function n(e,t,r,n,c){return o(e.replace(/\{z\}/gi,t.toString()).replace(/\{y\}/gi,r.toString()).replace(/\{x\}/gi,n.toString()),c)}function o(n,o){const c=r.get(n);if(c)return c.then((e=>t(e)));const i=e(n,{responseType:"array-buffer",...o}).then((({data:e})=>(r.delete(n),e))).catch((e=>{throw r.delete(n),e}));return r.set(n,i),i}export{n as request};
|
|
@@ -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{disposeMaybe as r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{BlendFactor as s,PrimitiveType as o,Usage as a}from"../../../webgl/enums.js";import{createProgram as m}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as n}from"../../../webgl/VertexArrayObject.js";class _{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(o.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=
|
|
5
|
+
import{disposeMaybe as r}from"../../../../core/maybe.js";import{PosTex2b as t}from"./DefaultVertexAttributeLayouts.js";import{bitBlit as e}from"./shaders/BitBlitPrograms.js";import{BufferObject as i}from"../../../webgl/BufferObject.js";import{BlendFactor as s,PrimitiveType as o,Usage as a}from"../../../webgl/enums.js";import{createProgram as m}from"../../../webgl/ProgramTemplate.js";import{VertexArrayObject as n}from"../../../webgl/VertexArrayObject.js";class _{constructor(){this._initialized=!1}dispose(){this._program=r(this._program),this._vertexArrayObject=r(this._vertexArrayObject)}render(r,t,e,i){r&&(this._initialized||this._initialize(r),r.setBlendFunctionSeparate(s.ONE,s.ONE_MINUS_SRC_ALPHA,s.ONE,s.ONE_MINUS_SRC_ALPHA),r.bindVAO(this._vertexArrayObject),r.useProgram(this._program),t.setSamplingMode(e),r.bindTexture(t,0),this._program.setUniform1i("u_tex",0),this._program.setUniform1f("u_opacity",i),r.drawArrays(o.TRIANGLE_STRIP,0,4),r.bindTexture(null,0),r.bindVAO())}_initialize(r){if(this._initialized)return!0;const s=m(r,e);if(!s)return!1;const o=new Int8Array(16);o[0]=-1,o[1]=-1,o[2]=0,o[3]=0,o[4]=1,o[5]=-1,o[6]=1,o[7]=0,o[8]=-1,o[9]=1,o[10]=0,o[11]=1,o[12]=1,o[13]=1,o[14]=1,o[15]=1;const _=e.attributes,p=new n(r,_,t,{geometry:i.createVertex(r,a.STATIC_DRAW,o)});return this._program=s,this._vertexArrayObject=p,this._initialized=!0,!0}}export{_ as BitBlitRenderer};
|
|
@@ -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{isSome as r}from"../../../../core/maybe.js";import{WGLDrawPhase as e}from"./enums.js";import{createProgramTemplate as t}from"./shaders/MaterialPrograms.js";
|
|
5
|
+
import{isSome as r}from"../../../../core/maybe.js";import{WGLDrawPhase as e}from"./enums.js";import{createProgramTemplate as t}from"./shaders/MaterialPrograms.js";const a=r=>r===e.HITTEST||r===e.LABEL_ALPHA,s=r=>(a(r)?1:0)|(r===e.HIGHLIGHT?2:0),o=({rendererInfo:e,drawPhase:t},a,o,i)=>`${a.getVariationHash()}-${i.join(".")}-${s(t)}-${e.getVariationHash()}-${r(o)&&o.join(".")}`,i=(t,s,o,i)=>{const h=i.reduce(((r,e)=>({...r,[e]:t.context.driverTest[e]})),{}),n={...s.getVariation(),...t.rendererInfo.getVariation(),highlight:t.drawPhase===e.HIGHLIGHT,id:a(t.drawPhase),...h};if(r(o))for(const r of o)n[r]=!0;return n};class h{constructor(r){this._rctx=r,this._programByKey=new Map}dispose(){this._programByKey.forEach((r=>r.dispose())),this._programByKey.clear()}getProgram(r,e,a=[],s=[]){const o=e.vsPath+"."+e.fsPath+JSON.stringify(a)+s.join(".");if(this._programByKey.has(o))return this._programByKey.get(o);const i=s.reduce(((e,t)=>({...e,[t]:r.context.driverTest[t]})),{}),h={...a.map((r=>"string"==typeof r?{name:r,value:!0}:r)).reduce(((r,e)=>({...r,[e.name]:e.value})),{}),...i},{vsPath:n,fsPath:g,attributes:m}=e,c=t(n,g,m,h),y=this._rctx.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!y)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(o,y),y}getMaterialProgram(r,e,a,s,h,n=["ignoresSamplerPrecision"]){const g=o(r,e,h,n);if(this._programByKey.has(g))return this._programByKey.get(g);const m=i(r,e,h,n),c=t(a,a,s,m),y=this._rctx.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!y)throw new Error("Unable to get program for key: ${key}");return this._programByKey.set(g,y),y}}export{h 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
|
-
var e,t;function r(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function n(e){switch(e){case"top":return t.Top;case"middle":return t.Center;case"baseline":return t.Baseline;case"bottom":return t.Bottom}}function a(r){switch(r){case"above-left":case"esriServerPointLabelPlacementAboveLeft":return[e.Right,t.Bottom];case"above-center":case"above-along":case"esriServerPointLabelPlacementAboveCenter":case"esriServerLinePlacementAboveAlong":return[e.Center,t.Bottom];case"above-right":case"esriServerPointLabelPlacementAboveRight":return[e.Left,t.Bottom];case"center-left":case"esriServerPointLabelPlacementCenterLeft":return[e.Right,t.Center];case"center-center":case"center-along":case"esriServerPointLabelPlacementCenterCenter":case"esriServerLinePlacementCenterAlong":case"always-horizontal":case"esriServerPolygonPlacementAlwaysHorizontal":return[e.Center,t.Center];case"center-right":case"esriServerPointLabelPlacementCenterRight":return[e.Left,t.Center];case"below-left":case"esriServerPointLabelPlacementBelowLeft":return[e.Right,t.Top];case"below-center":case"below-along":case"esriServerPointLabelPlacementBelowCenter":case"esriServerLinePlacementBelowAlong":return[e.Center,t.Top];case"below-right":case"esriServerPointLabelPlacementBelowRight":return[e.Left,t.Top];default:return console.debug(`Found invalid placement type ${r}`),[e.Center,t.Center]}}function c(t){switch(t){case e.Right:return-1;case e.Center:return 0;case e.Left:return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function o(e){switch(e){case t.Top:return 1;case t.Center:return 0;case t.Bottom:case t.Baseline:return-1;default:return console.debug(`Found invalid vertical alignment ${e}`),0}}function s(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}!function(e){e[e.Left=-1]="Left",e[e.Center=0]="Center",e[e.Right=1]="Right"}(e||(e={})),function(e){e[e.Top=1]="Top",e[e.Center=0]="Center",e[e.Bottom=-1]="Bottom",e[e.Baseline=2]="Baseline"}(t||(t={}));export{e as HAlign,t as VAlign,a as getAlignmentFromPlacement,s as getJustification,r as getXAnchorDirection,c as getXDirection,n as getYAnchorDirection,o as getYDirection};
|
|
5
|
+
var e,t;function r(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function n(e){switch(e){case"top":return t.Top;case"middle":return t.Center;case"baseline":return t.Baseline;case"bottom":return t.Bottom}}function a(r){switch(r){case"above-left":case"esriServerPointLabelPlacementAboveLeft":return[e.Right,t.Bottom];case"above-center":case"above-along":case"esriServerPointLabelPlacementAboveCenter":case"esriServerLinePlacementAboveAlong":return[e.Center,t.Bottom];case"above-right":case"esriServerPointLabelPlacementAboveRight":return[e.Left,t.Bottom];case"center-left":case"esriServerPointLabelPlacementCenterLeft":return[e.Right,t.Center];case"center-center":case"center-along":case"esriServerPointLabelPlacementCenterCenter":case"esriServerLinePlacementCenterAlong":case"always-horizontal":case"esriServerPolygonPlacementAlwaysHorizontal":return[e.Center,t.Center];case"center-right":case"esriServerPointLabelPlacementCenterRight":return[e.Left,t.Center];case"below-left":case"esriServerPointLabelPlacementBelowLeft":return[e.Right,t.Top];case"below-center":case"below-along":case"esriServerPointLabelPlacementBelowCenter":case"esriServerLinePlacementBelowAlong":return[e.Center,t.Top];case"below-right":case"esriServerPointLabelPlacementBelowRight":return[e.Left,t.Top];default:return console.debug(`Found invalid placement type ${r}`),[e.Center,t.Center]}}function c(t){switch(t){case e.Right:return-1;case e.Center:return 0;case e.Left:return 1;default:return console.debug(`Found invalid horizontal alignment ${t}`),0}}function o(e){switch(e){case t.Top:return 1;case t.Center:return 0;case t.Bottom:case t.Baseline:return-1;default:return console.debug(`Found invalid vertical alignment ${e}`),0}}function s(t){switch(t){case"left":return e.Left;case"right":return e.Right;case"center":case"justify":return e.Center}}function i(e){switch(e){case"above-along":case"below-along":case"center-along":case"esriServerLinePlacementAboveAlong":case"esriServerLinePlacementBelowAlong":case"esriServerLinePlacementCenterAlong":return!0;default:return!1}}!function(e){e[e.Left=-1]="Left",e[e.Center=0]="Center",e[e.Right=1]="Right"}(e||(e={})),function(e){e[e.Top=1]="Top",e[e.Center=0]="Center",e[e.Bottom=-1]="Bottom",e[e.Baseline=2]="Baseline"}(t||(t={}));export{e as HAlign,t as VAlign,a as getAlignmentFromPlacement,s as getJustification,r as getXAnchorDirection,c as getXDirection,n as getYAnchorDirection,o as getYDirection,i as isMapAligned};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.23/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../../../core/Error.js";import r from"../../../../../core/Logger.js";import{isSome as
|
|
5
|
+
import e from"../../../../../core/Error.js";import r from"../../../../../core/Logger.js";import{disposeMaybe as t,isSome as s}from"../../../../../core/maybe.js";import{WGLDrawPhase as i}from"../enums.js";import a from"../VertexStream.js";import{createProgramTemplate as n}from"../shaders/BlendPrograms.js";import{BlendFactor as o,TextureType as d,PixelFormat as u,PixelType as f,TextureWrapMode as c,TextureSamplingMode as m}from"../../../../webgl/enums.js";import{Texture as h}from"../../../../webgl/Texture.js";const l=r.getLogger("esri.views.2d.engine.webgl.effects.blendEffects.BlendEffect");class _{constructor(){this._size=[0,0]}dispose(e){this._backBufferTexture=t(this._backBufferTexture),this._quad=t(this._quad)}draw(r,t,s,a,d){const{context:u,drawPhase:f}=r;if(this._setupShader(u),a&&"normal"!==a&&f!==i.LABEL)return void this._drawBlended(r,t,s,a,d);const c=n("normal"),m=u.programCache.acquire(c.shaders.vertexShader,c.shaders.fragmentShader,c.attributes);if(!m)return void l.error(new e("mapview-BlendEffect",'Error creating shader program for blend mode "normal"'));u.useProgram(m),t.setSamplingMode(s),u.bindTexture(t,0),m.setUniform1i("u_layerTexture",0),m.setUniform1f("u_opacity",d),u.setBlendingEnabled(!0),u.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA);const h=this._quad;h.draw(),h.unbind(),m.dispose()}_drawBlended(r,t,i,a,d){const{context:u,state:f,pixelRatio:c,inFadeTransition:m}=r,{size:h}=f,_=u.getBoundFramebufferObject();let p,b;if(s(_)){const e=_.descriptor;p=e.width,b=e.height}else p=Math.round(c*h[0]),b=Math.round(c*h[1]);this._createOrResizeTexture(r,p,b);const g=this._backBufferTexture;_.copyToTexture(0,0,p,b,0,0,g),u.setStencilTestEnabled(!1),u.setStencilWriteMask(0),u.setBlendingEnabled(!0),u.setDepthTestEnabled(!1),u.setDepthWriteEnabled(!1);const x=n(a),E=u.programCache.acquire(x.shaders.vertexShader,x.shaders.fragmentShader,x.attributes);if(!E)return void l.error(new e("mapview-BlendEffect",`Error creating shader program for blend mode ${a}`));u.useProgram(E),g.setSamplingMode(i),u.bindTexture(g,0),E.setUniform1i("u_backbufferTexture",0),t.setSamplingMode(i),u.bindTexture(t,1),E.setUniform1i("u_layerTexture",1),E.setUniform1f("u_opacity",d),E.setUniform1f("u_inFadeOpacity",m?1:0),u.setBlendFunction(o.ONE,o.ZERO);const T=this._quad;T.draw(),T.unbind(),E.dispose(),u.setBlendFunction(o.ONE,o.ONE_MINUS_SRC_ALPHA)}_setupShader(e){this._quad||(this._quad=new a(e,[-1,-1,1,-1,-1,1,1,1]))}_createOrResizeTexture(e,r,t){const{context:s}=e;null!==this._backBufferTexture&&r===this._size[0]&&t===this._size[1]||(this._backBufferTexture?this._backBufferTexture.resize(r,t):this._backBufferTexture=new h(s,{target:d.TEXTURE_2D,pixelFormat:u.RGBA,internalFormat:u.RGBA,dataType:f.UNSIGNED_BYTE,wrapMode:c.CLAMP_TO_EDGE,samplingMode:m.LINEAR,flipped:!1,width:r,height:t}),this._size[0]=r,this._size[1]=t)}}export{_ as BlendEffect};
|