@arcgis/core 5.1.0-next.127 → 5.1.0-next.129
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/applications/Urban/editingSessionUtils.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerParquet.js +2 -0
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade.d.ts +2 -1
- package/arcgisGlobal.d.ts +3 -1
- package/assets/esri/core/t9n/Units_ar.json +1 -1
- package/assets/esri/core/t9n/Units_bg.json +1 -1
- package/assets/esri/core/t9n/Units_bs.json +1 -1
- package/assets/esri/core/t9n/Units_ca.json +1 -1
- package/assets/esri/core/t9n/Units_cs.json +1 -1
- package/assets/esri/core/t9n/Units_da.json +1 -1
- package/assets/esri/core/t9n/Units_de.json +1 -1
- package/assets/esri/core/t9n/Units_el.json +1 -1
- package/assets/esri/core/t9n/Units_es.json +1 -1
- package/assets/esri/core/t9n/Units_et.json +1 -1
- package/assets/esri/core/t9n/Units_fi.json +1 -1
- package/assets/esri/core/t9n/Units_fr.json +1 -1
- package/assets/esri/core/t9n/Units_he.json +1 -1
- package/assets/esri/core/t9n/Units_hr.json +1 -1
- package/assets/esri/core/t9n/Units_hu.json +1 -1
- package/assets/esri/core/t9n/Units_id.json +1 -1
- package/assets/esri/core/t9n/Units_it.json +1 -1
- package/assets/esri/core/t9n/Units_ja.json +1 -1
- package/assets/esri/core/t9n/Units_ko.json +1 -1
- package/assets/esri/core/t9n/Units_lt.json +1 -1
- package/assets/esri/core/t9n/Units_lv.json +1 -1
- package/assets/esri/core/t9n/Units_nl.json +1 -1
- package/assets/esri/core/t9n/Units_no.json +1 -1
- package/assets/esri/core/t9n/Units_pl.json +1 -1
- package/assets/esri/core/t9n/Units_pt-BR.json +1 -1
- package/assets/esri/core/t9n/Units_pt-PT.json +1 -1
- package/assets/esri/core/t9n/Units_ro.json +1 -1
- package/assets/esri/core/t9n/Units_ru.json +1 -1
- package/assets/esri/core/t9n/Units_sk.json +1 -1
- package/assets/esri/core/t9n/Units_sl.json +1 -1
- package/assets/esri/core/t9n/Units_sr.json +1 -1
- package/assets/esri/core/t9n/Units_sv.json +1 -1
- package/assets/esri/core/t9n/Units_th.json +1 -1
- package/assets/esri/core/t9n/Units_tr.json +1 -1
- package/assets/esri/core/t9n/Units_uk.json +1 -1
- package/assets/esri/core/t9n/Units_vi.json +1 -1
- package/assets/esri/core/t9n/Units_zh-CN.json +1 -1
- package/assets/esri/core/t9n/Units_zh-HK.json +1 -1
- package/assets/esri/core/t9n/Units_zh-TW.json +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +1 -0
- package/assets/esri/core/workers/chunks/0418b5c9d06f3585c035.js +2 -0
- package/assets/esri/core/workers/chunks/{b045bffb4f2eb9203183.js → 05e1f1628a3726eca03d.js} +1 -1
- package/assets/esri/core/workers/chunks/08dfe61c75f0032db4d4.js +1 -0
- package/assets/esri/core/workers/chunks/0b45d34938fa7862f746.js +1 -0
- package/assets/esri/core/workers/chunks/0e94786db78770868c63.js +2 -0
- package/assets/esri/core/workers/chunks/{81e3bd1a0634ddc2b833.js → 0f10d7d592c36ee2d1ea.js} +1 -1
- package/assets/esri/core/workers/chunks/{38cfedce779dd75bd217.js → 10b668186063770d63bd.js} +1 -1
- package/assets/esri/core/workers/chunks/11c3b1e8ca21ad62fdd1.js +1 -0
- package/assets/esri/core/workers/chunks/152193072c9d3487b47a.js +1 -0
- package/assets/esri/core/workers/chunks/{c187bc997bad61b6c6e9.js → 18d1ac2165a84c42e98f.js} +1 -1
- package/assets/esri/core/workers/chunks/{0b169bb1969f86232a1a.js → 1b03e10a6b721365acbb.js} +1 -1
- package/assets/esri/core/workers/chunks/1bd49e8d2657c72bf3f9.js +1 -0
- package/assets/esri/core/workers/chunks/1d2609ce6220b5af5526.js +1 -0
- package/assets/esri/core/workers/chunks/1d38b2fcd85ac9ebd7c6.js +1 -0
- package/assets/esri/core/workers/chunks/{c2cd80b712f29e8cbb8d.js → 1ff57bf19f021f5fd246.js} +1 -1
- package/assets/esri/core/workers/chunks/{287f1441819c345f389e.js → 268243ee64d001009f78.js} +1 -1
- package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +1 -0
- package/assets/esri/core/workers/chunks/{73c355b895fd6a34fcb8.js → 2a8d791aef3123e6a3c4.js} +1 -1
- package/assets/esri/core/workers/chunks/2b781de7b467c61849b2.js +1 -0
- package/assets/esri/core/workers/chunks/{0e774f14ba274832f390.js → 2f5970e87e1e77f8362b.js} +1 -1
- package/assets/esri/core/workers/chunks/317bf48a4d513a9a2ff3.js +2 -0
- package/assets/esri/core/workers/chunks/33838536a7436b1d449e.js +1 -0
- package/assets/esri/core/workers/chunks/{03e93c18efc67a25ca63.js → 35c4037b8eea067d9638.js} +1 -1
- package/assets/esri/core/workers/chunks/{640abe600fa069ed7640.js → 395736b49abaaa1c3405.js} +1 -1
- package/assets/esri/core/workers/chunks/39a10b2092a98083f4cf.js +1 -0
- package/assets/esri/core/workers/chunks/3b74749db78bcba2bc16.js +1 -0
- package/assets/esri/core/workers/chunks/3b9174de370b187a0985.js +1 -0
- package/assets/esri/core/workers/chunks/3bd32387af52fa48d747.js +1 -0
- package/assets/esri/core/workers/chunks/3d4ad7c728e02aa90551.js +1 -0
- package/assets/esri/core/workers/chunks/3d4bb539bf939fcdeef9.js +1 -0
- package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +1 -0
- package/assets/esri/core/workers/chunks/{d36b407f5ad5eabac530.js → 4d43619c73721946441b.js} +29 -29
- package/assets/esri/core/workers/chunks/4e59e5a5d0ff887ff899.js +1 -0
- package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +1 -0
- package/assets/esri/core/workers/chunks/511b9c12a7479d39dac0.js +1 -0
- package/assets/esri/core/workers/chunks/51a53011478e0cf96e0b.js +1 -0
- package/assets/esri/core/workers/chunks/5481af25fd46914498df.js +1 -0
- package/assets/esri/core/workers/chunks/599bd80379423c99799d.js +1 -0
- package/assets/esri/core/workers/chunks/609edb4da427ec37bcf7.js +1 -0
- package/assets/esri/core/workers/chunks/60d4a3f770bb1e01cd10.js +1 -0
- package/assets/esri/core/workers/chunks/65cc9a48ac95523f7aa8.js +1 -0
- package/assets/esri/core/workers/chunks/66392ff750c28064040a.js +1 -0
- package/assets/esri/core/workers/chunks/668d84dc512b3085a960.js +1 -0
- package/assets/esri/core/workers/chunks/68b77b36daae2b4b4237.js +1 -0
- package/assets/esri/core/workers/chunks/6a54dddafb6763bf287e.js +1 -0
- package/assets/esri/core/workers/chunks/{f0556a695d080454b8da.js → 6af021050d5d04be7a20.js} +1 -1
- package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +1 -0
- package/assets/esri/core/workers/chunks/70b5e0fce22122a7ccc2.js +1 -0
- package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js → 7361ca78a605eda41a2f.js} +2 -2
- package/assets/esri/core/workers/chunks/73b0edabddbb72fe1104.js +1 -0
- package/assets/esri/core/workers/chunks/{8b0a01ebc86ab226f01f.js → 75b4c27ca02b124a713c.js} +1 -1
- package/assets/esri/core/workers/chunks/7a997ac153181a8f71ef.js +1 -0
- package/assets/esri/core/workers/chunks/7f849c8255140be6097f.js +1 -0
- package/assets/esri/core/workers/chunks/831455798b177678720c.js +1 -0
- package/assets/esri/core/workers/chunks/84a0bb53fcbd99b5aa0c.js +1 -0
- package/assets/esri/core/workers/chunks/{9331969046f2b277d620.js → 8a39dd585742960d3ca2.js} +1 -1
- package/assets/esri/core/workers/chunks/{5cb1b950249d651f3837.js → 8dcb3e77f76d8396706b.js} +1 -1
- package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +1 -0
- package/assets/esri/core/workers/chunks/92341f36a8b15f34bcca.js +1 -0
- package/assets/esri/core/workers/chunks/{bf706a5d065a357de51b.js → 993fee0e91303eb1f01f.js} +1 -1
- package/assets/esri/core/workers/chunks/9da1a514e042eb642d35.js +1 -0
- package/assets/esri/core/workers/chunks/9f93c29af2a18f7cb160.js +1 -0
- package/assets/esri/core/workers/chunks/{f25bb204cf6727f6fdef.js → a0876a52a3c2ad849370.js} +1 -1
- package/assets/esri/core/workers/chunks/a1509e2e7809b6754b4f.js +1 -0
- package/assets/esri/core/workers/chunks/a18cb809dd56c5537b3b.js +1 -0
- package/assets/esri/core/workers/chunks/{52175ff9e8c2c136f90a.js → a3ecde3794a7db3cf283.js} +1 -1
- package/assets/esri/core/workers/chunks/{bfd1aef8ac795e1ce227.js → a892b3be70f482bef0ba.js} +1 -1
- package/assets/esri/core/workers/chunks/a8ef7acb6d3d1f45e14c.js +1 -0
- package/assets/esri/core/workers/chunks/{1436e378d975345686aa.js → aac27340f93ab69f3a9c.js} +1 -1
- package/assets/esri/core/workers/chunks/ac16016964be3b684e98.js +30 -0
- package/assets/esri/core/workers/chunks/ac7ecd90330090c90005.js +1 -0
- package/assets/esri/core/workers/chunks/b076e0ca68ea80bc2559.js +1 -0
- package/assets/esri/core/workers/chunks/b1524f23e6cee5301a14.js +1 -0
- package/assets/esri/core/workers/chunks/{c983e5ce0ff952b65d7f.js → b2b342b06d502fc61ea5.js} +1 -1
- package/assets/esri/core/workers/chunks/{b7e363c14919698f5b65.js → b5017e83a99a8051f212.js} +1 -1
- package/assets/esri/core/workers/chunks/b75a4753cea6544da8bb.js +1 -0
- package/assets/esri/core/workers/chunks/b775a0d8894930af4983.js +1 -0
- package/assets/esri/core/workers/chunks/bb012e02ae197bd1d9de.js +1 -0
- package/assets/esri/core/workers/chunks/bbcad2fde838819ffc7b.js +1 -0
- package/assets/esri/core/workers/chunks/bc893c95c0ab7d4bb91e.js +1 -0
- package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +1 -0
- package/assets/esri/core/workers/chunks/bf67e0f6064fb9d94ac8.js +1 -0
- package/assets/esri/core/workers/chunks/{97a654e8054302582a3b.js → bfa6f4c08e7571bb1f37.js} +1 -1
- package/assets/esri/core/workers/chunks/c2cbc2a920e6e199533a.js +1 -0
- package/assets/esri/core/workers/chunks/c9057b0ad2c2bae4a8ce.js +1 -0
- package/assets/esri/core/workers/chunks/cf9a132c4c37e62de3d7.js +1 -0
- package/assets/esri/core/workers/chunks/d2e94ecf08a56dd43311.js +1 -0
- package/assets/esri/core/workers/chunks/{03354e9256b2f77fd4f2.js → d6145cd7e7c5346f62ec.js} +1 -1
- package/assets/esri/core/workers/chunks/d6911e9453532501f460.js +1 -0
- package/assets/esri/core/workers/chunks/{886ae23a1d8fa21e531f.js → d750e4abeb777caa8c36.js} +1 -1
- package/assets/esri/core/workers/chunks/d7acbc2ddff4cee8a465.js +30 -0
- package/assets/esri/core/workers/chunks/d8242cf6fec7c7bb614c.js +261 -0
- package/assets/esri/core/workers/chunks/{d97c0c18202b8c578f8c.js → e5471373f89fd7cb9844.js} +1 -1
- package/assets/esri/core/workers/chunks/e9acc05b0cf9e05f31a8.js +1 -0
- package/assets/esri/core/workers/chunks/e9cd84ad0054e9fea448.js +1 -0
- package/assets/esri/core/workers/chunks/f321eaf3390ab443b14c.js +1 -0
- package/assets/esri/core/workers/chunks/f64241d613f56fbcd981.js +30 -0
- package/assets/esri/core/workers/chunks/f955b35337a08f9f747d.js +1 -0
- package/assets/esri/core/workers/chunks/{f75295cdd5e84eb97d5a.js → f9d583785b3b09ace222.js} +1 -1
- package/assets/esri/core/workers/chunks/fc4641f3c93f43c8c193.js +2 -0
- package/assets/esri/core/workers/chunks/fc73de97c618ca11eacb.js +1 -0
- package/assets/esri/core/workers/chunks/fe6385115d76e16e8da0.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +62 -90
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +0 -2
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bg.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_bs.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ca.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_cs.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_da.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_de.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_el.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_es.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_et.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fi.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_he.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_hu.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_id.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_it.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ja.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ko.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lt.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_lv.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_nl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_no.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-BR.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_pt-PT.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ro.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ru.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sk.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sl.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_sv.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_th.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_tr.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_uk.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_vi.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-CN.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-HK.json +1 -1
- package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_zh-TW.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ar.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bg.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_bs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ca.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_cs.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_da.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_de.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_el.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_es.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_et.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_fr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_he.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_hu.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_id.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_it.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ja.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ko.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lt.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_lv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_nl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_no.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-BR.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_pt-PT.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ro.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_ru.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sl.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_sv.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_th.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_tr.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_uk.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_vi.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-CN.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-HK.json +1 -1
- package/assets/esri/widgets/BasemapGallery/t9n/BasemapGallery_zh-TW.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ar.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bg.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_bs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ca.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_cs.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_da.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_de.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_el.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_es.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_et.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_fr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_he.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_hu.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_id.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_it.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ja.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ko.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lt.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_lv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_nl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_no.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ro.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_ru.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sl.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_sv.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_th.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_tr.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_uk.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_vi.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureTable/t9n/FeatureTable_zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ar.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bg.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bs.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ca.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_cs.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_da.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_de.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_el.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_es.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_et.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fi.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fr.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_he.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hr.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hu.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_id.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_it.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ja.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ko.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lt.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lv.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nl.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_no.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pl.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-BR.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-PT.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ro.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ru.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sk.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sl.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sr.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sv.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_th.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_tr.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_uk.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_vi.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-CN.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-HK.json +1 -1
- package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-TW.json +1 -1
- package/chunks/ComponentShader.glsl.js +11 -11
- package/chunks/GaussianSplatComposition.glsl.js +1 -1
- package/chunks/GlobalIlluminationBlur.glsl.js +8 -8
- package/chunks/GlowComposition.glsl.js +1 -1
- package/chunks/OITBlend.glsl.js +1 -24
- package/chunks/OITBlendEmission.glsl.js +9 -9
- package/chunks/OITDimOpaque.glsl.js +3 -9
- package/chunks/bundle2.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/core/reactiveUtils.d.ts +410 -109
- package/core/screenUtils.js +1 -1
- package/editing/types.d.ts +2 -2
- package/form/elements/UtilityNetworkAssociationsElement.d.ts +0 -1
- package/geometry/support/aaBoundingRect.js +1 -1
- package/graphic/AnnotationFeatureGraphicOrigin.d.ts +5 -2
- package/graphic/AnnotationFeatureGraphicOrigin.js +1 -1
- package/graphic/DimensionFeatureGraphicOrigin.js +1 -1
- package/graphic/graphicOrigins.js +1 -1
- package/graphic/isAnnotationFeatureGraphicOrigin.d.ts +29 -0
- package/graphic/isAnnotationFeatureGraphicOrigin.js +2 -0
- package/graphic/isDimensionFeatureGraphicOrigin.d.ts +29 -0
- package/graphic/isDimensionFeatureGraphicOrigin.js +2 -0
- package/interfaces.d.ts +3 -3
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +73 -0
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/graphics/applyEditsUtils.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/sources/MemorySource.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/parquet/ParquetFileStatistics.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/graphics/sources/support/parquetIdUtils.js +1 -1
- package/layers/mixins/OperationalLayer.js +1 -1
- package/layers/support/{AnnotationSublayer.d.ts → AnnotationFeatureSublayer.d.ts} +12 -12
- package/layers/support/AnnotationFeatureSublayer.js +2 -0
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/layersMapping.js +1 -1
- package/layers/support/parquetUtils.js +1 -1
- package/package.json +4 -4
- package/popup/Feature.d.ts +57 -6
- package/popup/Features.d.ts +86 -7
- package/popup/content/UtilityNetworkAssociationsContent.d.ts +0 -1
- package/popup/support/UtilityNetworkAssociationType.d.ts +0 -1
- package/rest/print.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
- package/smartMapping/renderers/support/rendererUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/WebStyleSymbol.js +1 -1
- package/symbols/support/symbolUtils.js +1 -1
- package/symbols/support/webStyleSymbolCache.js +2 -0
- package/undoredo/support/ApplySet.js +1 -1
- package/undoredo/support/ApplySetItem.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
- package/views/2d/engine/webgl/TextureManager.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/util/AnnotationMatcher.js +1 -1
- package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
- package/views/2d/layers/support/annodime/annotationGraphic.js +1 -1
- package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
- package/views/2d/layers/support/annodime/utils.js +1 -1
- package/views/2d/support/hitTestUtils.js +1 -1
- package/views/2d/unitBezier.js +1 -1
- package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/SymbolComplexity.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/support/GaussianSplatSortWorker.js +1 -1
- package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
- package/views/3d/support/QualityProfile.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +14 -6
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +6 -8
- package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
- package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendFragmentTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js +2 -0
- package/views/3d/webgl-engine/lib/Compositor.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Material.js +1 -1
- package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +9 -10
- package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ditherNoise.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
- package/views/LinkChartView.d.ts +3 -1
- package/views/View2D.d.ts +5 -4
- package/views/draw/support/editingSessionUtils.js +1 -1
- package/webdoc/support/writeUtils.js +1 -1
- package/webscene/support/AlphaCutoff.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/attachmentUtils.d.ts +9 -0
- package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -2
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
- package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/attachmentValidationCriteriaState.d.ts +1 -1
- package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
- package/widgets/BatchAttributeForm/types.d.ts +91 -5
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
- package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/FeatureViewModel.d.ts +0 -1
- package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +0 -1
- package/widgets/Features/FeaturesViewModel.d.ts +0 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Print/PrintViewModel.d.ts +11 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +10 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +0 -1
- package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +0 -1
- package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +0 -1
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +0 -1
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +0 -1
- package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +0 -1
- package/assets/components/assets/icon/orientedImagerySceneOnly16.json +0 -1
- package/assets/components/assets/icon/orientedImagerySceneOnly24.json +0 -1
- package/assets/components/assets/icon/orientedImagerySceneOnly32.json +0 -1
- package/assets/components/assets/icon/parquetFeatureLayer16.json +0 -1
- package/assets/components/assets/icon/parquetFeatureLayer24.json +0 -1
- package/assets/components/assets/icon/parquetFeatureLayer32.json +0 -1
- package/assets/esri/core/workers/chunks/02a94efda13d9b683272.js +0 -1
- package/assets/esri/core/workers/chunks/0803f022b5191171bc9c.js +0 -1
- package/assets/esri/core/workers/chunks/0acf8df4e9556d05136c.js +0 -1
- package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +0 -1
- package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +0 -1
- package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +0 -1
- package/assets/esri/core/workers/chunks/1a95370ddc22729ab3c6.js +0 -1
- package/assets/esri/core/workers/chunks/23d50c4478f40a7d62bf.js +0 -1
- package/assets/esri/core/workers/chunks/2623cd08487fdc9a94f1.js +0 -1
- package/assets/esri/core/workers/chunks/2b00229c238aae70b948.js +0 -1
- package/assets/esri/core/workers/chunks/2b814bb51704a5b4fdc2.js +0 -30
- package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +0 -1
- package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +0 -1
- package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +0 -30
- package/assets/esri/core/workers/chunks/3bdef4b9f86711ae48b3.js +0 -2
- package/assets/esri/core/workers/chunks/426b8e1e2eef2460851d.js +0 -1
- package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +0 -1
- package/assets/esri/core/workers/chunks/4d09ef7c57ab7f9782fe.js +0 -1
- package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +0 -1
- package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +0 -1
- package/assets/esri/core/workers/chunks/59a60fa09b19a0b2f473.js +0 -1
- package/assets/esri/core/workers/chunks/59dafa1e1340ea4043e6.js +0 -1
- package/assets/esri/core/workers/chunks/6284eafe2c3b45a0e72a.js +0 -1
- package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +0 -1
- package/assets/esri/core/workers/chunks/6cab67fc7044ee9b863b.js +0 -1
- package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +0 -1
- package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
- package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +0 -1
- package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +0 -1
- package/assets/esri/core/workers/chunks/6f7193b9ff5942c0d354.js +0 -1
- package/assets/esri/core/workers/chunks/70737052bab29fcaa120.js +0 -1
- package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +0 -1
- package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +0 -1
- package/assets/esri/core/workers/chunks/8486ef6c7076baf0348b.js +0 -1
- package/assets/esri/core/workers/chunks/851705cf276eae8d4d37.js +0 -1
- package/assets/esri/core/workers/chunks/882ee7ed8a3a0215f9b9.js +0 -1
- package/assets/esri/core/workers/chunks/8c443c52c846a096a250.js +0 -1
- package/assets/esri/core/workers/chunks/972ba277a27704d28357.js +0 -1
- package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +0 -1
- package/assets/esri/core/workers/chunks/9d27cc631bab8aa7479e.js +0 -1
- package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +0 -1
- package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +0 -1
- package/assets/esri/core/workers/chunks/a2d7e8147dee6642029a.js +0 -2
- package/assets/esri/core/workers/chunks/a643a4751bbf4430bde2.js +0 -262
- package/assets/esri/core/workers/chunks/a9003fe5975cd554ba24.js +0 -1
- package/assets/esri/core/workers/chunks/aa02458ceb839b555ee1.js +0 -1
- package/assets/esri/core/workers/chunks/ab62724b80b3c478a597.js +0 -1
- package/assets/esri/core/workers/chunks/b44cf254585210578eab.js +0 -1
- package/assets/esri/core/workers/chunks/b9935cc8e2bd4045058a.js +0 -1
- package/assets/esri/core/workers/chunks/c216cd5d6b5d4fe4bab3.js +0 -2
- package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +0 -1
- package/assets/esri/core/workers/chunks/c32430e99e8cd6e5f688.js +0 -1
- package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +0 -1
- package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +0 -1
- package/assets/esri/core/workers/chunks/ca8c08659d82019d775d.js +0 -1
- package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +0 -1
- package/assets/esri/core/workers/chunks/d1ccc5f2d8892328ab01.js +0 -2
- package/assets/esri/core/workers/chunks/d41caf20c26f80385265.js +0 -1
- package/assets/esri/core/workers/chunks/d52864823067e57a719a.js +0 -1
- package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +0 -1
- package/assets/esri/core/workers/chunks/d9d0a07245ee5117d2a0.js +0 -1
- package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +0 -1
- package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +0 -1
- package/assets/esri/core/workers/chunks/e1505ec80b068011bdc5.js +0 -1
- package/assets/esri/core/workers/chunks/e16710ef178d64606a55.js +0 -1
- package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +0 -1
- package/assets/esri/core/workers/chunks/e5ef06c205d34df1e4bc.js +0 -1
- package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +0 -1
- package/assets/esri/core/workers/chunks/eabeaab5c4810f999a4d.js +0 -1
- package/assets/esri/core/workers/chunks/ec723f8777b935c5e81a.js +0 -1
- package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +0 -1
- package/assets/esri/core/workers/chunks/f622ae3887c85535e8ab.js +0 -30
- package/assets/esri/core/workers/chunks/fa3faec65882c5b6f1a0.js +0 -1
- package/layers/support/AnnotationSublayer.js +0 -2
- package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +0 -2
- package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechniqueConfiguration.js +0 -2
- /package/assets/esri/core/workers/chunks/{3bdef4b9f86711ae48b3.js.LICENSE.txt → 0418b5c9d06f3585c035.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c216cd5d6b5d4fe4bab3.js.LICENSE.txt → 0e94786db78770868c63.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{d1ccc5f2d8892328ab01.js.LICENSE.txt → 317bf48a4d513a9a2ff3.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{8244b74e9c3a30d8d2f6.js.LICENSE.txt → 7361ca78a605eda41a2f.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a2d7e8147dee6642029a.js.LICENSE.txt → fc4641f3c93f43c8c193.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{exactEquals as e,set as t,copy as r,normalize as s,subtract as i,length as a,scale as o,dot as n,transformMat3 as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as u,create as
|
|
2
|
+
import{exactEquals as e,set as t,copy as r,normalize as s,subtract as i,length as a,scale as o,dot as n,transformMat3 as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{ZEROS as u,create as c,fromValues as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{is3DGeometryOrShadowLike as m,isColor as p}from"../core/shaderLibrary/ShaderOutput.js";import{GLTextureMaterial as d}from"../lib/GLTextureMaterial.js";import{Material as f}from"../lib/Material.js";import{intersectTriangleGeometry as x}from"../lib/RayIntersections.js";import{getVerticalOffsetObject3D as T}from"../lib/verticalOffsetUtils.js";import{DefaultBufferWriter as g}from"./DefaultBufferWriter.js";import{intersectWithPolygonOffset as v}from"./PolygonOffset.js";import{verticalOffsetAtDistance as S}from"./internal/MaterialUtil.js";import{getLayout as b,DefaultMaterialPassParameters as M,DefaultMaterialTechnique as O}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as w}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{RealisticTreeTechnique as C}from"../shaders/RealisticTreeTechnique.js";import{hasShadowHighlights as y}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as R}from"../../../../webscene/support/AlphaCutoff.js";class P extends f{constructor(e,t){super(e,I),this.materialType="default",this.supportsEdges=!0,this.intersectDraped=void 0,this.produces=new Map([[2,e=>m(e)&&!this.transparent],[4,e=>m(e)&&this.transparent&&this.parameters.writeDepth],[8,e=>m(e)&&this.transparent&&!this.parameters.writeDepth]]),this._layout=b(this.parameters),this._configuration=new w(t.spherical)}isVisibleForOutput(e){return 5!==e&&7!==e&&6!==e||this.parameters.castShadows}get visible(){const{layerOpacity:e,colorMixMode:t,opacity:r,externalColor:s}=this.parameters;return e*("replace"===t?1:r)*("ignore"===t||isNaN(s[3])?1:s[3])>=R}get _hasEmissiveBase(){return!!this.parameters.emissiveTextureId||!e(this.parameters.emissiveBaseColor,u)}get emissions(){return this.parameters.emissiveStrength>0&&(0===this.parameters.emissiveSource&&this._hasEmissiveBase||1===this.parameters.emissiveSource)?this.transparent?2:1:0}updateConfiguration(e){super.updateConfiguration(e);const{parameters:t,_configuration:r}=this;r.hasNormalTexture=t.hasNormalTexture,r.hasColorTexture=t.hasColorTexture,r.hasMetallicRoughnessTexture=t.hasMetallicRoughnessTexture,r.hasOcclusionTexture=t.hasOcclusionTexture;const{treeRendering:s,doubleSided:i,doubleSidedType:a}=t;r.hasVertexTangents=!s&&t.hasVertexTangents,r.instanced=t.instanced,r.instancedDoublePrecision=t.instancedDoublePrecision,r.hasVVColor=!!t.vvColor,r.hasVVSize=!!t.vvSize,r.hasVerticalOffset=null!=t.verticalOffset,r.hasScreenSizePerspective=null!=t.screenSizePerspective,r.hasSlicePlane=t.hasSlicePlane,r.alphaDiscardMode=t.textureAlphaMode,r.normalType=s?0:t.normalType,r.transparent=this.transparent,r.enableOITOffset=e.enableOITOffset,r.writeDepth=t.writeDepth,r.customDepthTest=t.customDepthTest??0,r.hasOccludees=e.hasOccludees,r.cullFace=t.hasSlicePlane?0:t.cullFace,r.hasModelTransformation=!s&&null!=t.modelTransformation,r.hasVertexColors=t.hasVertexColors,r.hasSymbolColors=t.hasSymbolColors,r.doubleSidedMode=s?2:i&&"normal"===a?1:i&&"winding-order"===a?2:0,r.instancedFeatureAttribute=t.instancedFeatureAttribute,r.instancedColor=t.instancedColor,p(e.output)?(r.receiveShadows=t.receiveShadows,r.hasShadowHighlights=y(r,e),r.receiveAmbientOcclusion=t.receiveAmbientOcclusion&&null!=e.ssao,r.receiveGlobalIllumination=t.receiveAmbientOcclusion&&e.globalIlluminationEnabled):r.receiveShadows=r.hasShadowHighlights=r.receiveAmbientOcclusion=!1,r.textureAlphaPremultiplied=!!t.textureAlphaPremultiplied,r.pbrMode=t.usePBR?t.isSchematic?2:1:0,r.emissionSource=t.emissionSource,r.offsetBackfaces=!(!this.transparent||!t.offsetTransparentBackfaces),r.snowCover=e.snowCover>0,r.hasColorTextureTransform=!!t.colorTextureTransformMatrix,r.hasNormalTextureTransform=!!t.normalTextureTransformMatrix,r.hasEmissionTextureTransform=!!t.emissiveTextureTransformMatrix,r.hasOcclusionTextureTransform=!!t.occlusionTextureTransformMatrix,r.hasMetallicRoughnessTextureTransform=!!t.metallicRoughnessTextureTransformMatrix}intersect(e,u,c,h,m,p){if(null!=this.parameters.verticalOffset){const e=c.camera;t(z,u[12],u[13],u[14]);let p=null;switch(c.viewingMode){case 1:p=s(B,z);break;case 2:p=r(B,_)}const d=i(F,z,e.eye),f=a(d),x=o(d,d,1/f);let T=null;this.parameters.screenSizePerspective&&(T=n(p,x));const g=S(e,f,this.parameters.verticalOffset,T??0,this.parameters.screenSizePerspective,null);o(p,p,g),l(N,p,c.transform.inverseRotation),h=i(A,h,N),m=i(V,m,N)}p=v(p,this._configuration,h,m),x(e,c,h,m,T(c.verticalOffset),p)}createGLMaterial(e){return new j(e)}createBufferWriter(){return new g(this._layout)}get transparent(){return D(this.parameters)}}class j extends d{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){this._material.setParameters({receiveShadows:e.shadowMap.enabled});const r=this._material.parameters;this.updateTexture(r.textureId);const s=e.camera.viewInverseTransposeMatrix;return t(r.origin,s[3],s[7],s[11]),this._material.setParameters(this.textureBindParameters),this.getTechnique(r.treeRendering?C:O,e)}}class I extends M{constructor(){super(...arguments),this.treeRendering=!1,this.useIndexing=!1,this.hasVertexTangents=!1}get hasNormalTexture(){return!this.treeRendering&&!!this.normalTextureId}get hasColorTexture(){return!!this.textureId}get hasMetallicRoughnessTexture(){return!this.treeRendering&&!!this.metallicRoughnessTextureId}get hasOcclusionTexture(){return!this.treeRendering&&!!this.occlusionTextureId}get emissiveStrength(){return this.emissiveStrengthFromSymbol*this.emissiveStrengthKHR}get emissionSource(){return null!=this.emissiveTextureId&&0===this.emissiveSource?3:0===this.emissiveSource?2:1}get hasTextures(){return this.hasColorTexture||this.hasNormalTexture||this.hasMetallicRoughnessTexture||3===this.emissionSource||this.hasOcclusionTexture}}function D(e){const{drivenOpacity:t,opacity:r,externalColor:s,layerOpacity:i,texture:a,textureId:o,textureAlphaMode:n,colorMixMode:l}=e,u=s[3];return t||r<1&&"replace"!==l||u<1&&"ignore"!==l||i<1||(null!=a||null!=o)&&1!==n&&2!==n&&"replace"!==l}const A=c(),V=c(),_=h(0,0,1),B=c(),N=c(),z=c(),F=c();export{j as DefaultGLMaterial,P as DefaultMaterial,I as DefaultMaterialParameters,D as isTransparent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{clamp as t}from"../../../../core/mathUtils.js";import{clone as e}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{fromValues as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as r}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewUint32 as s,BufferViewVec3f as a,BufferViewVec2Snorm16 as o,BufferViewSnorm16 as n,BufferViewFloat16 as h,BufferViewFloat as p}from"../../../../geometry/support/buffer/BufferView.js";import{isShadowLike as u,is3DGeometry as c,isColor as f}from"../core/shaderLibrary/ShaderOutput.js";import l from"../lib/GLMaterial.js";import{isPathGeometry as m}from"../lib/PathGeometry.js";import{MeshIntersectionOptions as g,intersectAabbInvDir as b}from"../lib/RayIntersections.js";import{assert as d}from"../lib/Util.js";import{getLayout as _,getTextureLayout as x}from"./PathLayouts.js";import{PathPassParameters as S,PathTechnique as y}from"./PathTechnique.js";import{PathTechniqueConfiguration as V}from"./PathTechniqueConfiguration.js";import{TriangleMaterial as F}from"./TriangleMaterial.js";import{writeAttributes as w,writeTextureElementIndex as z,writeBufferUint32 as v,writePosition as j,writeBufferVec2 as M,writeBufferInt16 as C,writeBufferFloat16 as A,writeBufferFloat as R}from"./internal/bufferWriterUtils.js";import{hasShadowHighlights as P}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as B}from"../../../../webscene/support/AlphaCutoff.js";class O extends F{constructor(t,e){super(t,I),this.supportsEdges=!0,this._pp0=i(0,0,1),this._pp1=i(0,0,0),this.produces=new Map([[2,t=>(this.parameters.castShadows&&u(t)||c(t))&&!this.transparent],[4,t=>(this.parameters.castShadows&&u(t)||c(t))&&this.transparent]]),this._configuration=new V(e.spherical)}get
|
|
2
|
+
import{clamp as t}from"../../../../core/mathUtils.js";import{clone as e}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{fromValues as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as r}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewUint32 as s,BufferViewVec3f as a,BufferViewVec2Snorm16 as o,BufferViewSnorm16 as n,BufferViewFloat16 as h,BufferViewFloat as p}from"../../../../geometry/support/buffer/BufferView.js";import{isShadowLike as u,is3DGeometry as c,isColor as f}from"../core/shaderLibrary/ShaderOutput.js";import l from"../lib/GLMaterial.js";import{isPathGeometry as m}from"../lib/PathGeometry.js";import{MeshIntersectionOptions as g,intersectAabbInvDir as b}from"../lib/RayIntersections.js";import{assert as d}from"../lib/Util.js";import{getLayout as _,getTextureLayout as x}from"./PathLayouts.js";import{PathPassParameters as S,PathTechnique as y}from"./PathTechnique.js";import{PathTechniqueConfiguration as V}from"./PathTechniqueConfiguration.js";import{TriangleMaterial as F}from"./TriangleMaterial.js";import{writeAttributes as w,writeTextureElementIndex as z,writeBufferUint32 as v,writePosition as j,writeBufferVec2 as M,writeBufferInt16 as C,writeBufferFloat16 as A,writeBufferFloat as R}from"./internal/bufferWriterUtils.js";import{hasShadowHighlights as P}from"../shaders/ReceiveShadowsConfiguration.js";import{alphaCutoff as B}from"../../../../webscene/support/AlphaCutoff.js";class O extends F{constructor(t,e){super(t,I),this.supportsEdges=!0,this._pp0=i(0,0,1),this._pp1=i(0,0,0),this.produces=new Map([[2,t=>(this.parameters.castShadows&&u(t)||c(t))&&!this.transparent],[4,t=>(this.parameters.castShadows&&u(t)||c(t))&&this.transparent]]),this._configuration=new V(e.spherical)}get emissions(){return this.parameters.emissiveStrength>0?this.transparent?2:1:0}updateConfiguration(t){super.updateConfiguration(t),this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.transparent,this._configuration.hasOccludees=t.hasOccludees,this._configuration.cullFace=this.parameters.hasSlicePlane?0:this.parameters.cullFace,this._configuration.offsetBackfaces=this.transparent,f(t.output)?(this._configuration.receiveShadows=t.shadowMap.enabled,this._configuration.hasShadowHighlights=P(this._configuration,t),this._configuration.receiveAmbientOcclusion=null!=t.ssao):this._configuration.receiveShadows=this._configuration.hasShadowHighlights=this._configuration.receiveAmbientOcclusion=!1,this._configuration.pbrMode=this.parameters.usePBR?2:0,this._configuration.emissionSource=this.parameters.usePBR?1:0,this._configuration.snowCover=t.snowCover>0,this._configuration.upVectorAlignment=this.parameters.upVectorAlignment,this._configuration.pathCapType=this.parameters.pathCapType,this._configuration.pathProfileType=this.parameters.profile.type}isVisibleForOutput(t){return 5!==t&&7!==t&&6!==t||this.parameters.castShadows}get visible(){return this.parameters.opacity>=B}intersect(t,e,i,r,s,a){this._intersect(t,i,r,s,a)}intersectDraped(t,e,i,r){return this._pp0[0]=this._pp1[0]=i[0],this._pp0[1]=this._pp1[1]=i[1],this._intersect(t,e,this._pp0,this._pp1,r)}_intersect(i,s,a,o,n){const h=i;if(!m(h))return;const p=h.path,u=e(this.parameters.size);if(this.parameters.vvSize){const{offset:e,factor:i,minSize:r,maxSize:s,fallback:a}=this.parameters.vvSize,o=p.sizeAttributeValue;Number.isNaN(o)?(u[0]*=a[0],u[1]*=a[2]):(u[0]*=t(e[0]+o*i[0],r[0],s[0]),u[1]*=t(e[2]+o*i[2],r[2],s[2]))}const c=new g(s.tolerance,!1,s.options.normalRequired),f=Math.max(u[0],u[1]),l=i.boundingInfo;if(null==l)return void k(p,u,a,o,c,n);const d=r(l.bbMin[0]-f,l.bbMin[1]-f,l.bbMin[2]-f,l.bbMax[0]+f,l.bbMax[1]+f,l.bbMax[2]+f),_=[o[0]-a[0],o[1]-a[1],o[2]-a[2]],x=Math.sqrt(_[0]*_[0]+_[1]*_[1]+_[2]*_[2]),S=[x/_[0],x/_[1],x/_[2]];b(d,a,S,s.tolerance)&&k(p,u,a,o,c,n)}createBufferWriter(){return new U(_(),x(this.parameters))}createGLMaterial(t){return new T(t)}get transparent(){const{parameters:t}=this;return t.drivenOpacity||t.opacity<1}}class T extends l{beginSlot(t){return this.getTechnique(y,t)}}function k(t,e,i,r,s,a){t.baked.size&&t.baked.size[0]===e[0]&&t.baked.size[1]===e[1]||t.baked.bake(e),t.baked.intersect(i,r,s,a)}class I extends S{constructor(){super(...arguments),this.polygonOffset=0,this.castShadows=!0,this.hasSlicePlane=!1,this.drivenOpacity=!1,this.usePBR=!1,this.upVectorAlignment=0,this.pathCapType=1,this.cullFace=2}}class U{constructor(t,e){this.layout=t,this.textureBufferLayout=e}elementCount(t){return t.get("pathVertexInfo")?.indices.length??0}elementCountTextureBuffer(t){return t.get("position")?.indices.length??0}write(t,e,i,r,u,c){d(null!=c,"Texture buffer is required for path material"),w(i,r,this.layout,t,e,u);const f=u.buffer.getField("textureElementIndex",s),l=i.get("textureElementIndex"),m=c.offset,g=c.textureBufferRange.from;f&&l&&z(l,f,u.offset,g);const b=u.buffer.getField("pathVertexInfo",s),_=i.get("pathVertexInfo");b&&_&&(d(1===_.size),v(_,b,u.offset));const x=c.buffer.getField("position",a),S=i.get("position");x&&S&&(d(3===S.size),j(S,t,x,m));const y=c.buffer.getField("profileRight",o),V=i.get("profileRight");y&&V&&(d(2===V.size),M(V,y,m));const F=c.buffer.getField("profileUp",o),P=i.get("profileUp");F&&P&&(d(2===P.size),M(P,F,m));const B=c.buffer.getField("profileRotation",n),O=i.get("profileRotation");B&&O&&(d(1===O.size),C(O,B,m));const T=c.buffer.getField("pathRotationUp",o),k=i.get("pathRotationUp");T&&k&&(d(2===k.size),M(k,T,m));const I=c.buffer.getField("pathMaxStretchDistance",h),U=i.get("pathMaxStretchDistance");I&&U&&(d(1===U.size),A(U,I,m));const q=c.buffer.getField("sizeFeatureAttribute",p),L=i.get("sizeFeatureAttribute");q&&L&&R(L,q,m);const D=c.buffer.getField("opacityFeatureAttribute",p),E=i.get("opacityFeatureAttribute");D&&E&&R(E,D,m);const G=c.buffer.getField("colorFeatureAttribute",p),N=i.get("colorFeatureAttribute");G&&N&&R(N,G,m)}}export{I as Parameters,U as PathBufferWriter,O as PathMaterial};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{freeze as t,create as i,ZEROS as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as o}from"../../support/buffer/glUtil.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{freeze as t,create as i,ZEROS as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as o}from"../../support/buffer/glUtil.js";import{isOITColorAlpha as l}from"../core/shaderLibrary/ShaderOutput.js";import{PathVertexPositionPassParameters as n}from"../core/shaderLibrary/attributes/PathVertexPosition.glsl.js";import{ReloadableShader as a}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as m}from"../core/shaderTechnique/ShaderTechnique.js";import{depthTest as p,blending as c}from"../lib/OrderIndependentTransparency.js";import{stencilToolMaskBase as h,stencilBaseAllZeros as u,stencilWriteMaskOn as f}from"../lib/StencilUtils.js";import{P as d}from"../../../../chunks/Path.glsl.js";import{getLayout as g}from"./PathLayouts.js";import{advancedMRRFactors as b}from"./pbrUtils.js";import{polygonOffset as j}from"./PolygonOffset.js";import{isCullingRequired as P}from"../shaders/DefaultMaterialTechnique.js";import{makePipelineState as S,defaultColorWrite as y,defaultDepthWrite as T,cullingParams as v}from"../../../webgl/renderState.js";class q extends n{constructor(){super(...arguments),this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.opacity=1,this.origin=i(),this.modelTransformation=null,this.mrrFactors=b,this.emissiveStrengthFromSymbol=0,this.emissiveSource=1,this.emissiveBaseColor=s}get emissiveStrength(){return this.emissiveStrengthFromSymbol}}let x=class extends m{constructor(e,r){super(e,r,o(g())),this.shader=new a(d,()=>import("./Path.glsl.js"))}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}_makePipeline(e,r){const{output:t,transparent:i,cullFace:s,hasOccludees:o}=e,n=!l(t);return S({blending:i?c(t):null,culling:P(e)?v(s):null,depthTest:p(t),depthWrite:n?T:null,colorWrite:y,stencilWrite:o?f:null,stencilTest:o?r?h:u:null,polygonOffset:j(e)})}getPipeline(e,r,t){return t?this._occludeePipelineState:super.getPipeline(e,r,t)}};x=e([r("esri.views.3d.webgl-engine.materials.PathTechnique")],x);export{q as PathPassParameters,x as PathTechnique};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{IDENTITY as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewVec4f as r,BufferViewUint32 as s,BufferViewMat3f as i,BufferViewVec4u8 as o,BufferViewFloat as
|
|
2
|
+
import{IDENTITY as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{BufferViewVec4f as r,BufferViewUint32 as s,BufferViewMat3f as i,BufferViewVec4u8 as o,BufferViewFloat as n}from"../../../../geometry/support/buffer/BufferView.js";import{isHighlightOrOLID as a,isColor as u,isDepth as f,isColorHighlightOrOLID as l}from"../core/shaderLibrary/ShaderOutput.js";import c from"../lib/GLMaterial.js";import{assert as h}from"../lib/Util.js";import{DefaultBufferWriter as p}from"./DefaultBufferWriter.js";import{TriangleMaterial as m}from"./TriangleMaterial.js";import{VisualVariablePassParameters as d}from"./VisualVariablePassParameters.js";import{writeAttributes as g,writeBufferVec4 as x,writeTextureElementIndex as b,writeConstTextureElementIndex as y,writeColor as j,writeVVFeatureAttribute as B}from"./internal/bufferWriterUtils.js";import{getLayout as w,getTextureLayout as C}from"../shaders/PatternLayouts.js";import{PatternTechnique as v}from"../shaders/PatternTechnique.js";import{PatternTechniqueConfiguration as F}from"../shaders/PatternTechniqueConfiguration.js";import{alphaCutoff as S}from"../../../../webscene/support/AlphaCutoff.js";class _ extends m{constructor(e){super(e,T),this._configuration=new F,this.supportsEdges=!0,this.transparent=!0,this.produces=new Map([[2,e=>a(e)],[4,e=>u(e)],[5,e=>f(e)],[18,e=>this.parameters.draped&&l(e)]])}updateConfiguration(e){super.updateConfiguration(e),this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasVertexColors=this.parameters.hasVertexColors&&!this.parameters.vvColor,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.style=this.parameters.style,this._configuration.draped=this.parameters.draped,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.emissionSource=this.emissions?1:0}get visible(){return this.parameters.color[3]>=S}get emissions(){return this.parameters.emissiveStrength>0?2:0}createGLMaterial(e){return new P(e)}createBufferWriter(){return new V(w(this.parameters),C(this.parameters))}}class P extends c{beginSlot(e){return this.getTechnique(v,e)}}class V extends p{constructor(e,t){super(e),this.textureBufferLayout=t}elementCountTextureBuffer(e){return e.get("boundingRect")?.indices.length??0}write(e,t,i,o,n,a){const{buffer:u,offset:f}=n,l=a?.textureBufferRange;g(i,o,this.layout,e,t,n);for(const s of this.layout.fields.keys()){const e=i.get(s),t=e?.indices;if(e&&t)switch(s){case"uvMapSpace":{h(4===e.size);const t=u.getField(s,r);t&&x(e,t,f);break}}}const{textureBufferLayout:c}=this;if(null==c)return;h(null!=l,"Using a texture layout, but the texture range for this instance was not provided");const p=l.from,m=u.getField("textureElementIndex",s);h(null!=m,"Missing component index field");const d=i.get("position")?.indices.length??0,j=i.get("textureElementIndex");null!=j?b(j,m,f,p):y(m,f,p,d),this._writeTextureBuffer(e,i,a)}_writeTextureBuffer(t,r,s){const{textureBufferLayout:a}=this;if(null==a||null==s)return;const{buffer:u,offset:f}=s,l=u.getField("boundingRect",i),c=r.get("boundingRect");l&&c&&(h(9===c.size),L(c,t??e,l,f));const p=u.getField("color",o),m=r.get("color");p&&m&&(h(3===m.size||4===m.size),j(m,m.size,p,f));const d=u.getField("colorFeatureAttribute",n),g=r.get("colorFeatureAttribute");d&&g&&(h(1===g.size),B(g,d,f))}}function L(e,t,r,s){const{data:i,indices:o}=e,n=t,a=r.typedBuffer,u=r.typedBufferStride,f=o.length;s*=u;for(let l=0;l<f;++l){const e=9*o[l],t=i[e],r=i[e+1],f=i[e+2];a[s]=n[0]*t+n[4]*r+n[8]*f+n[12],a[s+1]=n[1]*t+n[5]*r+n[9]*f+n[13],a[s+2]=n[2]*t+n[6]*r+n[10]*f+n[14];for(let o=3;o<9;++o)a[s+o]=i[e+o];s+=u}}class T extends d{constructor(){super(...arguments),this.color=t(1,1,1,1),this.emissiveStrength=0,this.hasVertexColors=!1,this.polygonOffset=0,this.hasSlicePlane=!1,this.cullFace=0,this.hasOccludees=!1,this.style=2,this.draped=!0,this.useIndexing=!0}}export{T as Parameters,_ as PatternMaterial};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{normalize as t,sub as r,dot as n}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{
|
|
2
|
+
import{normalize as t,sub as r,dot as n}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{isOITColorAlpha as f}from"../core/shaderLibrary/ShaderOutput.js";const s=2,c=1,e=O(-1),u=O(1),i=e,a=new Array;a[0]=null,a[1]=u,a[2]=e,a[3]=O(-2),a[4]=O(-3);const l=a.map(t=>p(i,t));function m({output:t,enableOITOffset:r,polygonOffset:n}){return f(t)&&r?l[n]:a[n]}function p(t,r){return r?{factor:t.factor+r.factor,units:t.units+r.units}:t}function O(t){return{factor:c*t,units:s*t}}function b(o,f,s,c){const e=m(f);if(!e)return o;const u=x*e.units,i=t(y,r(y,c,s));return(t,r,f)=>{const s=(r?1-Math.abs(n(i,r)):0)*e.factor*g+u;return o(t+s,r,f)}}a[1]=u;const g=5e-5,x=5e-6,y=o();function d(t){const r=m(t)??{factor:0,units:0};return{factor:r.factor+e.factor*t.polygonOffsetIndex,units:r.units+e.units*t.polygonOffsetIndex}}export{d as getRibbonLineLayerPolygonOffset,b as intersectWithPolygonOffset,m as polygonOffset};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{secondsFromMilliseconds as r,Seconds as s}from"../../../../core/time.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{set as n,subtract as o,dot as l,scale as p,add as h,copy as c,length as m,distance as u,lerp as f,transformMat4 as d,normalize as g}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as b}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as S}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as _,create as v}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{makeFloat16Array as P}from"../../../../geometry/support/float16.js";import{fromPoints as w,distance2 as y,closestLineSegmentPoint as j,projectPointFraction as z,create as E}from"../../../../geometry/support/lineSegment.js";import{fromPoints as A,signedDistance as x,getNormal as T,create as C}from"../../../../geometry/support/plane.js";import{isHighlightOrOLID as O,isColor as M,isDepth as L,isColorHighlightOLIDOrDepth as R,is2DGeometryOutput as V}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as F}from"../effects/geometry/olidUtils.js";import N from"../lib/GLMaterial.js";import{Material as U}from"../lib/Material.js";import{ScreenSizePerspectiveEvaluator as k}from"../lib/screenSizePerspectiveUtils.js";import{isTranslationMatrix as W}from"../lib/Util.js";import{isImagePattern as B}from"./lineStippleUtils.js";import{VisualVariablePassParameters as I}from"./VisualVariablePassParameters.js";import{writeDeltaF16Vector as D}from"./internal/bufferWriterUtils.js";import{r as J}from"../../../../chunks/RibbonLine.glsl.js";import{getLayout as Y}from"../shaders/RibbonLineLayouts.js";import{RibbonLineTechnique as q}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as X}from"../shaders/RibbonLineTechniqueConfiguration.js";import{alphaCutoff as G}from"../../../../webscene/support/AlphaCutoff.js";class H extends U{constructor(e,t){super(e,Q),this.produces=new Map([[2,e=>O(e)||M(e)&&8===this.parameters.renderOccluded],[3,e=>L(e)],[10,e=>R(e)&&8===this.parameters.renderOccluded],[11,e=>R(e)&&8===this.parameters.renderOccluded],[4,e=>M(e)&&this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[8,e=>M(e)&&!this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[18,e=>V(e)]]),this._configuration=new X(t)}updateConfiguration(e){super.updateConfiguration(e);const t=18===e.slot,i=null!=this.parameters.stipplePattern&&null!=this.parameters.stippleTexture&&10!==e.output,r=i&&t&&this.parameters.isImagePattern();this._configuration.draped=t,this._configuration.polygonOffset=this.parameters.polygonOffset,this._configuration.stippleEnabled=i,this._configuration.stippleOffColorEnabled=i&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=i&&this.parameters.stipplePreferContinuous,this._configuration.numJoinSubdivisions=ie(this.parameters.join,i),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&te(this.parameters.markerParameters),this._configuration.polygonOffsetIndex=this.parameters.polygonOffsetIndex,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=e.hasOccludees,this._configuration.occluder=8===this.parameters.renderOccluded,this._configuration.wireframe=this.parameters.wireframe,this._configuration.animation=this.parameters.animation,this._configuration.emissionSource=this.hasEmissions?1:0,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective&&!r,this._configuration.worldSizedImagePattern=r}get visible(){return this.parameters.color[3]>=G||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>G}get hasEmissions(){return this.parameters.emissiveStrength>0?8!==this.parameters.renderOccluded?2:1:0}setParameters(e,t){e.animation=this.parameters.animation,super.setParameters(e,t)}intersectDraped({attributes:e,screenToWorldRatio:i},r,s,a,n){if(!r.options.selectionMode)return;const o=e.get("size");let l=this.parameters.width;if(this.parameters.vvSize){const i=e.get("sizeFeatureAttribute").data[0];Number.isNaN(i)?l*=this.parameters.vvSize.fallback[0]:l*=t(this.parameters.vvSize.offset[0]+i*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else o&&(l*=o.data[0]);const p=s[0],h=s[1],c=(l/2+4)*i;let m=Number.MAX_VALUE,u=0;const f=e.get("position").data,d=ee(this.parameters,e)?f.length-2:f.length-5;for(let g=0;g<d;g+=3){const e=f[g],i=f[g+1],r=(g+3)%f.length,s=p-e,a=h-i,n=f[r]-e,o=f[r+1]-i,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,d=o*l-a,b=c*c+d*d;b<m&&(m=b,u=g/3)}m<c*c&&a(n.distance,n.normal,u)}intersect(i,r,s,f,d,g){const{options:b,camera:S,rayBegin:_,rayEnd:v}=s;if(!b.selectionMode||!i.visible||!S)return;if(!W(r))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const P=i.attributes,z=P.get("position").data;let E=this.parameters.width;if(this.parameters.vvSize){const e=P.get("sizeFeatureAttribute").data[0];Number.isNaN(e)||(E*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0]))}else P.has("size")&&(E*=P.get("size").data[0]);const C=ce;a(C,s.point);const O=E*S.pixelRatio,M=4*S.pixelRatio,L=O/2+M;n(we[0],C[0]-L,C[1]+L,0),n(we[1],C[0]+L,C[1]+L,0),n(we[2],C[0]+L,C[1]-L,0),n(we[3],C[0]-L,C[1]-L,0);for(let e=0;e<4;e++)if(!S.unprojectFromRenderScreen(we[e],ye[e]))return;A(S.eye,ye[0],ye[1],je),A(S.eye,ye[1],ye[2],ze),A(S.eye,ye[2],ye[3],Ee),A(S.eye,ye[3],ye[0],Ae);let R=Number.MAX_VALUE,V=0;const F=ee(this.parameters,P)?z.length-2:z.length-5;for(let e=0;e<F;e+=3){se[0]=z[e]+r[12],se[1]=z[e+1]+r[13],se[2]=z[e+2]+r[14];const t=(e+3)%z.length;if(ae[0]=z[t]+r[12],ae[1]=z[t+1]+r[13],ae[2]=z[t+2]+r[14],x(je,se)<0&&x(je,ae)<0||x(ze,se)<0&&x(ze,ae)<0||x(Ee,se)<0&&x(Ee,ae)<0||x(Ae,se)<0&&x(Ae,ae)<0)continue;const i=S.projectToRenderScreen(se,me),s=S.projectToRenderScreen(ae,ue);if(null==i||null==s)continue;if(i[2]<0&&s[2]>0){o(pe,se,ae);const e=S.frustum,t=-x(e[4],se)/l(pe,T(e[4]));if(p(pe,pe,t),h(se,se,pe),!S.projectToRenderScreen(se,i))continue}else if(i[2]>0&&s[2]<0){o(pe,ae,se);const e=S.frustum,t=-x(e[4],ae)/l(pe,T(e[4]));if(p(pe,pe,t),h(ae,ae,pe),!S.projectToRenderScreen(ae,s))continue}else if(i[2]<0&&s[2]<0)continue;i[2]=0,s[2]=0;const a=w(i,s,ge),n=y(a,C);if(!(n>=R)){if(this.parameters.screenSizePerspective){const e=this.computeScreenSizePerspectiveWidth(a,se,ae,C,S,E,M);if(n>=e*e)continue}R=n,c(fe,se),c(de,ae),V=e/3}}if(R<L*L){let e=Number.MAX_VALUE;if(j(w(fe,de,ge),w(_,v,be),he)){o(he,he,_);const t=m(he);p(he,he,1/t),e=t/u(_,v)}g(e,he,V)}}createBufferWriter(){return new Z(Y(this.parameters),this.parameters)}createGLMaterial(e){return new K(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}update(e){return!!this.parameters.hasAnimation&&(this.setParameters({timeElapsed:r(e.time)},!1),0!==e.dt)}computeScreenSizePerspectiveWidth(e,t,i,r,s,a,n){const o=z(e,r);f(ne,t,i,o),d(oe,ne,s.viewMatrix);const l=m(oe),p=this.computeCameraAbsCosAngle(ne,s,this._configuration.spherical);re.update(p,l,this.parameters.screenSizePerspective,this.parameters.screenSizePerspectiveMinPixelReferenceSize);return re.apply(a)*s.pixelRatio/2+n}computeCameraAbsCosAngle(e,t,i){return i?g(he,e):n(he,0,0,1),o(le,e,t.eye),g(le,le),Math.abs(l(he,le))}}class K extends N{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures?.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const{stipplePattern:t}=this._material.parameters;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.getTechnique(q,e)}}class Q extends I{constructor(){super(...arguments),this._width=0,this.color=_,this.join="miter",this.cap=0,this.miterLimit=5,this.writeDepth=!0,this.polygonOffset=0,this.polygonOffsetIndex=0,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1,this.timeElapsed=s(0),this.animation=0,this.animationSpeed=1,this.trailLength=1,this.startTime=s(0),this.endTime=s(1/0),this.emissiveStrength=0}get width(){return this.isImagePattern()?this.stipplePattern.width:this._width}set width(e){this._width=e}get transparent(){return this.color[3]<1||this.hasAnimation||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}get hasAnimation(){return 0!==this.animation}isImagePattern(){return B(this.stipplePattern)&&null!=this.stippleTexture}}class Z{constructor(e,t){this.layout=e,this._parameters=t,this.numJoinSubdivisions=ie(this._parameters.join,null!=this._parameters.stipplePattern)}_isClosed(e){return ee(this._parameters,e)}allocate(e){return this.layout.createBuffer(e)}elementCount(e){const t=2,i=e.get("position").indices.length/2+1,r=this._isClosed(e);let s=r?2:2*t;return s+=((r?i:i-1)-(r?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,i,r,s,a){const{buffer:o,offset:l}=s,p=this.layout,h=i.get("position"),m=h.indices,f=h.data.length/3,g=i.get("distanceToStart")?.data;m&&m.length!==2*(f-1)&&console.warn("RibbonLineMaterial does not support indices");const b=p.fields.has("sizeFeatureAttribute");let _=1,v=null;if(b){const e=i.get("sizeFeatureAttribute");1===e.data.length?_=e.data[0]:v=e.data}else _=i.get("size")?.data[0]??1;let w=[1,1,1,1],y=0,j=null;const z=p.fields.has("colorFeatureAttribute");if(z){const e=i.get("colorFeatureAttribute");1===e.data.length?y=e.data[0]:j=e.data}else w=i.get("color")?.data??w;const E=i.get("timeStamps")?.data,A=E&&p.fields.has("timeStamps"),x=p.fields.has("opacityFeatureAttribute");let T=0,C=null;if(x){const e=i.get("opacityFeatureAttribute");1===e.data.length?T=e.data[0]:C=e.data}const O=new Float32Array(o.buffer),M=P(o.buffer),L=new Uint8Array(o.buffer),R=p.stride/4;let V=l*R;const N=V;let U=0;const k=g?(e,t,i)=>U=g[i]:(e,t,i)=>U+=u(e,t),W=O.BYTES_PER_ELEMENT/M.BYTES_PER_ELEMENT,B=4/W,I=F(),J=(e,t,i,s,a,n,o,l)=>{O[V++]=t[0],O[V++]=t[1],O[V++]=t[2],D(e,t,M,V*W),V+=B,D(i,t,M,V*W),V+=B,O[V++]=l;let p=V*W;if(M[p++]=a,M[p++]=n,V=Math.ceil(p/W),z)O[V]=j?.[o]??y;else{const e=Math.min(4*o,w.length-4),t=4*V;L[t]=255*w[e],L[t+1]=255*w[e+1],L[t+2]=255*w[e+2],L[t+3]=255*w[e+3]}if(V++,O[V++]=v?.[o]??_,x&&(O[V++]=C?.[o]??T),I){let e=4*V;r?(L[e++]=r[0],L[e++]=r[1],L[e++]=r[2],L[e++]=r[3]):(L[e++]=0,L[e++]=0,L[e++]=0,L[e++]=0),V=Math.ceil(.25*e)}A&&(p=V*W,M[p++]=s[0],M[p++]=s[1],M[p++]=s[2],M[p++]=s[3],V=Math.ceil(p/W))};V+=R,n(_e,h.data[0],h.data[1],h.data[2]),A&&S(Pe,E[0],E[1],E[2],E[3]),e&&d(_e,_e,e);const Y=this._isClosed(i);if(Y){const t=h.data.length-3;n(Se,h.data[t],h.data[t+1],h.data[t+2]),e&&d(Se,Se,e)}else n(ve,h.data[3],h.data[4],h.data[5]),e&&d(ve,ve,e),J(_e,_e,ve,Pe,1,-4,0,0),J(_e,_e,ve,Pe,1,4,0,0),c(Se,_e),c(_e,ve),A&&S(Pe,E[4],E[5],E[6],E[7]);const q=Y?0:1,X=Y?f:f-1;for(let u=q;u<X;u++){const t=(u+1)%f*3;n(ve,h.data[t],h.data[t+1],h.data[t+2]),e&&d(ve,ve,e),k(Se,_e,u),J(Se,_e,ve,Pe,0,-1,u,U),J(Se,_e,ve,Pe,0,1,u,U);const i=this.numJoinSubdivisions;for(let e=0;e<i;++e){const t=(e+1)/(i+1);J(Se,_e,ve,Pe,t,-1,u,U),J(Se,_e,ve,Pe,t,1,u,U)}if(J(Se,_e,ve,Pe,1,-2,u,U),J(Se,_e,ve,Pe,1,2,u,U),c(Se,_e),c(_e,ve),A){const e=(u+1)%f*4;S(Pe,E[e],E[e+1],E[e+2],E[e+3])}}Y?(n(ve,h.data[3],h.data[4],h.data[5]),e&&d(ve,ve,e),U=k(Se,_e,X),J(Se,_e,ve,Pe,0,-1,q,U),J(Se,_e,ve,Pe,0,1,q,U)):(U=k(Se,_e,X),J(Se,_e,_e,Pe,0,-5,X,U),J(Se,_e,_e,Pe,0,5,X,U)),$(O,N+R,O,N,R);V=$(O,V-R,O,V,R),this._parameters.wireframe&&this._addWireframeVertices(o,N,V,R)}_addWireframeVertices(e,t,i,r){const s=new Float32Array(e.buffer,i*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,i-t);let n=0;const o=e=>n=$(a,e,s,n,r);for(let l=0;l<a.length-1;l+=2*r)o(l),o(l+2*r),o(l+1*r),o(l+2*r),o(l+1*r),o(l+3*r)}}function $(e,t,i,r,s){for(let a=0;a<s;a++)i[r++]=e[t++];return r}function ee(e,t){if(!e.isClosed)return!1;return t.get("position").indices.length>2}function te(e){return 1===e.anchor&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}function ie(e,t){const i=t?1:0;switch(e){case"miter":case"bevel":return i;case"round":return J+i}}const re=new k,se=b(),ae=b(),ne=b(),oe=b(),le=b(),pe=b(),he=b(),ce=b(),me=i(),ue=i(),fe=b(),de=b(),ge=E(),be=E(),Se=b(),_e=b(),ve=b(),Pe=v(),we=[i(),i(),i(),i()],ye=[b(),b(),b(),b()],je=C(),ze=C(),Ee=C(),Ae=C();export{Q as Parameters,H as RibbonLineMaterial};
|
|
2
|
+
import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as i}from"../../../../core/screenUtils.js";import{secondsFromMilliseconds as r,Seconds as s}from"../../../../core/time.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{set as n,subtract as o,dot as l,scale as p,add as h,copy as c,length as m,distance as u,lerp as f,transformMat4 as d,normalize as g}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as b}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{set as S}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{ONES as _,create as v}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{makeFloat16Array as P}from"../../../../geometry/support/float16.js";import{fromPoints as w,distance2 as y,closestLineSegmentPoint as j,projectPointFraction as z,create as E}from"../../../../geometry/support/lineSegment.js";import{fromPoints as A,signedDistance as x,getNormal as T,create as C}from"../../../../geometry/support/plane.js";import{isHighlightOrOLID as O,isColor as M,isDepth as L,isColorHighlightOLIDOrDepth as R,is2DGeometryOutput as V}from"../core/shaderLibrary/ShaderOutput.js";import{olidEnabled as F}from"../effects/geometry/olidUtils.js";import N from"../lib/GLMaterial.js";import{Material as U}from"../lib/Material.js";import{ScreenSizePerspectiveEvaluator as k}from"../lib/screenSizePerspectiveUtils.js";import{isTranslationMatrix as W}from"../lib/Util.js";import{isImagePattern as B}from"./lineStippleUtils.js";import{VisualVariablePassParameters as I}from"./VisualVariablePassParameters.js";import{writeDeltaF16Vector as D}from"./internal/bufferWriterUtils.js";import{r as J}from"../../../../chunks/RibbonLine.glsl.js";import{getLayout as Y}from"../shaders/RibbonLineLayouts.js";import{RibbonLineTechnique as q}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as X}from"../shaders/RibbonLineTechniqueConfiguration.js";import{alphaCutoff as G}from"../../../../webscene/support/AlphaCutoff.js";class H extends U{constructor(e,t){super(e,Q),this.produces=new Map([[2,e=>O(e)||M(e)&&8===this.parameters.renderOccluded],[3,e=>L(e)],[10,e=>R(e)&&8===this.parameters.renderOccluded],[11,e=>R(e)&&8===this.parameters.renderOccluded],[4,e=>M(e)&&this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[8,e=>M(e)&&!this.parameters.writeDepth&&8!==this.parameters.renderOccluded],[18,e=>V(e)]]),this._configuration=new X(t)}updateConfiguration(e){super.updateConfiguration(e);const t=18===e.slot,i=null!=this.parameters.stipplePattern&&null!=this.parameters.stippleTexture&&10!==e.output,r=i&&t&&this.parameters.isImagePattern();this._configuration.draped=t,this._configuration.polygonOffset=this.parameters.polygonOffset,this._configuration.stippleEnabled=i,this._configuration.stippleOffColorEnabled=i&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=i&&this.parameters.stipplePreferContinuous,this._configuration.numJoinSubdivisions=ie(this.parameters.join,i),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&te(this.parameters.markerParameters),this._configuration.polygonOffsetIndex=this.parameters.polygonOffsetIndex,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.hasVVSize=this.parameters.hasVVSize,this._configuration.hasVVColor=this.parameters.hasVVColor,this._configuration.hasVVOpacity=this.parameters.hasVVOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=e.hasOccludees,this._configuration.occluder=8===this.parameters.renderOccluded,this._configuration.wireframe=this.parameters.wireframe,this._configuration.animation=this.parameters.animation,this._configuration.emissionSource=this.emissions?1:0,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective&&!r,this._configuration.worldSizedImagePattern=r}get visible(){return this.parameters.color[3]>=G||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>G}get emissions(){return this.parameters.emissiveStrength>0?8!==this.parameters.renderOccluded?2:1:0}setParameters(e,t){e.animation=this.parameters.animation,super.setParameters(e,t)}intersectDraped({attributes:e,screenToWorldRatio:i},r,s,a,n){if(!r.options.selectionMode)return;const o=e.get("size");let l=this.parameters.width;if(this.parameters.vvSize){const i=e.get("sizeFeatureAttribute").data[0];Number.isNaN(i)?l*=this.parameters.vvSize.fallback[0]:l*=t(this.parameters.vvSize.offset[0]+i*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else o&&(l*=o.data[0]);const p=s[0],h=s[1],c=(l/2+4)*i;let m=Number.MAX_VALUE,u=0;const f=e.get("position").data,d=ee(this.parameters,e)?f.length-2:f.length-5;for(let g=0;g<d;g+=3){const e=f[g],i=f[g+1],r=(g+3)%f.length,s=p-e,a=h-i,n=f[r]-e,o=f[r+1]-i,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,d=o*l-a,b=c*c+d*d;b<m&&(m=b,u=g/3)}m<c*c&&a(n.distance,n.normal,u)}intersect(i,r,s,f,d,g){const{options:b,camera:S,rayBegin:_,rayEnd:v}=s;if(!b.selectionMode||!i.visible||!S)return;if(!W(r))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const P=i.attributes,z=P.get("position").data;let E=this.parameters.width;if(this.parameters.vvSize){const e=P.get("sizeFeatureAttribute").data[0];Number.isNaN(e)||(E*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0]))}else P.has("size")&&(E*=P.get("size").data[0]);const C=ce;a(C,s.point);const O=E*S.pixelRatio,M=4*S.pixelRatio,L=O/2+M;n(we[0],C[0]-L,C[1]+L,0),n(we[1],C[0]+L,C[1]+L,0),n(we[2],C[0]+L,C[1]-L,0),n(we[3],C[0]-L,C[1]-L,0);for(let e=0;e<4;e++)if(!S.unprojectFromRenderScreen(we[e],ye[e]))return;A(S.eye,ye[0],ye[1],je),A(S.eye,ye[1],ye[2],ze),A(S.eye,ye[2],ye[3],Ee),A(S.eye,ye[3],ye[0],Ae);let R=Number.MAX_VALUE,V=0;const F=ee(this.parameters,P)?z.length-2:z.length-5;for(let e=0;e<F;e+=3){se[0]=z[e]+r[12],se[1]=z[e+1]+r[13],se[2]=z[e+2]+r[14];const t=(e+3)%z.length;if(ae[0]=z[t]+r[12],ae[1]=z[t+1]+r[13],ae[2]=z[t+2]+r[14],x(je,se)<0&&x(je,ae)<0||x(ze,se)<0&&x(ze,ae)<0||x(Ee,se)<0&&x(Ee,ae)<0||x(Ae,se)<0&&x(Ae,ae)<0)continue;const i=S.projectToRenderScreen(se,me),s=S.projectToRenderScreen(ae,ue);if(null==i||null==s)continue;if(i[2]<0&&s[2]>0){o(pe,se,ae);const e=S.frustum,t=-x(e[4],se)/l(pe,T(e[4]));if(p(pe,pe,t),h(se,se,pe),!S.projectToRenderScreen(se,i))continue}else if(i[2]>0&&s[2]<0){o(pe,ae,se);const e=S.frustum,t=-x(e[4],ae)/l(pe,T(e[4]));if(p(pe,pe,t),h(ae,ae,pe),!S.projectToRenderScreen(ae,s))continue}else if(i[2]<0&&s[2]<0)continue;i[2]=0,s[2]=0;const a=w(i,s,ge),n=y(a,C);if(!(n>=R)){if(this.parameters.screenSizePerspective){const e=this.computeScreenSizePerspectiveWidth(a,se,ae,C,S,E,M);if(n>=e*e)continue}R=n,c(fe,se),c(de,ae),V=e/3}}if(R<L*L){let e=Number.MAX_VALUE;if(j(w(fe,de,ge),w(_,v,be),he)){o(he,he,_);const t=m(he);p(he,he,1/t),e=t/u(_,v)}g(e,he,V)}}createBufferWriter(){return new Z(Y(this.parameters),this.parameters)}createGLMaterial(e){return new K(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}update(e){return!!this.parameters.hasAnimation&&(this.setParameters({timeElapsed:r(e.time)},!1),0!==e.dt)}computeScreenSizePerspectiveWidth(e,t,i,r,s,a,n){const o=z(e,r);f(ne,t,i,o),d(oe,ne,s.viewMatrix);const l=m(oe),p=this.computeCameraAbsCosAngle(ne,s,this._configuration.spherical);re.update(p,l,this.parameters.screenSizePerspective,this.parameters.screenSizePerspectiveMinPixelReferenceSize);return re.apply(a)*s.pixelRatio/2+n}computeCameraAbsCosAngle(e,t,i){return i?g(he,e):n(he,0,0,1),o(le,e,t.eye),g(le,le),Math.abs(l(he,le))}}class K extends N{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures?.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const{stipplePattern:t}=this._material.parameters;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.getTechnique(q,e)}}class Q extends I{constructor(){super(...arguments),this._width=0,this.color=_,this.join="miter",this.cap=0,this.miterLimit=5,this.writeDepth=!0,this.polygonOffset=0,this.polygonOffsetIndex=0,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1,this.timeElapsed=s(0),this.animation=0,this.animationSpeed=1,this.trailLength=1,this.startTime=s(0),this.endTime=s(1/0),this.emissiveStrength=0}get width(){return this.isImagePattern()?this.stipplePattern.width:this._width}set width(e){this._width=e}get transparent(){return this.color[3]<1||this.hasAnimation||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}get hasAnimation(){return 0!==this.animation}isImagePattern(){return B(this.stipplePattern)&&null!=this.stippleTexture}}class Z{constructor(e,t){this.layout=e,this._parameters=t,this.numJoinSubdivisions=ie(this._parameters.join,null!=this._parameters.stipplePattern)}_isClosed(e){return ee(this._parameters,e)}allocate(e){return this.layout.createBuffer(e)}elementCount(e){const t=2,i=e.get("position").indices.length/2+1,r=this._isClosed(e);let s=r?2:2*t;return s+=((r?i:i-1)-(r?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,i,r,s,a){const{buffer:o,offset:l}=s,p=this.layout,h=i.get("position"),m=h.indices,f=h.data.length/3,g=i.get("distanceToStart")?.data;m&&m.length!==2*(f-1)&&console.warn("RibbonLineMaterial does not support indices");const b=p.fields.has("sizeFeatureAttribute");let _=1,v=null;if(b){const e=i.get("sizeFeatureAttribute");1===e.data.length?_=e.data[0]:v=e.data}else _=i.get("size")?.data[0]??1;let w=[1,1,1,1],y=0,j=null;const z=p.fields.has("colorFeatureAttribute");if(z){const e=i.get("colorFeatureAttribute");1===e.data.length?y=e.data[0]:j=e.data}else w=i.get("color")?.data??w;const E=i.get("timeStamps")?.data,A=E&&p.fields.has("timeStamps"),x=p.fields.has("opacityFeatureAttribute");let T=0,C=null;if(x){const e=i.get("opacityFeatureAttribute");1===e.data.length?T=e.data[0]:C=e.data}const O=new Float32Array(o.buffer),M=P(o.buffer),L=new Uint8Array(o.buffer),R=p.stride/4;let V=l*R;const N=V;let U=0;const k=g?(e,t,i)=>U=g[i]:(e,t,i)=>U+=u(e,t),W=O.BYTES_PER_ELEMENT/M.BYTES_PER_ELEMENT,B=4/W,I=F(),J=(e,t,i,s,a,n,o,l)=>{O[V++]=t[0],O[V++]=t[1],O[V++]=t[2],D(e,t,M,V*W),V+=B,D(i,t,M,V*W),V+=B,O[V++]=l;let p=V*W;if(M[p++]=a,M[p++]=n,V=Math.ceil(p/W),z)O[V]=j?.[o]??y;else{const e=Math.min(4*o,w.length-4),t=4*V;L[t]=255*w[e],L[t+1]=255*w[e+1],L[t+2]=255*w[e+2],L[t+3]=255*w[e+3]}if(V++,O[V++]=v?.[o]??_,x&&(O[V++]=C?.[o]??T),I){let e=4*V;r?(L[e++]=r[0],L[e++]=r[1],L[e++]=r[2],L[e++]=r[3]):(L[e++]=0,L[e++]=0,L[e++]=0,L[e++]=0),V=Math.ceil(.25*e)}A&&(p=V*W,M[p++]=s[0],M[p++]=s[1],M[p++]=s[2],M[p++]=s[3],V=Math.ceil(p/W))};V+=R,n(_e,h.data[0],h.data[1],h.data[2]),A&&S(Pe,E[0],E[1],E[2],E[3]),e&&d(_e,_e,e);const Y=this._isClosed(i);if(Y){const t=h.data.length-3;n(Se,h.data[t],h.data[t+1],h.data[t+2]),e&&d(Se,Se,e)}else n(ve,h.data[3],h.data[4],h.data[5]),e&&d(ve,ve,e),J(_e,_e,ve,Pe,1,-4,0,0),J(_e,_e,ve,Pe,1,4,0,0),c(Se,_e),c(_e,ve),A&&S(Pe,E[4],E[5],E[6],E[7]);const q=Y?0:1,X=Y?f:f-1;for(let u=q;u<X;u++){const t=(u+1)%f*3;n(ve,h.data[t],h.data[t+1],h.data[t+2]),e&&d(ve,ve,e),k(Se,_e,u),J(Se,_e,ve,Pe,0,-1,u,U),J(Se,_e,ve,Pe,0,1,u,U);const i=this.numJoinSubdivisions;for(let e=0;e<i;++e){const t=(e+1)/(i+1);J(Se,_e,ve,Pe,t,-1,u,U),J(Se,_e,ve,Pe,t,1,u,U)}if(J(Se,_e,ve,Pe,1,-2,u,U),J(Se,_e,ve,Pe,1,2,u,U),c(Se,_e),c(_e,ve),A){const e=(u+1)%f*4;S(Pe,E[e],E[e+1],E[e+2],E[e+3])}}Y?(n(ve,h.data[3],h.data[4],h.data[5]),e&&d(ve,ve,e),U=k(Se,_e,X),J(Se,_e,ve,Pe,0,-1,q,U),J(Se,_e,ve,Pe,0,1,q,U)):(U=k(Se,_e,X),J(Se,_e,_e,Pe,0,-5,X,U),J(Se,_e,_e,Pe,0,5,X,U)),$(O,N+R,O,N,R);V=$(O,V-R,O,V,R),this._parameters.wireframe&&this._addWireframeVertices(o,N,V,R)}_addWireframeVertices(e,t,i,r){const s=new Float32Array(e.buffer,i*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,i-t);let n=0;const o=e=>n=$(a,e,s,n,r);for(let l=0;l<a.length-1;l+=2*r)o(l),o(l+2*r),o(l+1*r),o(l+2*r),o(l+1*r),o(l+3*r)}}function $(e,t,i,r,s){for(let a=0;a<s;a++)i[r++]=e[t++];return r}function ee(e,t){if(!e.isClosed)return!1;return t.get("position").indices.length>2}function te(e){return 1===e.anchor&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}function ie(e,t){const i=t?1:0;switch(e){case"miter":case"bevel":return i;case"round":return J+i}}const re=new k,se=b(),ae=b(),ne=b(),oe=b(),le=b(),pe=b(),he=b(),ce=b(),me=i(),ue=i(),fe=b(),de=b(),ge=E(),be=E(),Se=b(),_e=b(),ve=b(),Pe=v(),we=[i(),i(),i(),i()],ye=[b(),b(),b(),b()],je=C(),ze=C(),Ee=C(),Ae=C();export{Q as Parameters,H as RibbonLineMaterial};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{property as r,subclass as t}from"../../../../../core/accessorSupport/decorators.js";import{SyncRenderPlugin as s}from"../../effects/RenderPlugin.js";import{MergedBuffer as i}from"./MergedBuffer.js";import{VaoRenderer as a}from"./VaoRenderer.js";let n=class extends s{constructor(e){super(e),this._dataByBaseInstance=new Map,this._buffer=null,this._renderer=null,this.drapedPriority=0}initialize(){this._buffer=new i({material:this.material,dataByBaseInstance:this._dataByBaseInstance,highlightOrderMap:this.highlightOrderMap}),this._renderer=new a({material:this.material,dataByBaseInstance:this._dataByBaseInstance})}destroy(){this._buffer.destroy(),this._renderer.destroy()}hasHighlight(e){return this._renderer.hasHighlight(e)}initializeRenderContext(e){this._buffer.initializeRenderContext(e),this._renderer.initializeRenderContext(e)}uninitializeRenderContext(){this._buffer.uninitializeRenderContext(),this._renderer.uninitializeRenderContext()}get produces(){return this._renderer.produces}get hasOccludees(){return this._buffer.hasOccludees}get hasOnlyOccluders(){return!!(-2&this.renderOccludedFlags)}get emissions(){return this.material.
|
|
2
|
+
import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{property as r,subclass as t}from"../../../../../core/accessorSupport/decorators.js";import{SyncRenderPlugin as s}from"../../effects/RenderPlugin.js";import{MergedBuffer as i}from"./MergedBuffer.js";import{VaoRenderer as a}from"./VaoRenderer.js";let n=class extends s{constructor(e){super(e),this._dataByBaseInstance=new Map,this._buffer=null,this._renderer=null,this.drapedPriority=0}initialize(){this._buffer=new i({material:this.material,dataByBaseInstance:this._dataByBaseInstance,highlightOrderMap:this.highlightOrderMap}),this._renderer=new a({material:this.material,dataByBaseInstance:this._dataByBaseInstance})}destroy(){this._buffer.destroy(),this._renderer.destroy()}hasHighlight(e){return this._renderer.hasHighlight(e)}initializeRenderContext(e){this._buffer.initializeRenderContext(e),this._renderer.initializeRenderContext(e)}uninitializeRenderContext(){this._buffer.uninitializeRenderContext(),this._renderer.uninitializeRenderContext()}get produces(){return this._renderer.produces}get hasOccludees(){return this._buffer.hasOccludees}get hasOnlyOccluders(){return!!(-2&this.renderOccludedFlags)}get emissions(){return this.material.emissions}get isDecoration(){return this.material.parameters.isDecoration}get renderOccludedFlags(){return this.material.renderOccludedFlags}get testsTransparentRenderOrder(){return"test"===process.env.NODE_ENV?this.material.testsTransparentRenderOrder:0}get numGeometries(){let e=0;for(const r of this._dataByBaseInstance.values())for(const t of r.dataByOrigin.values())e+=t.buffers.reduce((e,r)=>e+r.instances.size,0);return e}get usedMemory(){let e=0;for(const r of this._dataByBaseInstance.values())for(const t of r.dataByOrigin.values())e+=t.buffers.reduce((e,r)=>e+r.vao.usedMemory,0);return e}forEachGeometry(e){for(const r of this._dataByBaseInstance.values())for(const t of r.dataByOrigin.values())for(const r of t.buffers)for(const{geometry:t}of r.instances.values())e(t)}modify(e,r){this._buffer.modify(e,r),this._renderer.updateHighlights()}get canCompact(){return this._buffer.canCompact}compact(e){return this._buffer.compact(e)}updateHighlights(e){this.highlightOrderMap=e,this._buffer.updateHighlights(e),this._renderer.updateHighlights()}updateAnimation(e){return this.material.update(e)}acquireTechniques(e){return this._renderer.acquireTechniques(e)}render(e,r){return this._renderer.render(e,r)}static prune(){i.prune()}get test(){}};e([r({constructOnly:!0})],n.prototype,"material",void 0),e([r()],n.prototype,"highlightOrderMap",void 0),n=e([t("esri.views.3d.webgl-engine.materials.renderers.MergedRenderer")],n);export{n as MergedRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as o}from"tslib";import{parameter as s
|
|
2
|
+
import{__decorate as o}from"tslib";import{parameter as s}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";import{OITResolutionConfiguration as i}from"./oitResolution.glsl.js";class r extends i{constructor(){super(...arguments),this.hasEmission=!1}}o([s()],r.prototype,"hasEmission",void 0);export{r as GaussianSplatCompositionTechniqueConfiguration};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{glLayout as t}from"../../support/buffer/glUtil.js";import{newLayout as o}from"../../support/buffer/InterleavedLayout.js";import{
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{glLayout as t}from"../../support/buffer/glUtil.js";import{newLayout as o}from"../../support/buffer/InterleavedLayout.js";import{isOITColorAlpha as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as a}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as n}from"../effects/geometry/olidUtils.js";import{blending as l}from"../lib/OrderIndependentTransparency.js";import{polygonOffset as f}from"../materials/PolygonOffset.js";import{H as c}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as p}from"../../../webgl/enums.js";import{makePipelineState as m,defaultColorWrite as u,defaultDepthWrite as d}from"../../../webgl/renderState.js";let h=class extends a{constructor(e,r){super(e,r,t(g).concat(t(v(r)))),this.shader=new s(c,()=>import("./HUDMaterial.glsl.js")),this.ignoreUnused=!0,this.primitiveType=p.TRIANGLE_STRIP}initializePipeline(e){const{draped:r,output:t,depthTestEnabled:o}=e,s=i(t),a=o&&!r&&!s&&!(10===t);return m({blending:l(t,!0),depthTest:o&&!r?{func:515}:null,depthWrite:a?d:null,colorWrite:u,polygonOffset:f(e)})}};h=e([r("esri.views.3d.webgl-engine.shaders.HUDMaterialTechnique")],h);const g=o().vec2u8("uv0",{glNormalized:!0});function v(e){let r=o().vec3f("position").vec3f("normal").f32("groundDistance");return e.hasVertexCenterOffset&&(r=r.vec3f("centerOffset")),e.hasVertexColor&&(r=r.vec4u8("color",{glNormalized:!0})),e.hasVertexSize&&(r=r.vec2f("size")),e.hasVertexRotation&&(r=r.f32("rotation")),(e.hasVVColor||e.hasVVSize)&&(r=r.vec4f("featureAttribute")),e.hasVertexUVi&&(r=r.vec4i16("uvi")),n()?r.vec4u8("olidColor"):r}export{h as HUDMaterialTechnique,g as baseLayout,v as getInstanceLayout};
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{isColor as o,
|
|
3
|
-
void outputColorHighlightOLID(vec4 finalColor, vec3 emissiveSymbolColor ${
|
|
4
|
-
${
|
|
5
|
-
${
|
|
6
|
-
${t(j||h,"float noise = ditherNoise(finalColor);")}
|
|
2
|
+
import{isColor as o,isOITColorAlpha as l,isOITFrontFace as i}from"../core/shaderLibrary/ShaderOutput.js";import{Emissions as r}from"../core/shaderLibrary/output/Emissions.glsl.js";import{OutputHighlight as a}from"../core/shaderLibrary/output/OutputHighlight.glsl.js";import{ColorConversion as s}from"../core/shaderLibrary/util/ColorConversion.glsl.js";import{emissionDimming as e}from"../core/shaderLibrary/util/EmissionDimming.glsl.js";import{If as n,glsl as t}from"../core/shaderModules/glsl.js";import{alphaCutoff as f}from"./alphaCutoff.glsl.js";import{ditherNoise as m}from"./ditherNoise.glsl.js";import{oitResolution as u}from"./oitResolution.glsl.js";function d(d,g){d.include(a,g),d.include(r,g);const{fragment:p,outputs:c}=d,{output:h,hasEmission:C,discardInvisibleFragments:v,oitPremultipliedAlpha:b,snowCover:A,useFloatBlend:E,emissionDimmingPass:y}=g,$=11===h,j=l(h),O=i(h),L=o(h)&&!j;let S=0;(L||j)&&c.add("fragColor","vec4",S++),j&&c.add("fragAlpha","float",S++),C&&c.add("fragEmission","vec4",S++),p.include(s),p.include(f),p.include(u,g),p.include(m,g),y&&p.include(e,g),p.code.add(t`
|
|
3
|
+
void outputColorHighlightOLID(vec4 finalColor, vec3 emissiveSymbolColor ${n(A,", float snow")}) {
|
|
4
|
+
${n($,"finalColor.a = 1.0;")}
|
|
5
|
+
${n(v,"if (finalColor.a < alphaCutoff) { discard; }")}
|
|
7
6
|
|
|
8
|
-
${
|
|
9
|
-
${
|
|
10
|
-
${
|
|
11
|
-
${
|
|
7
|
+
${n(j,`float noise = ditherNoise(finalColor);\n fragColor = ${n(b,"finalColor","premultiplyAlpha(finalColor)")};\n fragColor = vec4(fragColor.rgb * floatBlendOutputScale + noise, fragColor.a);\n float scaledAlpha = finalColor.a * floatBlendOutputScale;\n fragAlpha = scaledAlpha + noise;\n ${n(!E,"fragAlpha = fragAlpha < alphaCutoff ? scaledAlpha : fragAlpha;")}`)}
|
|
8
|
+
${n(O&&b&&v,"finalColor.rgb /= finalColor.a;")}
|
|
9
|
+
${n(L,"fragColor = finalColor;")}
|
|
10
|
+
${n(C,y?"fragEmission = vec4(emissionDimming(premultiplyAlpha(finalColor).rgb, 1.0 - finalColor.a), 0.0);":`fragEmission = ${n(A,"mix(finalColor.a * getEmissions(emissiveSymbolColor), vec4(0.0), snow);","finalColor.a * getEmissions(emissiveSymbolColor);")}\n float emissionNoise = ditherNoise(fragEmission);\n fragEmission = vec4(fragEmission.rgb * floatBlendOutputScale + emissionNoise, fragEmission.a);`)}
|
|
12
11
|
calculateOcclusionAndOutputHighlight();
|
|
13
|
-
${
|
|
12
|
+
${n($,"outputObjectAndLayerIdColor();")}
|
|
14
13
|
}
|
|
15
14
|
`)}export{d as outputColorHighlightOLID};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{alphaCutoff as o}from"../../../../webscene/support/AlphaCutoff.js";function
|
|
2
|
+
import{alphaCutoff as t,opacityCutoff as o}from"../../../../webscene/support/AlphaCutoff.js";function a(a){a.constants.add("alphaCutoff","float",t),a.constants.add("opacityCutoff","float",o)}export{a as alphaCutoff};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
|
|
2
|
+
function o(o,e){e.useFloatBlend?o.code.add("float ditherNoise(vec4 color) { return 0.0; }"):o.code.add("\n float ditherNoise(vec4 color) {\n vec2 seed = color.rg + color.ba + gl_FragCoord.xy + gl_FragCoord.z;\n return (fract(52.9829189 * fract(dot(seed, vec2(0.06711056, 0.00583715)))) - 0.5) / 255.0;\n }")}export{o as ditherNoise};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
const
|
|
2
|
+
import{__decorate as t}from"tslib";import{parameter as o,ShaderTechniqueConfiguration as a}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";class n extends a{constructor(){super(...arguments),this.useFloatBlend=!0}}t([o()],n.prototype,"useFloatBlend",void 0);const e=16,l=e;function s(t,o){o.useFloatBlend?(t.constants.add("floatBlendOutputScale","float",1),t.constants.add("floatBlendInputScale","float",1)):(t.constants.add("floatBlendOutputScale","float",1/e),t.constants.add("floatBlendInputScale","float",e)),t.constants.add("maxEmissiveStrength","float",l)}export{n as OITResolutionConfiguration,e as floatBlendReductionFactor,l as maxEmissiveStrength,s as oitResolution};
|
package/views/LinkChartView.d.ts
CHANGED
|
@@ -92,7 +92,9 @@ export default class LinkChartView extends View2D {
|
|
|
92
92
|
* @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
|
|
93
93
|
* @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
|
|
94
94
|
* @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
|
|
95
|
-
* @see [Sample
|
|
95
|
+
* @see [Sample - Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
|
|
96
|
+
* @see [Sample - Hit test features by screen rectangle](https://developers.arcgis.com/javascript/latest/sample-code/map-hittest-screen-rectangle/)
|
|
97
|
+
* @see [Sample - VectorTileLayer hitTest](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-hittest/)
|
|
96
98
|
* @example
|
|
97
99
|
* // Get the screen point from the view's click event
|
|
98
100
|
* view.on("click", async (event) => {
|
package/views/View2D.d.ts
CHANGED
|
@@ -889,10 +889,9 @@ export default abstract class View2D extends View2DSuperclass {
|
|
|
889
889
|
* **2D hitTest() behavior by layer type**
|
|
890
890
|
* | Layer type | Hit test behavior |
|
|
891
891
|
* | :--- | :--- |
|
|
892
|
-
* | [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CatalogFootprintLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/), [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/), [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/) | Returns all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) at the hit location. |
|
|
893
|
-
* | [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) | Returns only the topmost [feature](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) when the hit occurs on overlapping features. (as of version 4.34). |
|
|
892
|
+
* | [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CatalogFootprintLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/), [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/), [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/), [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/) | Returns all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) at the hit location. |
|
|
894
893
|
* | [GeoRSSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/), [GraphicsLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GraphicsLayer/), [KMLLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/KMLLayer/), [MapNotesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapNotesLayer/) | Returns all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) at the hit location. |
|
|
895
|
-
* | [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/), [ImageryTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/)| Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RasterHit) containing raster pixel value used in rendering and bandId info on intersecting pixels. The `screenRect` hitTarget
|
|
894
|
+
* | [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/), [ImageryTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/)| Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RasterHit) containing raster pixel value used in rendering and bandId info on intersecting pixels. The `screenRect` hitTarget returns hit result at the center of the rectangle. |
|
|
896
895
|
* | [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) | Returns a result for all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) containing attributes of style layers (as of version 4.29; in prior releases, only the topmost style layer result was returned). In addition, the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) contains the style layer's [id](https://maplibre.org/maplibre-style-spec/layers/#id) and layer index within the [vector tile style](https://doc.arcgis.com/en/arcgis-online/reference/tile-layers.htm#ESRI_SECTION1_8F68399EB47B48FF9EF46719FCC96978). Spatial information about the actual feature represented in the style layer is returned only if the style layer is a [symbol layer](https://maplibre.org/maplibre-style-spec/layers/#symbol). Otherwise, the graphic's geometry is `null`. |
|
|
897
896
|
* | [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/) | Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#MediaHit) containing all media elements if the hit is made on intersecting elements. |
|
|
898
897
|
* | [RouteLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/RouteLayer/) | Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RouteHit) containing all intersecting route elements if the hit is made on intersecting elements. |
|
|
@@ -909,7 +908,9 @@ export default abstract class View2D extends View2DSuperclass {
|
|
|
909
908
|
* @param hitTarget - The screen point, screen rectangle, or native mouse event identifying where to perform the hit test.
|
|
910
909
|
* @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
|
|
911
910
|
* @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
|
|
912
|
-
* @see [Sample
|
|
911
|
+
* @see [Sample - Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
|
|
912
|
+
* @see [Sample - Hit test features by screen rectangle](https://developers.arcgis.com/javascript/latest/sample-code/map-hittest-screen-rectangle/)
|
|
913
|
+
* @see [Sample - VectorTileLayer hitTest](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-hittest/)
|
|
913
914
|
* @example
|
|
914
915
|
* // Get the screen point from the view's click event
|
|
915
916
|
* view.on("click", async (event) => {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{createTask as t}from"../../../core/asyncUtils.js";import{throwIfAborted as
|
|
2
|
+
import{createTask as t}from"../../../core/asyncUtils.js";import{throwIfAborted as r,throwIfNotAbortError as e,isAborted as s,isAbortError as i}from"../../../core/promiseUtils.js";import{whenOnce as a}from"../../../core/reactiveUtils.js";import{diff as o}from"../../../core/accessorSupport/diffUtils.js";import{isGraphicsLayer as n,isSceneLayer as c}from"../../../layers/support/layerUtils.js";import{getDisplayedSymbol as l}from"../../../symbols/support/symbolUtils.js";import{GraphicState as u}from"../../3d/layers/graphics/GraphicState.js";async function y(t,e,s,i){const a=e.createQuery();a.objectIds=t,a.outFields=["*"],a.returnM=e.capabilities.data.supportsM,a.returnZ=e.capabilities.data.supportsZ,a.returnGeometry=!0,c(e)&&null!=e.infoFor3D||(a.outSpatialReference=s),!c(e)&&e.capabilities?.data.supportsTrueCurve&&(a.returnTrueCurves=!0);const o=await e.queryFeatures(a,{signal:i});return r(i),o.features}async function p(t,e,s){const i=await l(t,{useSourceLayer:!0,ignoreGraphicSymbol:!0,scale:e});r(s);null!=o(t.symbol,i)&&(t.symbol=i)}async function d(o,c,l,u,y){r(y),o.graphics.includes(u)||o.add(u);const p=l.sourceLayer,d=l.layer??p,b=l.getObjectId();let h=null,w=null;function g(e){return h?.abort(),n(d)?(l.visible=e,Promise.resolve()):(h=t(async t=>{const i=await m(c,d);if(r(t),i&&!c.destroyed&&!i.destroyed)try{null!=b&&"number"==typeof b&&"setVisibility"in i&&i.setVisibility?.(b,e)}catch(a){if(s(t)||c.destroyed||i.destroyed)return;throw a}}),h.promise)}async function v(){return w||(w=(async()=>{try{await g(!0);const t=c.destroyed?null:await m(c,d).catch(()=>{});t&&!t.destroyed&&await a(()=>!t.updating)}catch(t){if(t&&!i(t))throw t}finally{o.remove(u)}})(),c.addUpdatingPromise(w).catch(e),w)}try{await f(c,u,y),r(y),g(!1).catch(e)}catch(S){throw await v(),S}const j=async()=>v();return{remove:j,[Symbol.asyncDispose]:()=>j()}}async function m(t,r){if(!r||"building-component"===r.type)return;const e="subtype-sublayer"===r.type?r.parent:r;return e?t.whenLayerView(e):void 0}async function f(t,r,e){if("3d"===t.type){const s=new u({graphic:r}),i=t.trackGraphicState(s);try{await a(()=>s.displaying||s.error,e)}finally{i.remove()}}else await a(()=>r.visible,e)}export{y as fetchFullFeaturesByObjectId,d as swapForEditingSession,p as updateGraphicSymbolWhenRequired};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{clone as e}from"../../core/lang.js";import{getDeepValue as t}from"../../core/object.js";import{numberToJSON as n}from"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{isFeatureCollectionLayer as r}from"../../layers/support/layerUtils.js";import{addLayerUnsupportedError as i}from"./unsupportedErrors.js";const o=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wcs","wms","wmts"]),
|
|
2
|
+
import{clone as e}from"../../core/lang.js";import{getDeepValue as t}from"../../core/object.js";import{numberToJSON as n}from"../../core/accessorSupport/extensions/serializableProperty/writer.js";import{isFeatureCollectionLayer as r}from"../../layers/support/layerUtils.js";import{addLayerUnsupportedError as i}from"./unsupportedErrors.js";const o=new Set(["bing-maps","imagery","imagery-tile","map-image","open-street-map","tile","unknown","unsupported","vector-tile","web-tile","wcs","wms","wmts"]),a=new Set(["integrated-mesh-3dtiles"]),l=new Set(["annotation-feature","catalog","csv","dimension-feature","feature","geo-rss","geojson","group","imagery","imagery-tile","kml","knowledge-graph","map-image","map-notes","media","ogc-feature","oriented-imagery","parquet","route","stream","subtype-group","tile","unknown","unsupported","vector-tile","video","web-tile","wcs","wfs","wms","wmts"]),s=new Set([...l,"link-chart"]);function u(e){o.delete(e),l.delete(e)}function c(e){o.add(e),l.add(e)}function d(e){switch(e.layerContainerType){case"basemap-base-layers":return o;case"basemap-ground-layers":return a;case"operational-layers":return"link-chart"===e.origin?s:l;default:return null}}function m(e,t){if(t.restrictedWebMapWriting){const n=d(t);return null==n||n.has(e.type)&&!r(e)}return!0}function p(e,n){if(n)if(r(e)){const r=t("featureCollection.layers",n),i=r?.[0]?.layerDefinition;i&&f(e,i)}else"group"!==e.type&&f(e,n)}function f(e,t){"maxScale"in e&&(t.maxScale=n(e.maxScale)??void 0),"minScale"in e&&(t.minScale=n(e.minScale)??void 0)}function g(e,t){if(p(e,t),t&&(t.id=e.id,"blendMode"in e&&(t.blendMode=e.blendMode,"normal"===t.blendMode&&delete t.blendMode),t.opacity=n(e.opacity)??void 0,t.title=e.title||"Layer",t.visibility=e.visible,"legendEnabled"in e&&"wmts"!==e.type))if(r(e)){const n=t.featureCollection;n&&(n.showLegend=e.legendEnabled)}else t.showLegend=e.legendEnabled}function w(t,n,o){if(!t.persistenceEnabled)return null;if(!("write"in t)||!t.write)return i(o,t),null;if(r(t)&&!t.isTable)n=t.resourceInfo;else if(m(t,o)){const e={};return t.write(e,o)?e:null}return null!=n&&g(t,n=e(n)),n}export{c as disableRestrictedWriting,u as enableRestrictedWriting,w as getLayerJSON};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
const o=1/255.5;export{o as alphaCutoff};
|
|
2
|
+
const o=1/255.5,t=1-o;export{o as alphaCutoff,t as opacityCutoff};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{pushIfSome as e}from"../../core/arrayUtils.js";import{createTask as s}from"../../core/asyncUtils.js";import i from"../../core/Collection.js";import a from"../../core/Error.js";import{EventedAccessor as n}from"../../core/Evented.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as c}from"../../core/maybe.js";import{throwIfAborted as h,isAbortError as u}from"../../core/promiseUtils.js";import p from"../../core/ReactiveMap.js";import{on as m,sync as d,watch as g,syncAndInitial as f,initial as v,whenOnce as A}from"../../core/reactiveUtils.js";import{property as y,subclass as _}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as F}from"../../core/support/UpdatingHandles.js";import I from"../../geometry/SpatialReference.js";import{getGraphicLayer as w}from"../../graphic/graphicOriginUtils.js";import{system as E}from"../../time/constants.js";import{getAttachmentKey as C}from"./attachmentUtils.js";import{getLayerTimeZone as x,getEffectiveTimeZone as M,createReactiveGraphic as b,isAttributeFormSupportedLayerWithAttachments as V,layerSupportsQueryAttachments as k,queryAttachmentsForElements as T}from"./batchAttributeFormUtils.js";import{ReactiveContingentValuesManager as R}from"./ReactiveContingentValuesManager.js";import{parseFormTemplateString as L}from"./stringUtils.js";import{ValueChangeTransaction as S}from"./ValueChangeTransaction.js";import{ArcadeExecutorProvider as H}from"./expressions/ArcadeExecutorProvider.js";import{ExpressionsManager as P}from"./expressions/ExpressionsManager.js";import{ExpressionsModel as j}from"./expressions/ExpressionsModel.js";import B from"./inputs/BatchFormInputs.js";import{createBatchFormInputsFromBatchFormTemplate as O}from"./inputs/support/createBatchFormInputs.js";import{isGroupInput as G,isFieldInput as D}from"./inputs/support/inputUtils.js";import U from"./templates/BatchFormTemplate.js";import{createBatchFormTemplate as N}from"./templates/support/createBatchFormTemplate.js";import{isExcludedFromSharedForm as Z,isGroupElementTemplate as W}from"./templates/support/templateUtils.js";import{ContingentValuesManager as $}from"../support/ContingentValuesManager.js";import{isEmptyValue as z}from"../support/forms/formUtils.js";function K(t,e){return t?.find(t=>t.layer===e)}let q=class extends n{constructor(t){super(t),this._attachmentCache=new p,this.activeFeatureIndex=-1,this.attachmentsEnabled=!1,this.callbacks=null,this.disabled=!1,this.editType="NA",this.features=new i,this._hasAsyncArcadeExpressions=!1,this.highlightHelper=null,this.maximumFeatureCount=2e3,this.maximumFeatureCountWithComplexForms=50,this.map=null,this.pageStack=[],this.readOnly=!1,this.spatialReference=null,this.submitHasBeenAttempted=!1,this.timeZone=null,this.userHasChangedValues=!1,this.layerInfos=null,this._arcadeExecutorProvider=new H,this._activeAssociation=null,this._activeAssociationsInput=null,this._activeRelationshipInput=null,this._ownContingentValuesManager=null,this._activeFormInputsByElementId=new Map,this._emptyForm=new B({inputs:[]}),this._emptyFormTemplate=new U({elements:[]}),this._featureFormMap=new Map,this._prepareTask=null,this._reactiveGraphicLookup=new p,this._updatingHandles=new F,this._submitTask=null,this._layerTemplateMap=new p,this._workingFeatures=new i,this._expressionsManager=new P({arcadeContext:{editType:"NA",spatialReference:null,map:null,timeZone:E}}),this._getExternalErrorForFeature=(t,e)=>this._reactiveContingentValuesManager.getViolationTypeForField(t,e),this._getFieldValueOptionsForFeature=t=>this._reactiveContingentValuesManager.getAndWatchFieldValueOptions(t),this.sharedForm=this._emptyForm,this.sharedFormTemplate=this._emptyFormTemplate}initialize(){this.contingentValuesManager||(this.contingentValuesManager=this._ownContingentValuesManager=new $),this.addHandles([m(()=>this.features,"after-changes",()=>{this.goHome(),this.notifyChange("layers"),this._prepare()},d),g(()=>[this.attachmentsEnabled,this.features,this.map,this.timeZone,this.editType],()=>this._prepare(),d),g(()=>this.activeForm,()=>{this.goHome(),this._activeFormInputsByElementId.clear(),this._syncAttachments()},d),g(()=>this.activeFeature,()=>{this.goHome()},d),g(()=>this.page,t=>{const e=[...this.pageStack];if(e.includes(t))for(;e.length&&e.at(-1)!==t;)e.pop();else e.push(t);this.pageStack=e},f),g(()=>this.contingentValuesManager,t=>{l(this._reactiveContingentValuesManager),this._reactiveContingentValuesManager=new R({manager:t})},v)]),this._prepare()}destroy(){this._prepareTask=c(this._prepareTask),this._workingFeatures.destroyAll(),l(this._expressionsManager),l(this._reactiveContingentValuesManager),this._updatingHandles.destroy(),this._reactiveGraphicLookup=new p,this._emptyForm.destroy(),this._emptyFormTemplate.destroy(),this._ownContingentValuesManager=l(this._ownContingentValuesManager),this.highlightHelper?.removeAll()}get activeFeature(){const t=this.activeFeatureIndex;return t<0?null:this.features.at(t)}get activeForm(){if("batch"===this.mode)return this.sharedForm;const t=this._workingFeatures.at(this.activeFeatureIndex);if(!t)return this._emptyForm;const e=this._featureFormMap.get(t);if(e)return e;const s=this._makeBatchFormInputsForFeature(t);return s!==this._emptyForm&&this._featureFormMap.set(t,s),s}get activeLayer(){const{activeFeature:t}=this;if(!t)return null;return w(t)??null}get activeAssociation(){return this._activeAssociation}get activeAssociationsInput(){return this._activeAssociationsInput}get activeAssociationType(){return this.activeAssociationsInput?.activeAssociationType}get activeRelationshipInput(){return this._activeRelationshipInput}get calculating(){return this._expressionsManager.calculating}get expressionsManager(){return this._expressionsManager}get canGoBack(){return this.pageStack.length>1}get expressionEvaluationFailed(){return this._expressionsManager.expressionEvaluationFailed}get hasNonActiveInvalidFeatures(){if("batch"===this.mode)return!1;const{activeFeature:t}=this;return this.invalidFeatures.some(e=>e!==t)}get hasAsyncArcadeExpressions(){return this._hasAsyncArcadeExpressions}get hasTooManyFeatures(){return this._workingFeatures.length>this.maximumFeatureCount}get hasTooManyComplexFeatures(){return this._workingFeatures.length>this.maximumFeatureCountWithComplexForms&&this.hasAsyncArcadeExpressions}get invalidFeatures(){return this.sharedForm.invalidFeatures}get hasVisibleInputs(){return this.visibleInputs.length>0}get hasLayersWithContingentValues(){const t=this.contingentValuesManager;for(const e of this.layers)if(t.getFieldsWithContingentValues(e).size>0)return!0;return!1}get formDescription(){return this._computeFormHeaderField(this.activeForm?.description)}get formTitle(){return this._computeFormHeaderField(this.activeForm?.title)}get effectiveTimeZone(){const{activeLayer:t,timeZone:e}=this;if(!t)return e??"system";const s=x(t);return M(e,s)}get visibleInputs(){return this.activeForm.inputs.filter(t=>t.visible)}get noVisibleElementsReason(){if(this.hasVisibleInputs)return null;if(0===this.activeForm.inputs.length)return"noElements";const t=new Set;for(const e of this.activeForm.inputs)switch(e.visibilityCode){case"hidden:not-in-all-layers":case"hidden:no-domain-in-common":t.add("noElementsInCommon");break;case"hidden:field-definition":case"hidden:group-visibility-expression:all-features":case"hidden:visibility-expression:all-features":t.add("allElementsHidden");break;case"hidden:group-visibility-expression:some-features":case"hidden:visibility-expression:some-features":return"elementsHiddenInSome"}return t.has("allElementsHidden")?"allElementsHidden":"noElementsInCommon"}get page(){return this.showingSelectedAttachmentReplacePage&&this.selectedAttachmentDetails?"replacing-attachment":this.selectedAttachmentDetails?"viewing-attachment-details":this.selectedAttachmentAddInput?"adding-attachments":this.selectedAttachmentListInput?"viewing-attachments":this.activeAssociationsInput?.associatedLayer?"viewing-associated-features":this.activeAssociationsInput?"viewing-associated-layers":this.activeRelationshipInput?.showAllRelatedRecords?"viewing-related-records":this.activeRelationshipInput?.showAllCategories?"viewing-related-categories":"default"}get status(){const t=this._prepareTask;return null==t?"not-loaded":t.finished?null!=t.error?"failed":"loaded":"loading"}get updating(){return this._updatingHandles.updating||this.calculating}get valid(){return this.sharedForm.valid&&Array.from(this._featureFormMap.values()).every(t=>t.valid)}get layers(){const t=new Set;return this.features.forEach(e=>{const s=w(e);s&&t.add(s)}),Array.from(t)}get mode(){return this.activeFeatureIndex>-1?"single":"batch"}submit(){if(this.submitHasBeenAttempted=!0,this.validateContingentValues(this._workingFeatures),!this._hasPendingAttachmentHydration)return this._emitSubmit(),Promise.resolve();if(this._submitTask)return this._submitTask.promise;const t=s(async()=>{await Promise.all(this._allAttachmentInputs.map(t=>t.waitForPendingAttachmentUpdateData())),this._emitSubmit()});return this._submitTask=t,t.promise.finally(()=>{this._submitTask===t&&(this._submitTask=null)}),t.promise}get selectedAttachment(){return this._get("selectedAttachment")??null}set selectedAttachment(t){this.showingSelectedAttachmentReplacePage=!1,this._set("selectedAttachment",t),null!=t&&(this.selectedAttachmentAddElementId=null)}get selectedAttachmentAddElementId(){return this._get("selectedAttachmentAddElementId")??null}set selectedAttachmentAddElementId(t){this.showingSelectedAttachmentReplacePage=!1,this._set("selectedAttachmentAddElementId",t),null!=t&&(this.selectedAttachment=null,this.selectedAttachmentListElementId=null)}get selectedAttachmentListElementId(){return this._get("selectedAttachmentListElementId")??null}set selectedAttachmentListElementId(t){this._set("selectedAttachmentListElementId",t),null!=t&&(this.selectedAttachment=null,this.selectedAttachmentAddElementId=null)}get selectedAttachmentListInput(){const t=this.selectedAttachmentListElementId,e=this.activeForm;return t&&e&&e.allAttachmentElementInputs.find(e=>e.template.elementId===t)||null}get showingSelectedAttachmentReplacePage(){return this._get("showingSelectedAttachmentReplacePage")??!1}set showingSelectedAttachmentReplacePage(t){this._set("showingSelectedAttachmentReplacePage",t&&null!=this.selectedAttachmentDetails)}get selectedAttachmentAddInput(){const t=this.selectedAttachmentAddElementId,e=this.activeForm;return t&&e&&e.allAttachmentElementInputs.find(e=>e.template.elementId===t)||null}get selectedAttachmentDetails(){const t=this.selectedAttachment,e=this.activeForm;if(!t||!e)return null;const s=e.allAttachmentElementInputs.find(e=>e.template.elementId===t.elementId);if(!s)return null;const i=s.attachments.findIndex(e=>C(e)===t.attachmentKey);if(-1===i)return null;return{attachment:s.attachments[i],input:s}}get _allAttachmentInputs(){const t=[...this.sharedForm.allAttachmentElementInputs];for(const e of this._featureFormMap.values())t.push(...e.allAttachmentElementInputs);return t}get _hasPendingAttachmentHydration(){return this._allAttachmentInputs.some(t=>t.hasPendingAttachmentUpdateData)}findFieldInput(t){if(null==t)return;const e=this._activeFormInputsByElementId;if(e.has(t))return e.get(t);const s=this.activeForm.allFieldInputs.find(e=>e.template.elementId===t);return void 0!==s?(e.set(t,s),s):void 0}getFirstVisibleInvalidFieldInput(){if(this.hasVisibleInputs&&!this.activeForm.valid)for(const t of this.visibleInputs){if(G(t)){const e=t.inputs.find(t=>D(t)&&!t.valid);if(e)return{input:e,groupInput:t}}if(D(t)&&!t.valid)return{input:t}}}getFieldInputValue(t){return this.findFieldInput(t)?.value}getValues(t){const e=this._reactiveGraphicLookup.get(t);if(!e)throw new a("feature-not-found","The given feature is not present in the BatchAttributeForm");return{...e.attributes}}async goBack(){switch(this.page){case"replacing-attachment":return void this.setShowingSelectedAttachmentReplacePage(!1);case"viewing-attachment-details":return void this.setSelectedAttachment(null);case"adding-attachments":return void this.setSelectedAttachmentAddElementId(null);case"viewing-attachments":return void this.setSelectedAttachmentListElementId(null);case"viewing-associated-features":return void this.setActiveAssociationsLayer(null);case"viewing-associated-layers":return void this.setActiveAssociationsInput(null);case"viewing-related-categories":case"viewing-related-records":return void this.clearActiveRelationshipCategoryOrInput();default:return}}async goHome(){this.setShowingSelectedAttachmentReplacePage(!1),this.setSelectedAttachment(null),this.setSelectedAttachmentAddElementId(null),this.setSelectedAttachmentListElementId(null),this.setActiveAssociationsLayer(null),this.setActiveAssociationsInput(null),this.clearAllRelationshipSettings()}notifyGeometriesChanged(t){const e=[];for(const s of t){const t=this._reactiveGraphicLookup.get(s);t&&(e.push(t),t.geometry=s.geometry)}this._updatingHandles.consumePromise(this._valueChangeTransaction(async t=>this._expressionsManager.runGeometryDependentExpressions(e,t),"user"))}async overrideOriginalFeature(t,e){await(this._prepareTask?.promise);const s=this._reactiveGraphicLookup.get(t);s&&(s.original=e,this._updatingHandles.consumePromise(this._valueChangeTransaction(t=>this._expressionsManager.runOriginalFeatureDependentExpressions(s,t),"expression")))}async setFieldInputValue(t,e){const{fieldName:s}=t;await this._updatingHandles.addPromise(this._valueChangeTransaction(async i=>{for(const a of t.features)i.setValue(a,s,e)},"user",t))}async setFieldInputValuePerFeature(t,e){await this._updatingHandles.addPromise(this._valueChangeTransaction(async s=>{for(const[i,a]of e)s.setValue(i,t.fieldName,a);s.hasChanges&&(t.userHasChangedValue=!0)},"user",t))}async setValueForFieldName(t,e,s){await this._updatingHandles.addPromise(this._valueChangeTransaction(async i=>{for(const a of s){const s=this._reactiveGraphicLookup.get(a);s&&i.setValue(s,t,e)}},"user",t))}async setValuePerFeatureForFieldName(t,e){await this._updatingHandles.addPromise(this._valueChangeTransaction(async s=>{for(const[i,a]of e){const e=this._reactiveGraphicLookup.get(i);e&&s.setValue(e,t,a)}},"user",t))}async setFieldValue(t,e){const s=this.activeForm.allFieldInputs.find(e=>e.fieldName===t);if(null==s)throw new a("no-field-input-found",`Cannot set the value of FieldInput with field name: ${t} because none was found in the active form`);await this.setFieldInputValue(s,e)}async setValue(t,e){const s=this.findFieldInput(t);if(null==s)throw new a("no-FieldInput-found",`Cannot set the value of FieldInput with ID: ${t} because none was found in the active form`);await this.setFieldInputValue(s,e)}async stageAddAttachments(t,e){if(0===e.length)return[];const s=this._findAttachmentInput(t);if(!s)return[];const i=await s.stageAddAttachments(e,this._expressionsManager.arcadeContext);return 0===i.length||(this.userHasChangedValues=!0,this._emitAttachmentsChange(s)),i}stageDeleteAttachment(t,e){const s=this._findAttachmentInput(t);if(!s)return;const i=this._findAttachment(s,e);i&&(s.stageDeleteAttachment(i),this.userHasChangedValues=!0,this._emitAttachmentsChange(s))}async stageRenameAttachment(t,e,s){const i=this._findAttachmentInput(t);if(!i)return;const a=this._findAttachment(i,e);a&&0!==s.trim().length&&(i.stageRenameAttachment(a,s.trim()),this.userHasChangedValues=!0,await i.ensureStagedUpdateData(a),this._emitAttachmentsChange(i))}async stageReplaceAttachment(t,e,s){const i=this._findAttachmentInput(t);if(!i)return!1;const a=this._findAttachment(i,e);if(!a)return!1;return!!await i.stageReplaceAttachment(a,s,this._expressionsManager.arcadeContext)&&(this.userHasChangedValues=!0,this._emitAttachmentsChange(i),!0)}clearAttachmentChanges(t){const e=this._findAttachmentInput(t);e&&(e.clearAttachmentChanges(),this._emitAttachmentsChange(e))}setActiveAssociation(t){this._activeAssociation=t}setActiveAssociationsInput(t){this._activeAssociationsInput=t}setActiveAssociationsLayer(t){this._activeAssociationsInput?.setAssociatedLayer(t)}setActiveAssociationType(t){this._activeAssociationsInput?.setActiveAssociationType(t)}setActiveRelationshipInput(t){t||this._activeRelationshipInput?.setActiveCategory(null),this._activeRelationshipInput=t}setActiveRelationshipCategory(t,e){e.setActiveCategory(t),this.setActiveRelationshipInput(e)}clearAllRelationshipSettings(){const t=this.activeRelationshipInput;t&&(t.setActiveCategory(null),t.setShowAllCategories(!1),t.setShowAllRelatedRecords(!1),this._activeRelationshipInput=null)}clearActiveRelationshipCategoryOrInput(){const t=this.activeRelationshipInput;t&&(t.showAllRelatedRecords?t.showAllCategories?t.setActiveCategory(null):this.setActiveRelationshipInput(null):t.showAllCategories&&(t.setShowAllCategories(!1),this.setActiveRelationshipInput(null)))}resetAttachmentChanges(t,e){const s=this._findAttachmentInput(t);if(!s)return;const i=this._findAttachment(s,e);i&&(s.discardStagedEdits(i),this._emitAttachmentsChange(s))}setSelectedAttachment(t){this.selectedAttachment=t??null}setShowingSelectedAttachmentReplacePage(t){this.showingSelectedAttachmentReplacePage=t}setSelectedAttachmentAddElementId(t){this.selectedAttachmentAddElementId=t??null}setSelectedAttachmentListElementId(t){this.selectedAttachmentListElementId=t??null}userChangesHaveMadeFeatureInvalid(t){return!!this._reactiveGraphicLookup.get(t)?.userChangesHaveMadeInvalid}validate(){return!1}validateContingentValues(t,e=!1){if(e&&!this.submitHasBeenAttempted)for(const s of t)this._reactiveContingentValuesManager.validateContingenciesForNonNullFields(s);else for(const s of t)this._reactiveContingentValuesManager.validateContingencyConstraints(s,{includeIncompleteViolations:!0})}_makeBatchFormInputsForFeature(t){const e=this._layerTemplateMap.get(t.layer);return e?O(e,{allFeatures:new i([t]),expressionsManager:this._expressionsManager,getExternalErrorForFeature:this._getExternalErrorForFeature,getFieldValueOptionsForFeature:this._getFieldValueOptionsForFeature,map:this.map}):this._emptyForm}_computeFormHeaderField(t){const{activeFeature:e,activeLayer:s}=this;return t&&s&&e?L({attributes:e?.attributes,label:t,layer:s,timeZone:this.effectiveTimeZone}):null}_makeSubmitResults(){const t=new Map;for(const[s,i]of this._reactiveGraphicLookup){const a=[],n=[],r=this._featureFormMap.get(i)?.allAttachmentElementInputs??[];for(const t of r)e(a,t.toSubmitEdits()),t.valid||n.push(t.template.elementId);t.set(s,{feature:s,values:{...i.attributes},invalidFields:[],attachmentEdits:a,invalidAttachmentElementIds:n})}for(const e of this.sharedForm.allFieldInputs)for(const s of e.invalidFeatures)t.get(s)?.invalidFields.push(e.fieldName);return Array.from(t.values())}_emitSubmit(){this.emit("submit",{name:"submit",results:this._makeSubmitResults(),valid:this.valid})}_findAttachmentInput(t){const e=this.activeForm.allAttachmentElementInputs.find(e=>e.template.elementId===t);return e||r.getLogger(this).error(`Attachment input not found for elementId '${t}'`),e}_findAttachment(t,e){const s=t.findAttachment(e);return s||r.getLogger(this).error(`Attachment '${e}' not found for attachment element '${t.template.elementId}'`),s}_makeAttachmentEdits(t){const s=[];for(const i of t.allAttachmentElementInputs)e(s,i.toSubmitEdits());return s}_emitAttachmentsChange(t){const e=t.single.feature;if(!e)return;const s=this._featureFormMap.get(e);this.emit("attachments-change",{name:"attachments-change",feature:e.source,attachmentEdits:this._makeAttachmentEdits(s??this.activeForm),valid:this.valid})}async _valueChangeTransaction(t,e,s){const i=new S(this,e,"string"==typeof s?s:s?.fieldName);if(await t(i),"user"===e&&await this._expressionsManager.runExpressionsDependentOnChangedFields(i),await i.close(),i.hasChanges&&s){const t="string"==typeof s?this.activeForm.allFieldInputs.find(t=>t.fieldName===s):s;t&&(t.userHasChangedValue=!0)}}_prepare(){this._hasAsyncArcadeExpressions=!1,this._prepareTask=c(this._prepareTask),l(this._expressionsManager),this.userHasChangedValues=!1,this._expressionsManager=new P({arcadeContext:{editType:this.editType,spatialReference:this.spatialReference??I.WebMercator,map:this.map,timeZone:this.timeZone||"system"}});const{attachmentsEnabled:t,layers:e}=this;if(0===e.length)return;const i=s(async s=>{try{h(s),this._updateWorkingFeatures(),this.contingentValuesManager.layers.addMany(e);const i=new Map;await Promise.all(e.map(t=>t.load()));for(const a of e){const e=K(this.layerInfos,a),n=await N(a,{arcadeExecutorProvider:this._arcadeExecutorProvider,formTimeZone:this.timeZone,attachmentsEnabled:t},e?.formTemplate);h(s),this._layerTemplateMap.set(a,n);const r=n.getExpressionExecutorsForLayer(a);if(this._expressionsManager.layerExpressionsModelMap.set(a,new j({preserveFieldValuesWhenHidden:n.preserveFieldValuesWhenHidden,executorMap:r})),!this._hasAsyncArcadeExpressions)for(const t of r.keys()){const e=r.get(t);if(this._hasAsyncArcadeExpressions=!0===(e.editableExpression?.isAsync||e.requiredExpression?.isAsync||e.valueExpression?.isAsync||e.visibilityExpression?.isAsync),this._hasAsyncArcadeExpressions)break}for(const t of n.elements){if(Z(t))continue;const e=t.clone();W(e)&&(e.elements=e.elements.filter(t=>!Z(t)));const{elementId:s}=e;i.has(s)?i.get(s).foldIn(e):i.set(s,e)}}if(this.hasTooManyComplexFeatures)throw new a("too-many-features-with-complex-forms","There are too many features to load into the form with the configured complexity");if(this.hasTooManyFeatures)throw new a("too-many-features","There are too many features to load into the form.");const n=new U({elements:Array.from(i.values())});this.sharedFormTemplate=n,this.sharedForm=O(n,{allFeatures:this._workingFeatures,expressionsManager:this._expressionsManager,getExternalErrorForFeature:this._getExternalErrorForFeature,getFieldValueOptionsForFeature:this._getFieldValueOptionsForFeature,map:this.map}),await this._valueChangeTransaction(async t=>await this._expressionsManager.runAllExpressions(this._workingFeatures.toArray(),t),"expression"),await A(()=>!this.contingentValuesManager.updating)}catch(i){throw u(i)||r.getLogger(this).error("Failed preparing form",i),i}});this._updatingHandles.consumePromise(i.promise),this._prepareTask=i}_updateWorkingFeatures(){this._workingFeatures.destroyAll(),this._reactiveContingentValuesManager.reset();for(const e of this._featureFormMap.values())e.destroy();this._featureFormMap.clear(),this._attachmentCache.clear();const{features:t}=this;if(this._reactiveGraphicLookup=new p,0!==t.length){this._workingFeatures.addMany(t.map(b));for(const t of this._workingFeatures)this._reactiveGraphicLookup.set(t.source,t)}}async _syncAttachments(){const{activeFeature:t,activeLayer:e,activeForm:s}=this;if(!(t&&s&&V(e)&&k(e)))return;const i=t.getObjectId();if(null==i)return;const a=this._attachmentCache.get(e),n=s.allAttachmentElementInputs;if(!n.length)return;let r;if(a){const t=a.get(i);t&&(r=t)}if(!r){r=await T(e,i,n);o(this._attachmentCache,e,()=>new p).set(i,r)}for(const o of n)o.applyFetchedAttachments(Y(o,r))}get test(){return{expressionsManager:this._expressionsManager,reactiveGraphicLookup:this._reactiveGraphicLookup}}};t([y()],q.prototype,"_attachmentCache",void 0),t([y({readOnly:!0})],q.prototype,"activeFeature",null),t([y()],q.prototype,"activeFeatureIndex",void 0),t([y({readOnly:!0})],q.prototype,"activeForm",null),t([y({readOnly:!0})],q.prototype,"activeLayer",null),t([y()],q.prototype,"activeAssociation",null),t([y()],q.prototype,"activeAssociationsInput",null),t([y()],q.prototype,"activeAssociationType",null),t([y()],q.prototype,"activeRelationshipInput",null),t([y()],q.prototype,"attachmentsEnabled",void 0),t([y()],q.prototype,"callbacks",void 0),t([y()],q.prototype,"disabled",void 0),t([y()],q.prototype,"calculating",null),t([y()],q.prototype,"canGoBack",null),t([y()],q.prototype,"contingentValuesManager",void 0),t([y()],q.prototype,"editType",void 0),t([y()],q.prototype,"features",void 0),t([y()],q.prototype,"expressionEvaluationFailed",null),t([y()],q.prototype,"hasNonActiveInvalidFeatures",null),t([y()],q.prototype,"hasAsyncArcadeExpressions",null),t([y()],q.prototype,"_hasAsyncArcadeExpressions",void 0),t([y()],q.prototype,"invalidFeatures",null),t([y()],q.prototype,"hasVisibleInputs",null),t([y()],q.prototype,"hasLayersWithContingentValues",null),t([y()],q.prototype,"formDescription",null),t([y()],q.prototype,"formTitle",null),t([y()],q.prototype,"effectiveTimeZone",null),t([y()],q.prototype,"highlightHelper",void 0),t([y()],q.prototype,"maximumFeatureCount",void 0),t([y()],q.prototype,"maximumFeatureCountWithComplexForms",void 0),t([y()],q.prototype,"visibleInputs",null),t([y()],q.prototype,"map",void 0),t([y()],q.prototype,"noVisibleElementsReason",null),t([y()],q.prototype,"page",null),t([y()],q.prototype,"pageStack",void 0),t([y()],q.prototype,"readOnly",void 0),t([y()],q.prototype,"spatialReference",void 0),t([y()],q.prototype,"submitHasBeenAttempted",void 0),t([y()],q.prototype,"timeZone",void 0),t([y()],q.prototype,"updating",null),t([y()],q.prototype,"valid",null),t([y()],q.prototype,"layers",null),t([y()],q.prototype,"mode",null),t([y()],q.prototype,"sharedForm",void 0),t([y()],q.prototype,"sharedFormTemplate",void 0),t([y()],q.prototype,"selectedAttachment",null),t([y()],q.prototype,"selectedAttachmentAddElementId",null),t([y()],q.prototype,"selectedAttachmentListElementId",null),t([y()],q.prototype,"selectedAttachmentListInput",null),t([y()],q.prototype,"showingSelectedAttachmentReplacePage",null),t([y()],q.prototype,"selectedAttachmentAddInput",null),t([y()],q.prototype,"selectedAttachmentDetails",null),t([y()],q.prototype,"userHasChangedValues",void 0),t([y()],q.prototype,"layerInfos",void 0),t([y()],q.prototype,"_arcadeExecutorProvider",void 0),t([y()],q.prototype,"_activeAssociation",void 0),t([y()],q.prototype,"_activeAssociationsInput",void 0),t([y()],q.prototype,"_activeRelationshipInput",void 0),t([y()],q.prototype,"_prepareTask",void 0),t([y()],q.prototype,"_reactiveGraphicLookup",void 0),t([y()],q.prototype,"_allAttachmentInputs",null),t([y()],q.prototype,"_hasPendingAttachmentHydration",null),t([y()],q.prototype,"_layerTemplateMap",void 0),t([y()],q.prototype,"_workingFeatures",void 0),t([y()],q.prototype,"_expressionsManager",void 0),q=t([_("esri.widgets.BatchAttributeForm.BatchAttributeFormViewModel")],q);const J=q;function Q(t){return null!=t&&t.trim().length>0}function X(t,e){const s=t.keywords;return Q(s)&&s.toLowerCase()===e}function Y(t,e){const s="attachment"===t.input?.type?t.input.attachmentAssociationType:"exact",i=t.attachmentKeyword;if("any"===s)return e;if("exactOrNone"===s){if(z(i))return e.filter(t=>!Q(t.keywords));const t=i.toLowerCase();return e.filter(e=>!Q(e.keywords)||X(e,t))}if(z(i))return e;const a=i.toLowerCase();return e.filter(t=>X(t,a))}export{J as default};
|
|
2
|
+
import{__decorate as t}from"tslib";import{pushIfSome as e}from"../../core/arrayUtils.js";import{createTask as s}from"../../core/asyncUtils.js";import i from"../../core/Collection.js";import a from"../../core/Error.js";import{EventedAccessor as n}from"../../core/Evented.js";import r from"../../core/Logger.js";import{getOrCreateMapValue as o}from"../../core/MapUtils.js";import{destroyMaybe as l,abortMaybe as c}from"../../core/maybe.js";import{throwIfAborted as h,isAbortError as u}from"../../core/promiseUtils.js";import p from"../../core/ReactiveMap.js";import{on as m,sync as d,watch as g,syncAndInitial as f,initial as v,whenOnce as A}from"../../core/reactiveUtils.js";import{property as y,subclass as _}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as F}from"../../core/support/UpdatingHandles.js";import I from"../../geometry/SpatialReference.js";import{getGraphicLayer as w}from"../../graphic/graphicOriginUtils.js";import{system as E}from"../../time/constants.js";import{getAttachmentKey as C}from"./attachmentUtils.js";import{getLayerTimeZone as x,getEffectiveTimeZone as M,createReactiveGraphic as b,isAttributeFormSupportedLayerWithAttachments as V,layerSupportsQueryAttachments as k,queryAttachmentsForElements as T}from"./batchAttributeFormUtils.js";import{ReactiveContingentValuesManager as R}from"./ReactiveContingentValuesManager.js";import{parseFormTemplateString as L}from"./stringUtils.js";import{ValueChangeTransaction as S}from"./ValueChangeTransaction.js";import{ArcadeExecutorProvider as H}from"./expressions/ArcadeExecutorProvider.js";import{ExpressionsManager as P}from"./expressions/ExpressionsManager.js";import{ExpressionsModel as j}from"./expressions/ExpressionsModel.js";import B from"./inputs/BatchFormInputs.js";import{createBatchFormInputsFromBatchFormTemplate as O}from"./inputs/support/createBatchFormInputs.js";import{isGroupInput as G,isFieldInput as D}from"./inputs/support/inputUtils.js";import U from"./templates/BatchFormTemplate.js";import{createBatchFormTemplate as N}from"./templates/support/createBatchFormTemplate.js";import{isExcludedFromSharedForm as Z,isGroupElementTemplate as W}from"./templates/support/templateUtils.js";import{ContingentValuesManager as $}from"../support/ContingentValuesManager.js";import{isEmptyValue as z}from"../support/forms/formUtils.js";function K(t,e){return t?.find(t=>t.layer===e)}let q=class extends n{constructor(t){super(t),this._attachmentCache=new p,this.activeFeatureIndex=-1,this.attachmentsEnabled=!1,this.callbacks=null,this.disabled=!1,this.editType="NA",this.features=new i,this._hasAsyncArcadeExpressions=!1,this.highlightHelper=null,this.maximumFeatureCount=2e3,this.maximumFeatureCountWithComplexForms=50,this.map=null,this.pageStack=[],this.readOnly=!1,this.spatialReference=null,this.submitHasBeenAttempted=!1,this.timeZone=null,this.userHasChangedValues=!1,this.layerInfos=null,this._arcadeExecutorProvider=new H,this._activeAssociation=null,this._activeAssociationsInput=null,this._activeRelationshipInput=null,this._ownContingentValuesManager=null,this._activeFormInputsByElementId=new Map,this._emptyForm=new B({inputs:[]}),this._emptyFormTemplate=new U({elements:[]}),this._featureFormMap=new Map,this._prepareTask=null,this._reactiveGraphicLookup=new p,this._updatingHandles=new F,this._submitTask=null,this._layerTemplateMap=new p,this._workingFeatures=new i,this._expressionsManager=new P({arcadeContext:{editType:"NA",spatialReference:null,map:null,timeZone:E}}),this._getExternalErrorForFeature=(t,e)=>this._reactiveContingentValuesManager.getViolationTypeForField(t,e),this._getFieldValueOptionsForFeature=t=>this._reactiveContingentValuesManager.getAndWatchFieldValueOptions(t),this.sharedForm=this._emptyForm,this.sharedFormTemplate=this._emptyFormTemplate}initialize(){this.contingentValuesManager||(this.contingentValuesManager=this._ownContingentValuesManager=new $),this.addHandles([m(()=>this.features,"after-changes",()=>{this.goHome(),this.notifyChange("layers"),this._prepare()},d),g(()=>[this.attachmentsEnabled,this.features,this.map,this.timeZone,this.editType],()=>this._prepare(),d),g(()=>this.activeForm,()=>{this.goHome(),this._activeFormInputsByElementId.clear(),this._syncAttachments()},d),g(()=>this.activeFeature,()=>{this.goHome()},d),g(()=>this.page,t=>{const e=[...this.pageStack];if(e.includes(t))for(;e.length&&e.at(-1)!==t;)e.pop();else e.push(t);this.pageStack=e},f),g(()=>this.contingentValuesManager,t=>{l(this._reactiveContingentValuesManager),this._reactiveContingentValuesManager=new R({manager:t})},v)]),this._prepare()}destroy(){this._prepareTask=c(this._prepareTask),this._workingFeatures.destroyAll(),l(this._expressionsManager),l(this._reactiveContingentValuesManager),this._updatingHandles.destroy(),this._reactiveGraphicLookup=new p,this._emptyForm.destroy(),this._emptyFormTemplate.destroy(),this._ownContingentValuesManager=l(this._ownContingentValuesManager),this.highlightHelper?.removeAll()}get activeFeature(){const t=this.activeFeatureIndex;return t<0?null:this.features.at(t)}get activeForm(){if("batch"===this.mode)return this.sharedForm;const t=this._workingFeatures.at(this.activeFeatureIndex);if(!t)return this._emptyForm;const e=this._featureFormMap.get(t);if(e)return e;const s=this._makeBatchFormInputsForFeature(t);return s!==this._emptyForm&&this._featureFormMap.set(t,s),s}get activeLayer(){const{activeFeature:t}=this;if(!t)return null;return w(t)??null}get activeAssociation(){return this._activeAssociation}get activeAssociationsInput(){return this._activeAssociationsInput}get activeAssociationType(){return this.activeAssociationsInput?.activeAssociationType}get activeRelationshipInput(){return this._activeRelationshipInput}get calculating(){return this._expressionsManager.calculating}get expressionsManager(){return this._expressionsManager}get canGoBack(){return this.pageStack.length>1}get expressionEvaluationFailed(){return this._expressionsManager.expressionEvaluationFailed}get hasNonActiveInvalidFeatures(){if("batch"===this.mode)return!1;const{activeFeature:t}=this;return this.invalidFeatures.some(e=>e!==t)}get hasAsyncArcadeExpressions(){return this._hasAsyncArcadeExpressions}get hasTooManyFeatures(){return this._workingFeatures.length>this.maximumFeatureCount}get hasTooManyComplexFeatures(){return this._workingFeatures.length>this.maximumFeatureCountWithComplexForms&&this.hasAsyncArcadeExpressions}get invalidFeatures(){return this.sharedForm.invalidFeatures}get hasVisibleInputs(){return this.visibleInputs.length>0}get hasLayersWithContingentValues(){const t=this.contingentValuesManager;for(const e of this.layers)if(t.getFieldsWithContingentValues(e).size>0)return!0;return!1}get formDescription(){return this._computeFormHeaderField(this.activeForm?.description)}get formTitle(){return this._computeFormHeaderField(this.activeForm?.title)}get effectiveTimeZone(){const{activeLayer:t,timeZone:e}=this;if(!t)return e??"system";const s=x(t);return M(e,s)}get visibleInputs(){return this.activeForm.inputs.filter(t=>t.visible)}get noVisibleElementsReason(){if(this.hasVisibleInputs)return null;if(0===this.activeForm.inputs.length)return"noElements";const t=new Set;for(const e of this.activeForm.inputs)switch(e.visibilityCode){case"hidden:not-in-all-layers":case"hidden:no-domain-in-common":t.add("noElementsInCommon");break;case"hidden:field-definition":case"hidden:group-visibility-expression:all-features":case"hidden:visibility-expression:all-features":t.add("allElementsHidden");break;case"hidden:group-visibility-expression:some-features":case"hidden:visibility-expression:some-features":return"elementsHiddenInSome"}return t.has("allElementsHidden")?"allElementsHidden":"noElementsInCommon"}get page(){return this.showingSelectedAttachmentReplacePage&&this.selectedAttachmentDetails?"replacing-attachment":this.selectedAttachmentDetails?"viewing-attachment-details":this.selectedAttachmentAddInput?"adding-attachments":this.selectedAttachmentListInput?"viewing-attachments":this.activeAssociationsInput?.associatedLayer?"viewing-associated-features":this.activeAssociationsInput?"viewing-associated-layers":this.activeRelationshipInput?.showAllRelatedRecords?"viewing-related-records":this.activeRelationshipInput?.showAllCategories?"viewing-related-categories":"default"}get status(){const t=this._prepareTask;return null==t?"not-loaded":t.finished?null!=t.error?"failed":"loaded":"loading"}get updating(){return this._updatingHandles.updating||this.calculating}get valid(){return this.sharedForm.valid&&Array.from(this._featureFormMap.values()).every(t=>t.valid)}get layers(){const t=new Set;return this.features.forEach(e=>{const s=w(e);s&&t.add(s)}),Array.from(t)}get mode(){return this.activeFeatureIndex>-1?"single":"batch"}submit(){if(this.submitHasBeenAttempted=!0,this.validateContingentValues(this._workingFeatures),!this._hasPendingAttachmentHydration)return this._emitSubmit(),Promise.resolve();if(this._submitTask)return this._submitTask.promise;const t=s(async()=>{await Promise.all(this._allAttachmentInputs.map(t=>t.waitForPendingAttachmentUpdateData())),this._emitSubmit()});return this._submitTask=t,t.promise.finally(()=>{this._submitTask===t&&(this._submitTask=null)}),t.promise}get selectedAttachment(){return this._get("selectedAttachment")??null}set selectedAttachment(t){this.showingSelectedAttachmentReplacePage=!1,this._set("selectedAttachment",t),null!=t&&(this.selectedAttachmentAddElementId=null)}get selectedAttachmentAddElementId(){return this._get("selectedAttachmentAddElementId")??null}set selectedAttachmentAddElementId(t){this.showingSelectedAttachmentReplacePage=!1,this._set("selectedAttachmentAddElementId",t),null!=t&&(this.selectedAttachment=null,this.selectedAttachmentListElementId=null)}get selectedAttachmentListElementId(){return this._get("selectedAttachmentListElementId")??null}set selectedAttachmentListElementId(t){this._set("selectedAttachmentListElementId",t),null!=t&&(this.selectedAttachment=null,this.selectedAttachmentAddElementId=null)}get selectedAttachmentListInput(){const t=this.selectedAttachmentListElementId,e=this.activeForm;return t&&e&&e.allAttachmentElementInputs.find(e=>e.template.elementId===t)||null}get showingSelectedAttachmentReplacePage(){return this._get("showingSelectedAttachmentReplacePage")??!1}set showingSelectedAttachmentReplacePage(t){this._set("showingSelectedAttachmentReplacePage",t&&null!=this.selectedAttachmentDetails)}get selectedAttachmentAddInput(){const t=this.selectedAttachmentAddElementId,e=this.activeForm;return t&&e&&e.allAttachmentElementInputs.find(e=>e.template.elementId===t)||null}get selectedAttachmentDetails(){const t=this.selectedAttachment,e=this.activeForm;if(!t||!e)return null;const s=e.allAttachmentElementInputs.find(e=>e.template.elementId===t.elementId);if(!s)return null;const i=s.attachments.findIndex(e=>C(e)===t.attachmentKey);if(-1===i)return null;return{attachment:s.attachments[i],input:s}}get _allAttachmentInputs(){const t=[...this.sharedForm.allAttachmentElementInputs];for(const e of this._featureFormMap.values())t.push(...e.allAttachmentElementInputs);return t}get _hasPendingAttachmentHydration(){return this._allAttachmentInputs.some(t=>t.hasPendingAttachmentUpdateData)}findFieldInput(t){if(null==t)return;const e=this._activeFormInputsByElementId;if(e.has(t))return e.get(t);const s=this.activeForm.allFieldInputs.find(e=>e.template.elementId===t);return void 0!==s?(e.set(t,s),s):void 0}getFirstVisibleInvalidFieldInput(){if(this.hasVisibleInputs&&!this.activeForm.valid)for(const t of this.visibleInputs){if(G(t)){const e=t.inputs.find(t=>D(t)&&!t.valid);if(e)return{input:e,groupInput:t}}if(D(t)&&!t.valid)return{input:t}}}getFieldInputValue(t){return this.findFieldInput(t)?.value}getValues(t){const e=this._reactiveGraphicLookup.get(t);if(!e)throw new a("feature-not-found","The given feature is not present in the BatchAttributeForm");return{...e.attributes}}async goBack(){switch(this.page){case"replacing-attachment":return void this.setShowingSelectedAttachmentReplacePage(!1);case"viewing-attachment-details":return void this.setSelectedAttachment(null);case"adding-attachments":return void this.setSelectedAttachmentAddElementId(null);case"viewing-attachments":return void this.setSelectedAttachmentListElementId(null);case"viewing-associated-features":return void this.setActiveAssociationsLayer(null);case"viewing-associated-layers":return void this.setActiveAssociationsInput(null);case"viewing-related-categories":case"viewing-related-records":return void this.clearActiveRelationshipCategoryOrInput();default:return}}async goHome(){this.setShowingSelectedAttachmentReplacePage(!1),this.setSelectedAttachment(null),this.setSelectedAttachmentAddElementId(null),this.setSelectedAttachmentListElementId(null),this.setActiveAssociationsLayer(null),this.setActiveAssociationsInput(null),this.clearAllRelationshipSettings()}notifyGeometriesChanged(t){const e=[];for(const s of t){const t=this._reactiveGraphicLookup.get(s);t&&(e.push(t),t.geometry=s.geometry)}this._updatingHandles.consumePromise(this._valueChangeTransaction(async t=>this._expressionsManager.runGeometryDependentExpressions(e,t),"user"))}async overrideOriginalFeature(t,e){await(this._prepareTask?.promise);const s=this._reactiveGraphicLookup.get(t);s&&(s.original=e,this._updatingHandles.consumePromise(this._valueChangeTransaction(t=>this._expressionsManager.runOriginalFeatureDependentExpressions(s,t),"expression")))}async setFieldInputValue(t,e){const{fieldName:s}=t;await this._updatingHandles.addPromise(this._valueChangeTransaction(async i=>{for(const a of t.features)i.setValue(a,s,e)},"user",t))}async setFieldInputValuePerFeature(t,e){await this._updatingHandles.addPromise(this._valueChangeTransaction(async s=>{for(const[i,a]of e)s.setValue(i,t.fieldName,a);s.hasChanges&&(t.userHasChangedValue=!0)},"user",t))}async setValueForFieldName(t,e,s){await this._updatingHandles.addPromise(this._valueChangeTransaction(async i=>{for(const a of s){const s=this._reactiveGraphicLookup.get(a);s&&i.setValue(s,t,e)}},"user",t))}async setValuePerFeatureForFieldName(t,e){await this._updatingHandles.addPromise(this._valueChangeTransaction(async s=>{for(const[i,a]of e){const e=this._reactiveGraphicLookup.get(i);e&&s.setValue(e,t,a)}},"user",t))}async setFieldValue(t,e){const s=this.activeForm.allFieldInputs.find(e=>e.fieldName===t);if(null==s)throw new a("no-field-input-found",`Cannot set the value of FieldInput with field name: ${t} because none was found in the active form`);await this.setFieldInputValue(s,e)}async setValue(t,e){const s=this.findFieldInput(t);if(null==s)throw new a("no-FieldInput-found",`Cannot set the value of FieldInput with ID: ${t} because none was found in the active form`);await this.setFieldInputValue(s,e)}async stageAddAttachments(t,e){if(0===e.length)return[];const s=this._findAttachmentInput(t);if(!s)return[];const i=await s.stageAddAttachments(e,this._expressionsManager.arcadeContext);return 0===i.length||(this.userHasChangedValues=!0,this._emitAttachmentsChange(s)),i}stageDeleteAttachment(t,e){const s=this._findAttachmentInput(t);if(!s)return;const i=this._findAttachment(s,e);i&&(s.stageDeleteAttachment(i),this.userHasChangedValues=!0,this._emitAttachmentsChange(s))}async stageRenameAttachment(t,e,s){const i=this._findAttachmentInput(t);if(!i)return;const a=this._findAttachment(i,e);a&&(i.stageRenameAttachment(a,s.trim()),this.userHasChangedValues=!0,await i.ensureStagedUpdateData(a),this._emitAttachmentsChange(i))}async stageReplaceAttachment(t,e,s){const i=this._findAttachmentInput(t);if(!i)return!1;const a=this._findAttachment(i,e);if(!a)return!1;return!!await i.stageReplaceAttachment(a,s,this._expressionsManager.arcadeContext)&&(this.userHasChangedValues=!0,this._emitAttachmentsChange(i),!0)}clearAttachmentChanges(t){const e=this._findAttachmentInput(t);e&&(e.clearAttachmentChanges(),this._emitAttachmentsChange(e))}setActiveAssociation(t){this._activeAssociation=t}setActiveAssociationsInput(t){this._activeAssociationsInput=t}setActiveAssociationsLayer(t){this._activeAssociationsInput?.setAssociatedLayer(t)}setActiveAssociationType(t){this._activeAssociationsInput?.setActiveAssociationType(t)}setActiveRelationshipInput(t){t||this._activeRelationshipInput?.setActiveCategory(null),this._activeRelationshipInput=t}setActiveRelationshipCategory(t,e){e.setActiveCategory(t),this.setActiveRelationshipInput(e)}clearAllRelationshipSettings(){const t=this.activeRelationshipInput;t&&(t.setActiveCategory(null),t.setShowAllCategories(!1),t.setShowAllRelatedRecords(!1),this._activeRelationshipInput=null)}clearActiveRelationshipCategoryOrInput(){const t=this.activeRelationshipInput;t&&(t.showAllRelatedRecords?t.showAllCategories?t.setActiveCategory(null):this.setActiveRelationshipInput(null):t.showAllCategories&&(t.setShowAllCategories(!1),this.setActiveRelationshipInput(null)))}resetAttachmentChanges(t,e){const s=this._findAttachmentInput(t);if(!s)return;const i=this._findAttachment(s,e);i&&(s.discardStagedEdits(i),this._emitAttachmentsChange(s))}setSelectedAttachment(t){this.selectedAttachment=t??null}setShowingSelectedAttachmentReplacePage(t){this.showingSelectedAttachmentReplacePage=t}setSelectedAttachmentAddElementId(t){this.selectedAttachmentAddElementId=t??null}setSelectedAttachmentListElementId(t){this.selectedAttachmentListElementId=t??null}userChangesHaveMadeFeatureInvalid(t){return!!this._reactiveGraphicLookup.get(t)?.userChangesHaveMadeInvalid}validate(){return!1}validateContingentValues(t,e=!1){if(e&&!this.submitHasBeenAttempted)for(const s of t)this._reactiveContingentValuesManager.validateContingenciesForNonNullFields(s);else for(const s of t)this._reactiveContingentValuesManager.validateContingencyConstraints(s,{includeIncompleteViolations:!0})}_makeBatchFormInputsForFeature(t){const e=this._layerTemplateMap.get(t.layer);return e?O(e,{allFeatures:new i([t]),expressionsManager:this._expressionsManager,getExternalErrorForFeature:this._getExternalErrorForFeature,getFieldValueOptionsForFeature:this._getFieldValueOptionsForFeature,map:this.map}):this._emptyForm}_computeFormHeaderField(t){const{activeFeature:e,activeLayer:s}=this;return t&&s&&e?L({attributes:e?.attributes,label:t,layer:s,timeZone:this.effectiveTimeZone}):null}_makeSubmitResults(){const t=new Map;for(const[s,i]of this._reactiveGraphicLookup){const a=[],n=[],r=this._featureFormMap.get(i)?.allAttachmentElementInputs??[];for(const t of r)e(a,t.toSubmitEdits()),t.valid||n.push(t.template.elementId);t.set(s,{feature:s,values:{...i.attributes},invalidFields:[],attachmentEdits:a,invalidAttachmentElementIds:n})}for(const e of this.sharedForm.allFieldInputs)for(const s of e.invalidFeatures)t.get(s)?.invalidFields.push(e.fieldName);return Array.from(t.values())}_emitSubmit(){this.emit("submit",{name:"submit",results:this._makeSubmitResults(),valid:this.valid})}_findAttachmentInput(t){const e=this.activeForm.allAttachmentElementInputs.find(e=>e.template.elementId===t);return e||r.getLogger(this).error(`Attachment input not found for elementId '${t}'`),e}_findAttachment(t,e){const s=t.findAttachment(e);return s||r.getLogger(this).error(`Attachment '${e}' not found for attachment element '${t.template.elementId}'`),s}_makeAttachmentEdits(t){const s=[];for(const i of t.allAttachmentElementInputs)e(s,i.toSubmitEdits());return s}_emitAttachmentsChange(t){const e=t.single.feature;if(!e)return;const s=this._featureFormMap.get(e);this.emit("attachments-change",{name:"attachments-change",feature:e.source,attachmentEdits:this._makeAttachmentEdits(s??this.activeForm),valid:this.valid})}async _valueChangeTransaction(t,e,s){const i=new S(this,e,"string"==typeof s?s:s?.fieldName);if(await t(i),"user"===e&&await this._expressionsManager.runExpressionsDependentOnChangedFields(i),await i.close(),i.hasChanges&&s){const t="string"==typeof s?this.activeForm.allFieldInputs.find(t=>t.fieldName===s):s;t&&(t.userHasChangedValue=!0)}}_prepare(){this._hasAsyncArcadeExpressions=!1,this._prepareTask=c(this._prepareTask),l(this._expressionsManager),this.userHasChangedValues=!1,this._expressionsManager=new P({arcadeContext:{editType:this.editType,spatialReference:this.spatialReference??I.WebMercator,map:this.map,timeZone:this.timeZone||"system"}});const{attachmentsEnabled:t,layers:e}=this;if(0===e.length)return;const i=s(async s=>{try{h(s),this._updateWorkingFeatures(),this.contingentValuesManager.layers.addMany(e);const i=new Map;await Promise.all(e.map(t=>t.load()));for(const a of e){const e=K(this.layerInfos,a),n=await N(a,{arcadeExecutorProvider:this._arcadeExecutorProvider,formTimeZone:this.timeZone,attachmentsEnabled:t},e?.formTemplate);h(s),this._layerTemplateMap.set(a,n);const r=n.getExpressionExecutorsForLayer(a);if(this._expressionsManager.layerExpressionsModelMap.set(a,new j({preserveFieldValuesWhenHidden:n.preserveFieldValuesWhenHidden,executorMap:r})),!this._hasAsyncArcadeExpressions)for(const t of r.keys()){const e=r.get(t);if(this._hasAsyncArcadeExpressions=!0===(e.editableExpression?.isAsync||e.requiredExpression?.isAsync||e.valueExpression?.isAsync||e.visibilityExpression?.isAsync),this._hasAsyncArcadeExpressions)break}for(const t of n.elements){if(Z(t))continue;const e=t.clone();W(e)&&(e.elements=e.elements.filter(t=>!Z(t)));const{elementId:s}=e;i.has(s)?i.get(s).foldIn(e):i.set(s,e)}}if(this.hasTooManyComplexFeatures)throw new a("too-many-features-with-complex-forms","There are too many features to load into the form with the configured complexity");if(this.hasTooManyFeatures)throw new a("too-many-features","There are too many features to load into the form.");const n=new U({elements:Array.from(i.values())});this.sharedFormTemplate=n,this.sharedForm=O(n,{allFeatures:this._workingFeatures,expressionsManager:this._expressionsManager,getExternalErrorForFeature:this._getExternalErrorForFeature,getFieldValueOptionsForFeature:this._getFieldValueOptionsForFeature,map:this.map}),await this._valueChangeTransaction(async t=>await this._expressionsManager.runAllExpressions(this._workingFeatures.toArray(),t),"expression"),await A(()=>!this.contingentValuesManager.updating)}catch(i){throw u(i)||r.getLogger(this).error("Failed preparing form",i),i}});this._updatingHandles.consumePromise(i.promise),this._prepareTask=i}_updateWorkingFeatures(){this._workingFeatures.destroyAll(),this._reactiveContingentValuesManager.reset();for(const e of this._featureFormMap.values())e.destroy();this._featureFormMap.clear(),this._attachmentCache.clear();const{features:t}=this;if(this._reactiveGraphicLookup=new p,0!==t.length){this._workingFeatures.addMany(t.map(b));for(const t of this._workingFeatures)this._reactiveGraphicLookup.set(t.source,t)}}async _syncAttachments(){const{activeFeature:t,activeLayer:e,activeForm:s}=this;if(!(t&&s&&V(e)&&k(e)))return;const i=t.getObjectId();if(null==i)return;const a=this._attachmentCache.get(e),n=s.allAttachmentElementInputs;if(!n.length)return;let r;if(a){const t=a.get(i);t&&(r=t)}if(!r){r=await T(e,i,n);o(this._attachmentCache,e,()=>new p).set(i,r)}for(const o of n)o.applyFetchedAttachments(Y(o,r))}get test(){return{expressionsManager:this._expressionsManager,reactiveGraphicLookup:this._reactiveGraphicLookup}}};t([y()],q.prototype,"_attachmentCache",void 0),t([y({readOnly:!0})],q.prototype,"activeFeature",null),t([y()],q.prototype,"activeFeatureIndex",void 0),t([y({readOnly:!0})],q.prototype,"activeForm",null),t([y({readOnly:!0})],q.prototype,"activeLayer",null),t([y()],q.prototype,"activeAssociation",null),t([y()],q.prototype,"activeAssociationsInput",null),t([y()],q.prototype,"activeAssociationType",null),t([y()],q.prototype,"activeRelationshipInput",null),t([y()],q.prototype,"attachmentsEnabled",void 0),t([y()],q.prototype,"callbacks",void 0),t([y()],q.prototype,"disabled",void 0),t([y()],q.prototype,"calculating",null),t([y()],q.prototype,"canGoBack",null),t([y()],q.prototype,"contingentValuesManager",void 0),t([y()],q.prototype,"editType",void 0),t([y()],q.prototype,"features",void 0),t([y()],q.prototype,"expressionEvaluationFailed",null),t([y()],q.prototype,"hasNonActiveInvalidFeatures",null),t([y()],q.prototype,"hasAsyncArcadeExpressions",null),t([y()],q.prototype,"_hasAsyncArcadeExpressions",void 0),t([y()],q.prototype,"invalidFeatures",null),t([y()],q.prototype,"hasVisibleInputs",null),t([y()],q.prototype,"hasLayersWithContingentValues",null),t([y()],q.prototype,"formDescription",null),t([y()],q.prototype,"formTitle",null),t([y()],q.prototype,"effectiveTimeZone",null),t([y()],q.prototype,"highlightHelper",void 0),t([y()],q.prototype,"maximumFeatureCount",void 0),t([y()],q.prototype,"maximumFeatureCountWithComplexForms",void 0),t([y()],q.prototype,"visibleInputs",null),t([y()],q.prototype,"map",void 0),t([y()],q.prototype,"noVisibleElementsReason",null),t([y()],q.prototype,"page",null),t([y()],q.prototype,"pageStack",void 0),t([y()],q.prototype,"readOnly",void 0),t([y()],q.prototype,"spatialReference",void 0),t([y()],q.prototype,"submitHasBeenAttempted",void 0),t([y()],q.prototype,"timeZone",void 0),t([y()],q.prototype,"updating",null),t([y()],q.prototype,"valid",null),t([y()],q.prototype,"layers",null),t([y()],q.prototype,"mode",null),t([y()],q.prototype,"sharedForm",void 0),t([y()],q.prototype,"sharedFormTemplate",void 0),t([y()],q.prototype,"selectedAttachment",null),t([y()],q.prototype,"selectedAttachmentAddElementId",null),t([y()],q.prototype,"selectedAttachmentListElementId",null),t([y()],q.prototype,"selectedAttachmentListInput",null),t([y()],q.prototype,"showingSelectedAttachmentReplacePage",null),t([y()],q.prototype,"selectedAttachmentAddInput",null),t([y()],q.prototype,"selectedAttachmentDetails",null),t([y()],q.prototype,"userHasChangedValues",void 0),t([y()],q.prototype,"layerInfos",void 0),t([y()],q.prototype,"_arcadeExecutorProvider",void 0),t([y()],q.prototype,"_activeAssociation",void 0),t([y()],q.prototype,"_activeAssociationsInput",void 0),t([y()],q.prototype,"_activeRelationshipInput",void 0),t([y()],q.prototype,"_prepareTask",void 0),t([y()],q.prototype,"_reactiveGraphicLookup",void 0),t([y()],q.prototype,"_allAttachmentInputs",null),t([y()],q.prototype,"_hasPendingAttachmentHydration",null),t([y()],q.prototype,"_layerTemplateMap",void 0),t([y()],q.prototype,"_workingFeatures",void 0),t([y()],q.prototype,"_expressionsManager",void 0),q=t([_("esri.widgets.BatchAttributeForm.BatchAttributeFormViewModel")],q);const J=q;function Q(t){return null!=t&&t.trim().length>0}function X(t,e){const s=t.keywords;return Q(s)&&s.toLowerCase()===e}function Y(t,e){const s="attachment"===t.input?.type?t.input.attachmentAssociationType:"exact",i=t.attachmentKeyword;if("any"===s)return e;if("exactOrNone"===s){if(z(i))return e.filter(t=>!Q(t.keywords));const t=i.toLowerCase();return e.filter(e=>!Q(e.keywords)||X(e,t))}if(z(i))return e;const a=i.toLowerCase();return e.filter(t=>X(t,a))}export{J as default};
|
|
@@ -7,6 +7,15 @@ import type { NestableAttachmentInputUnion } from "../../form/elements/inputs/at
|
|
|
7
7
|
*/
|
|
8
8
|
export function getMediaDurationInSeconds(file: Blob | File, mediaType: "audio" | "video"): Promise<number | null>;
|
|
9
9
|
|
|
10
|
+
/**
|
|
11
|
+
* @param file - The Blob or File whose intrinsic dimensions should be read.
|
|
12
|
+
* @internal
|
|
13
|
+
*/
|
|
14
|
+
export function getImageDimensionsInPixels(file: Blob | File): Promise<{
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
} | null>;
|
|
18
|
+
|
|
10
19
|
/**
|
|
11
20
|
* @param inputType - The attachment input type to categorize.
|
|
12
21
|
* @internal
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{isBlobProtocol as e}from"../../core/urlUtils.js";import{isString as t}from"../../support/guards.js";import{isSupportedImage as n}from"../Attachments/support/attachmentUtils.js";function
|
|
2
|
+
import{isBlobProtocol as e}from"../../core/urlUtils.js";import{isString as t}from"../../support/guards.js";import{isSupportedImage as n}from"../Attachments/support/attachmentUtils.js";function r(e){return String(e.globalId||e.id||e.name)}function o(e){const n=t(e)?e:"",r=n.lastIndexOf(".");return r<=0||r===n.length-1?{baseName:n,extension:""}:{baseName:n.slice(0,r),extension:n.slice(r)}}function i(e,t){const{extension:n}=o(e);if(!n)return t;const r=t.toLowerCase(),i=n.toLowerCase(),a=r.endsWith(i)&&t.length>n.length?t.slice(0,-n.length):t;return a.trim().length?`${a}${n}`:t}function a(n,r,o){const{size:i,url:a}=n;if(!t(a)||!a.length)return null;if(e(a))return a;const u=[];return r&&null!=o&&u.push(`w=${o}`),null==i||Number.isNaN(i)||u.push(`s=${i}`),u.length?`${a}${a.includes("?")?"&":"?"}${u.join("&")}`:a}function u(e){return n(e.contentType)}function s(e,t){const{capture:n,recordAudio:r,takePhoto:o,takeVideo:i}=e;return"image"===t?o||n:"video"===t?i||n:"audio"===t&&r||n}async function c(e,t){const n=document.createElement(t),r=URL.createObjectURL(e);return await new Promise(e=>{const t=()=>{n.onloadedmetadata=null,n.onerror=null,n.removeAttribute("src"),n.load(),URL.revokeObjectURL(r)};n.preload="metadata",n.onloadedmetadata=()=>{const r=Number.isFinite(n.duration)?n.duration:null;t(),e(r)},n.onerror=()=>{t(),e(null)},n.src=r})}async function l(e){const t=document.createElement("img"),n=URL.createObjectURL(e);return await new Promise(e=>{const r=()=>{t.onload=null,t.onerror=null,t.removeAttribute("src"),URL.revokeObjectURL(n)};t.onload=()=>{const{naturalWidth:n,naturalHeight:o}=t;r(),e(Number.isFinite(n)&&Number.isFinite(o)?{width:n,height:o}:null)},t.onerror=()=>{r(),e(null)},t.src=n})}function d(e){switch(e){case"audio":return"audio";case"document":default:return"document";case"image":case"signature":return"image";case"video":return"video"}}const m={getAttachmentCategoryForInputType:d,getImageDimensionsInPixels:l,getMediaDurationInSeconds:c};export{m as attachmentValidationUtils,d as getAttachmentCategoryForInputType,o as getAttachmentFilenameParts,r as getAttachmentKey,a as getAttachmentUrl,s as getCaptureButtonLabel,l as getImageDimensionsInPixels,c as getMediaDurationInSeconds,u as isImageAttachment,i as preserveAttachmentFilenameExtension};
|