@arcgis/core 5.2.0-next.136 → 5.2.0-next.138
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/analysis/LineOfSightAnalysisObserver.d.ts +12 -0
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.d.ts +12 -0
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/arcade/featureset/sources/FeatureLayerParquet.js +1 -1
- package/arcgisGlobal.d.ts +4 -0
- package/assets/components/assets/icon/blockHeightMedium16.json +1 -0
- package/assets/components/assets/icon/blockHeightMedium24.json +1 -0
- package/assets/components/assets/icon/blockHeightMedium32.json +1 -0
- package/assets/components/assets/icon/blockHeightShort16.json +1 -0
- package/assets/components/assets/icon/blockHeightShort24.json +1 -0
- package/assets/components/assets/icon/blockHeightShort32.json +1 -0
- package/assets/components/assets/icon/blockHeightTall16.json +1 -0
- package/assets/components/assets/icon/blockHeightTall24.json +1 -0
- package/assets/components/assets/icon/blockHeightTall32.json +1 -0
- package/assets/components/assets/icon/cursorCircle16.json +1 -0
- package/assets/components/assets/icon/cursorCircle24.json +1 -0
- package/assets/components/assets/icon/cursorCircle32.json +1 -0
- package/assets/components/assets/icon/dictionary16.json +1 -0
- package/assets/components/assets/icon/dictionary24.json +1 -0
- package/assets/components/assets/icon/dictionary32.json +1 -0
- package/assets/components/assets/icon/jobDependency16.json +1 -0
- package/assets/components/assets/icon/jobDependency24.json +1 -0
- package/assets/components/assets/icon/jobDependency32.json +1 -0
- package/assets/components/assets/icon/referenceChip16.json +1 -0
- package/assets/components/assets/icon/referenceChip24.json +1 -0
- package/assets/components/assets/icon/referenceChip32.json +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{4e6f95d8c624d513849a.js → 05963f57cbe5a5249496.js} +1 -1
- package/assets/esri/core/workers/chunks/{0b8681ca4a83e97f1f71.js → 067de1910190da228291.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c0fd1c6cda44e9f40ab.js → 070684943698fa43c2b4.js} +1 -1
- package/assets/esri/core/workers/chunks/{bc1cb4b9a02e6c78deb7.js → 076e8d2e08ff2a013736.js} +1 -1
- package/assets/esri/core/workers/chunks/{c10e040368065411506a.js → 10445313d0d57b34511b.js} +1 -1
- package/assets/esri/core/workers/chunks/{d537c59b46cdaaf66034.js → 1188d0a136fffc009643.js} +1 -1
- package/assets/esri/core/workers/chunks/{20af3f085f60c32c6c53.js → 178083d8ed7707b45ca2.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5efe3e800c6e23efcf3.js → 1819c45655c836b9a8d7.js} +1 -1
- package/assets/esri/core/workers/chunks/1b946714ca4a1a7359d4.js +2 -0
- package/assets/esri/core/workers/chunks/{d8d8b38ac8a91d9e45fc.js → 1cc744ab5eee5ee3bed8.js} +1 -1
- package/assets/esri/core/workers/chunks/{05e39b4de7f62c5b22cc.js → 20f75cc777af13fa249b.js} +1 -1
- package/assets/esri/core/workers/chunks/2a1ec30f9ad305763f81.js +2 -0
- package/assets/esri/core/workers/chunks/34570e6bbf559f18c1a5.js +1 -0
- package/assets/esri/core/workers/chunks/{60f6d5da9480dd36e877.js → 3dddae78286d05eb10fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{9efd30bbd02ec0d1031b.js → 3ec3589f6e74d7cb87cf.js} +1 -1
- package/assets/esri/core/workers/chunks/{0bec054fca104f3bf141.js → 3f776d9fd2ab68b21fca.js} +1 -1
- package/assets/esri/core/workers/chunks/402a82c77420254831bc.js +1 -0
- package/assets/esri/core/workers/chunks/{e2ebf0ea3af2e6907987.js → 406f24ec13eb30d43405.js} +1 -1
- package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +1 -0
- package/assets/esri/core/workers/chunks/{ddedc414bb478b376221.js → 46b2d4addfc73f9183a4.js} +1 -1
- package/assets/esri/core/workers/chunks/498d6dfd3bb0d3490548.js +1 -0
- package/assets/esri/core/workers/chunks/{36ef86701883a20dd6f6.js → 4a640548032355e57acd.js} +1 -1
- package/assets/esri/core/workers/chunks/5566f14afb63065e438f.js +1 -0
- package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js → 590e6c70206122e4cc3c.js} +2 -2
- package/assets/esri/core/workers/chunks/{54860dd53a46cf4c47f3.js → 59295b99bdff4045a0e7.js} +1 -1
- package/assets/esri/core/workers/chunks/5aeb5e18514644fe2cf9.js +1 -0
- package/assets/esri/core/workers/chunks/{5da86409d70098fc6a10.js → 5b3cfe95314a75a735c1.js} +1 -1
- package/assets/esri/core/workers/chunks/{a54678bfa0f1807b61cd.js → 5c855af73ee3c3e764fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{06da3409992bb1fa85b0.js → 5e90c1b49f2b7e21d05a.js} +39 -31
- package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +1 -0
- package/assets/esri/core/workers/chunks/{30f808cac8a34f95ea6e.js → 6079d27f4ab319fb8f0c.js} +1 -1
- package/assets/esri/core/workers/chunks/66c2a28a851130b87c04.js +1 -0
- package/assets/esri/core/workers/chunks/{dac90b3631f7f7158f68.js → 67f15538c51838201fc7.js} +1 -1
- package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js → 68d8ae42ab71d01a70a5.js} +2 -2
- package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +1 -0
- package/assets/esri/core/workers/chunks/{864e7030c4ddbfcf0114.js → 6ccf9535013fe672c93b.js} +1 -1
- package/assets/esri/core/workers/chunks/{ba7f0cf7e495d3ec2d55.js → 6e62581d933e7298d1f6.js} +1 -1
- package/assets/esri/core/workers/chunks/{83b5dd4029e00abd80bf.js → 700b1d5bc67b7e1b3ff3.js} +1 -1
- package/assets/esri/core/workers/chunks/{f9fea72cc222a30ef2f9.js → 72399062767abdfb0bee.js} +1 -1
- package/assets/esri/core/workers/chunks/{2a7fbfd77002a24bf737.js → 747461bb6a1bc2f0a64d.js} +1 -1
- package/assets/esri/core/workers/chunks/{c333f6ed42985bb2b11f.js → 7851aef196eea5d6c94e.js} +1 -1
- package/assets/esri/core/workers/chunks/{f0b6bd6fab5320c3082f.js → 7a05b18f655c1167ce0a.js} +1 -1
- package/assets/esri/core/workers/chunks/{04296b75d0f81fbd1bb5.js → 864194927d05ebc4cc31.js} +1 -1
- package/assets/esri/core/workers/chunks/{3c4a13a9f0b305394a26.js → 876f7633c15f1e31078d.js} +1 -1
- package/assets/esri/core/workers/chunks/{62298dba3f6cbdc3f4ae.js → 879b2f0ff1977bca9376.js} +1 -1
- package/assets/esri/core/workers/chunks/{b547b3bce729c9dac90d.js → 898359be6996fd9763b8.js} +1 -1
- package/assets/esri/core/workers/chunks/8cb716f110d164030309.js +1 -0
- package/assets/esri/core/workers/chunks/8dc1c3042267618fd710.js +2 -0
- package/assets/esri/core/workers/chunks/{625f02db93d7fbf175ca.js → 9001e9a1e81bce175ddd.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ffa6c8d93d3443834c6.js → 912080c90b5cc2e817cf.js} +1 -1
- package/assets/esri/core/workers/chunks/96c50a0dda0f1503ef92.js +2 -0
- package/assets/esri/core/workers/chunks/{13e4379441499599c3b5.js → 9cbde13e536676767900.js} +1 -1
- package/assets/esri/core/workers/chunks/{408db4f32850b77264ae.js → 9cd3fcb5fca6f9dbbcd8.js} +1 -1
- package/assets/esri/core/workers/chunks/a054da6cbd8ee4774a57.js +1 -0
- package/assets/esri/core/workers/chunks/a05790444115e4cf1bcc.js +1 -0
- package/assets/esri/core/workers/chunks/{d1f2685782b423ef87a6.js → a556dd4e9e6d35e33a2c.js} +1 -1
- package/assets/esri/core/workers/chunks/{00d576d355599c88931e.js → bc38def1983089514e4b.js} +1 -1
- package/assets/esri/core/workers/chunks/{0725e515f3004bdd5c56.js → ca2adcbcf44454484fd5.js} +1 -1
- package/assets/esri/core/workers/chunks/{f3507b9e831ffd7a6bf8.js → cca8bd07bcd1d267a2e8.js} +1 -1
- package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +1 -0
- package/assets/esri/core/workers/chunks/{1d6b2a64f4e40e5cc13d.js → d201fbf3ceff946d2bd6.js} +1 -1
- package/assets/esri/core/workers/chunks/{4439078780d9ba49fd26.js → d51bb11baadc741c46bc.js} +1 -1
- package/assets/esri/core/workers/chunks/db1ab9b9c8bf5c7635d3.js +1 -0
- package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +1 -0
- package/assets/esri/core/workers/chunks/e630f3c56c077cb2bd8e.js +1 -0
- package/assets/esri/core/workers/chunks/e81173724e8de8c1e65b.js +1 -0
- package/assets/esri/core/workers/chunks/{2025288bed125594ceda.js → f6e62d2d279a328cbed7.js} +1 -1
- package/assets/esri/core/workers/chunks/{47c19778fcee7154ca38.js → f8bc474434fd365ab174.js} +1 -1
- package/assets/esri/core/workers/chunks/{9a20dc26cb9c7b2087cf.js → f95a1f878c9c1146180e.js} +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-TW.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/FeatureForm/t9n/messages.zh-TW.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.en.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/OrientedImageryViewer/t9n/messages.zh-TW.json +1 -1
- package/chunks/Bufferer-CclWhXVb.js +1 -1
- package/chunks/Component.glsl.js +3 -3
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/Distance2DCalculator-DjIp2uQi.js +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/Envelope2D.js +1 -1
- package/chunks/FocusArea.glsl.js +8 -10
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/GeometryCleaner-CIE8Wfmb.js +1 -1
- package/chunks/GlobalIllumination.glsl.js +3 -3
- package/chunks/LineMarker.glsl.js +35 -42
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorAffineTransform.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorDensify.js +1 -1
- package/chunks/OperatorDistance.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +1 -1
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/Path.glsl.js +2 -2
- package/chunks/Point2D.js +1 -1
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +51 -57
- package/chunks/SideCalculator2D-DX0718xq.js +1 -1
- package/chunks/Terrain.glsl.js +2 -2
- package/chunks/Transformation2D.js +1 -1
- package/chunks/UnitFactory.js +1 -1
- package/config.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/editing/fieldUtils.d.ts +12 -0
- package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorBoundary.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/ellipseUtils.js +2 -0
- package/interfaces.d.ts +15 -18
- package/kernel.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/ParquetLayer.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/list/LayerItemCollection.d.ts +1 -0
- package/layers/list/types.d.ts +5 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/queries.js +1 -1
- package/layers/support/TimeSeriesCalculation.d.ts +1 -1
- package/layers/support/TimeSeriesCalculation.js +1 -1
- package/layers/support/dataSeriesUtils.d.ts +10 -0
- package/layers/support/timeSeriesUtils.js +17 -6
- package/libs/lyr3d/Lyr3DModule.js +1 -1
- package/networks/UtilityNetwork.d.ts +15 -0
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +4 -4
- package/popup/FeatureContent.d.ts +14 -1
- package/popup/FeatureContent.js +1 -1
- package/popup/FeatureContentCollection.d.ts +4 -10
- package/popup/FeatureContentCollection.js +1 -1
- package/popup/actions.js +1 -1
- package/popup/support/featureUtils.js +1 -1
- package/renderers/support/RenderingInfo.js +1 -1
- package/renderers/support/renderingInfoUtils.js +1 -1
- package/renderers/visualVariables/SizeVariable.d.ts +16 -20
- package/renderers/visualVariables/support/SizeStop.d.ts +6 -2
- package/rest/networks/support/TraceLocation.js +1 -1
- package/rest/networks/support/TraceResult.d.ts +7 -0
- package/rest/networks/support/TraceResult.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/timeSeriesUtils.js +1 -1
- package/smartMapping/statistics/histogramForTimeSeries.d.ts +11 -0
- package/smartMapping/statistics/histogramForTimeSeries.js +2 -0
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.d.ts +11 -0
- package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +2 -0
- package/smartMapping/statistics/support/timeSeriesUtils.js +24 -0
- package/smartMapping/statistics/types.d.ts +50 -0
- package/support/tests/serviceMockDependencies.js +1 -1
- package/support/tests/setupServiceMocksMesh.js +1 -1
- package/symbols/cim/CIMPlacements.js +1 -1
- package/symbols/cim/callouts/calloutAnalysisUtils.js +1 -1
- package/symbols/cim/callouts/effects/BackgroundCallout.js +1 -1
- package/symbols/cim/callouts/effects/BalloonCallout.js +1 -1
- package/symbols/cim/callouts/effects/PointSymbolCallout.js +1 -1
- package/symbols/cim/callouts/effects/calloutUtils.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
- package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
- package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/CalloutMeshWriterPolicy.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextParams.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/layers/SketchLayerView2D.js +1 -1
- package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/CatalogFootprintLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/InMemoryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/KnowledgeGraphSublayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OGCFeatureLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/OrientedImageryLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/StreamLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/labelingUtils.js +1 -1
- package/views/2d/layers/features/schema/ExceedsLimitCache.js +1 -1
- package/views/2d/layers/features/schema/TimeSchema.js +2 -0
- package/views/2d/layers/features/schema/processor/LabelMatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/MatcherSchema.js +1 -1
- package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
- package/views/2d/layers/support/vectorTileDebugUtils.js +1 -1
- package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
- package/views/2d/types.d.ts +2 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +24 -0
- package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedObserverManipulatedObject3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/camera/constraintUtils.js +1 -1
- package/views/3d/input/handlers/ground/GroundDoubleClickMove.js +1 -1
- package/views/3d/input/handlers/ground/GroundNavigation.js +1 -1
- package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
- package/views/3d/interactive/placementTools/GroundNavigationPlacementTool3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
- package/views/3d/state/controllers/GroundNavigationController.js +1 -1
- package/views/3d/state/controllers/momentum/GroundNavigationMomentumController.js +1 -1
- package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
- package/views/3d/state/utils/groundNavigationUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +16 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +5 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +12 -0
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +2 -2
- package/views/3d/webgl-engine/effects/focusArea/FocusArea.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/SelectionManager.d.ts +3 -3
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/options/bindViewToolOptions.js +1 -1
- package/views/interactive/sketch/SketchLabelOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
- package/views/interactive/sketch/SketchValueOptions.d.ts +3 -0
- package/views/interactive/sketch/SketchValueOptions.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +3 -0
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/snapping/snappingUtils.js +1 -1
- package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
- package/views/layers/SketchLayerView.d.ts +34 -0
- package/views/layers/SketchLayerView.js +2 -0
- package/views/layers/types.d.ts +3 -2
- package/views/selection/types.d.ts +15 -4
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.d.ts +4 -0
- package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +5 -1
- package/widgets/Bookmarks/types.d.ts +2 -0
- package/widgets/Editor/EditorViewModel.d.ts +31 -30
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Editor/types.d.ts +44 -0
- package/widgets/Editor.d.ts +30 -27
- package/widgets/Editor.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.d.ts +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable.d.ts +6 -0
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Histogram/types.d.ts +10 -2
- package/widgets/HistogramRangeSlider/types.d.ts +4 -1
- package/widgets/LayerList/LayerListViewModel.d.ts +2 -1
- package/widgets/Legend/LegendViewModel.d.ts +2 -0
- package/widgets/Legend/styles/card/CardView.d.ts +2 -0
- package/widgets/Legend/styles/classic/ClassicView.d.ts +4 -1
- package/widgets/Legend.d.ts +3 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +7 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/support/VideoFeatureCache.js +2 -0
- package/widgets/OrientedImageryViewer/types.d.ts +9 -0
- package/widgets/OrientedImageryViewer.d.ts +7 -0
- package/widgets/OrientedImageryViewer.js +2 -2
- package/widgets/PanoramicVideoViewer.js +1 -1
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/ScaleRangeSlider/types.d.ts +9 -2
- package/widgets/Sketch/SketchViewModel.d.ts +32 -1
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch.d.ts +27 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slider/types.d.ts +58 -13
- package/widgets/Slider.d.ts +6 -0
- package/widgets/smartMapping/BinaryColorSizeSlider/BinaryColorSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +3 -0
- package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +2 -0
- package/widgets/smartMapping/types.d.ts +30 -7
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.d.ts +21 -11
- package/widgets/support/FilterBuilder/FilterBuilderViewModel.js +1 -1
- package/widgets/support/FilterBuilder/types.d.ts +28 -0
- package/widgets/support/FilterBuilder.js +1 -1
- package/widgets/support/FilterCondition/FilterConditionViewModel.d.ts +24 -0
- package/widgets/support/FilterCondition/FilterConditionViewModel.js +1 -1
- package/widgets/support/FilterCondition/types.d.ts +16 -1
- package/widgets/support/FilterCondition.js +1 -1
- package/widgets/support/SnappingControls/snappingLayerListUtils.js +1 -1
- package/widgets/support/iconUtils.js +1 -1
- package/assets/esri/core/workers/chunks/0606ab6fdfc1dfea3856.js +0 -1
- package/assets/esri/core/workers/chunks/078dcd17f46403d44b24.js +0 -1
- package/assets/esri/core/workers/chunks/1289204f8ca96032c17a.js +0 -1
- package/assets/esri/core/workers/chunks/12b5a645c0987a0efe54.js +0 -2
- package/assets/esri/core/workers/chunks/152fe3d6ad7aebbd23d1.js +0 -1
- package/assets/esri/core/workers/chunks/17b938ba49fb1e7ab8c4.js +0 -1
- package/assets/esri/core/workers/chunks/1dbb3e25e005a8220779.js +0 -2
- package/assets/esri/core/workers/chunks/3d6fef25af7e1a51e1bd.js +0 -1
- package/assets/esri/core/workers/chunks/3ef367c9b7bf1588307d.js +0 -1
- package/assets/esri/core/workers/chunks/5f4feca26102088ea565.js +0 -1
- package/assets/esri/core/workers/chunks/74211d096cc3296e0968.js +0 -1
- package/assets/esri/core/workers/chunks/7926faab76a721a2e1c4.js +0 -1
- package/assets/esri/core/workers/chunks/ad28486bc6afaa346de5.js +0 -1
- package/assets/esri/core/workers/chunks/ad29c729e90b5866713c.js +0 -1
- package/assets/esri/core/workers/chunks/b72a2514aa4cc4ae7d1b.js +0 -1
- package/assets/esri/core/workers/chunks/bb51cf52b8ea8283f4f8.js +0 -1
- package/assets/esri/core/workers/chunks/be761749f8d77fbd9df5.js +0 -1
- package/assets/esri/core/workers/chunks/dbfd25aa0d19aed5890c.js +0 -1
- package/assets/esri/core/workers/chunks/de28a86775235bd5d3c4.js +0 -2
- package/assets/esri/core/workers/chunks/f6cfc901267a229de7a1.js +0 -2
- package/assets/esri/core/workers/chunks/fb147097149a89e671ff.js +0 -1
- package/support/revision.js +0 -2
- /package/assets/esri/core/workers/chunks/{1dbb3e25e005a8220779.js.LICENSE.txt → 1b946714ca4a1a7359d4.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{f6cfc901267a229de7a1.js.LICENSE.txt → 2a1ec30f9ad305763f81.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c3b96d1d43afccd23e45.js.LICENSE.txt → 590e6c70206122e4cc3c.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{cfaba0470619786e1ef8.js.LICENSE.txt → 68d8ae42ab71d01a70a5.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{de28a86775235bd5d3c4.js.LICENSE.txt → 8dc1c3042267618fd710.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{12b5a645c0987a0efe54.js.LICENSE.txt → 96c50a0dda0f1503ef92.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"../../support/engineContent/marker.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/
|
|
2
|
+
import"../../support/engineContent/marker.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/cameraUniforms.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"./alphaCutoff.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/LineMarker.glsl.js";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/shading/
|
|
2
|
+
import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js";import"../core/shaderLibrary/shading/LineStipple.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PiUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/cameraUniforms.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"./alphaCutoff.glsl.js";import"./animatedAlpha.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"./RibbonLineTextureBuffer.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build,n as numRoundJoinSubdivisions}from"../../../../chunks/RibbonLine.glsl.js";
|
|
@@ -6,7 +6,7 @@ import type View from "./View.js";
|
|
|
6
6
|
import type { EventedAccessor } from "../core/Evented.js";
|
|
7
7
|
import type { QueryProperties } from "../rest/support/Query.js";
|
|
8
8
|
import type { ObjectId } from "./types.js";
|
|
9
|
-
import type { LayerFeatureSet, LayerSelectionChange, SelectableLayer, SelectableLayerWithObjectIds, SelectionIdentifier, LayerSelection } from "./selection/types.js";
|
|
9
|
+
import type { LayerFeatureSet, LayerSelectionChange, SelectableLayer, SelectableLayerWithObjectIds, SelectionIdentifier, LayerSelection, SelectableLayerWithGraphics } from "./selection/types.js";
|
|
10
10
|
|
|
11
11
|
export interface SelectionManagerProperties extends Partial<Pick<SelectionManager, "highlightEnabled" | "highlightName" | "view">> {
|
|
12
12
|
/**
|
|
@@ -186,7 +186,7 @@ export default class SelectionManager extends EventedAccessor {
|
|
|
186
186
|
* @param layer - The selectable layer from which to remove the selection. This must be a layer with graphics in the [sources](https://developers.arcgis.com/javascript/latest/references/core/views/SelectionManager/#sources).
|
|
187
187
|
* @param selection - An array of features, ie. [Graphic[]](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) to remove from the current selection.
|
|
188
188
|
*/
|
|
189
|
-
remove(layer:
|
|
189
|
+
remove(layer: SelectableLayerWithGraphics, selection: Graphic[]): void;
|
|
190
190
|
/**
|
|
191
191
|
* @param layer - The selectable layer from which to remove the selection. This must be a layer with object IDs in the [sources](https://developers.arcgis.com/javascript/latest/references/core/views/SelectionManager/#sources).
|
|
192
192
|
* @param selection - An array of features, ie. [ObjectId](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ObjectId)[] to remove from the current selection.
|
|
@@ -203,7 +203,7 @@ export default class SelectionManager extends EventedAccessor {
|
|
|
203
203
|
* @param layer - The selectable layer for which to replace the selection. This must be a layer with graphics in the [sources](https://developers.arcgis.com/javascript/latest/references/core/views/SelectionManager/#sources).
|
|
204
204
|
* @param selection - An array of features, ie. [Graphic[]](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) to set as the current selection.
|
|
205
205
|
*/
|
|
206
|
-
replace(layer:
|
|
206
|
+
replace(layer: SelectableLayerWithGraphics, selection: Graphic[]): void;
|
|
207
207
|
/**
|
|
208
208
|
* @param layer - The selectable layer for which to replace the selection. This must be a layer with object IDs in the [sources](https://developers.arcgis.com/javascript/latest/references/core/views/SelectionManager/#sources).
|
|
209
209
|
* @param selection - An array of features, ie. [ObjectId](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ObjectId)[] to set as the current selection.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import{createTask as n}from"../../../core/asyncUtils.js";import r from"../../../core/Collection.js";import i from"../../../core/Error.js";import{EventedAccessor as a}from"../../../core/Evented.js";import o from"../../../core/Logger.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import{destroyMaybe as c,abortMaybe as l,assertIsSome as u}from"../../../core/maybe.js";import{throwIfAborted as d}from"../../../core/promiseUtils.js";import{pausable as f,when as p,watch as m,initial as h,sync as g}from"../../../core/reactiveUtils.js";import{property as _,subclass as v}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as y}from"../../../core/support/UpdatingHandles.js";import b from"../../../geometry/Point.js";import x from"../../../geometry/Polyline.js";import{fromPolylineUsingImportOperator as S,toGeometry as C}from"../../../geometry/operators/support/apiConverter.js";import{closeRingsAndFixWinding as w,geometryToCoordinates as T}from"../../../geometry/support/coordsUtils.js";import{fromJSON as E}from"../../../geometry/support/jsonUtils.js";import{isPoint as D}from"../../../geometry/support/typeUtils.js";import{interpolateCircle as O}from"../../../geometry/support/curves/circleUtils.js";import{deriveCircleFromCircularArc as k,toEllipticArc7 as ee}from"../../../geometry/support/curves/circularArcUtils.js";import{getPaths as te,getEndpoint as A,isCircularArc as j,isEllipticArc4 as M,isBezierCurve as N,isCoordinate as P,cloneCurve as ne,isEllipticArc7 as F}from"../../../geometry/support/curves/curveUtils.js";import{deriveCircleFromEllipticArc4 as I}from"../../../geometry/support/curves/ellipticArc4Utils.js";import{wrapAtan2 as re}from"../../../geometry/support/curves/mathUtils.js";import ie from"../../../layers/GraphicsLayer.js";import{SnappingVisualizer2D as ae}from"../../2d/interactive/SnappingVisualizer2D.js";import{ConnectedReshapeManager as oe}from"./ConnectedReshapeManager.js";import{screenDeltaToMapDelta as se,getZFromVertexSnappingCandidates as ce,cloneMove as le}from"./drawUtils.js";import ue from"./GraphicMover.js";import de from"./HighlightHelper.js";import{addUniqueLayer as fe,isConnectedReshapeSupportedLayer as pe}from"./layerUtils.js";import{createTooltipInfos as me,connectTooltip as he,updateTranslateTooltipInfo as ge,updateTranslateVertexTooltipInfo as _e}from"./reshapeTooltipUtils.js";import{defaultSymbols as ve,createMidpointGraphics as ye,createVertexGraphics as L,createCurveControlPointGraphics as be,createCurveConstructionLineGraphics as xe,attributeKeys as R,getMidpoint as z,controlPointKinds as B,fastCloneGeometry as V,saveUpdatedCurveOrCoordinate as H,toolIdAttribute as Se,splitCurve as Ce,isSingleSegmentCircle as we,isSingleSegmentEllipse as Te}from"./reshapeUtils.js";import{ViewEventPriorities as Ee}from"../../input/InputManager.js";import{createCoordinateHelper as De}from"../../interactive/coordinateHelper.js";import{sketchKeys as Oe}from"../../interactive/keybindings.js";import{EditGeometryOperations as ke}from"../../interactive/editGeometry/EditGeometryOperations.js";import Ae from"../../interactive/options/InteractiveToolOptions.js";import{SnappingContext as je}from"../../interactive/snapping/SnappingContext.js";import{makeTooltip as Me,enterInputModeIfAvailable as Ne}from"../../interactive/tooltip/tooltipCommonUtils.js";import{GeometryWorkerHandle as Pe}from"../../support/GeometryWorkerHandle.js";const U=Symbol(),W={mode:`on-the-ground`,offset:0};let G=class extends a{constructor(e){super(e),this._updateHandlesOnExternalGeometryChange=null,this._activeOperationInfo=null,this._connectedReshapeManager=null,this._editGeometryOperations=null,this._primaryGraphicMoving=!1,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._mover=null,this._snappingContext=null,this._snappingGraphicsLayer=null,this._hoverGraphic=null,this._snappingTask=null,this._stagedVertex=null,this._relatedGraphicIndex=null,this._updatingHandles=new y,this._measurementWorker=new Pe({preloadGeodetic:!0}),this.callbacks={onReshapeStart(){},onReshape(){},onReshapeStop(){},onMoveStart(){},onMove(){},onMoveStop(){},onGraphicClick(){}},this.connectedReshapeProviders=null,this.enableMidpoints=!0,this.enableCurveOnMidpoint=!1,this.enableMovement=!0,this.enableVertices=!0,this.filterVerticesEnabled=!0,this.graphic=null,this.highlightName=null,this.highlightsEnabled=!0,this.layer=null,this.snappingManager=null,this.symbols=ve,this.tooltip=null,this.activeTooltipInfo=null,this.toolOptions=new Ae,this.type=`reshape`,this.vertexGraphics=new r,this.curveControlPointGraphics=new r,this.constructionLineGraphics=new r,this.midpointGraphics=new r,this.selectedManipulators=new r,this.view=null}initialize(){let e=this.view;this._highlightHelper=new de({view:e}),this._setup(),this._updateHandlesOnExternalGeometryChange=f(()=>this.graphic?.geometry,e=>{if(!e||this._primaryGraphicMoving===!0)return;let t=new Set(this.selectedManipulators.map($));this._highlightHelper.removeAll(),this._setUpHighlights(),this._setupGraphics(),this._clearSelection(),this.vertexGraphics.filter(e=>t.has($(e))).forEach(e=>this._addToSelection(e)),this.curveControlPointGraphics.filter(e=>t.has($(e))).forEach(e=>this._addToSelection(e));let{enableMovement:n,_mover:r,graphic:i,midpointGraphics:a,vertexGraphics:o,curveControlPointGraphics:s}=this,c=o.concat(a,s).toArray();n&&c.push(i),r?.set(`graphics`,c)},g),this.tooltip=Me(()=>({view:e,options:this.toolOptions.tooltips})),this.tooltipInfos=me(this.toolOptions),this.addHandles([p(()=>e?.ready,()=>{let{layer:e,view:t}=this;fe(t,e),this.addHandles(t.on(`key-down`,e=>this._keyDownHandler(e),Ee.TOOL))},{once:!0,initial:!0}),m(()=>this.graphic,()=>this.refresh()),...this._effectiveFilterVerticesEnabled?[m(()=>[this.view.viewpoint,this.view.stationary],()=>{this.view.stationary&&this.refresh()})]:[],m(()=>this.layer,(e,t)=>{t&&(this._clearSelection(),this._resetGraphics(t)),this.refresh()}),m(()=>[this.highlightsEnabled,this.highlightName],()=>{this._highlightHelper?.removeAll(),this._setUpHighlights()}),m(()=>this.enableMidpoints,()=>this.refresh()),he(this.tooltip,()=>this._tooltipsContext,this._updatingHandles),m(()=>this.toolOptions.labels.enabled,e=>{this._segmentLabels?this._segmentLabels.visible=e:this._setUpGeometryHelper()}),m(()=>this.view.effectiveTheme.accentColor,()=>this._updateSymbolsForTheme(),h),this._updateHandlesOnExternalGeometryChange]),this._updateTooltip()}destroy(){this._reset(),this._mover=c(this._mover),this._connectedReshapeManager=c(this._connectedReshapeManager),this.tooltip=c(this.tooltip),this._segmentLabelsImportTask=l(this._segmentLabelsImportTask),this._segmentLabels=c(this._segmentLabels),this._updatingHandles=c(this._updatingHandles),this._measurementWorker.destroy()}get _coordinateHelper(){return this._editGeometryOperations?.data.coordinateHelper??De(!!this.graphic.geometry?.hasZ,!!this.graphic.geometry?.hasM,this.view.spatialReference)}get _effectiveFilterVerticesEnabled(){return this.view?.type===`2d`&&this.filterVerticesEnabled}get test(){return{segmentLabels:this._segmentLabels}}get _selectedManipulator(){return this.selectedManipulators.length===1?this.selectedManipulators.at(0):void 0}get _tooltipsContext(){let{toolOptions:e,activeTooltipInfo:t,graphic:n}=this;return{toolOptions:e,activeTooltipInfo:t,graphic:n,selectedVertex:this._selectedManipulator,measurementWorker:this._measurementWorker,updateGeometry:(e,t,n,r,i)=>{this._setUpGeometryHelper();let a=e===this.graphic;if(a?this._emitMoveStartEvent(0,0):this._emitReshapeStartEvent(e),this._syncGeometryAfterVertexMove(e,t,r,i,!0),a){let{view:e}=this,r=e.toScreen(n),i=e.toScreen(t),a=(i?.x??0)-(r?.x??0),o=(i?.y??0)-(r?.y??0);this._emitMoveEvent(a,o),this._emitMoveStopEvent(a,o)}else this._emitReshapeEvent(e),this._emitReshapeStopEvent(e)}}}get state(){let e=this.view.ready,t=!!(this.graphic&&this.layer);return e&&t?`active`:e?`ready`:`disabled`}get updating(){return!!this._updatingHandles?.updating||!!this._connectedReshapeManager?.updating||!!this._segmentLabels?.updating||!!this.snappingManager?.updating}isUIGraphic(e){return e===this.graphic||this._isMidpoint(e)||this._isCurveControlPoint(e)||this._isVertex(e)||this._isConstructionLine(e)}refresh(e){if(this._reset(),this._setup(),e){for(let t of this.vertexGraphics)e.has($(t))&&this._addToSelection(t);for(let t of this.curveControlPointGraphics)e.has($(t))&&this._addToSelection(t)}}reset(){this.graphic=null}clearSelection(){this._clearSelection()}removeSelectedVertices(){let{selectedManipulators:e}=this;e.length&&this._removeVertices(e)}_setup(){let{graphic:e,layer:t}=this;if(!t||e?.geometry==null)return;let n=e.geometry;if(n.type===`mesh`||n.type===`extent`){this._logGeometryTypeError();return}n.type===`polygon`&&w(n),this._setUpHighlights(),this._setupGraphics(),this._setupMover(),this._setupConnectedReshapeManager(),this._setUpGeometryHelper()}_setUpHighlights(){this.highlightsEnabled&&this.graphic&&this._highlightHelper?.add(this.graphic,this.highlightName)}_setUpGeometryHelper(){let e=this.graphic.geometry;if(e==null||e.type===`mesh`||e.type===`extent`){this._segmentLabels=c(this._segmentLabels),this._logGeometryTypeError();return}this._editGeometryOperations?this._syncEditGeometryOperations(e):this._editGeometryOperations=ke.fromGeometry(e,2,{allowCurves:!0}),this._updatingHandles.consumePromise(this._setupSegmentLabels())}_saveSnappingContextForHandle(e,t){this._snappingGraphicsLayer=new ie({listMode:`hide`,internal:!0,title:`Reshape snapping layer`}),this.view.map.layers.add(this._snappingGraphicsLayer);let n=this._editGeometryOperations;u(n),this._snappingContext=new je({editGeometryOperations:n,elevationInfo:W,pointer:t.viewEvent?.pointerType||`mouse`,excludeFeature:this.graphic,feature:this.graphic,visualizer:new ae(this._snappingGraphicsLayer),vertexHandle:this._getVertexFromEditGeometry(e)})}_reset(){this._clearSelection(),this._highlightHelper?.removeAll(),this._updateTooltip(),this._resetGraphics(),this._resetSnappingStateVars(),this._segmentLabelsImportTask=l(this._segmentLabelsImportTask),this._segmentLabels=c(this._segmentLabels),this._activeOperationInfo=null,this._mover=c(this._mover),this.removeHandles(U),this._connectedReshapeManager?.finish()}_resetSnappingStateVars(){this.snappingManager!=null&&this.snappingManager.doneSnapping(),this._snappingGraphicsLayer!=null&&(this.view.map?.layers.remove(this._snappingGraphicsLayer),c(this._snappingGraphicsLayer)),this._snappingTask=l(this._snappingTask),this._snappingTask=null,this._snappingContext=null,this._stagedVertex=null}_resetGraphics(e){this._removeMidpointGraphics(e),this._removeVertexGraphics(e),this._removeCurveGraphics(e),this._updateTooltip()}_removeMidpointGraphics(e=this.layer){let{midpointGraphics:t}=this;e?.removeMany(t.items),t.drain(c)}_removeVertexGraphics(e=this.layer){let{vertexGraphics:t}=this;this._relatedGraphicIndex=null,e?.removeMany(t.items),t.drain(c)}_removeCurveGraphics(e=this.layer){let{curveControlPointGraphics:t,constructionLineGraphics:n}=this;e?.removeMany(t.items),e?.removeMany(n.items),t.drain(c),n.drain(c)}_setupGraphics(){let e=this.graphic.geometry;if(e!=null&&(e.type===`polyline`||e.type===`polygon`||e.type===`multipoint`)){let t=K(e);this.enableMidpoints&&e.type!==`multipoint`&&this._setUpMidpointGraphics(t),this.enableVertices&&(this._setUpVertexGraphics(t),this._setupCurveGraphics(t))}}_setUpMidpointGraphics(e){this._removeMidpointGraphics();let t=ye(e,this.symbols,this._coordinateHelper,this.graphic.geometry?.type===`polygon`,this.filterVerticesEnabled?this.view.extent:null,this.filterVerticesEnabled?this.view.resolution:-1);this.midpointGraphics.addMany(t),this.layer.addMany(t)}_setUpVertexGraphics(e){if(this._removeVertexGraphics(),this._effectiveFilterVerticesEnabled){let t=L(e,this.symbols,this._coordinateHelper,this.view.extent,this.view.resolution);this._relatedGraphicIndex=t.graphicIndex,this.vertexGraphics.addMany(t.graphics),this.layer.addMany(t.graphics)}else{let t=L(e,this.symbols,this._coordinateHelper,null,-1).graphics;this.vertexGraphics.addMany(t),this._storeRelatedVertexIndices(),this.layer.addMany(t)}}_setupCurveGraphics(e){this._removeCurveGraphics();let t=be(e,this.symbols,this._coordinateHelper),n=xe(e,this.symbols,this._coordinateHelper);this.curveControlPointGraphics.addMany(t),this.constructionLineGraphics.addMany(n),this.layer.addMany(n),this.layer.addMany(t)}async _setupSegmentLabels(){let e=this._editGeometryOperations,t=this.toolOptions.labels.enabled;if((!e||this._segmentLabels?.context?.editGeometryOperations!==e||!t)&&(this._segmentLabels=c(this._segmentLabels)),!this._segmentLabels&&e&&t){let t=this._segmentLabelsImportTask??=n(async e=>{let t=import(`../../2d/interactive/SegmentLabels2D.js`),{SegmentLabels2D:n}=await this._updatingHandles.addPromise(t);return e.aborted?null:n}),r=await this._updatingHandles.addPromise(t.promise);if(!r)return;this._segmentLabels=c(this._segmentLabels),this._segmentLabels=new r({context:{view:this.view,editGeometryOperations:e,elevationInfo:W,labelOptions:this.toolOptions.labels},visible:!0})}}_updateSymbolsForTheme(){let e=this.view.effectiveTheme.accentColor;this.symbols={vertices:{...this.symbols.vertices,default:this.symbols.vertices.default.clone().set(`color`,e),hover:this.symbols.vertices.hover?.clone().set(`color`,e)},controlPoints:{...this.symbols.controlPoints,default:this.symbols.controlPoints.default.clone().set(`color`,e),hover:this.symbols.controlPoints.hover?.clone().set(`color`,e)},midpoints:{...this.symbols.midpoints},constructionLines:this.symbols.constructionLines.clone().set(`color`,e)};for(let e of this.vertexGraphics)e.symbol=this._isSelected(e)?this.symbols.vertices.selected:this._hoverGraphic===e?this.symbols.vertices.hover:this.symbols.vertices.default;for(let e of this.curveControlPointGraphics)e.symbol=this._isSelected(e)?this.symbols.controlPoints.selected:this._hoverGraphic===e?this.symbols.controlPoints.hover:this.symbols.controlPoints.default;for(let e of this.constructionLineGraphics)e.symbol=this.symbols.constructionLines}_storeRelatedVertexIndices(){let e=this.vertexGraphics.items;if(!e)return;let t=e.map(({geometry:e})=>({x:e.x,y:e.y}));for(let n=0;n<t.length;n++){let r=[];for(let e=0;e<t.length;e++){if(n===e)continue;let i=t[n],a=t[e];i.x===a.x&&i.y===a.y&&r.push(e)}e[n].attributes[R.relatedGraphicIndices]=r}}_setupMover(){let{enableMovement:e,graphic:t,midpointGraphics:n,vertexGraphics:r,view:i}=this,a=r.concat(n,this.curveControlPointGraphics).toArray();e&&t.geometry?.type!==`multipoint`&&a.push(t),this._mover=new ue({enableMoveAllGraphics:!1,highlightsEnabled:!1,indicatorsEnabled:!1,graphics:a,view:i,callbacks:{onGraphicClick:e=>this._onGraphicClickCallback(e),onGraphicMoveStart:e=>this._onGraphicMoveStartCallback(e),onGraphicMove:e=>this._onGraphicMoveCallback(e),onGraphicMoveStop:e=>this._onGraphicMoveStopCallback(e),onGraphicPointerOver:e=>this._onGraphicPointerOverCallback(e),onGraphicPointerOut:e=>this._onGraphicPointerOutCallback(e)}})}_setupConnectedReshapeManager(){let{connectedReshapeProviders:e}=this;e!=null&&e.length!==0&&(this._connectedReshapeManager??=new oe({providerFactories:e,view:this.view}))}_onGraphicClickCallback(e){e.viewEvent.stopPropagation();let t=e.graphic,n=this._isCurveControlPoint(t);if(t===this.graphic)this.clearSelection(),this.emit(`graphic-click`,e),this.callbacks.onGraphicClick?.(e);else if(this._isMidpoint(t)){if(e.viewEvent.button===2)return;let n=this.graphic.clone(),r=this._handleMidpointClickOrStartMove(e);this.refresh(),r.length&&this._emitVertexAddEvent([t],n,r)}else if(this._isVertex(t)||n){if(e.viewEvent.stopPropagation(),e.viewEvent.button===2){n||this._removeVertices(t);return}e.viewEvent.native.shiftKey||this._clearSelection(),this.selectedManipulators.includes(t)?this._removeFromSelection(t,!0):this._addToSelection(t)}}_setUpOperation(e){let{graphic:t,dx:n,dy:r}=e,i=t===this.graphic;this._resetSnappingStateVars(),this._setUpGeometryHelper(),this._saveSnappingContextForHandle(t,e),this._activeOperationInfo={target:this.graphic,mover:t,operationType:i?`move`:`reshape`,totalDx:n,totalDy:r}}_onGraphicMoveStartCallback(e){let{dx:t,dy:n,graphic:r}=e,i=this._connectedReshapeManager,a=i?Re(this.graphic):null;if(r===this.graphic){let{geometry:o}=r;this._primaryGraphicMoving=!0,this._setUpOperation(e),this._emitMoveStartEvent(t,n),a&&i?.startFeatureMove([a]),this._effectiveFilterVerticesEnabled&&this._resetGraphics(this.layer),o!=null&&o.type===`point`&&this._onHandleMove(r,t,n,e,()=>{this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(t,n)});return}let{selectedManipulators:o}=this;if(!o.includes(r)){if(this._clearSelection(),this._isMidpoint(r)){let t=this.graphic.clone(),n=this._handleMidpointClickOrStartMove(e);n.length&&(this._emitVertexAddEvent([r],t,n),this._refreshGraphicIndicesAttributes(n[0]))}this._addToSelection(r)}if(this._setUpOperation(e),a){let e=o.filter(e=>this._isVertex(e));i?.startVertexMove(a,ze(e))}this._emitReshapeStartEvent(r),this._onHandleMove(r,t,n,e,()=>{this._updateTooltip(r,e.viewEvent),this._emitReshapeEvent(r)})}_onGraphicMoveCallback(e){let t=this._activeOperationInfo;if(!t)return;let{dx:n,dy:r,graphic:i}=e;t.totalDx+=n,t.totalDy+=r;let{operationType:a}=t,{geometry:o}=i;if(o!=null){if(a===`move`){if(o.type===`point`)this._onHandleMove(i,n,r,e,()=>{this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(n,r)});else if(o.type===`polyline`||o.type===`polygon`){let{dxMap:t,dyMap:i}=se(n,r,this.view);if(!this._effectiveFilterVerticesEnabled){let e=K(o);this._updateVertexGraphicLocations(e)}else if(this.selectedManipulators.length>0){let e=this.selectedManipulators.toArray();this.selectedManipulators.removeAll();for(let t of e){if(t.geometry?.type===`point`){let{pathIndex:e,pointIndex:n}=t.attributes,r=te(o)[e][n];if(r){let e=A(r);t.geometry=this._coordinateHelper.arrayToPoint(e)}}this._addToSelection(t.clone())}}this._connectedReshapeManager?.translate(t,i,0),this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(n,r)}this._syncEditGeometryOperations(o);return}this._onHandleMove(i,n,r,e,()=>{this._updateTooltip(i,e.viewEvent),this._emitReshapeEvent(i)})}}_onGraphicMoveStopCallback(e){let t=this._activeOperationInfo;if(this._primaryGraphicMoving=!1,!t)return;let{dx:n,dy:r,graphic:i,x:a,y:o}=e,{operationType:s}=t;t.totalDx+=n,t.totalDy+=r,this._onHandleMove(i,n,r,e,()=>this._handleVertexSnap(i,{x:a,y:o},s))}_afterMoveStop(e,t){if(this._effectiveFilterVerticesEnabled&&t===`move`){let e=new Set;for(let t of this.selectedManipulators)e.add($(t));this.refresh(e),this._updateTooltip();return}if(this._isMidpoint(e)||e.getAttribute(R.curveFromStraightEdgeFlag)){this.refresh();return}this._updateTooltip(this._isVertex(e)?e:null),this._resetSnappingStateVars(),this._connectedReshapeManager?.finish(),this._activeOperationInfo=null}_handleVertexSnap(e,t,r){let i=e.geometry,a=this.snappingManager?.getVertexCandidates(),o=this.callbacks.onVertexSnap,s=()=>r===`move`?this._emitMoveStopEvent():this._emitReshapeStopEvent(e);if(!o||!i||!D(i)||!a||a.length===0){s(),this._afterMoveStop(e,r);return}l(this._snappingTask),this._snappingTask=n(async n=>{try{let r=await o(i,t,a);d(n);let s=E(r);this._coordinateHelper.hasZ()||(s.z=void 0),this._syncGeometryAfterVertexMove(e,s,0,0),e.geometry=s}finally{s(),this._afterMoveStop(e,r)}})}_updateVertexGraphicLocations(e){let{_coordinateHelper:t}=this;for(let n of this.vertexGraphics){let{pathIndex:r,pointIndex:i}=n.attributes;n.geometry=t.arrayToPoint(A(e[r][i]))}this._updateMidpointGraphicLocations(e),this._updateCurveGraphicLocations(e)}_updateMidpointGraphicLocations(e,t){let{_coordinateHelper:n}=this;if(t)for(let r of this.midpointGraphics){let{pathIndex:i,pointIndexStart:a,pointIndexEnd:o}=r.attributes;if(!t.has(i))continue;let s=t.get(i);if(!s.has(a)&&!s.has(o))continue;let c=e[i];r.geometry=new b(z(c[a],c[o],n))}else for(let t of this.midpointGraphics){let{pathIndex:r,pointIndexStart:i,pointIndexEnd:a}=t.attributes,o=e[r];t.geometry=new b(z(o[i],o[a],n))}}_updateCurveGraphicLocations(e){let{spatialReference:t}=this._coordinateHelper,n=new Map;for(let e of this.selectedManipulators){let[t,r]=Q(e);t!=null&&r!=null&&e.getAttribute(R.controlPointKind)&&s(n,t,()=>new Set)?.add(r)}for(let t of this.curveControlPointGraphics){let[r,i]=Q(t);if(n.get(r)?.has(i))continue;let a=e[r][i];if(j(a)||M(a)){let n=A(e[r][i-1]),o=j(a)?k(n,a):I(n,a),[s,c]=O(o,.25);t.geometry=new b({x:s,y:c,spatialReference:this._coordinateHelper.spatialReference})}else if(N(a)){let[e,n]=t.getAttribute(R.controlPointKind)===B.bezier.cp1?a.b[1]:a.b[2];t.geometry=new b({x:e,y:n,spatialReference:this._coordinateHelper.spatialReference})}}for(let n of this.constructionLineGraphics){let r=n.getAttribute(R.controlPointKind),[i,a]=Q(n),o=e[i],s=A(o[a-1]),c=A(o[a]),l=e[i][a];n.geometry=r===B.bezier.line1?new x({paths:[[[s[0],s[1]],[...l.b[1]]]],spatialReference:t}):new x({paths:[[[c[0],c[1]],[...l.b[2]]]],spatialReference:t})}}_refreshGraphicIndicesAttributes(e){let{componentIndex:t,vertexIndex:n}=e,r=e=>{let[r,i]=Q(e);r===t&&i>=n&&e.setAttribute(R.pointIndex,i+1)};this.vertexGraphics.forEach(r),this.curveControlPointGraphics.forEach(r),this.constructionLineGraphics.forEach(r);for(let e of this.midpointGraphics){if(e.getAttribute(R.pathIndex)!==t)continue;let r=e.getAttribute(R.pointIndexStart);r>=n&&(e.setAttribute(R.pointIndexStart,r+1),e.setAttribute(R.pointIndexEnd,e.getAttribute(R.pointIndexEnd)+1))}}_getVertexFromEditGeometry(e){let[t,n]=Q(e);return u(this._editGeometryOperations),this._editGeometryOperations.data.parts[t].vertices[n]}_onHandleMove(e,t,r,i,a){l(this._snappingTask);let o=this._snappingContext;if(!o)return;let s=e.geometry,c=i.type===`graphic-move-stop`;if(!s||!D(s)){a();return}if(this.snappingManager!=null&&this.selectedManipulators.length<2&&!c){let i=this.snappingManager;this._stagedVertex=i.update({point:s,context:o}),this._syncGeometryAfterVertexMove(e,new b(this._stagedVertex),t,r,c),a(),this._snappingTask=n(async n=>{let l=await i.snap({point:s,context:o,signal:n});if(l.valid){let n=l.apply();n.z=this._coordinateHelper.hasZ()?ce(this.snappingManager)??n.z:void 0,this._stagedVertex=n,this._syncGeometryAfterVertexMove(e,new b(this._stagedVertex),t,r,c),a()}}),this._updatingHandles.consumePromise(this._snappingTask.promise)}else{let n=this._stagedVertex==null?s:new b(this._stagedVertex);this._syncGeometryAfterVertexMove(e,n,t,r,c),a()}}_syncGeometryAfterVertexMove(e,t,n,r,i=!1){let a=V(this._editGeometryOperations?.data.geometry);if(!a)return;let{_coordinateHelper:o}=this,s=o.pointToVector(t),c=this._getVertexFromEditGeometry(e),l=null;if(c){let e=o.getZ(s);l=[c.pos[0],c.pos[1]];let t=s[0]-c.pos[0],n=s[1]-c.pos[1],r=e==null?0:e-c.pos[2];(a.type===`point`||a.type===`mesh`)&&this._editGeometryOperations?.moveVertices([c],t,n,r),this._connectedReshapeManager?.translate(t,n,r)}if(a.type===`point`)e.geometry=t;else if(a.type===`mesh`)e.geometry=a.centerAt(t);else{if(e!==this.graphic){l&&!this._isVertex(e)&&(l=null);let i=o.spatialReference,[s,c]=Q(e),u=q(a),d=o.pointToArray(t);if(this._updateGeometryFromGraphic(e,u,s,c,d,i,a.type===`polygon`),this._isVertex(e)||this._isCurveControlPoint(e)){let t=new Map;t.set(s,new Set([c])),u=this._moveRelatedCoordinates(u,e,d,t,l),u=this._moveSelectedHandleCoordinates(u,e,n,r,a.type===`polygon`),this._updateMidpointGraphicLocations(u,t),this._updateCurveGraphicLocations(u)}else this._isMidpoint(e)&&this._updateCurveGraphicLocations(u);H(a,u)}this._updateGraphicGeometry(a),this._syncEditGeometryOperations(a),i&&(this._mover?this._mover.updateGeometry(this._mover.graphics.indexOf(e),t):e.geometry=t)}}_syncEditGeometryOperations(e){this._editGeometryOperations?.trySetGeometry(e)||(this._editGeometryOperations=null,this._setUpGeometryHelper())}_moveRelatedCoordinates(e,t,n,r,i){if(this._effectiveFilterVerticesEnabled&&this._relatedGraphicIndex&&i){let a=this._relatedGraphicIndex.search({minX:i[0],maxX:i[0],minY:i[1],maxY:i[1]});for(let o of a)o.coordinate[0]===i[0]&&o.coordinate[1]===i[1]&&o.graphic&&(r&&s(r,o.pathIndex,()=>new Set).add(o.pointIndex),Z(e,o.pathIndex,o.pointIndex,n,this._coordinateHelper.spatialReference),this._relatedGraphicIndex.remove(o),o.coordinate[0]=t.geometry.x,o.coordinate[1]=t.geometry.y,o.graphic.geometry=t.geometry,this._relatedGraphicIndex.insert(o));return e}let{relatedGraphicIndices:a}=t.attributes,o=this._coordinateHelper.spatialReference;if(!a?.length)return e;for(let i of a){let a=this.vertexGraphics.at(i),[c,l]=Q(a);r&&s(r,c,()=>new Set).add(l),Z(e,c,l,n,o),a.geometry=t.geometry}return e}_moveSelectedHandleCoordinates(e,t,n,r,i){let a=this._coordinateHelper.spatialReference;for(let o of this.selectedManipulators)if(o!==t){let[t,s]=Q(o),c=o.getAttribute(R.relatedGraphicIndices),l=le(o.geometry,n,r,this.view),u=T(l);if(o.geometry=l,this._updateGeometryFromGraphic(o,e,t,s,u,a,i),c?.length)for(let t of c){let n=this.vertexGraphics.at(t),[r,i]=Q(n);Z(e,r,i,u,a),n.geometry=l}}return e}_updateGeometryFromGraphic(e,t,n,r,i,a,o){let s=t[n].length-1;this._isCurveControlPoint(e)?Ie(t,n,r,[i[0],i[1]],e.getAttribute(R.controlPointKind)):(Z(t,n,r,i,a),o&&(r===0?Z(t,n,s,i,a):r===s&&(t[n][0]=i)))}_onGraphicPointerOverCallback(e){let t=e.graphic;this._hoverGraphic=t;let n=this._isVertex(t);n&&!this._isSelected(t)?t.symbol=this.symbols.vertices.hover:this._isCurveControlPoint(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.controlPoints.hover),this._updateTooltip(n?t:null),this._updateHoverCursor(t)}_onGraphicPointerOutCallback(e){let t=e.graphic;this._hoverGraphic=null,this._isVertex(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.vertices.default),this._isCurveControlPoint(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.controlPoints.default),this.removeHandles(U),this._updateTooltip()}_handleMidpointClickOrStartMove(e){let{graphic:t}=e,n=this.graphic.geometry;if(n==null||n.type!==`polygon`&&n.type!==`polyline`)return[];let r=V(n),i=[],{[R.pathIndex]:a,[R.pointIndexStart]:o,[R.pointIndexEnd]:s}=t.attributes,c=T(t.geometry),l=s===0?o+1:s;t.attributes={[R.tool]:Se,[R.pathIndex]:a,[R.pointIndex]:l,[R.relatedGraphicIndices]:[]};let u=q(r),d=u[a][s];if(P(d)){if(this.enableCurveOnMidpoint&&e.viewEvent.native.shiftKey){let e=A(u[a][l]);u[a].splice(l,1,{c:[e,[c[0],c[1]]]}),t.setAttribute(R.controlPointKind,B.circle.interior),t.setAttribute(R.curveFromStraightEdgeFlag,!0),this.midpointGraphics.remove(t),this.curveControlPointGraphics.push(t),H(r,u)}else u[a].splice(l,0,c),i.push({coordinates:u[a][l],componentIndex:a,vertexIndex:l})}else{let e=A(u[a][o]),t=Ce(e,d,.5,this._coordinateHelper);u[a].splice(s,1,...t),i.push({coordinates:A(u[a][l]),componentIndex:a,vertexIndex:l})}return this._updateGraphicGeometry(r),this._syncEditGeometryOperations(r),i}_addToSelection(e){let t=Le(e);for(let e of t)e.symbol=this._isCurveControlPoint(e)?this.symbols.controlPoints.selected:this.symbols.vertices.selected,this.selectedManipulators.add(e),this._updateTooltip(e);this._emitSelectEvent(t)}_removeFromSelection(e,t){if(this._isVertex(e)){let{vertices:n}=this.symbols;e.symbol=t?n.hover:n.default}else if(this._isCurveControlPoint(e)){let{controlPoints:n}=this.symbols;e.symbol=t?n.hover:n.default}this.selectedManipulators.remove(e),this._emitDeselectEvent([e]),this._updateTooltip()}_clearSelection(){let e=this.selectedManipulators.toArray(),{controlPoints:t,vertices:n}=this.symbols;if(e.length>0){for(let r of e)this._isVertex(r)?r.symbol=n.default:this._isCurveControlPoint(r)&&(r.symbol=t.default);this.selectedManipulators.removeAll(),this._emitDeselectEvent(e),this._updateTooltip()}}_keyDownHandler(e){this._activeOperationInfo==null&&Ne(e,this.tooltip)||Oe.delete.includes(e.key)&&!e.repeat&&this.selectedManipulators.length&&(this._removeVertices(this.selectedManipulators),e.stopPropagation())}_removeVertices(e){let t=this.graphic.geometry,n=this.vertexGraphics.length;if(t==null||t.type!==`polygon`&&t.type!==`polyline`&&t.type!==`multipoint`||t.type===`polygon`&&n<4||t.type===`multipoint`&&n<2||t.type===`polyline`&&n<3)return;let r=this.graphic.clone(),i=V(t),a=q(i),o=[],s=Le(e);for(let e of s){if(this._isCurveControlPoint(e))continue;let{x:t,y:n}=e.geometry;for(let e=0;e<a.length;e++){let r=a[e];for(let i=0;i<r.length;i++){let[s,c]=A(r[i]);if(t===s&&n===c){o.push({coordinates:A(a[e][i]),componentIndex:e,vertexIndex:i}),a[e].splice(Number(i),1);let t=a[e][i];t&&!P(t)&&(a[e][i]=A(t))}}}}if(i.type===`polygon`)a=a.filter(e=>{if(e.length<2)return!1;let[t,n]=A(e[0]),[r,i]=A(e[e.length-1]);return e.length===2&&t===r&&n===i?!1:((t!==r||n!==i)&&e.push(e[0]),!0)});else if(i.type===`polyline`)for(let e of a)e.length===1&&a.splice(a.indexOf(e),1);H(i,a),this._updateGraphicGeometry(i),this.refresh(),this._emitVertexRemoveEvent(s,r,o)}_isVertex(e){return this.vertexGraphics.includes(e)}_isCurveControlPoint(e){return this.curveControlPointGraphics.includes(e)}_isConstructionLine(e){return this.constructionLineGraphics.includes(e)}_isSelected(e){return(this._isVertex(e)||this.curveControlPointGraphics.includes(e))&&this.selectedManipulators.includes(e)}_isMidpoint(e){return this.midpointGraphics.includes(e)}_updateHoverCursor(e){let t=this._isMidpoint(e)?`copy`:`move`;this.addHandles(this.view.acquireCursor(t,`high`),U)}_updateTooltip(e,t){let n=null,{graphic:r,view:i,tooltipInfos:a}=this,o=r?.geometry;o?.type===`point`?n=a.movePoint:this._selectedManipulator?n=a.selectedVertex:e===this.graphic?(n=a.translateGraphic,ge(n,i,this._tooltipsContext,this._updatingHandles,t)):e&&this.selectedManipulators.length>1&&(n=a.translateVertices,_e(n,i,o,this._tooltipsContext,this._updatingHandles,t)),this.activeTooltipInfo=n}_updateGraphicGeometry(e){this._updateHandlesOnExternalGeometryChange?.pause(),this.graphic.geometry=e,this._updateHandlesOnExternalGeometryChange?.resume()}_emitMoveStartEvent(e,t){let n={type:`move-start`,mover:this.graphic,dx:e,dy:t};this.emit(`move-start`,n),this.callbacks.onMoveStart?.(n)}_emitMoveEvent(e,t){let n={type:`move`,mover:this.graphic,dx:e,dy:t};this.emit(`move`,n),this.callbacks.onMove?.(n)}_emitMoveStopEvent(e,t){if(e==null||t==null){let n=this._activeOperationInfo;if(!n)return;e=n.totalDx,t=n.totalDy}let n={type:`move-stop`,mover:this.graphic,dx:e,dy:t};this.emit(`move-stop`,n),this.callbacks.onMoveStop?.(n)}_emitReshapeStartEvent(e){let t={type:`reshape-start`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape-start`,t),this.callbacks.onReshapeStart?.(t)}_emitReshapeEvent(e){let t={type:`reshape`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape`,t),this.callbacks.onReshape?.(t)}_emitReshapeStopEvent(e){let t={type:`reshape-stop`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape-stop`,t),this.callbacks.onReshapeStop?.(t)}_emitSelectEvent(e){let t={type:`vertex-select`,added:e};this.emit(`select`,t),this.callbacks.onVertexSelect?.(t)}_emitDeselectEvent(e){let t={type:`vertex-deselect`,removed:e};this.emit(`deselect`,t),this.callbacks.onVertexDeselect?.(t)}_emitVertexAddEvent(e,t,n){let r={type:`vertex-add`,added:e,graphic:this.graphic,oldGraphic:t,vertices:n};this.emit(`vertex-add`,r),this.callbacks.onVertexAdd?.(r)}_emitVertexRemoveEvent(e,t,n){let r={type:`vertex-remove`,removed:e,graphic:this.graphic,oldGraphic:t,vertices:n};this.emit(`vertex-remove`,r),this.callbacks.onVertexRemove?.(r)}_logGeometryTypeError(){o.getLogger(this).error(new i(`reshape:invalid-geometry`,`Reshape operation not supported for the provided graphic. The geometry type is not supported.`))}};e([_()],G.prototype,`_activeOperationInfo`,void 0),e([_()],G.prototype,`_connectedReshapeManager`,void 0),e([_()],G.prototype,`_coordinateHelper`,null),e([_()],G.prototype,`_editGeometryOperations`,void 0),e([_()],G.prototype,`_effectiveFilterVerticesEnabled`,null),e([_()],G.prototype,`_primaryGraphicMoving`,void 0),e([_()],G.prototype,`_segmentLabels`,void 0),e([_()],G.prototype,`test`,null),e([_()],G.prototype,`_segmentLabelsImportTask`,void 0),e([_()],G.prototype,`_updatingHandles`,void 0),e([_()],G.prototype,`_selectedManipulator`,null),e([_()],G.prototype,`_tooltipsContext`,null),e([_()],G.prototype,`callbacks`,void 0),e([_()],G.prototype,`connectedReshapeProviders`,void 0),e([_()],G.prototype,`enableMidpoints`,void 0),e([_()],G.prototype,`enableCurveOnMidpoint`,void 0),e([_()],G.prototype,`enableMovement`,void 0),e([_()],G.prototype,`enableVertices`,void 0),e([_()],G.prototype,`filterVerticesEnabled`,void 0),e([_()],G.prototype,`graphic`,void 0),e([_()],G.prototype,`highlightName`,void 0),e([_()],G.prototype,`highlightsEnabled`,void 0),e([_()],G.prototype,`layer`,void 0),e([_()],G.prototype,`snappingManager`,void 0),e([_({readOnly:!0})],G.prototype,`state`,null),e([_()],G.prototype,`symbols`,void 0),e([_()],G.prototype,`tooltip`,void 0),e([_()],G.prototype,`tooltipInfos`,void 0),e([_()],G.prototype,`activeTooltipInfo`,void 0),e([_()],G.prototype,`updating`,null),e([_()],G.prototype,`toolOptions`,void 0),e([_({readOnly:!0})],G.prototype,`type`,void 0),e([_({readOnly:!0})],G.prototype,`vertexGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`curveControlPointGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`constructionLineGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`midpointGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`selectedManipulators`,void 0),e([_()],G.prototype,`view`,void 0),G=e([v(`esri.views.draw.support.Reshape`)],G);function K(e){let t=q(e);t=t.map(e=>e.slice());for(let e of t)for(let t=0;t<e.length;t++)e[t]=ne(e[t]);if(e.type===`polygon`)for(let e of t){let t=e[e.length-1];if(!P(t))continue;let n=e[0];n[0]===t[0]&&n[1]===t[1]&&e.length>2&&e.pop()}return t}function q(e){return e.type===`polygon`?e.curveRings?.slice()??e.rings.slice():e.type===`polyline`?e.curvePaths?.slice()??e.paths.slice():e.points.map(e=>[e])}function Fe(e,t,n,r){let i=e[t][n];if(j(i))i.c[1]=r;else if(M(i)){let i=A(e[t][n]);e[t][n]={c:[i,r]}}}function Ie(e,t,n,r,i){switch(i){case B.circle.interior:Fe(e,t,n,r);break;case B.bezier.cp1:e[t][n].b[1]=r;break;case B.bezier.cp2:e[t][n].b[2]=r}}function J(e,t){return e<t*1e-8}function Y(e,{cx:t,cy:n,isInvalid:r,thetaStart:i,thetaEnd:a},o,s){let[c,l]=e,[u,d]=o,f=u-c,p=d-l;t-=c,n-=l;let m=s?i>a:i<a,[h,g]=r?[t,n]:m?[-n,t]:[n,-t],[_,v]=[f,p],[y,b]=[h,g],x=_*b-v*y,S=(f**2+p**2)/2;if(J(Math.abs(x),S))return[(c+u)/2,(l+d)/2];let[C,w]=[b/x*S,-y/x*S],T=C**2+w**2,[E,D]=[f/2-C,p/2-w];if(J(E**2+D**2,T)){let[e,t]=m?[-w,C]:[w,-C];return[e+C+c,t+w+l]}let O=Math.sqrt((C**2+w**2)/(E**2+D**2))*Math.sign(f*h+p*g);return[E*O+C+c,D*O+w+l]}function X(e,t,n){let r=S(new x({curvePaths:[[e,t]],spatialReference:n})),{curvePaths:i}=C(r,n),a=i[0][1];return F(a)?a:ee(e,a)}function Z(e,t,n,r,i){let a=e[t][n],o=e[t].at(n+1);if(we(e,t)){let n=e[t][1];e[t][0]=[...r],e[t][1]={a:[[...r],[...n.a[1]],0,0]};return}if(Te(e,t)){let n=e[t][1],[i,a]=n.a[1],[o,s]=r,c=Math.hypot(o-i,s-a),[l,u]=[o-i,s-a],d=re(u,l);e[t][0]=[...r],e[t][1]={a:[[...r],[...n.a[1]],0,0,d,c,n.a[6]]};return}let s=A(a);if(P(a))a.splice(0,a.length,...r);else if(N(a))a.b[0].splice(0,a.b[0].length,...r);else if(j(a)||M(a)){let i=A(e[t][n-1]),o=j(a)?k(i,a):I(i,a);e[t].splice(n,1,{c:[[...r],Y(i,o,r,!0)]})}else F(a)&&(a.a[0].splice(0,a.a[0].length,...r),a.a=X(A(e[t][n-1]),a,i).a);if(o&&!P(o)&&!N(a)){if(j(o)||M(o)){let i=A(o),a=j(o)?k(s,o):I(s,o);e[t].splice(n+1,1,{c:[i,Y(i,a,r,!1)]})}else F(o)&&(o.a=X(A(a),o,i).a)}}function Q({attributes:e}){return[e?.[R.pathIndex]||0,e?.[R.pointIndex]||0]}function $({attributes:e}){return`${e?.[R.pathIndex]}-${e?.[R.pointIndex]}-${e?.[R.controlPointKind]??`vertex`}`}function Le(e){return e instanceof t?[e]:[...e]}function Re(e){let t=e.sourceLayer??e.layer;return pe(t)?{graphic:e,layer:t}:null}function ze(e){return e.toArray().map(({attributes:e})=>({pathIndex:e[R.pathIndex],vertexIndex:e[R.pointIndex]}))}const Be=G;export{Be as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import{createTask as n}from"../../../core/asyncUtils.js";import r from"../../../core/Collection.js";import i from"../../../core/Error.js";import{EventedAccessor as a}from"../../../core/Evented.js";import o from"../../../core/Logger.js";import{getOrCreateMapValue as s}from"../../../core/MapUtils.js";import{destroyMaybe as c,abortMaybe as l,assertIsSome as u}from"../../../core/maybe.js";import{throwIfAborted as d}from"../../../core/promiseUtils.js";import{pausable as f,when as p,watch as m,initial as h,sync as g}from"../../../core/reactiveUtils.js";import{property as _,subclass as v}from"../../../core/accessorSupport/decorators.js";import{UpdatingHandles as y}from"../../../core/support/UpdatingHandles.js";import b from"../../../geometry/Point.js";import x from"../../../geometry/Polyline.js";import{closeRingsAndFixWinding as S,geometryToCoordinates as C}from"../../../geometry/support/coordsUtils.js";import{fromJSON as w}from"../../../geometry/support/jsonUtils.js";import{isPoint as T}from"../../../geometry/support/typeUtils.js";import{interpolateCircle as E}from"../../../geometry/support/curves/circleUtils.js";import{deriveCircleFromCircularArc as D}from"../../../geometry/support/curves/circularArcUtils.js";import{getPaths as O,getEndpoint as k,isCircularArc as A,isEllipticArc4 as j,isBezierCurve as M,isCoordinate as N,cloneCurve as ee,isEllipticArc7 as P}from"../../../geometry/support/curves/curveUtils.js";import{deriveCircleFromEllipticArc4 as F}from"../../../geometry/support/curves/ellipticArc4Utils.js";import{normalizeEllipticArcAfterEndpointChange as I}from"../../../geometry/support/curves/ellipticArc7Utils.js";import{wrapAtan2 as te}from"../../../geometry/support/curves/mathUtils.js";import ne from"../../../layers/GraphicsLayer.js";import{SnappingVisualizer2D as re}from"../../2d/interactive/SnappingVisualizer2D.js";import{ConnectedReshapeManager as ie}from"./ConnectedReshapeManager.js";import{screenDeltaToMapDelta as ae,getZFromVertexSnappingCandidates as oe,cloneMove as se}from"./drawUtils.js";import ce from"./GraphicMover.js";import le from"./HighlightHelper.js";import{addUniqueLayer as ue,isConnectedReshapeSupportedLayer as de}from"./layerUtils.js";import{createTooltipInfos as fe,connectTooltip as pe,updateTranslateTooltipInfo as me,updateTranslateVertexTooltipInfo as he}from"./reshapeTooltipUtils.js";import{defaultSymbols as ge,createMidpointGraphics as _e,createVertexGraphics as L,createCurveControlPointGraphics as ve,createCurveConstructionLineGraphics as ye,attributeKeys as R,getMidpoint as z,controlPointKinds as B,fastCloneGeometry as V,saveUpdatedCurveOrCoordinate as H,toolIdAttribute as be,splitCurve as xe,isSingleSegmentCircle as Se,isSingleSegmentEllipse as Ce}from"./reshapeUtils.js";import{ViewEventPriorities as we}from"../../input/InputManager.js";import{createCoordinateHelper as Te}from"../../interactive/coordinateHelper.js";import{sketchKeys as Ee}from"../../interactive/keybindings.js";import{EditGeometryOperations as De}from"../../interactive/editGeometry/EditGeometryOperations.js";import Oe from"../../interactive/options/InteractiveToolOptions.js";import{SnappingContext as ke}from"../../interactive/snapping/SnappingContext.js";import{makeTooltip as Ae,enterInputModeIfAvailable as je}from"../../interactive/tooltip/tooltipCommonUtils.js";import{GeometryWorkerHandle as Me}from"../../support/GeometryWorkerHandle.js";const U=Symbol(),W={mode:`on-the-ground`,offset:0};let G=class extends a{constructor(e){super(e),this._updateHandlesOnExternalGeometryChange=null,this._activeOperationInfo=null,this._connectedReshapeManager=null,this._editGeometryOperations=null,this._primaryGraphicMoving=!1,this._segmentLabels=null,this._segmentLabelsImportTask=null,this._mover=null,this._snappingContext=null,this._snappingGraphicsLayer=null,this._hoverGraphic=null,this._snappingTask=null,this._stagedVertex=null,this._relatedGraphicIndex=null,this._updatingHandles=new y,this._measurementWorker=new Me({preloadGeodetic:!0}),this.callbacks={onReshapeStart(){},onReshape(){},onReshapeStop(){},onMoveStart(){},onMove(){},onMoveStop(){},onGraphicClick(){}},this.connectedReshapeProviders=null,this.enableMidpoints=!0,this.enableCurveOnMidpoint=!1,this.enableMovement=!0,this.enableVertices=!0,this.filterVerticesEnabled=!0,this.graphic=null,this.highlightName=null,this.highlightsEnabled=!0,this.layer=null,this.snappingManager=null,this.symbols=ge,this.tooltip=null,this.activeTooltipInfo=null,this.toolOptions=new Oe,this.type=`reshape`,this.vertexGraphics=new r,this.curveControlPointGraphics=new r,this.constructionLineGraphics=new r,this.midpointGraphics=new r,this.selectedManipulators=new r,this.view=null}initialize(){let e=this.view;this._highlightHelper=new le({view:e}),this._setup(),this._updateHandlesOnExternalGeometryChange=f(()=>this.graphic?.geometry,e=>{if(!e||this._primaryGraphicMoving===!0)return;let t=new Set(this.selectedManipulators.map(Q));this._highlightHelper.removeAll(),this._setUpHighlights(),this._setupGraphics(),this._clearSelection(),this.vertexGraphics.filter(e=>t.has(Q(e))).forEach(e=>this._addToSelection(e)),this.curveControlPointGraphics.filter(e=>t.has(Q(e))).forEach(e=>this._addToSelection(e));let{enableMovement:n,_mover:r,graphic:i,midpointGraphics:a,vertexGraphics:o,curveControlPointGraphics:s}=this,c=o.concat(a,s).toArray();n&&c.push(i),r?.set(`graphics`,c)},g),this.tooltip=Ae(()=>({view:e,options:this.toolOptions.tooltips})),this.tooltipInfos=fe(this.toolOptions),this.addHandles([p(()=>e?.ready,()=>{let{layer:e,view:t}=this;ue(t,e),this.addHandles(t.on(`key-down`,e=>this._keyDownHandler(e),we.TOOL))},{once:!0,initial:!0}),m(()=>this.graphic,()=>this.refresh()),...this._effectiveFilterVerticesEnabled?[m(()=>[this.view.viewpoint,this.view.stationary],()=>{this.view.stationary&&this.refresh()})]:[],m(()=>this.layer,(e,t)=>{t&&(this._clearSelection(),this._resetGraphics(t)),this.refresh()}),m(()=>[this.highlightsEnabled,this.highlightName],()=>{this._highlightHelper?.removeAll(),this._setUpHighlights()}),m(()=>this.enableMidpoints,()=>this.refresh()),pe(this.tooltip,()=>this._tooltipsContext,this._updatingHandles),m(()=>this.toolOptions.labels.enabled,e=>{this._segmentLabels?this._segmentLabels.visible=e:this._setUpGeometryHelper()}),m(()=>this.view.effectiveTheme.accentColor,()=>this._updateSymbolsForTheme(),h),this._updateHandlesOnExternalGeometryChange]),this._updateTooltip()}destroy(){this._reset(),this._mover=c(this._mover),this._connectedReshapeManager=c(this._connectedReshapeManager),this.tooltip=c(this.tooltip),this._segmentLabelsImportTask=l(this._segmentLabelsImportTask),this._segmentLabels=c(this._segmentLabels),this._updatingHandles=c(this._updatingHandles),this._measurementWorker.destroy()}get _coordinateHelper(){return this._editGeometryOperations?.data.coordinateHelper??Te(!!this.graphic.geometry?.hasZ,!!this.graphic.geometry?.hasM,this.view.spatialReference)}get _effectiveFilterVerticesEnabled(){return this.view?.type===`2d`&&this.filterVerticesEnabled}get test(){return{segmentLabels:this._segmentLabels}}get _selectedManipulator(){return this.selectedManipulators.length===1?this.selectedManipulators.at(0):void 0}get _tooltipsContext(){let{toolOptions:e,activeTooltipInfo:t,graphic:n}=this;return{toolOptions:e,activeTooltipInfo:t,graphic:n,selectedVertex:this._selectedManipulator,measurementWorker:this._measurementWorker,updateGeometry:(e,t,n,r,i)=>{this._setUpGeometryHelper();let a=e===this.graphic;if(a?this._emitMoveStartEvent(0,0):this._emitReshapeStartEvent(e),this._syncGeometryAfterVertexMove(e,t,r,i,!0),a){let{view:e}=this,r=e.toScreen(n),i=e.toScreen(t),a=(i?.x??0)-(r?.x??0),o=(i?.y??0)-(r?.y??0);this._emitMoveEvent(a,o),this._emitMoveStopEvent(a,o)}else this._emitReshapeEvent(e),this._emitReshapeStopEvent(e)}}}get state(){let e=this.view.ready,t=!!(this.graphic&&this.layer);return e&&t?`active`:e?`ready`:`disabled`}get updating(){return!!this._updatingHandles?.updating||!!this._connectedReshapeManager?.updating||!!this._segmentLabels?.updating||!!this.snappingManager?.updating}isUIGraphic(e){return e===this.graphic||this._isMidpoint(e)||this._isCurveControlPoint(e)||this._isVertex(e)||this._isConstructionLine(e)}refresh(e){if(this._reset(),this._setup(),e){for(let t of this.vertexGraphics)e.has(Q(t))&&this._addToSelection(t);for(let t of this.curveControlPointGraphics)e.has(Q(t))&&this._addToSelection(t)}}reset(){this.graphic=null}clearSelection(){this._clearSelection()}removeSelectedVertices(){let{selectedManipulators:e}=this;e.length&&this._removeVertices(e)}_setup(){let{graphic:e,layer:t}=this;if(!t||e?.geometry==null)return;let n=e.geometry;if(n.type===`mesh`||n.type===`extent`){this._logGeometryTypeError();return}n.type===`polygon`&&S(n),this._setUpHighlights(),this._setupGraphics(),this._setupMover(),this._setupConnectedReshapeManager(),this._setUpGeometryHelper()}_setUpHighlights(){this.highlightsEnabled&&this.graphic&&this._highlightHelper?.add(this.graphic,this.highlightName)}_setUpGeometryHelper(){let e=this.graphic.geometry;if(e==null||e.type===`mesh`||e.type===`extent`){this._segmentLabels=c(this._segmentLabels),this._logGeometryTypeError();return}this._editGeometryOperations?this._syncEditGeometryOperations(e):this._editGeometryOperations=De.fromGeometry(e,2,{allowCurves:!0}),this._updatingHandles.consumePromise(this._setupSegmentLabels())}_saveSnappingContextForHandle(e,t){this._snappingGraphicsLayer=new ne({listMode:`hide`,internal:!0,title:`Reshape snapping layer`}),this.view.map.layers.add(this._snappingGraphicsLayer);let n=this._editGeometryOperations;u(n),this._snappingContext=new ke({editGeometryOperations:n,elevationInfo:W,pointer:t.viewEvent?.pointerType||`mouse`,excludeFeature:this.graphic,feature:this.graphic,visualizer:new re(this._snappingGraphicsLayer),vertexHandle:this._getVertexFromEditGeometry(e)})}_reset(){this._clearSelection(),this._highlightHelper?.removeAll(),this._updateTooltip(),this._resetGraphics(),this._resetSnappingStateVars(),this._segmentLabelsImportTask=l(this._segmentLabelsImportTask),this._segmentLabels=c(this._segmentLabels),this._activeOperationInfo=null,this._mover=c(this._mover),this.removeHandles(U),this._connectedReshapeManager?.finish()}_resetSnappingStateVars(){this.snappingManager!=null&&this.snappingManager.doneSnapping(),this._snappingGraphicsLayer!=null&&(this.view.map?.layers.remove(this._snappingGraphicsLayer),c(this._snappingGraphicsLayer)),this._snappingTask=l(this._snappingTask),this._snappingTask=null,this._snappingContext=null,this._stagedVertex=null}_resetGraphics(e){this._removeMidpointGraphics(e),this._removeVertexGraphics(e),this._removeCurveGraphics(e),this._updateTooltip()}_removeMidpointGraphics(e=this.layer){let{midpointGraphics:t}=this;e?.removeMany(t.items),t.drain(c)}_removeVertexGraphics(e=this.layer){let{vertexGraphics:t}=this;this._relatedGraphicIndex=null,e?.removeMany(t.items),t.drain(c)}_removeCurveGraphics(e=this.layer){let{curveControlPointGraphics:t,constructionLineGraphics:n}=this;e?.removeMany(t.items),e?.removeMany(n.items),t.drain(c),n.drain(c)}_setupGraphics(){let e=this.graphic.geometry;if(e!=null&&(e.type===`polyline`||e.type===`polygon`||e.type===`multipoint`)){let t=K(e);this.enableMidpoints&&e.type!==`multipoint`&&this._setUpMidpointGraphics(t),this.enableVertices&&(this._setUpVertexGraphics(t),this._setupCurveGraphics(t))}}_setUpMidpointGraphics(e){this._removeMidpointGraphics();let t=_e(e,this.symbols,this._coordinateHelper,this.graphic.geometry?.type===`polygon`,this.filterVerticesEnabled?this.view.extent:null,this.filterVerticesEnabled?this.view.resolution:-1);this.midpointGraphics.addMany(t),this.layer.addMany(t)}_setUpVertexGraphics(e){if(this._removeVertexGraphics(),this._effectiveFilterVerticesEnabled){let t=L(e,this.symbols,this._coordinateHelper,this.view.extent,this.view.resolution);this._relatedGraphicIndex=t.graphicIndex,this.vertexGraphics.addMany(t.graphics),this.layer.addMany(t.graphics)}else{let t=L(e,this.symbols,this._coordinateHelper,null,-1).graphics;this.vertexGraphics.addMany(t),this._storeRelatedVertexIndices(),this.layer.addMany(t)}}_setupCurveGraphics(e){this._removeCurveGraphics();let t=ve(e,this.symbols,this._coordinateHelper),n=ye(e,this.symbols,this._coordinateHelper);this.curveControlPointGraphics.addMany(t),this.constructionLineGraphics.addMany(n),this.layer.addMany(n),this.layer.addMany(t)}async _setupSegmentLabels(){let e=this._editGeometryOperations,t=this.toolOptions.labels.enabled;if((!e||this._segmentLabels?.context?.editGeometryOperations!==e||!t)&&(this._segmentLabels=c(this._segmentLabels)),!this._segmentLabels&&e&&t){let t=this._segmentLabelsImportTask??=n(async e=>{let t=import(`../../2d/interactive/SegmentLabels2D.js`),{SegmentLabels2D:n}=await this._updatingHandles.addPromise(t);return e.aborted?null:n}),r=await this._updatingHandles.addPromise(t.promise);if(!r)return;this._segmentLabels=c(this._segmentLabels),this._segmentLabels=new r({context:{view:this.view,editGeometryOperations:e,elevationInfo:W,labelOptions:this.toolOptions.labels},visible:!0})}}_updateSymbolsForTheme(){let e=this.view.effectiveTheme.accentColor;this.symbols={vertices:{...this.symbols.vertices,default:this.symbols.vertices.default.clone().set(`color`,e),hover:this.symbols.vertices.hover?.clone().set(`color`,e)},controlPoints:{...this.symbols.controlPoints,default:this.symbols.controlPoints.default.clone().set(`color`,e),hover:this.symbols.controlPoints.hover?.clone().set(`color`,e)},midpoints:{...this.symbols.midpoints},constructionLines:this.symbols.constructionLines.clone().set(`color`,e)};for(let e of this.vertexGraphics)e.symbol=this._isSelected(e)?this.symbols.vertices.selected:this._hoverGraphic===e?this.symbols.vertices.hover:this.symbols.vertices.default;for(let e of this.curveControlPointGraphics)e.symbol=this._isSelected(e)?this.symbols.controlPoints.selected:this._hoverGraphic===e?this.symbols.controlPoints.hover:this.symbols.controlPoints.default;for(let e of this.constructionLineGraphics)e.symbol=this.symbols.constructionLines}_storeRelatedVertexIndices(){let e=this.vertexGraphics.items;if(!e)return;let t=e.map(({geometry:e})=>({x:e.x,y:e.y}));for(let n=0;n<t.length;n++){let r=[];for(let e=0;e<t.length;e++){if(n===e)continue;let i=t[n],a=t[e];i.x===a.x&&i.y===a.y&&r.push(e)}e[n].attributes[R.relatedGraphicIndices]=r}}_setupMover(){let{enableMovement:e,graphic:t,midpointGraphics:n,vertexGraphics:r,view:i}=this,a=r.concat(n,this.curveControlPointGraphics).toArray();e&&t.geometry?.type!==`multipoint`&&a.push(t),this._mover=new ce({enableMoveAllGraphics:!1,highlightsEnabled:!1,indicatorsEnabled:!1,graphics:a,view:i,callbacks:{onGraphicClick:e=>this._onGraphicClickCallback(e),onGraphicMoveStart:e=>this._onGraphicMoveStartCallback(e),onGraphicMove:e=>this._onGraphicMoveCallback(e),onGraphicMoveStop:e=>this._onGraphicMoveStopCallback(e),onGraphicPointerOver:e=>this._onGraphicPointerOverCallback(e),onGraphicPointerOut:e=>this._onGraphicPointerOutCallback(e)}})}_setupConnectedReshapeManager(){let{connectedReshapeProviders:e}=this;e!=null&&e.length!==0&&(this._connectedReshapeManager??=new ie({providerFactories:e,view:this.view}))}_onGraphicClickCallback(e){e.viewEvent.stopPropagation();let t=e.graphic,n=this._isCurveControlPoint(t);if(t===this.graphic)this.clearSelection(),this.emit(`graphic-click`,e),this.callbacks.onGraphicClick?.(e);else if(this._isMidpoint(t)){if(e.viewEvent.button===2)return;let n=this.graphic.clone(),r=this._handleMidpointClickOrStartMove(e);this.refresh(),r.length&&this._emitVertexAddEvent([t],n,r)}else if(this._isVertex(t)||n){if(e.viewEvent.stopPropagation(),e.viewEvent.button===2){n||this._removeVertices(t);return}e.viewEvent.native.shiftKey||this._clearSelection(),this.selectedManipulators.includes(t)?this._removeFromSelection(t,!0):this._addToSelection(t)}}_setUpOperation(e){let{graphic:t,dx:n,dy:r}=e,i=t===this.graphic;this._resetSnappingStateVars(),this._setUpGeometryHelper(),this._saveSnappingContextForHandle(t,e),this._activeOperationInfo={target:this.graphic,mover:t,operationType:i?`move`:`reshape`,totalDx:n,totalDy:r}}_onGraphicMoveStartCallback(e){let{dx:t,dy:n,graphic:r}=e,i=this._connectedReshapeManager,a=i?Fe(this.graphic):null;if(r===this.graphic){let{geometry:o}=r;this._primaryGraphicMoving=!0,this._setUpOperation(e),this._emitMoveStartEvent(t,n),a&&i?.startFeatureMove([a]),this._effectiveFilterVerticesEnabled&&this._resetGraphics(this.layer),o!=null&&o.type===`point`&&this._onHandleMove(r,t,n,e,()=>{this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(t,n)});return}let{selectedManipulators:o}=this;if(!o.includes(r)){if(this._clearSelection(),this._isMidpoint(r)){let t=this.graphic.clone(),n=this._handleMidpointClickOrStartMove(e);n.length&&(this._emitVertexAddEvent([r],t,n),this._refreshGraphicIndicesAttributes(n[0]))}this._addToSelection(r)}if(this._setUpOperation(e),a){let e=o.filter(e=>this._isVertex(e));i?.startVertexMove(a,Ie(e))}this._emitReshapeStartEvent(r),this._onHandleMove(r,t,n,e,()=>{this._updateTooltip(r,e.viewEvent),this._emitReshapeEvent(r)})}_onGraphicMoveCallback(e){let t=this._activeOperationInfo;if(!t)return;let{dx:n,dy:r,graphic:i}=e;t.totalDx+=n,t.totalDy+=r;let{operationType:a}=t,{geometry:o}=i;if(o!=null){if(a===`move`){if(o.type===`point`)this._onHandleMove(i,n,r,e,()=>{this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(n,r)});else if(o.type===`polyline`||o.type===`polygon`){let{dxMap:t,dyMap:i}=ae(n,r,this.view);if(!this._effectiveFilterVerticesEnabled){let e=K(o);this._updateVertexGraphicLocations(e)}else if(this.selectedManipulators.length>0){let e=this.selectedManipulators.toArray();this.selectedManipulators.removeAll();for(let t of e){if(t.geometry?.type===`point`){let{pathIndex:e,pointIndex:n}=t.attributes,r=O(o)[e][n];if(r){let e=k(r);t.geometry=this._coordinateHelper.arrayToPoint(e)}}this._addToSelection(t.clone())}}this._connectedReshapeManager?.translate(t,i,0),this._updateTooltip(this.graphic,e.viewEvent),this._emitMoveEvent(n,r)}this._syncEditGeometryOperations(o);return}this._onHandleMove(i,n,r,e,()=>{this._updateTooltip(i,e.viewEvent),this._emitReshapeEvent(i)})}}_onGraphicMoveStopCallback(e){let t=this._activeOperationInfo;if(this._primaryGraphicMoving=!1,!t)return;let{dx:n,dy:r,graphic:i,x:a,y:o}=e,{operationType:s}=t;t.totalDx+=n,t.totalDy+=r,this._onHandleMove(i,n,r,e,()=>this._handleVertexSnap(i,{x:a,y:o},s))}_afterMoveStop(e,t){if(this._effectiveFilterVerticesEnabled&&t===`move`){let e=new Set;for(let t of this.selectedManipulators)e.add(Q(t));this.refresh(e),this._updateTooltip();return}if(this._isMidpoint(e)||e.getAttribute(R.curveFromStraightEdgeFlag)){this.refresh();return}this._updateTooltip(this._isVertex(e)?e:null),this._resetSnappingStateVars(),this._connectedReshapeManager?.finish(),this._activeOperationInfo=null}_handleVertexSnap(e,t,r){let i=e.geometry,a=this.snappingManager?.getVertexCandidates(),o=this.callbacks.onVertexSnap,s=()=>r===`move`?this._emitMoveStopEvent():this._emitReshapeStopEvent(e);if(!o||!i||!T(i)||!a||a.length===0){s(),this._afterMoveStop(e,r);return}l(this._snappingTask),this._snappingTask=n(async n=>{try{let r=await o(i,t,a);d(n);let s=w(r);this._coordinateHelper.hasZ()||(s.z=void 0),this._syncGeometryAfterVertexMove(e,s,0,0),e.geometry=s}finally{s(),this._afterMoveStop(e,r)}})}_updateVertexGraphicLocations(e){let{_coordinateHelper:t}=this;for(let n of this.vertexGraphics){let{pathIndex:r,pointIndex:i}=n.attributes;n.geometry=t.arrayToPoint(k(e[r][i]))}this._updateMidpointGraphicLocations(e),this._updateCurveGraphicLocations(e)}_updateMidpointGraphicLocations(e,t){let{_coordinateHelper:n}=this;if(t)for(let r of this.midpointGraphics){let{pathIndex:i,pointIndexStart:a,pointIndexEnd:o}=r.attributes;if(!t.has(i))continue;let s=t.get(i);if(!s.has(a)&&!s.has(o))continue;let c=e[i];r.geometry=new b(z(c[a],c[o],n))}else for(let t of this.midpointGraphics){let{pathIndex:r,pointIndexStart:i,pointIndexEnd:a}=t.attributes,o=e[r];t.geometry=new b(z(o[i],o[a],n))}}_updateCurveGraphicLocations(e){let{spatialReference:t}=this._coordinateHelper,n=new Map;for(let e of this.selectedManipulators){let[t,r]=Z(e);t!=null&&r!=null&&e.getAttribute(R.controlPointKind)&&s(n,t,()=>new Set)?.add(r)}for(let t of this.curveControlPointGraphics){let[r,i]=Z(t);if(n.get(r)?.has(i))continue;let a=e[r][i];if(A(a)||j(a)){let n=k(e[r][i-1]),o=A(a)?D(n,a):F(n,a),[s,c]=E(o,.25);t.geometry=new b({x:s,y:c,spatialReference:this._coordinateHelper.spatialReference})}else if(M(a)){let[e,n]=t.getAttribute(R.controlPointKind)===B.bezier.cp1?a.b[1]:a.b[2];t.geometry=new b({x:e,y:n,spatialReference:this._coordinateHelper.spatialReference})}}for(let n of this.constructionLineGraphics){let r=n.getAttribute(R.controlPointKind),[i,a]=Z(n),o=e[i],s=k(o[a-1]),c=k(o[a]),l=e[i][a];n.geometry=r===B.bezier.line1?new x({paths:[[[s[0],s[1]],[...l.b[1]]]],spatialReference:t}):new x({paths:[[[c[0],c[1]],[...l.b[2]]]],spatialReference:t})}}_refreshGraphicIndicesAttributes(e){let{componentIndex:t,vertexIndex:n}=e,r=e=>{let[r,i]=Z(e);r===t&&i>=n&&e.setAttribute(R.pointIndex,i+1)};this.vertexGraphics.forEach(r),this.curveControlPointGraphics.forEach(r),this.constructionLineGraphics.forEach(r);for(let e of this.midpointGraphics){if(e.getAttribute(R.pathIndex)!==t)continue;let r=e.getAttribute(R.pointIndexStart);r>=n&&(e.setAttribute(R.pointIndexStart,r+1),e.setAttribute(R.pointIndexEnd,e.getAttribute(R.pointIndexEnd)+1))}}_getVertexFromEditGeometry(e){let[t,n]=Z(e);return u(this._editGeometryOperations),this._editGeometryOperations.data.parts[t].vertices[n]}_onHandleMove(e,t,r,i,a){l(this._snappingTask);let o=this._snappingContext;if(!o)return;let s=e.geometry,c=i.type===`graphic-move-stop`;if(!s||!T(s)){a();return}if(this.snappingManager!=null&&this.selectedManipulators.length<2&&!c){let i=this.snappingManager;this._stagedVertex=i.update({point:s,context:o}),this._syncGeometryAfterVertexMove(e,new b(this._stagedVertex),t,r,c),a(),this._snappingTask=n(async n=>{let l=await i.snap({point:s,context:o,signal:n});if(l.valid){let n=l.apply();n.z=this._coordinateHelper.hasZ()?oe(this.snappingManager)??n.z:void 0,this._stagedVertex=n,this._syncGeometryAfterVertexMove(e,new b(this._stagedVertex),t,r,c),a()}}),this._updatingHandles.consumePromise(this._snappingTask.promise)}else{let n=this._stagedVertex==null?s:new b(this._stagedVertex);this._syncGeometryAfterVertexMove(e,n,t,r,c),a()}}_syncGeometryAfterVertexMove(e,t,n,r,i=!1){let a=V(this._editGeometryOperations?.data.geometry);if(!a)return;let{_coordinateHelper:o}=this,s=o.pointToVector(t),c=this._getVertexFromEditGeometry(e),l=null;if(c){let e=o.getZ(s);l=[c.pos[0],c.pos[1]];let t=s[0]-c.pos[0],n=s[1]-c.pos[1],r=e==null?0:e-c.pos[2];(a.type===`point`||a.type===`mesh`)&&this._editGeometryOperations?.moveVertices([c],t,n,r),this._connectedReshapeManager?.translate(t,n,r)}if(a.type===`point`)e.geometry=t;else if(a.type===`mesh`)e.geometry=a.centerAt(t);else{if(e!==this.graphic){l&&!this._isVertex(e)&&(l=null);let[i,s]=Z(e),c=q(a),u=o.pointToArray(t);if(this._updateGeometryFromGraphic(e,c,i,s,u,a.type===`polygon`),this._isVertex(e)||this._isCurveControlPoint(e)){let t=new Map;t.set(i,new Set([s])),c=this._moveRelatedCoordinates(c,e,u,t,l),c=this._moveSelectedHandleCoordinates(c,e,n,r,a.type===`polygon`),this._updateMidpointGraphicLocations(c,t),this._updateCurveGraphicLocations(c)}else this._isMidpoint(e)&&this._updateCurveGraphicLocations(c);H(a,c)}this._updateGraphicGeometry(a),this._syncEditGeometryOperations(a),i&&(this._mover?this._mover.updateGeometry(this._mover.graphics.indexOf(e),t):e.geometry=t)}}_syncEditGeometryOperations(e){this._editGeometryOperations?.trySetGeometry(e)||(this._editGeometryOperations=null,this._setUpGeometryHelper())}_moveRelatedCoordinates(e,t,n,r,i){if(this._effectiveFilterVerticesEnabled&&this._relatedGraphicIndex&&i){let a=this._relatedGraphicIndex.search({minX:i[0],maxX:i[0],minY:i[1],maxY:i[1]});for(let o of a)o.coordinate[0]===i[0]&&o.coordinate[1]===i[1]&&o.graphic&&(r&&s(r,o.pathIndex,()=>new Set).add(o.pointIndex),X(e,o.pathIndex,o.pointIndex,n),this._relatedGraphicIndex.remove(o),o.coordinate[0]=t.geometry.x,o.coordinate[1]=t.geometry.y,o.graphic.geometry=t.geometry,this._relatedGraphicIndex.insert(o));return e}let{relatedGraphicIndices:a}=t.attributes;if(!a?.length)return e;for(let i of a){let a=this.vertexGraphics.at(i),[o,c]=Z(a);r&&s(r,o,()=>new Set).add(c),X(e,o,c,n),a.geometry=t.geometry}return e}_moveSelectedHandleCoordinates(e,t,n,r,i){for(let a of this.selectedManipulators)if(a!==t){let[t,o]=Z(a),s=a.getAttribute(R.relatedGraphicIndices),c=se(a.geometry,n,r,this.view),l=C(c);if(a.geometry=c,this._updateGeometryFromGraphic(a,e,t,o,l,i),s?.length)for(let t of s){let n=this.vertexGraphics.at(t),[r,i]=Z(n);X(e,r,i,l),n.geometry=c}}return e}_updateGeometryFromGraphic(e,t,n,r,i,a){let o=t[n].length-1;this._isCurveControlPoint(e)?Pe(t,n,r,[i[0],i[1]],e.getAttribute(R.controlPointKind)):(X(t,n,r,i),a&&(r===0?X(t,n,o,i):r===o&&(t[n][0]=i)))}_onGraphicPointerOverCallback(e){let t=e.graphic;this._hoverGraphic=t;let n=this._isVertex(t);n&&!this._isSelected(t)?t.symbol=this.symbols.vertices.hover:this._isCurveControlPoint(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.controlPoints.hover),this._updateTooltip(n?t:null),this._updateHoverCursor(t)}_onGraphicPointerOutCallback(e){let t=e.graphic;this._hoverGraphic=null,this._isVertex(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.vertices.default),this._isCurveControlPoint(t)&&!this._isSelected(t)&&(t.symbol=this.symbols.controlPoints.default),this.removeHandles(U),this._updateTooltip()}_handleMidpointClickOrStartMove(e){let{graphic:t}=e,n=this.graphic.geometry;if(n==null||n.type!==`polygon`&&n.type!==`polyline`)return[];let r=V(n),i=[],{[R.pathIndex]:a,[R.pointIndexStart]:o,[R.pointIndexEnd]:s}=t.attributes,c=C(t.geometry),l=s===0?o+1:s;t.attributes={[R.tool]:be,[R.pathIndex]:a,[R.pointIndex]:l,[R.relatedGraphicIndices]:[]};let u=q(r),d=u[a][s];if(N(d)){if(this.enableCurveOnMidpoint&&e.viewEvent.native.shiftKey){let e=k(u[a][l]);u[a].splice(l,1,{c:[e,[c[0],c[1]]]}),t.setAttribute(R.controlPointKind,B.circle.interior),t.setAttribute(R.curveFromStraightEdgeFlag,!0),this.midpointGraphics.remove(t),this.curveControlPointGraphics.push(t),H(r,u)}else u[a].splice(l,0,c),i.push({coordinates:u[a][l],componentIndex:a,vertexIndex:l})}else{let e=k(u[a][o]),t=xe(e,d,.5,this._coordinateHelper);u[a].splice(s,1,...t),i.push({coordinates:k(u[a][l]),componentIndex:a,vertexIndex:l})}return this._updateGraphicGeometry(r),this._syncEditGeometryOperations(r),i}_addToSelection(e){let t=$(e);for(let e of t)e.symbol=this._isCurveControlPoint(e)?this.symbols.controlPoints.selected:this.symbols.vertices.selected,this.selectedManipulators.add(e),this._updateTooltip(e);this._emitSelectEvent(t)}_removeFromSelection(e,t){if(this._isVertex(e)){let{vertices:n}=this.symbols;e.symbol=t?n.hover:n.default}else if(this._isCurveControlPoint(e)){let{controlPoints:n}=this.symbols;e.symbol=t?n.hover:n.default}this.selectedManipulators.remove(e),this._emitDeselectEvent([e]),this._updateTooltip()}_clearSelection(){let e=this.selectedManipulators.toArray(),{controlPoints:t,vertices:n}=this.symbols;if(e.length>0){for(let r of e)this._isVertex(r)?r.symbol=n.default:this._isCurveControlPoint(r)&&(r.symbol=t.default);this.selectedManipulators.removeAll(),this._emitDeselectEvent(e),this._updateTooltip()}}_keyDownHandler(e){this._activeOperationInfo==null&&je(e,this.tooltip)||Ee.delete.includes(e.key)&&!e.repeat&&this.selectedManipulators.length&&(this._removeVertices(this.selectedManipulators),e.stopPropagation())}_removeVertices(e){let t=this.graphic.geometry,n=this.vertexGraphics.length;if(t==null||t.type!==`polygon`&&t.type!==`polyline`&&t.type!==`multipoint`||t.type===`polygon`&&n<4||t.type===`multipoint`&&n<2||t.type===`polyline`&&n<3)return;let r=this.graphic.clone(),i=V(t),a=q(i),o=[],s=$(e);for(let e of s){if(this._isCurveControlPoint(e))continue;let{x:t,y:n}=e.geometry;for(let e=0;e<a.length;e++){let r=a[e];for(let i=0;i<r.length;i++){let[s,c]=k(r[i]);if(t===s&&n===c){o.push({coordinates:k(a[e][i]),componentIndex:e,vertexIndex:i}),a[e].splice(Number(i),1);let t=a[e][i];t&&!N(t)&&(a[e][i]=k(t))}}}}if(i.type===`polygon`)a=a.filter(e=>{if(e.length<2)return!1;let[t,n]=k(e[0]),[r,i]=k(e[e.length-1]);return e.length===2&&t===r&&n===i?!1:((t!==r||n!==i)&&e.push(e[0]),!0)});else if(i.type===`polyline`)for(let e of a)e.length===1&&a.splice(a.indexOf(e),1);H(i,a),this._updateGraphicGeometry(i),this.refresh(),this._emitVertexRemoveEvent(s,r,o)}_isVertex(e){return this.vertexGraphics.includes(e)}_isCurveControlPoint(e){return this.curveControlPointGraphics.includes(e)}_isConstructionLine(e){return this.constructionLineGraphics.includes(e)}_isSelected(e){return(this._isVertex(e)||this.curveControlPointGraphics.includes(e))&&this.selectedManipulators.includes(e)}_isMidpoint(e){return this.midpointGraphics.includes(e)}_updateHoverCursor(e){let t=this._isMidpoint(e)?`copy`:`move`;this.addHandles(this.view.acquireCursor(t,`high`),U)}_updateTooltip(e,t){let n=null,{graphic:r,view:i,tooltipInfos:a}=this,o=r?.geometry;o?.type===`point`?n=a.movePoint:this._selectedManipulator?n=a.selectedVertex:e===this.graphic?(n=a.translateGraphic,me(n,i,this._tooltipsContext,this._updatingHandles,t)):e&&this.selectedManipulators.length>1&&(n=a.translateVertices,he(n,i,o,this._tooltipsContext,this._updatingHandles,t)),this.activeTooltipInfo=n}_updateGraphicGeometry(e){this._updateHandlesOnExternalGeometryChange?.pause(),this.graphic.geometry=e,this._updateHandlesOnExternalGeometryChange?.resume()}_emitMoveStartEvent(e,t){let n={type:`move-start`,mover:this.graphic,dx:e,dy:t};this.emit(`move-start`,n),this.callbacks.onMoveStart?.(n)}_emitMoveEvent(e,t){let n={type:`move`,mover:this.graphic,dx:e,dy:t};this.emit(`move`,n),this.callbacks.onMove?.(n)}_emitMoveStopEvent(e,t){if(e==null||t==null){let n=this._activeOperationInfo;if(!n)return;e=n.totalDx,t=n.totalDy}let n={type:`move-stop`,mover:this.graphic,dx:e,dy:t};this.emit(`move-stop`,n),this.callbacks.onMoveStop?.(n)}_emitReshapeStartEvent(e){let t={type:`reshape-start`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape-start`,t),this.callbacks.onReshapeStart?.(t)}_emitReshapeEvent(e){let t={type:`reshape`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape`,t),this.callbacks.onReshape?.(t)}_emitReshapeStopEvent(e){let t={type:`reshape-stop`,graphic:this.graphic,mover:e,selected:this.selectedManipulators.toArray()};this.emit(`reshape-stop`,t),this.callbacks.onReshapeStop?.(t)}_emitSelectEvent(e){let t={type:`vertex-select`,added:e};this.emit(`select`,t),this.callbacks.onVertexSelect?.(t)}_emitDeselectEvent(e){let t={type:`vertex-deselect`,removed:e};this.emit(`deselect`,t),this.callbacks.onVertexDeselect?.(t)}_emitVertexAddEvent(e,t,n){let r={type:`vertex-add`,added:e,graphic:this.graphic,oldGraphic:t,vertices:n};this.emit(`vertex-add`,r),this.callbacks.onVertexAdd?.(r)}_emitVertexRemoveEvent(e,t,n){let r={type:`vertex-remove`,removed:e,graphic:this.graphic,oldGraphic:t,vertices:n};this.emit(`vertex-remove`,r),this.callbacks.onVertexRemove?.(r)}_logGeometryTypeError(){o.getLogger(this).error(new i(`reshape:invalid-geometry`,`Reshape operation not supported for the provided graphic. The geometry type is not supported.`))}};e([_()],G.prototype,`_activeOperationInfo`,void 0),e([_()],G.prototype,`_connectedReshapeManager`,void 0),e([_()],G.prototype,`_coordinateHelper`,null),e([_()],G.prototype,`_editGeometryOperations`,void 0),e([_()],G.prototype,`_effectiveFilterVerticesEnabled`,null),e([_()],G.prototype,`_primaryGraphicMoving`,void 0),e([_()],G.prototype,`_segmentLabels`,void 0),e([_()],G.prototype,`test`,null),e([_()],G.prototype,`_segmentLabelsImportTask`,void 0),e([_()],G.prototype,`_updatingHandles`,void 0),e([_()],G.prototype,`_selectedManipulator`,null),e([_()],G.prototype,`_tooltipsContext`,null),e([_()],G.prototype,`callbacks`,void 0),e([_()],G.prototype,`connectedReshapeProviders`,void 0),e([_()],G.prototype,`enableMidpoints`,void 0),e([_()],G.prototype,`enableCurveOnMidpoint`,void 0),e([_()],G.prototype,`enableMovement`,void 0),e([_()],G.prototype,`enableVertices`,void 0),e([_()],G.prototype,`filterVerticesEnabled`,void 0),e([_()],G.prototype,`graphic`,void 0),e([_()],G.prototype,`highlightName`,void 0),e([_()],G.prototype,`highlightsEnabled`,void 0),e([_()],G.prototype,`layer`,void 0),e([_()],G.prototype,`snappingManager`,void 0),e([_({readOnly:!0})],G.prototype,`state`,null),e([_()],G.prototype,`symbols`,void 0),e([_()],G.prototype,`tooltip`,void 0),e([_()],G.prototype,`tooltipInfos`,void 0),e([_()],G.prototype,`activeTooltipInfo`,void 0),e([_()],G.prototype,`updating`,null),e([_()],G.prototype,`toolOptions`,void 0),e([_({readOnly:!0})],G.prototype,`type`,void 0),e([_({readOnly:!0})],G.prototype,`vertexGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`curveControlPointGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`constructionLineGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`midpointGraphics`,void 0),e([_({readOnly:!0})],G.prototype,`selectedManipulators`,void 0),e([_()],G.prototype,`view`,void 0),G=e([v(`esri.views.draw.support.Reshape`)],G);function K(e){let t=q(e);t=t.map(e=>e.slice());for(let e of t)for(let t=0;t<e.length;t++)e[t]=ee(e[t]);if(e.type===`polygon`)for(let e of t){let t=e[e.length-1];if(!N(t))continue;let n=e[0];n[0]===t[0]&&n[1]===t[1]&&e.length>2&&e.pop()}return t}function q(e){return e.type===`polygon`?e.curveRings?.slice()??e.rings.slice():e.type===`polyline`?e.curvePaths?.slice()??e.paths.slice():e.points.map(e=>[e])}function Ne(e,t,n,r){let i=e[t][n];if(A(i))i.c[1]=r;else if(j(i)){let i=k(e[t][n]);e[t][n]={c:[i,r]}}}function Pe(e,t,n,r,i){switch(i){case B.circle.interior:Ne(e,t,n,r);break;case B.bezier.cp1:e[t][n].b[1]=r;break;case B.bezier.cp2:e[t][n].b[2]=r}}function J(e,t){return e<t*1e-8}function Y(e,{cx:t,cy:n,isInvalid:r,thetaStart:i,thetaEnd:a},o,s){let[c,l]=e,[u,d]=o,f=u-c,p=d-l;t-=c,n-=l;let m=s?i>a:i<a,[h,g]=r?[t,n]:m?[-n,t]:[n,-t],[_,v]=[f,p],[y,b]=[h,g],x=_*b-v*y,S=(f**2+p**2)/2;if(J(Math.abs(x),S))return[(c+u)/2,(l+d)/2];let[C,w]=[b/x*S,-y/x*S],T=C**2+w**2,[E,D]=[f/2-C,p/2-w];if(J(E**2+D**2,T)){let[e,t]=m?[-w,C]:[w,-C];return[e+C+c,t+w+l]}let O=Math.sqrt((C**2+w**2)/(E**2+D**2))*Math.sign(f*h+p*g);return[E*O+C+c,D*O+w+l]}function X(e,t,n,r){let i=e[t][n],a=e[t].at(n+1);if(Se(e,t)){let n=e[t][1];e[t][0]=[...r],e[t][1]={a:[[...r],[...n.a[1]],0,0]};return}if(Ce(e,t)){let n=e[t][1],[i,a]=n.a[1],[o,s]=r,c=Math.hypot(o-i,s-a),[l,u]=[o-i,s-a],d=te(u,l);e[t][0]=[...r],e[t][1]={a:[[...r],[...n.a[1]],0,0,d,c,n.a[6]]};return}let o=k(i);if(N(i))i.splice(0,i.length,...r);else if(M(i))i.b[0].splice(0,i.b[0].length,...r);else if(A(i)||j(i)){let a=k(e[t][n-1]),o=A(i)?D(a,i):F(a,i);e[t].splice(n,1,{c:[[...r],Y(a,o,r,!0)]})}else if(P(i)){i.a[0].splice(0,i.a[0].length,...r);let a=k(e[t][n-1]);I(a,i)}if(a&&!N(a)&&!M(i)){if(A(a)||j(a)){let i=k(a),s=A(a)?D(o,a):F(o,a);e[t].splice(n+1,1,{c:[i,Y(i,s,r,!1)]})}else if(P(a)){let e=k(i);I(e,a)}}}function Z({attributes:e}){return[e?.[R.pathIndex]||0,e?.[R.pointIndex]||0]}function Q({attributes:e}){return`${e?.[R.pathIndex]}-${e?.[R.pointIndex]}-${e?.[R.controlPointKind]??`vertex`}`}function $(e){return e instanceof t?[e]:[...e]}function Fe(e){let t=e.sourceLayer??e.layer;return de(t)?{graphic:e,layer:t}:null}function Ie(e){return e.toArray().map(({attributes:e})=>({pathIndex:e[R.pathIndex],vertexIndex:e[R.pointIndex]}))}const Le=G;export{Le as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{watch as
|
|
2
|
+
import{handlesGroup as e}from"../../../core/handleUtils.js";import{watch as t,syncAndInitial as n}from"../../../core/reactiveUtils.js";import{ensureClass as r}from"../../../core/accessorSupport/ensureType.js";import i from"./LabelOptions.js";function a(a,s,c){let{values:l}=a;return e([t(()=>s().tooltips,e=>{a.tooltips=e},n),t(()=>{let e=c?.();return{labels:e?.labels,directionMode:e?.values?.directionMode,relativeDirectionIsBilateral:e?.values?.relativeDirectionIsBilateral}},({labels:e,directionMode:t,relativeDirectionIsBilateral:n})=>{e&&(a.labels=r(i,e)),t!==void 0&&(l.directionMode=t),n!==void 0&&(l.relativeDirectionIsBilateral=n)},n),o(l,s,()=>c?.()?.values)])}function o(t,n,r){return e([s(t.displayUnits,()=>n().displayUnits,()=>r?.()?.displayUnits),s(t.inputUnits,()=>n().inputUnits,()=>r?.()?.inputUnits)])}function s(e,r,i){return t(()=>{let e=i(),t=r();return{length:e?.length??t.length,verticalLength:e?.verticalLength??t.verticalLength,area:e?.area??t.area,volume:e?.volume??t.volume}},t=>e.set(t),n)}export{o as bindToolUnits,a as bindViewToolOptions};
|
|
@@ -9,6 +9,9 @@ export interface SketchLabelOptionsProperties extends LabelOptionsProperties {}
|
|
|
9
9
|
* segment of a graphic while sketching and editing. The labels display each segment's
|
|
10
10
|
* horizontal length and are not shown for non-planar polygons and polylines.
|
|
11
11
|
*
|
|
12
|
+
* Properties that autocast to this class also accept instances of [LabelOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/LabelOptions/).
|
|
13
|
+
* Autocasting plain objects still creates instances of `SketchLabelOptions`.
|
|
14
|
+
*
|
|
12
15
|
* [](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
13
16
|
*
|
|
14
17
|
* How the segment lengths are computed depends on the view's spatial reference. In geographic coordinate systems (GCS)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import n from"../options/LabelOptions.js";let
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{ensureClass as n,requiresType as r}from"../../../core/accessorSupport/ensureType.js";import i from"../options/LabelOptions.js";var a;let o=a=class extends i{constructor(e){super(e)}static from(e){return n(r(i,e)?a:i,e)}};o=a=e([t(`esri.views.interactive.sketch.SketchLabelOptions`)],o);export{o as default};
|
|
@@ -7,6 +7,9 @@ export interface SketchTooltipOptionsProperties extends TooltipOptionsProperties
|
|
|
7
7
|
/**
|
|
8
8
|
* The `SketchTooltipOptions` allows users to configure the tooltips which are shown while sketching and editing.
|
|
9
9
|
*
|
|
10
|
+
* Properties that autocast to this class also accept instances of [TooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/).
|
|
11
|
+
* Autocasting plain objects still creates instances of `SketchTooltipOptions`.
|
|
12
|
+
*
|
|
10
13
|
* To enter the tooltip UI's [input mode](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/sketch/SketchTooltipOptions/#inputEnabled),
|
|
11
14
|
* press the `Tab` key while drawing a new feature, or when editing a point, mesh, or a selected vertex.
|
|
12
15
|
*
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import n from"../options/TooltipOptions.js";let
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{ensureClass as n,requiresType as r}from"../../../core/accessorSupport/ensureType.js";import i from"../options/TooltipOptions.js";var a;let o=a=class extends i{constructor(e){super(e)}static from(e){return n(r(i,e)?a:i,e)}};o=a=e([t(`esri.views.interactive.sketch.SketchTooltipOptions`)],o);const s=o;export{s as default};
|
|
@@ -8,6 +8,9 @@ export interface SketchValueOptionsProperties extends ValueOptionsProperties {}
|
|
|
8
8
|
* The `SketchValueOptions` allows users to configure how numerical values and
|
|
9
9
|
* constraints behave while sketching and editing.
|
|
10
10
|
*
|
|
11
|
+
* Properties that autocast to this class also accept instances of [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/).
|
|
12
|
+
* Autocasting plain objects still creates instances of `SketchValueOptions`.
|
|
13
|
+
*
|
|
11
14
|
* @deprecated since 5.2. Use [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/) instead.
|
|
12
15
|
* @since 4.29
|
|
13
16
|
* @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import n from"../options/ValueOptions.js";let
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{ensureClass as n,requiresType as r}from"../../../core/accessorSupport/ensureType.js";import i from"../options/ValueOptions.js";var a;let o=a=class extends i{constructor(e){super(e)}static from(e){return n(r(i,e)?a:i,e)}};o=a=e([t(`esri.views.interactive.sketch.SketchValueOptions`)],o);const s=o;export{s as default};
|
|
@@ -7,6 +7,9 @@ export interface SnappingOptionsProperties extends BaseSnappingOptionsProperties
|
|
|
7
7
|
/**
|
|
8
8
|
* The `SnappingOptions` allows users to configure snapping for their editing or drawing experience in both the [Sketch.snappingOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/#snappingOptions) and [Editor.snappingOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#snappingOptions) widgets.
|
|
9
9
|
*
|
|
10
|
+
* Properties that autocast to this class also accept instances of [SnappingOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/SnappingOptions/).
|
|
11
|
+
* Autocasting plain objects still creates instances of this deprecated `SnappingOptions` class.
|
|
12
|
+
*
|
|
10
13
|
* Snapping options provide the ability to specify whether an application will utilize self snapping, feature snapping, or both. Both are described below.
|
|
11
14
|
*
|
|
12
15
|
* It is also possible to toggle snapping by pressing and holding down the `CTRL` key. This toggles the snapping on/off.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import n from"../options/SnappingOptions.js";let
|
|
2
|
+
import{__decorate as e}from"tslib";import{subclass as t}from"../../../core/accessorSupport/decorators.js";import{ensureClass as n,requiresType as r}from"../../../core/accessorSupport/ensureType.js";import i from"../options/SnappingOptions.js";var a;let o=a=class extends i{constructor(e){super(e)}static from(e){return n(r(i,e)?a:i,e)}};o=a=e([t(`esri.views.interactive.snapping.SnappingOptions`)],o);export{o as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{watch as e,syncAndInitial as t}from"../../../core/reactiveUtils.js";import{intersection as n}from"../../../core/SetUtils.js";import{sqlAnd as r}from"../../../core/sql.js";import{mergeTimeExtents as i}from"../../../core/timeUtils.js";import{squaredDistance as a}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{makeDehydratedPoint as o}from"../../../layers/graphics/dehydratedPoint.js";import s from"../../../rest/support/Query.js";import{ViewEventPriorities as c}from"../../input/InputManager.js";import{snappingKeys as l}from"../keybindings.js";import{fromAnyMapPoint as u}from"../sketch/normalizedPoint.js";import{isWebMap as d}from"../../../webmap/utils.js";export{screenDistance,squaredScreenDistance}from"../../../core/screenUtils.js";const f=Symbol(`grid-placement-graphic`);function p(e,t){t.sort((t,n)=>a(t.targetPoint,e)-a(n.targetPoint,e))}function m({parameters:{point:e,distance:t,returnEdge:n,vertexMode:a,coordinateHelper:{spatialReference:c},filter:l},returnZ:u,filter:d}){let f=d?.clone()??new s({where:`1=1`});return f.returnZ=u,l&&(f.geometry=l.geometry,f.distance=l.distance,f.spatialRelationship=l.spatialRelationship,f.where=r(f.where,l.where),f.timeExtent=i(f.timeExtent,l.timeExtent),f.objectIds=h(f.objectIds,l.objectIds)),{point:o(e[0],e[1],e[2],c.toJSON()),distance:t,returnEdge:n,vertexMode:a,query:f.toJSON()}}function h(e,t){return!e&&!t?null:t?e?Array.from(n(new Set(e),new Set(t))):t:e}function g(e,t,n){return{left:u(e.leftVertex.pos,t,n),right:u(e.rightVertex.pos,t,n)}}const _=Symbol(`snapping-toggle`);function v(n,r=()=>{}){let
|
|
2
|
+
import{watch as e,syncAndInitial as t}from"../../../core/reactiveUtils.js";import{intersection as n}from"../../../core/SetUtils.js";import{sqlAnd as r}from"../../../core/sql.js";import{mergeTimeExtents as i}from"../../../core/timeUtils.js";import{squaredDistance as a}from"../../../core/libs/gl-matrix-2/math/vec3.js";import{makeDehydratedPoint as o}from"../../../layers/graphics/dehydratedPoint.js";import s from"../../../rest/support/Query.js";import{ViewEventPriorities as c}from"../../input/InputManager.js";import{snappingKeys as l}from"../keybindings.js";import{fromAnyMapPoint as u}from"../sketch/normalizedPoint.js";import{isWebMap as d}from"../../../webmap/utils.js";export{screenDistance,squaredScreenDistance}from"../../../core/screenUtils.js";const f=Symbol(`grid-placement-graphic`);function p(e,t){t.sort((t,n)=>a(t.targetPoint,e)-a(n.targetPoint,e))}function m({parameters:{point:e,distance:t,returnEdge:n,vertexMode:a,coordinateHelper:{spatialReference:c},filter:l},returnZ:u,filter:d}){let f=d?.clone()??new s({where:`1=1`});return f.returnZ=u,l&&(f.geometry=l.geometry,f.distance=l.distance,f.spatialRelationship=l.spatialRelationship,f.where=r(f.where,l.where),f.timeExtent=i(f.timeExtent,l.timeExtent),f.objectIds=h(f.objectIds,l.objectIds)),{point:o(e[0],e[1],e[2],c.toJSON()),distance:t,returnEdge:n,vertexMode:a,query:f.toJSON()}}function h(e,t){return!e&&!t?null:t?e?Array.from(n(new Set(e),new Set(t))):t:e}function g(e,t,n){return{left:u(e.leftVertex.pos,t,n),right:u(e.rightVertex.pos,t,n)}}const _=Symbol(`snapping-toggle`);function v(n,r=()=>{},i=()=>n.snappingOptions){let a=e(()=>({view:n.view,snappingOptions:i()}),({view:e,snappingOptions:t})=>{if(n.removeHandles(_),!e||!t)return;let i=c.TOOL,a=[e.on(`key-down`,e=>{e.key===l.toggle&&!e.repeat&&(t.enabledToggled=!0,r())},i),e.on(`key-up`,e=>{e.key===l.toggle&&(t.enabledToggled=!1,r())},i),e.on(`pointer-move`,e=>{let n=e.native.ctrlKey;t.enabledToggled!==n&&(t.enabledToggled=n,r())},i)];n.addHandles(a,_)},t);n.addHandles(a)}function y(e){return d(e)&&`utilityNetworks`in e&&!!e.utilityNetworks?.length}function b(e){return e?.type===`line`}export{g as editEdgeToSnappingEdge,f as gridPlacementGraphicSymbol,b as isLine,y as isUtilityNetworkWebMap,m as makeSnappingQuery,v as setupSnappingToggleHandles,p as sortCandidatesInPlace};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{Cyclical as e}from"../../../../core/Cyclical.js";import{createAngle as t,createScalar as n,toUnit as r}from"../../../../core/quantity.js";import{formatRelativeVerticalLength as i,formatVerticalLength as a,formatLength as o,formatRelativeLength as s,formatArea as c,formatAngle as l}from"../../../../core/quantityFormatUtils.js";import{isLoaded as u,fromLatitudeLongitude as d,fromLongitude as f,fromLatitude as p}from"../../../../geometry/coordinateFormatter.js";import{parseNumber as m,formatNumber as h}from"../../../../intl/number.js";import{getDegreesGeographic as g}from"../../../support/angularMeasurementUtils.js";const _=/^\s*(.+?)\s*([+\-*/])\s*(.+)\s*$/;function v(e,t){return{angleRelative:y,direction:b,directionRelative:x,directionRelativeBilateral:S,latitudeDecimalDegrees:w,longitudeDecimalDegrees:C,area:(n,r)=>c(e,n,r??t.area),length:(n,r,i)=>o(e,n,r??t.length,i),lengthRelative:(n,r)=>s(e,n,r??t.length),totalLength:(n,r)=>o(e,n,r??t.length),verticalLength:(n,r)=>a(e,n,r??t.verticalLength),verticalLengthRelative:(n,r)=>i(e,n,r??t.verticalLength),percentage:k,scalar:j,scale:A}}function y(e){return h(e,{signDisplay:`exceptZero`,...M(1)})}function b(e){return l(e,e.rotationType,1)}function x(e){let t=g(e);return h(t,{style:`unit`,unitDisplay:`narrow`,unit:`degree`,signDisplay:t>0?`never`:`exceptZero`,...M(1)})}function S(e){return l(e,e.rotationType,1)}function C(e){return D(e,K)}function w(e){return D(e,q)}function T(e){return O(e,K)}function E(e){return O(e,q)}function D(e,t){return l(r(e,`degrees`),`geographic`,6,t,!1)}function O(e,t){let i=t.normalize(r(e,`degrees`).value,void 0,!1);return j(n(i),6)}function k(e){return h(e.value,{style:`percent`})}function A(e){return h(e,{style:`percent`,maximumFractionDigits:0})}function j(e,t){return h(e.value,M(t))}function M(e){return{minimumFractionDigits:e,maximumFractionDigits:e}}function N(e,{parseOperand:t=m,sanitizeOperand:n}={}){let r=e.match(_);if(!r)return null;let[,i,a,o]=r;n&&(i=n(i),o=n(o));let s=t(i),c=t(o);if(s==null||c==null)return null;let l;switch(a){case`+`:l=s+c;break;case`-`:l=s-c;break;case`*`:l=s*c;break;case`/`:l=s/c}return Number.isFinite(l)?l:null}function P({createQuantity:e,parsePlainValue:t,sanitizeOperand:n}){return(r,i)=>{if(r==null)return null;let a=N(r,{sanitizeOperand:n});return a==null?t(r,i):e(a,i)}}function F({createQuantity:e,sanitize:t}){return P({createQuantity:e,parsePlainValue:(n,r)=>{t&&(n=t(n));let i=m(n);return i==null?null:e(i,r)},sanitizeOperand:t})}function I(e){return P({createQuantity:e=>G(e),parsePlainValue:t=>e(t),sanitizeOperand:L})}function L(e){return e.replaceAll(/[*^~°º]/g,``)}const R=e=>{let t=`[-+]?[0-9${e.thousands}]+`;return e.decimal!==``&&(t+=`${e.decimal}[0-9]+`),RegExp(`^(${t}\\s*)${e.separator}(\\s*${t})$`,`i`)},z=[];for(let e of[`,`,`\\|`,`\\s+`])for(let t of[`\\.`,`,`,``])for(let n of[``,`,`,`\\.`,` `,`\\s+`])e!==t&&e!==n&&t!==n&&z.push({separator:e,decimal:t,thousands:n,pattern:R({decimal:t,thousands:n,separator:e})});function B(e){for(let{decimal:t,thousands:r,pattern:i}of z){i.lastIndex=0;let a=e.match(i);if(!a)continue;let o=m(V(a[1],t,r)),s=m(V(a[2],t,r));if(o!=null&&s!=null)return{x:n(o),y:n(s)}}return null}function V(e,t,n){let r=e.replaceAll(/[\s+]/g,``);return n!==``&&(r=r.replaceAll(n,``)),t!==``&&(r=r.replaceAll(t,`.`)),r}function H(e){if(!e||m(e)!=null||!u())return null;let t=d(e),n=G(t?.latitude),r=G(t?.longitude);return r!=null&&n!=null?{latitude:n,longitude:r}:null}function U(e){return G(f(e))}function W(e){return G(p(e))}function G(e){return e==null?null:t(e,`degrees`,`geographic`)}const K=new e(-180,180),q=new e(-90,90);export{V as cleanNumber,G as createGeographicCoordinate,E as formatLatitudeDecimalDegreesForInputMode,T as formatLongitudeDecimalDegreesForInputMode,v as getFormatters,I as makeCoordinateExpressionParser,F as makeQuantityParser,W as parseLatitude,H as parseLatitudeLongitude,U as parseLongitude,N as parseSimpleNumericExpression,B as parseXY,L as sanitizeAngle};
|
|
2
|
+
import{Cyclical as e}from"../../../../core/Cyclical.js";import{createAngle as t,createScalar as n,toUnit as r}from"../../../../core/quantity.js";import{formatRelativeVerticalLength as i,formatVerticalLength as a,formatLength as o,formatRelativeLength as s,formatArea as c,formatAngle as l}from"../../../../core/quantityFormatUtils.js";import{isLoaded as u,fromLatitudeLongitude as d,fromLongitude as f,fromLatitude as p}from"../../../../geometry/coordinateFormatter.js";import{parseNumber as m,formatNumber as h}from"../../../../intl/number.js";import{getDegreesGeographic as g}from"../../../support/angularMeasurementUtils.js";const _=/^\s*(.+?)\s*([+\-*/])\s*(.+)\s*$/;function v(e,t){return{angleRelative:y,direction:b,directionRelative:x,directionRelativeBilateral:S,latitudeDecimalDegrees:w,longitudeDecimalDegrees:C,area:(n,r)=>c(e,n,r??t.area),length:(n,r,i)=>o(e,n,r??t.length,i),lengthRelative:(n,r)=>s(e,n,r??t.length),totalLength:(n,r)=>o(e,n,r??t.length),verticalLength:(n,r)=>a(e,n,r??t.verticalLength),verticalLengthRelative:(n,r)=>i(e,n,r??t.verticalLength),percentage:k,scalar:j,scale:A}}function y(e){return h(e,{signDisplay:`exceptZero`,...M(1)})}function b(e){return l(e,e.rotationType,1)}function x(e){let t=g(e);return h(t,{style:`unit`,unitDisplay:`narrow`,unit:`degree`,signDisplay:t>0?`never`:`exceptZero`,...M(1)})}function S(e){return l(e,e.rotationType,1)}function C(e){return D(e,K)}function w(e){return D(e,q)}function T(e){return O(e,K)}function E(e){return O(e,q)}function D(e,t){return l(r(e,`degrees`),`geographic`,6,t,!1)}function O(e,t){let i=t.normalize(r(e,`degrees`).value,void 0,!1);return j(n(i),6)}function k(e){return h(e.value,{style:`percent`})}function A(e){return h(e,{style:`percent`,maximumFractionDigits:0})}function j(e,t){return h(e.value,{signDisplay:e.value>0?`never`:`exceptZero`,...M(t)})}function M(e){return{minimumFractionDigits:e,maximumFractionDigits:e}}function N(e,{parseOperand:t=m,sanitizeOperand:n}={}){let r=e.match(_);if(!r)return null;let[,i,a,o]=r;n&&(i=n(i),o=n(o));let s=t(i),c=t(o);if(s==null||c==null)return null;let l;switch(a){case`+`:l=s+c;break;case`-`:l=s-c;break;case`*`:l=s*c;break;case`/`:l=s/c}return Number.isFinite(l)?l:null}function P({createQuantity:e,parsePlainValue:t,sanitizeOperand:n}){return(r,i)=>{if(r==null)return null;let a=N(r,{sanitizeOperand:n});return a==null?t(r,i):e(a,i)}}function F({createQuantity:e,sanitize:t}){return P({createQuantity:e,parsePlainValue:(n,r)=>{t&&(n=t(n));let i=m(n);return i==null?null:e(i,r)},sanitizeOperand:t})}function I(e){return P({createQuantity:e=>G(e),parsePlainValue:t=>e(t),sanitizeOperand:L})}function L(e){return e.replaceAll(/[*^~°º]/g,``)}const R=e=>{let t=`[-+]?[0-9${e.thousands}]+`;return e.decimal!==``&&(t+=`${e.decimal}[0-9]+`),RegExp(`^(${t}\\s*)${e.separator}(\\s*${t})$`,`i`)},z=[];for(let e of[`,`,`\\|`,`\\s+`])for(let t of[`\\.`,`,`,``])for(let n of[``,`,`,`\\.`,` `,`\\s+`])e!==t&&e!==n&&t!==n&&z.push({separator:e,decimal:t,thousands:n,pattern:R({decimal:t,thousands:n,separator:e})});function B(e){for(let{decimal:t,thousands:r,pattern:i}of z){i.lastIndex=0;let a=e.match(i);if(!a)continue;let o=m(V(a[1],t,r)),s=m(V(a[2],t,r));if(o!=null&&s!=null)return{x:n(o),y:n(s)}}return null}function V(e,t,n){let r=e.replaceAll(/[\s+]/g,``);return n!==``&&(r=r.replaceAll(n,``)),t!==``&&(r=r.replaceAll(t,`.`)),r}function H(e){if(!e||m(e)!=null||!u())return null;let t=d(e),n=G(t?.latitude),r=G(t?.longitude);return r!=null&&n!=null?{latitude:n,longitude:r}:null}function U(e){return G(f(e))}function W(e){return G(p(e))}function G(e){return e==null?null:t(e,`degrees`,`geographic`)}const K=new e(-180,180),q=new e(-90,90);export{V as cleanNumber,G as createGeographicCoordinate,E as formatLatitudeDecimalDegreesForInputMode,T as formatLongitudeDecimalDegreesForInputMode,v as getFormatters,I as makeCoordinateExpressionParser,F as makeQuantityParser,W as parseLatitude,H as parseLatitudeLongitude,U as parseLongitude,N as parseSimpleNumericExpression,B as parseXY,L as sanitizeAngle};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type Graphic from "../../Graphic.js";
|
|
2
|
+
import type Collection from "../../core/Collection.js";
|
|
3
|
+
import type SketchLayer from "../../layers/SketchLayer.js";
|
|
4
|
+
import type LayerView from "./LayerView.js";
|
|
5
|
+
import type { ResourceHandle } from "../../core/Handles.js";
|
|
6
|
+
import type { ObjectId } from "../types.js";
|
|
7
|
+
import type { LayerViewHighlightOptions } from "./types.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Represents the view of a [SketchLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SketchLayer/) in a [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/).
|
|
11
|
+
*
|
|
12
|
+
* @since 5.2
|
|
13
|
+
* @see [SketchLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SketchLayer/)
|
|
14
|
+
*/
|
|
15
|
+
export default abstract class SketchLayerView extends LayerView {
|
|
16
|
+
/** The layer being viewed. */
|
|
17
|
+
get layer(): SketchLayer;
|
|
18
|
+
/**
|
|
19
|
+
* Highlights graphics in the layer view.
|
|
20
|
+
*
|
|
21
|
+
* @param target - The graphics or object IDs to highlight.
|
|
22
|
+
* @param options - Options for the highlight.
|
|
23
|
+
* @returns A handle to remove the highlight.
|
|
24
|
+
* @since 5.2
|
|
25
|
+
*/
|
|
26
|
+
abstract highlight(target: Graphic | Graphic[] | ObjectId | ObjectId[], options?: LayerViewHighlightOptions): ResourceHandle;
|
|
27
|
+
/**
|
|
28
|
+
* Returns the [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) available for drawing in the layer view.
|
|
29
|
+
*
|
|
30
|
+
* @returns A [Collection](https://developers.arcgis.com/javascript/latest/references/core/core/Collection/) of graphics available in the layer view.
|
|
31
|
+
* @since 5.2
|
|
32
|
+
*/
|
|
33
|
+
abstract queryGraphics(): Promise<Collection<Graphic>>;
|
|
34
|
+
}
|
package/views/layers/types.d.ts
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
*/
|
|
9
9
|
export interface LayerViewHighlightOptions {
|
|
10
10
|
/**
|
|
11
|
-
* The [HighlightOptions.name](https://developers.arcgis.com/javascript/latest/references/core/views/support/HighlightOptions/#name) of the highlight options from the view's
|
|
12
|
-
* If a `name` is provided, the corresponding highlight options will be
|
|
11
|
+
* The [HighlightOptions.name](https://developers.arcgis.com/javascript/latest/references/core/views/support/HighlightOptions/#name) of the highlight options from the view's
|
|
12
|
+
* [View.highlights](https://developers.arcgis.com/javascript/latest/references/core/views/View/#highlights) collection. If a `name` is provided, the corresponding highlight options will be
|
|
13
|
+
* applied to the feature(s). Otherwise, the `default` highlight options will be used.
|
|
13
14
|
*
|
|
14
15
|
* @since 5.0
|
|
15
16
|
*/
|
|
@@ -54,7 +54,7 @@ export type SelectableLayerSourceUnion = SelectableLayer | SubtypeSublayer | Sel
|
|
|
54
54
|
*
|
|
55
55
|
* @since 5.1
|
|
56
56
|
*/
|
|
57
|
-
export type SelectionSource = SelectableLayerSourceUnion | SelectableLayerView | FeatureLikeLayerView
|
|
57
|
+
export type SelectionSource = SelectableLayerSourceUnion | SelectableLayerView | FeatureLikeLayerView;
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* Types of views supported by a selection operation.
|
|
@@ -207,12 +207,23 @@ export interface SelectableLayerWithObjectIds extends SelectableLayerBase {
|
|
|
207
207
|
queryFeatures(query?: Query, requestOptions?: RequestOptions): Promise<FeatureSet>;
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
+
/**
|
|
211
|
+
* Layer type narrowed to those that contain graphics.
|
|
212
|
+
* Includes GraphicsLayer and SketchLayer.
|
|
213
|
+
*
|
|
214
|
+
* @since 5.0
|
|
215
|
+
*/
|
|
216
|
+
export interface SelectableLayerWithGraphics extends SelectableLayerBase {
|
|
217
|
+
/** A collection of graphics in the layer. */
|
|
218
|
+
graphics: Collection<Graphic>;
|
|
219
|
+
}
|
|
220
|
+
|
|
210
221
|
/**
|
|
211
222
|
* A selectable layer which can either be layers containing object IDs or layers with graphics.
|
|
212
223
|
*
|
|
213
224
|
* @since 5.0
|
|
214
225
|
*/
|
|
215
|
-
export type SelectableLayer = SelectableLayerWithObjectIds |
|
|
226
|
+
export type SelectableLayer = SelectableLayerWithObjectIds | SelectableLayerWithGraphics;
|
|
216
227
|
|
|
217
228
|
/**
|
|
218
229
|
* The underlying base type for selectable layer views which contains common properties and methods for both layer views with graphics and layer views with object IDs.
|
|
@@ -259,11 +270,11 @@ export interface SelectableLayerViewWithGraphics extends SelectableLayerViewBase
|
|
|
259
270
|
*/
|
|
260
271
|
layer: GraphicsLayer | SketchLayer;
|
|
261
272
|
/**
|
|
262
|
-
* Queries for [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) from the layer view
|
|
273
|
+
* Queries for [graphics](https://developers.arcgis.com/javascript/latest/references/core/Graphic/) from the layer view.
|
|
263
274
|
*
|
|
264
275
|
* @since 5.1
|
|
265
276
|
*/
|
|
266
|
-
queryGraphics
|
|
277
|
+
queryGraphics: () => Promise<Collection<Graphic>>;
|
|
267
278
|
}
|
|
268
279
|
|
|
269
280
|
/**
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import{Loadable as
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import{deprecatedModule as n}from"../../core/deprecate.js";import{Loadable as r,isLoadable as i}from"../../core/Loadable.js";import a from"../../core/Logger.js";import{watch as o,on as s,when as c}from"../../core/reactiveUtils.js";import{property as l,subclass as u}from"../../core/accessorSupport/decorators.js";import{canProjectWithoutEngine as d,isLoaded as f,load as p}from"../../geometry/projectionUtils.js";import{equals as m}from"../../geometry/support/spatialReferenceUtils.js";import{isLinkChartView as h}from"../../linkChart/guards.js";import{basemapEnsureType as g}from"../../support/basemapEnsureType.js";import{contentEquals as _}from"../../support/basemapUtils.js";import{default3DCompatibility as v,default2DCompatibility as y}from"./support/basemapCompatibilityUtils.js";import b from"./support/BasemapGalleryItem.js";import x from"./support/LocalBasemapsSource.js";import S from"./support/PortalBasemapsSource.js";const C=t.ofType(b);function w(e){return e&&e.declaredClass===`esri.portal.Portal`}function T(e){return e&&!(e instanceof S)&&(!!e.portal||!!e.query)}function E(e){return e&&`basemaps`in e&&`state`in e&&`refresh`in e}let D=class extends r{constructor(e){super(e),this._loadingProjectionEngine=!1,this.items=new C,this.view=null,e?.suppressDeprecationWarning||n(a.getLogger(this),`esri.widgets.BasemapGallery.BasemapGalleryViewModel`,{version:`5.2`,replacement:`Use the @arcgis/core/basemaps/BasemapCollection class instead.`,warnOnce:!0}),this.source=new S}normalizeCtorArgs(e={}){let{suppressDeprecationWarning:t,...n}=e;return n}initialize(){let e=()=>this._recreateItems();this.addHandles([o(()=>this.state===`ready`?this.compatibilityFunction:null,()=>this._updateItems()),s(()=>this.source?.basemaps,`change`,e,{onListenerAdd:e}),c(()=>this.view,()=>{this.source instanceof S&&(this.source.viewType=this.view?.type)},{once:!0})])}destroy(){let e=this.source.basemaps.find(e=>e===this.activeBasemap);e&&this.source.basemaps.remove(e),this.source?.destroy()}get activeBasemap(){return this.view?.map?.basemap??null}set activeBasemap(e){let t=this.view;if(!t?.map)return;if(e=g(e),!e||!t.ready){t.map.basemap=e,this._clearOverride(`activeBasemap`);return}let n=e.spatialReference||this.items?.find(t=>this.basemapEquals(e,t.basemap))?.spatialReference;if(n&&`spatialReferenceLocked`in t&&!t.spatialReferenceLocked){let r=t.spatialReference;if(n!=null&&!m(r,n)&&!d(t.spatialReference,n)&&!f()){this._override(`activeBasemap`,e),this._loadingProjectionEngine=!0,p().then(()=>{this._get(`activeBasemap`)===e&&(t.map.basemap=e,t.spatialReference=n,this._clearOverride(`activeBasemap`))},()=>{}).then(()=>{this._loadingProjectionEngine=!1});return}t.map.basemap=e,this._clearOverride(`activeBasemap`),n!=null&&!m(t.spatialReference,n)&&(t.spatialReference=n)}else t.map.basemap=e,this._clearOverride(`activeBasemap`)}get activeBasemapIndex(){let{state:e,activeBasemap:t}=this;return e===`ready`?this._findBasemapIndex(t):-1}get compatibilityFunction(){return this.view?.type===`3d`?v:y}set compatibilityFunction(e){this._overrideIfSome(`compatibilityFunction`,e)}get source(){return this._get(`source`)}set source(e){(Array.isArray(e)||t.isCollection(e))&&(e=new x({basemaps:Array.isArray(e)?new t(e):e})),w(e)&&(e=new S({portal:e})),T(e)&&(e=new S(e)),E(e)||(e=null),this._set(`source`,e)}get state(){return!this.view?.ready||!this.source?`disabled`:h(this.view)&&!this.view.inGeographicLayout?`unsupported`:this._loadingProjectionEngine?`loading`:`ready`}basemapEquals(e,t){return _(e,t)}refresh(){this._recreateItems()}load(){return this.loadSource()}loadSource(e){return this.addResolvingPromise(i(this.source)?this.source.load(e):null),Promise.resolve(this)}_findBasemapIndex(e){let{items:t}=this,n=t.findIndex(t=>t.basemap===e);return n===-1?t.findIndex(t=>this.basemapEquals(t.basemap,e)):n}_recreateItems(){let e=this.source?.basemaps??[],{view:t,compatibilityFunction:n}=this,r=new Map(this.items.map(e=>[e.basemap,e])),i=e.map(e=>{let i=r.get(e);return i?(r.delete(e),i):new b({basemap:e,compatibilityFunction:n,view:t})});this.items.removeAll(),this.items.addMany(i),r.forEach(e=>e.destroy())}_updateItems(){for(let e of this.items)e.compatibilityFunction=this.compatibilityFunction,e.view=this.view}};e([l()],D.prototype,`_loadingProjectionEngine`,void 0),e([l()],D.prototype,`activeBasemap`,null),e([l({readOnly:!0})],D.prototype,`activeBasemapIndex`,null),e([l()],D.prototype,`compatibilityFunction`,null),e([l({readOnly:!0,type:C})],D.prototype,`items`,void 0),e([l()],D.prototype,`source`,null),e([l({readOnly:!0})],D.prototype,`state`,null),e([l()],D.prototype,`view`,void 0),D=e([u(`esri.widgets.BasemapGallery.BasemapGalleryViewModel`)],D);const O=D;export{O as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../assets.js";import{deprecateWidget as n}from"../core/deprecate.js";import r from"../core/Logger.js";import{when as i}from"../core/reactiveUtils.js";import{property as a,subclass as o}from"../core/accessorSupport/decorators.js";import{getBasemapThumbnailUrl as s,isBasemap3D as c,isBasemapInPreview as l,isBasemapInBeta as u}from"../support/basemapUtils.js";import d from"./Widget.js";import f from"./BasemapGallery/BasemapGalleryViewModel.js";import{css as p}from"./BasemapGallery/css.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{Heading as g}from"./support/Heading.js";import{messageBundle as _,accessibleHandler as v,tsx as y}from"./support/widget.js";let b=class extends d{constructor(e,t){super(e,t),this.disabled=!1,this.headingLevel=2,this.messages=null,this.viewModel=new f,this._focusBasemapItemEnabled=!1,n(r.getLogger(this),`Basemap Gallery`,`arcgis-basemap-gallery`,{version:`4.32`})}initialize(){this.addHandles(i(()=>this.source,()=>this.viewModel.loadSource(),{sync:!0,initial:!0}))}loadDependencies(){return m({scrim:()=>import(`@esri/calcite-components/dist/components/calcite-scrim`),chip:()=>import(`@esri/calcite-components/dist/components/calcite-chip`)})}get activeBasemap(){return this.viewModel.activeBasemap}set activeBasemap(e){this.viewModel.activeBasemap=e}get icon(){return`basemap`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get source(){return this.viewModel.source}set source(e){this.viewModel.source=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){let e=this.source.state===`loading`,t=this.disabled||this.viewModel.state===`disabled`,n={[p.sourceLoading]:e,[h.disabled]:t};return y(`div`,{class:this.classes(p.base,h.widget,h.panel,n),key:`container`},this._getContext())}_getContext(){if(this.viewModel.state===`unsupported`)return y(`div`,{class:h.empty,key:`empty-message`},y(g,{level:this.headingLevel},this.messages.unsupported));if(this.source.state===`loading`)return y(`div`,{class:p.loader,key:`loader`});let e=this.viewModel.items;return e.length>0?y(`ul`,{"aria-disabled":this.disabled,"aria-label":this.label,bind:this,class:p.itemContainer,key:`item-container`,role:`radiogroup`,onkeydown:this._handleKeyDown},e.map((e,t)=>this._renderBasemapGalleryItem(e,t)).toArray()):y(`div`,{class:h.empty,key:`empty-message`},y(g,{level:this.headingLevel},this.messages.noBasemaps))}_getRoundRobinIndex(e,t){return(e+t)%t}_handleKeyDown(e){let{key:t}=e;if(![`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`].includes(t))return;e.preventDefault();let{items:n,activeBasemapIndex:r}=this.viewModel,i=t===`ArrowUp`||t===`ArrowLeft`?this._getRoundRobinIndex(Math.max(r-1,-1),n.length):this._getRoundRobinIndex(r+1,n.length),a=n.at(i);a?.state===`ready`&&(this.viewModel.activeBasemap=a.basemap),this._focusBasemapItemEnabled=!0}_focusBasemapItem(e){this._focusBasemapItemEnabled&&e.tabIndex===0&&(e.focus(),this._focusBasemapItemEnabled=!1)}_handleClick(e){let t=e.currentTarget[`data-item`];t.state===`ready`&&(this.viewModel.activeBasemap=t.basemap)}_renderBasemapGalleryItem(e,n){let r=s(e.basemap)||t(`esri/themes/base/images/basemap-toggle-64.svg`),i=e.basemap.title,a=e.basemap.portalItem?.snippet,o=e.error?.message||a||i,{viewModel:{state:l,activeBasemapIndex:u}}=this,d=this.disabled||l===`disabled`,f=u===n,m=f||u===-1&&n===0?0:-1,g=l===`loading`,_={[p.selectedItem]:f,[p.itemError]:e.state===`error`},v=`basemapgallery-item-${e.uid}`;return y(`li`,{afterUpdate:this._focusBasemapItem,"aria-checked":f.toString(),"aria-disabled":d.toString(),"aria-labelledby":v,bind:this,class:this.classes(p.item,_),"data-item":e,key:e.uid,role:`radio`,tabIndex:m,title:o,onclick:this._handleClick,onkeydown:this._handleClick},y(`img`,{alt:``,class:p.itemThumbnail,src:r}),y(`div`,{class:p.itemContent,key:`content`},y(`div`,{class:p.itemTitle,key:`title`},y(`span`,{id:v},i)),c(e.basemap)?this._renderTags(e.basemap):null),e.state===`loading`||f&&g?y(`calcite-scrim`,null,y(`span`,{"aria-hidden":`true`,class:h.loaderAnimation,key:`loader`,role:`presentation`})):null)}_renderTags(e){return y(`div`,{class:p.itemTagsContainer,key:`tag`},this._render3DTag(),u(e)?this._renderBetaTag():null,l(e)?this._renderPreviewTag():null)}_render3DTag(){let{messages:e}=this;return y(`calcite-chip`,{key:`tag-3d`,label:e.tag3D,scale:`s`},this.messages.tag3D)}_renderBetaTag(){let{messages:e}=this;return y(`calcite-chip`,{appearance:`outline-fill`,key:`tag-beta`,label:e.tagBeta,scale:`s`},this.messages.tagBeta)}_renderPreviewTag(){let{messages:e}=this;return y(`calcite-chip`,{appearance:`outline-fill`,key:`tag-preview`,label:e.tagPreview,scale:`s`},this.messages.tagPreview)}};e([a()],b.prototype,`activeBasemap`,null),e([a()],b.prototype,`disabled`,void 0),e([a()],b.prototype,`headingLevel`,void 0),e([a()],b.prototype,`icon`,null),e([a()],b.prototype,`label`,null),e([a(),_(`esri/widgets/BasemapGallery/t9n/BasemapGallery`)],b.prototype,`messages`,void 0),e([a()],b.prototype,`source`,null),e([a()],b.prototype,`view`,null),e([a({type:f})],b.prototype,`viewModel`,void 0),e([a()],b.prototype,`_focusBasemapItemEnabled`,void 0),e([v()],b.prototype,`_handleClick`,null),b=e([o(`esri.widgets.BasemapGallery`)],b);const x=b;export{x as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{getAssetUrl as t}from"../assets.js";import{deprecateWidget as n}from"../core/deprecate.js";import r from"../core/Logger.js";import{when as i}from"../core/reactiveUtils.js";import{property as a,subclass as o}from"../core/accessorSupport/decorators.js";import{getBasemapThumbnailUrl as s,isBasemap3D as c,isBasemapInPreview as l,isBasemapInBeta as u}from"../support/basemapUtils.js";import d from"./Widget.js";import f from"./BasemapGallery/BasemapGalleryViewModel.js";import{css as p}from"./BasemapGallery/css.js";import{loadCalciteComponents as m}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{Heading as g}from"./support/Heading.js";import{messageBundle as _,accessibleHandler as v,tsx as y}from"./support/widget.js";let b=class extends d{constructor(e,t){super(e,t),this.disabled=!1,this.headingLevel=2,this.messages=null,this.viewModel=new f({suppressDeprecationWarning:!0}),this._focusBasemapItemEnabled=!1,n(r.getLogger(this),`Basemap Gallery`,`arcgis-basemap-gallery`,{version:`4.32`})}initialize(){this.addHandles(i(()=>this.source,()=>this.viewModel.loadSource(),{sync:!0,initial:!0}))}loadDependencies(){return m({scrim:()=>import(`@esri/calcite-components/dist/components/calcite-scrim`),chip:()=>import(`@esri/calcite-components/dist/components/calcite-chip`)})}get activeBasemap(){return this.viewModel.activeBasemap}set activeBasemap(e){this.viewModel.activeBasemap=e}get icon(){return`basemap`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get source(){return this.viewModel.source}set source(e){this.viewModel.source=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}render(){let e=this.source.state===`loading`,t=this.disabled||this.viewModel.state===`disabled`,n={[p.sourceLoading]:e,[h.disabled]:t};return y(`div`,{class:this.classes(p.base,h.widget,h.panel,n),key:`container`},this._getContext())}_getContext(){if(this.viewModel.state===`unsupported`)return y(`div`,{class:h.empty,key:`empty-message`},y(g,{level:this.headingLevel},this.messages.unsupported));if(this.source.state===`loading`)return y(`div`,{class:p.loader,key:`loader`});let e=this.viewModel.items;return e.length>0?y(`ul`,{"aria-disabled":this.disabled,"aria-label":this.label,bind:this,class:p.itemContainer,key:`item-container`,role:`radiogroup`,onkeydown:this._handleKeyDown},e.map((e,t)=>this._renderBasemapGalleryItem(e,t)).toArray()):y(`div`,{class:h.empty,key:`empty-message`},y(g,{level:this.headingLevel},this.messages.noBasemaps))}_getRoundRobinIndex(e,t){return(e+t)%t}_handleKeyDown(e){let{key:t}=e;if(![`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`].includes(t))return;e.preventDefault();let{items:n,activeBasemapIndex:r}=this.viewModel,i=t===`ArrowUp`||t===`ArrowLeft`?this._getRoundRobinIndex(Math.max(r-1,-1),n.length):this._getRoundRobinIndex(r+1,n.length),a=n.at(i);a?.state===`ready`&&(this.viewModel.activeBasemap=a.basemap),this._focusBasemapItemEnabled=!0}_focusBasemapItem(e){this._focusBasemapItemEnabled&&e.tabIndex===0&&(e.focus(),this._focusBasemapItemEnabled=!1)}_handleClick(e){let t=e.currentTarget[`data-item`];t.state===`ready`&&(this.viewModel.activeBasemap=t.basemap)}_renderBasemapGalleryItem(e,n){let r=s(e.basemap)||t(`esri/themes/base/images/basemap-toggle-64.svg`),i=e.basemap.title,a=e.basemap.portalItem?.snippet,o=e.error?.message||a||i,{viewModel:{state:l,activeBasemapIndex:u}}=this,d=this.disabled||l===`disabled`,f=u===n,m=f||u===-1&&n===0?0:-1,g=l===`loading`,_={[p.selectedItem]:f,[p.itemError]:e.state===`error`},v=`basemapgallery-item-${e.uid}`;return y(`li`,{afterUpdate:this._focusBasemapItem,"aria-checked":f.toString(),"aria-disabled":d.toString(),"aria-labelledby":v,bind:this,class:this.classes(p.item,_),"data-item":e,key:e.uid,role:`radio`,tabIndex:m,title:o,onclick:this._handleClick,onkeydown:this._handleClick},y(`img`,{alt:``,class:p.itemThumbnail,src:r}),y(`div`,{class:p.itemContent,key:`content`},y(`div`,{class:p.itemTitle,key:`title`},y(`span`,{id:v},i)),c(e.basemap)?this._renderTags(e.basemap):null),e.state===`loading`||f&&g?y(`calcite-scrim`,null,y(`span`,{"aria-hidden":`true`,class:h.loaderAnimation,key:`loader`,role:`presentation`})):null)}_renderTags(e){return y(`div`,{class:p.itemTagsContainer,key:`tag`},this._render3DTag(),u(e)?this._renderBetaTag():null,l(e)?this._renderPreviewTag():null)}_render3DTag(){let{messages:e}=this;return y(`calcite-chip`,{key:`tag-3d`,label:e.tag3D,scale:`s`},this.messages.tag3D)}_renderBetaTag(){let{messages:e}=this;return y(`calcite-chip`,{appearance:`outline-fill`,key:`tag-beta`,label:e.tagBeta,scale:`s`},this.messages.tagBeta)}_renderPreviewTag(){let{messages:e}=this;return y(`calcite-chip`,{appearance:`outline-fill`,key:`tag-preview`,label:e.tagPreview,scale:`s`},this.messages.tagPreview)}};e([a()],b.prototype,`activeBasemap`,null),e([a()],b.prototype,`disabled`,void 0),e([a()],b.prototype,`headingLevel`,void 0),e([a()],b.prototype,`icon`,null),e([a()],b.prototype,`label`,null),e([a(),_(`esri/widgets/BasemapGallery/t9n/BasemapGallery`)],b.prototype,`messages`,void 0),e([a()],b.prototype,`source`,null),e([a()],b.prototype,`view`,null),e([a({type:f})],b.prototype,`viewModel`,void 0),e([a()],b.prototype,`_focusBasemapItemEnabled`,void 0),e([v()],b.prototype,`_handleClick`,null),b=e([o(`esri.widgets.BasemapGallery`)],b);const x=b;export{x as default};
|
|
@@ -7,6 +7,7 @@ import type { BookmarkProperties } from "../../webmap/Bookmark.js";
|
|
|
7
7
|
import type { BookmarkOptions, BookmarksCapabilities } from "./types.js";
|
|
8
8
|
import type { GoTo, GoToProperties } from "../support/GoTo.js";
|
|
9
9
|
|
|
10
|
+
/** @deprecated since version 5.2. Use the [Bookmarks component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/) directly instead. */
|
|
10
11
|
export interface BookmarksViewModelProperties extends GoToProperties, Partial<Pick<BookmarksViewModel, "capabilities" | "view">> {
|
|
11
12
|
/** A collection of [Bookmark](https://developers.arcgis.com/javascript/latest/references/core/webmap/Bookmark/)s. */
|
|
12
13
|
bookmarks?: ReadonlyArrayOrCollection<BookmarkProperties> | null;
|
|
@@ -29,6 +30,7 @@ export interface BookmarksViewModelProperties extends GoToProperties, Partial<Pi
|
|
|
29
30
|
defaultEditOptions?: Partial<BookmarkOptions>;
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
/** @deprecated since version 5.2. Use the [BookmarksState](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/types/#BookmarksState) instead. */
|
|
32
34
|
export type BookmarksViewModelState = "ready" | "loading";
|
|
33
35
|
|
|
34
36
|
/** @deprecated since version 5.0. Use the [Bookmarks component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/) directly instead. */
|
|
@@ -69,11 +71,13 @@ export interface BookmarksViewModelEvents {
|
|
|
69
71
|
"bookmark-select": BookmarksViewModelBookmarkSelectEvent;
|
|
70
72
|
}
|
|
71
73
|
|
|
74
|
+
/** @deprecated since version 5.2. Use [BookmarkEditEvent](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/types/#BookmarkEditEvent) instead. */
|
|
72
75
|
export interface BookmarksViewModelBookmarkEditEvent {
|
|
73
76
|
/** The edited bookmark. */
|
|
74
77
|
bookmark: Bookmark;
|
|
75
78
|
}
|
|
76
79
|
|
|
80
|
+
/** @deprecated since version 5.2. Use [BookmarkSelectEvent](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/types/#BookmarkSelectEvent) instead. */
|
|
77
81
|
export interface BookmarksViewModelBookmarkSelectEvent {
|
|
78
82
|
/** The bookmark selected by the user. */
|
|
79
83
|
bookmark: Bookmark;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import type Accessor from "../../core/Accessor.js";
|
|
2
2
|
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated since version 5.2. Use the [Bookmarks component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/) directly instead.
|
|
5
|
+
* @since 5.0
|
|
6
|
+
*/
|
|
4
7
|
export interface BookmarksVisibleElementsProperties extends Partial<Pick<BookmarksVisibleElements, "addBookmarkButton" | "closeButton" | "collapseButton" | "editBookmarkButton" | "filter" | "flow" | "heading" | "thumbnail" | "time">> {}
|
|
5
8
|
|
|
6
9
|
/**
|
|
@@ -9,6 +12,7 @@ export interface BookmarksVisibleElementsProperties extends Partial<Pick<Bookmar
|
|
|
9
12
|
*
|
|
10
13
|
* 
|
|
11
14
|
*
|
|
15
|
+
* @deprecated since version 5.2. Use the `show` and `hide` properties on the [Bookmarks component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/) directly instead.
|
|
12
16
|
* @since 5.0
|
|
13
17
|
*/
|
|
14
18
|
export default class BookmarksVisibleElements extends Accessor {
|
|
@@ -3,6 +3,7 @@ import type { UserSettings } from "../../views/types.js";
|
|
|
3
3
|
/**
|
|
4
4
|
* Specifies how bookmarks will be created or modified.
|
|
5
5
|
*
|
|
6
|
+
* @deprecated since 5.2. Use the [Bookmarks component's BookmarkOptions type](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/types/#BookmarkOptions) instead.
|
|
6
7
|
* @since 5.0
|
|
7
8
|
*/
|
|
8
9
|
export interface BookmarkOptions {
|
|
@@ -50,6 +51,7 @@ export interface BookmarkOptions {
|
|
|
50
51
|
/**
|
|
51
52
|
* Specifies the abilities for the Bookmarks widget.
|
|
52
53
|
*
|
|
54
|
+
* @deprecated since 5.2. Use the [Bookmarks component's timeDisabled property](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-bookmarks/#timeDisabled) instead.
|
|
53
55
|
* @since 5.0
|
|
54
56
|
*/
|
|
55
57
|
export interface BookmarksCapabilities {
|