@arcgis/core 5.2.0-next.63 → 5.2.0-next.64
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/arcade/Feature.js +1 -1
- package/arcade/ImmutableArray.js +1 -1
- package/arcade/ImmutablePathArray.js +1 -1
- package/arcade/ImmutablePointArray.js +1 -1
- package/arcade/Pixel.js +1 -1
- package/arcade/Voxel.js +1 -1
- package/arcade/arcadeAsyncRuntime.js +1 -1
- package/arcade/arcadeCompiler.js +1 -1
- package/arcade/arcadeRuntime.js +1 -1
- package/arcade/containerUtils.js +1 -1
- package/arcade/debug.js +1 -1
- package/arcade/deepClone.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/feature.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetgeom.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade/functions/featuresetstring.js +1 -1
- package/arcade/functions/fieldStats.js +1 -1
- package/arcade/functions/geomasync.js +1 -1
- package/arcade/functions/geometry.js +1 -1
- package/arcade/functions/geomsync.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/functions/maths.js +1 -1
- package/arcade/functions/stats.js +1 -1
- package/arcade/functions/string.js +1 -1
- package/arcade/functions/track.js +1 -1
- package/arcade/geometry/functions.js +1 -1
- package/arcade/languageUtils.js +1 -1
- package/arcade.js +1 -1
- package/arcgisGlobal.d.ts +9 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{44e64186318728d1be51.js → 067b00498ae85f635f60.js} +1 -1
- package/assets/esri/core/workers/chunks/0977f4d77c36175c2895.js +1 -0
- package/assets/esri/core/workers/chunks/{62f3ca0719ac6bc76512.js → 09c43bcb09aad02e83a9.js} +1 -1
- package/assets/esri/core/workers/chunks/0b20f92bae2b4c40d299.js +1 -0
- package/assets/esri/core/workers/chunks/0c3c311400ee352187ea.js +1 -0
- package/assets/esri/core/workers/chunks/0c582abc8d25249eb530.js +1 -0
- package/assets/esri/core/workers/chunks/0d6776055e9b34c14151.js +1 -0
- package/assets/esri/core/workers/chunks/0d7d54e74b5639a0be6e.js +1 -0
- package/assets/esri/core/workers/chunks/0da5b27b070ab780f8b3.js +1 -0
- package/assets/esri/core/workers/chunks/0e6b6fcc55cc43ede1fc.js +1 -0
- package/assets/esri/core/workers/chunks/{bcb5017500d144b73908.js → 126f1f6b355723db6c4f.js} +1 -1
- package/assets/esri/core/workers/chunks/12a64eca4c571926d9d4.js +1 -0
- package/assets/esri/core/workers/chunks/{b2c0262c4a76b8a86200.js → 149284464115981694ff.js} +1 -1
- package/assets/esri/core/workers/chunks/1642fa1263d8f4a45101.js +1 -0
- package/assets/esri/core/workers/chunks/1840d74ebae777a0200b.js +1 -0
- package/assets/esri/core/workers/chunks/19bf6826e7d9a4d52035.js +1 -0
- package/assets/esri/core/workers/chunks/1bfbdec791e19f5a2534.js +1 -0
- package/assets/esri/core/workers/chunks/1d8280f63a6698e74f20.js +1 -0
- package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js → 242cad472fbc38b24dbc.js} +2 -2
- package/assets/esri/core/workers/chunks/25197ecb324d6f08e03e.js +1 -0
- package/assets/esri/core/workers/chunks/253c231b5a52f1d2d3a5.js +1 -0
- package/assets/esri/core/workers/chunks/25999b6f96ec305a7679.js +1 -0
- package/assets/esri/core/workers/chunks/259bdacfb7b0f866a8d0.js +1 -0
- package/assets/esri/core/workers/chunks/28565756f884d0851003.js +1 -0
- package/assets/esri/core/workers/chunks/2a5a165848413764381b.js +1 -0
- package/assets/esri/core/workers/chunks/2e7a5bb740281ef59199.js +1 -0
- package/assets/esri/core/workers/chunks/{285a5bd708f0fe1c620c.js → 2ea3ca68cfa4d34e8f3b.js} +1 -1
- package/assets/esri/core/workers/chunks/2f87a49bdd00f899d81d.js +1 -0
- package/assets/esri/core/workers/chunks/{37a95f097533bad1b338.js → 302d91b7c480c6c9304b.js} +1 -1
- package/assets/esri/core/workers/chunks/{3d6d2b42ba2ad7086d5d.js → 3b493e8043ec1a2a5d96.js} +1 -1
- package/assets/esri/core/workers/chunks/40e48b720d89cd067892.js +1 -0
- package/assets/esri/core/workers/chunks/{a833fc9250635eb4152f.js → 41f7f3615d3ecb87c59a.js} +1 -1
- package/assets/esri/core/workers/chunks/{95b3b8fe45ef4ac6b277.js → 450bc48a7389607bce1e.js} +1 -1
- package/assets/esri/core/workers/chunks/465a050fd838ee8eddf3.js +1 -0
- package/assets/esri/core/workers/chunks/{0d61c8d348b09179777a.js → 46d8a1d6f7341ad20749.js} +1 -1
- package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +1 -0
- package/assets/esri/core/workers/chunks/48a0dfaabb9b4bce4191.js +1 -0
- package/assets/esri/core/workers/chunks/49a3888bf9e2481642ac.js +1 -0
- package/assets/esri/core/workers/chunks/{4ee900e5dbb130fa0c7b.js → 4a40b894ec89b0a4f9bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{d847c3cb2043a983145b.js → 4addea2e35b0c845743e.js} +1 -1
- package/assets/esri/core/workers/chunks/{e0a4d0288abd334b0673.js → 4ae626868e14bedd7fc5.js} +1 -1
- package/assets/esri/core/workers/chunks/529ee4670940720e888b.js +1 -0
- package/assets/esri/core/workers/chunks/{a3c882fe7599dc0f4f27.js → 59d1708ae13c6e7e6e55.js} +1 -1
- package/assets/esri/core/workers/chunks/59dd83e5aee2908c7eca.js +1 -0
- package/assets/esri/core/workers/chunks/{b8bdacebd4d24ba90f3f.js → 5fde1234c5cccaee6763.js} +1 -1
- package/assets/esri/core/workers/chunks/60f9b37dd738d884c48d.js +1 -0
- package/assets/esri/core/workers/chunks/6123894e2ae9233cdf89.js +1 -0
- package/assets/esri/core/workers/chunks/62c8413f3bbc1378273d.js +1 -0
- package/assets/esri/core/workers/chunks/6501ee40bf25f9f75d02.js +1 -0
- package/assets/esri/core/workers/chunks/663cf8bff17c894cd5f8.js +1 -0
- package/assets/esri/core/workers/chunks/6b536d03b4bef408035b.js +1 -0
- package/assets/esri/core/workers/chunks/6d1371b521c7f94fd77e.js +1 -0
- package/assets/esri/core/workers/chunks/6d5038d4351fe29e2718.js +1 -0
- package/assets/esri/core/workers/chunks/6f102c90908c9900cdaa.js +1 -0
- package/assets/esri/core/workers/chunks/6f39545710d1b35d922c.js +1 -0
- package/assets/esri/core/workers/chunks/7278fdf6bfcdffa10a7f.js +1 -0
- package/assets/esri/core/workers/chunks/72eb0ac55026a4f5d6a7.js +1 -0
- package/assets/esri/core/workers/chunks/73cb499d7d68c59ba34e.js +1 -0
- package/assets/esri/core/workers/chunks/{b8d788e110c212a879ab.js → 73f228d966b89c73c9e9.js} +1 -1
- package/assets/esri/core/workers/chunks/76bccc318d7cc33829a7.js +1 -0
- package/assets/esri/core/workers/chunks/{23a3d8f91caf3136b2aa.js → 771ead806efbe9c91fdc.js} +1 -1
- package/assets/esri/core/workers/chunks/777eafdb86b26b35c803.js +1 -0
- package/assets/esri/core/workers/chunks/7821aeba3e414b318a75.js +1 -0
- package/assets/esri/core/workers/chunks/78b80da3bbc1b608fe83.js +1 -0
- package/assets/esri/core/workers/chunks/7b531feba4fd662575f9.js +1 -0
- package/assets/esri/core/workers/chunks/7c57354d026e27e056d4.js +1 -0
- package/assets/esri/core/workers/chunks/7d163d9d90393e491ee5.js +1 -0
- package/assets/esri/core/workers/chunks/7d4c65311064a5c2e0b1.js +1 -0
- package/assets/esri/core/workers/chunks/{0474af7687466d8befd2.js → 7e2794705b4e679fcb3f.js} +1 -1
- package/assets/esri/core/workers/chunks/7ebbb90d80600d9ba889.js +1 -0
- package/assets/esri/core/workers/chunks/7f125963555dc1ce63ad.js +1 -0
- package/assets/esri/core/workers/chunks/{763cbb6716e398436a6d.js → 7f6eee102871769fdf8f.js} +1 -1
- package/assets/esri/core/workers/chunks/805c97b875d3066fb8df.js +1 -0
- package/assets/esri/core/workers/chunks/8566449c39eba55147f5.js +1 -0
- package/assets/esri/core/workers/chunks/86ed75b7169b8ee43025.js +1 -0
- package/assets/esri/core/workers/chunks/{9482a6d7baa24bbf5693.js → 89132395eca329b9ab92.js} +1 -1
- package/assets/esri/core/workers/chunks/{28bc5e8e82f188b30eb9.js → 894343e415639df88243.js} +1 -1
- package/assets/esri/core/workers/chunks/8b4759cef5ae5e43253b.js +1 -0
- package/assets/esri/core/workers/chunks/8ba4175f5e9a24ffecf7.js +1 -0
- package/assets/esri/core/workers/chunks/8be707044d992ef5f1d8.js +1 -0
- package/assets/esri/core/workers/chunks/{bd862382f72ebd446b46.js → 8d2cac1952e817daaf1f.js} +1 -1
- package/assets/esri/core/workers/chunks/8e38c5e63aae42bdf5a4.js +29 -0
- package/assets/esri/core/workers/chunks/{02ab09285a5c4ca98066.js → 8f785b722b1a131bf370.js} +1 -1
- package/assets/esri/core/workers/chunks/8f9874f42f21a4cb3acd.js +1 -0
- package/assets/esri/core/workers/chunks/90f4b81c6034253b70d7.js +1 -0
- package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +1 -0
- package/assets/esri/core/workers/chunks/93ab247ff34694ac60eb.js +1 -0
- package/assets/esri/core/workers/chunks/{6e45d0db97ffa4509177.js → 94bf7f0da6ad3f7ea277.js} +1 -1
- package/assets/esri/core/workers/chunks/9c57161ad48d8d546dc7.js +1 -0
- package/assets/esri/core/workers/chunks/{b2cf1d3f0d48eac23a84.js → 9c5dff4f13102871786e.js} +1 -1
- package/assets/esri/core/workers/chunks/9d0bda096cdbd7e22f4b.js +1 -0
- package/assets/esri/core/workers/chunks/9dfb7d120195991e9672.js +1 -0
- package/assets/esri/core/workers/chunks/9ed5e6b06afea6c85330.js +1 -0
- package/assets/esri/core/workers/chunks/{79b857bb301f9c4169d6.js → 9fee8441fbac9f723f77.js} +1 -1
- package/assets/esri/core/workers/chunks/a108f276659d5f25352c.js +1 -0
- package/assets/esri/core/workers/chunks/a2d8bc0efddd2e13b1ad.js +1 -0
- package/assets/esri/core/workers/chunks/{b32ede7805c7c6644e4c.js → a3bf8aa81ee398da5b52.js} +1 -1
- package/assets/esri/core/workers/chunks/{5b30231ae0a8f4b8435f.js → a504fa17d83facf1c01f.js} +1 -1
- package/assets/esri/core/workers/chunks/{538fe46dfd685a490e23.js → a7f42ada0aa69873a938.js} +1 -1
- package/assets/esri/core/workers/chunks/a97e0b9b057664911c14.js +1 -0
- package/assets/esri/core/workers/chunks/{cb58aff1ff186fa18345.js → a9f616f22042b0dce8b9.js} +1 -1
- package/assets/esri/core/workers/chunks/afd63c18ce4656271c8e.js +1 -0
- package/assets/esri/core/workers/chunks/{f04cb48fc73635d0572f.js → b059dabb1c732829487c.js} +1 -1
- package/assets/esri/core/workers/chunks/b313464b987db8a3987a.js +1 -0
- package/assets/esri/core/workers/chunks/b318823aefcefad6fad5.js +1 -0
- package/assets/esri/core/workers/chunks/b378e504a5b1afc8d0ce.js +1 -0
- package/assets/esri/core/workers/chunks/{9fb87a7dba62b527c0ba.js → b3a1a93c6dc9247cb048.js} +1 -1
- package/assets/esri/core/workers/chunks/b5397dc03fa0bd654ba6.js +1 -0
- package/assets/esri/core/workers/chunks/b5b698008b8f3f4d5d61.js +1 -0
- package/assets/esri/core/workers/chunks/b7bcb31737b01d7736d0.js +1 -0
- package/assets/esri/core/workers/chunks/b9a1046ca2cd0cca5da5.js +1 -0
- package/assets/esri/core/workers/chunks/{cda04571d7623c17ada2.js → b9c7aa04861f545a559c.js} +1 -1
- package/assets/esri/core/workers/chunks/{7df795bc4fa1d433463b.js → ba030767cf935f967454.js} +1 -1
- package/assets/esri/core/workers/chunks/{53d165b4f30fd64e5d8a.js → bd311c85437743cf7d2f.js} +1 -1
- package/assets/esri/core/workers/chunks/bd88228f781a0399d8bd.js +1 -0
- package/assets/esri/core/workers/chunks/bfb626805405646a0419.js +1 -0
- package/assets/esri/core/workers/chunks/{e65ee26feca0564aeb9b.js → c1e45e24f5ef719a714c.js} +18 -18
- package/assets/esri/core/workers/chunks/c203df41f9d2e4b80889.js +1 -0
- package/assets/esri/core/workers/chunks/{278409028bc5af45b507.js → c4c83b5129c279c3615b.js} +1 -1
- package/assets/esri/core/workers/chunks/c6ef0636073e28350c91.js +1 -0
- package/assets/esri/core/workers/chunks/c7e391df714839484cd1.js +1 -0
- package/assets/esri/core/workers/chunks/cded485ad893a7dd2948.js +1 -0
- package/assets/esri/core/workers/chunks/{1cf8fb704c48ac3d3b15.js → cf360767310fb45660a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{8f2fecd8a0a972d68590.js → cf8ce63711488f2e677c.js} +1 -1
- package/assets/esri/core/workers/chunks/d214ac457ac970479536.js +1 -0
- package/assets/esri/core/workers/chunks/d4058352db1e8255b52e.js +1 -0
- package/assets/esri/core/workers/chunks/d4d385d19e62ef1c286f.js +1 -0
- package/assets/esri/core/workers/chunks/d4f005dadba75422b401.js +1 -0
- package/assets/esri/core/workers/chunks/{52c4b4dabcb0d162be72.js → d5e15021928e95c11463.js} +1 -1
- package/assets/esri/core/workers/chunks/{fc639c730115e07a4a1a.js → d6500f6b2ff115d9eb09.js} +1 -1
- package/assets/esri/core/workers/chunks/e1492d2404c3ed82931e.js +1 -0
- package/assets/esri/core/workers/chunks/e34ed3b818b2eb4116c5.js +1 -0
- package/assets/esri/core/workers/chunks/e7149d23615fee31ab7e.js +1 -0
- package/assets/esri/core/workers/chunks/ec774f5d6ea5c29536e5.js +1 -0
- package/assets/esri/core/workers/chunks/ed71a4e353715db0a6e9.js +1 -0
- package/assets/esri/core/workers/chunks/{3f775deea48e268411f1.js → ef27bf1d7941ae265ca4.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e342d532925569daadb.js → f475672ff4c2ec9367c2.js} +1 -1
- package/assets/esri/core/workers/chunks/{cc414fd2e313d89d524d.js → f54eba484f40d5eeb590.js} +1 -1
- package/assets/esri/core/workers/chunks/{04ffe788d2efc0a076dd.js → f5c9659fc5d571d501c9.js} +1 -1
- package/assets/esri/core/workers/chunks/f622b27ebdf1c918fd6d.js +1 -0
- package/assets/esri/core/workers/chunks/{dd95f50dac3f33cdb6d2.js → f6a13f07a5f7b781a9a8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d849bdaf5bdfdc37531a.js → f6f7d885b4d6080e3f58.js} +1 -1
- package/assets/esri/core/workers/chunks/f8b8d3d2710c83acccf3.js +1 -0
- package/assets/esri/core/workers/chunks/f95870bb4d8e4e13e69e.js +1 -0
- package/assets/esri/core/workers/chunks/fa59f10ed0f182a2a7f3.js +1 -0
- package/assets/esri/core/workers/chunks/faa55265020591fd2224.js +1 -0
- package/assets/esri/core/workers/chunks/fc827f58db3194922056.js +1 -0
- package/chunks/_commonjsHelpers.js +1 -1
- package/chunks/aiServices.js +1 -1
- package/chunks/array.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/config.js +1 -1
- package/form/ExpressionInfo.d.ts +1 -1
- package/form/ExpressionInfo.js +1 -1
- package/form/elements/FieldElement.d.ts +3 -2
- package/form/elements/inputs/ComboBoxInput.d.ts +4 -15
- package/form/elements/inputs/ComboBoxInput.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +31 -0
- package/form/elements/inputs/DynamicChoiceInput.js +2 -0
- package/form/elements/inputs/Input.d.ts +1 -1
- package/form/elements/inputs/RadioButtonsInput.d.ts +4 -15
- package/form/elements/inputs/RadioButtonsInput.js +1 -1
- package/form/elements/inputs/SingleChoiceInput.d.ts +18 -0
- package/form/elements/inputs/SingleChoiceInput.js +2 -0
- package/form/elements/inputs.d.ts +11 -2
- package/form/elements/inputs.js +1 -1
- package/geometry/support/normalizeUtils.d.ts +1 -1
- package/kernel.js +1 -1
- package/layers/ImageryTileLayer.d.ts +1 -1
- package/layers/RouteLayer.d.ts +1 -1
- package/layers/mixins/ArcGISImageService.d.ts +24 -24
- package/layers/mixins/TiledImagery.d.ts +1 -1
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/networks/support/CircuitExportJobInfo.d.ts +1 -1
- package/networks/support/CircuitVerifyJobInfo.d.ts +1 -1
- package/networks/support/TopologyValidationJobInfo.d.ts +1 -1
- package/networks/support/TraceJobInfo.d.ts +1 -1
- package/package.json +2 -2
- package/portal/jsonTypes.d.ts +1 -1
- package/rest/closestFacility.d.ts +1 -1
- package/rest/find.d.ts +1 -1
- package/rest/geometryService.d.ts +21 -21
- package/rest/geoprocessor.d.ts +2 -2
- package/rest/identify.d.ts +1 -1
- package/rest/imageService.d.ts +19 -19
- package/rest/lastMileDelivery.d.ts +8 -8
- package/rest/locator.d.ts +4 -4
- package/rest/networkService.d.ts +1 -1
- package/rest/networks/queryAssociations.d.ts +1 -1
- package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
- package/rest/networks/trace.d.ts +1 -1
- package/rest/networks/traverseAssociations.d.ts +1 -1
- package/rest/places.d.ts +3 -3
- package/rest/print.d.ts +1 -1
- package/rest/query.d.ts +11 -11
- package/rest/route.d.ts +1 -1
- package/rest/serviceArea.d.ts +1 -1
- package/rest/support/JobInfo.d.ts +5 -5
- package/rest/symbolService.d.ts +1 -1
- package/support/revision.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
- package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +49 -32
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexInfo.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +23 -23
- package/views/3d/webgl-engine/lib/GaussianSplatRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/draw/support/InteractiveHandle.js +1 -1
- package/views/draw/support/managers/SurfaceManager.js +1 -1
- package/views/interactive/Tooltip.d.ts +3 -3
- package/views/interactive/Tooltip.js +1 -1
- package/views/interactive/options/ElevationOptions.d.ts +20 -0
- package/views/interactive/options/ElevationOptions.js +2 -0
- package/views/interactive/options/LabelOptions.d.ts +74 -0
- package/views/interactive/options/LabelOptions.js +2 -0
- package/views/interactive/options/SnappingOptions.d.ts +157 -0
- package/views/interactive/options/SnappingOptions.js +2 -0
- package/views/interactive/options/TooltipOptions.d.ts +152 -0
- package/views/interactive/options/TooltipOptions.js +2 -0
- package/views/interactive/options/TooltipVisibleElements.d.ts +105 -0
- package/views/interactive/options/TooltipVisibleElements.js +2 -0
- package/views/interactive/options/ValueOptions.d.ts +63 -0
- package/views/interactive/options/ValueOptions.js +2 -0
- package/views/interactive/sketch/SketchLabelOptions.d.ts +7 -9
- package/views/interactive/sketch/SketchLabelOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipElevationOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipOptions.d.ts +8 -50
- package/views/interactive/sketch/SketchTooltipOptions.js +1 -1
- package/views/interactive/sketch/SketchTooltipVisibleElements.d.ts +10 -95
- package/views/interactive/sketch/SketchTooltipVisibleElements.js +1 -1
- package/views/interactive/sketch/SketchValueOptions.d.ts +7 -45
- package/views/interactive/sketch/SketchValueOptions.js +1 -1
- package/views/interactive/sketch/Units.d.ts +10 -29
- package/views/interactive/sketch/Units.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +7 -78
- package/views/interactive/snapping/SnappingOptions.js +1 -1
- package/views/interactive/support/Units.d.ts +33 -0
- package/views/interactive/support/Units.js +2 -0
- package/views/interactive/support/types.d.ts +33 -0
- package/views/interactive/tooltip/types.d.ts +6 -2
- package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
- package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +0 -29
- package/assets/esri/core/workers/chunks/069b6d8bdb34ee88d437.js +0 -1
- package/assets/esri/core/workers/chunks/0790bf0eb276cd9166f6.js +0 -1
- package/assets/esri/core/workers/chunks/08c2bf9defcece9e049a.js +0 -1
- package/assets/esri/core/workers/chunks/0ae0483b72f5e8d00d55.js +0 -1
- package/assets/esri/core/workers/chunks/0d1224693a62a26a0e72.js +0 -1
- package/assets/esri/core/workers/chunks/10b367563f894ceb9864.js +0 -1
- package/assets/esri/core/workers/chunks/11e00ca5ac1b004f4ecc.js +0 -1
- package/assets/esri/core/workers/chunks/13033178de9f637a2356.js +0 -1
- package/assets/esri/core/workers/chunks/13c893e448bedc5c1cef.js +0 -1
- package/assets/esri/core/workers/chunks/14cd8bb1ad4da8d1d2ca.js +0 -1
- package/assets/esri/core/workers/chunks/15c2d9bec0455fc363a9.js +0 -1
- package/assets/esri/core/workers/chunks/246cd372d4184233f48e.js +0 -1
- package/assets/esri/core/workers/chunks/268ab65afc3fce775ad2.js +0 -1
- package/assets/esri/core/workers/chunks/279a9a38b04a21cdfd11.js +0 -1
- package/assets/esri/core/workers/chunks/2a1c6df073e6ca6a6365.js +0 -1
- package/assets/esri/core/workers/chunks/3406a01dad6338e3c548.js +0 -1
- package/assets/esri/core/workers/chunks/36781219ca9ba5d7fe52.js +0 -1
- package/assets/esri/core/workers/chunks/36999a2e383c8eb3c398.js +0 -1
- package/assets/esri/core/workers/chunks/36f8a912842181e1f0aa.js +0 -1
- package/assets/esri/core/workers/chunks/3f1a7f8a9ead64bf0b7b.js +0 -1
- package/assets/esri/core/workers/chunks/41e821ce229bc56dc1a1.js +0 -1
- package/assets/esri/core/workers/chunks/456e616f32e7de696d38.js +0 -1
- package/assets/esri/core/workers/chunks/478540265c86436da05e.js +0 -1
- package/assets/esri/core/workers/chunks/479f486ec1797629ec70.js +0 -1
- package/assets/esri/core/workers/chunks/484b3e2a220c440ccbb4.js +0 -1
- package/assets/esri/core/workers/chunks/4a340836ddbc856993f2.js +0 -1
- package/assets/esri/core/workers/chunks/54b9667450d066c6f6ce.js +0 -1
- package/assets/esri/core/workers/chunks/57b07448da06d0302a46.js +0 -1
- package/assets/esri/core/workers/chunks/5a9ff50fdcc99ae28cce.js +0 -1
- package/assets/esri/core/workers/chunks/5dc17b76c6ecc24e7b9a.js +0 -1
- package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
- package/assets/esri/core/workers/chunks/5eb6f37c74a217772eca.js +0 -1
- package/assets/esri/core/workers/chunks/6210fb6cd31844f23964.js +0 -1
- package/assets/esri/core/workers/chunks/638ed1297efdb24f4711.js +0 -1
- package/assets/esri/core/workers/chunks/63ede7295938f7010808.js +0 -1
- package/assets/esri/core/workers/chunks/661a59133ae34f172174.js +0 -1
- package/assets/esri/core/workers/chunks/687cf21e027f49b44d22.js +0 -1
- package/assets/esri/core/workers/chunks/6c2b5087a9df65267f4e.js +0 -1
- package/assets/esri/core/workers/chunks/6d247ff53421d27628ce.js +0 -1
- package/assets/esri/core/workers/chunks/700c08dd2e734c15e621.js +0 -1
- package/assets/esri/core/workers/chunks/70452f6d63e9be8d03dd.js +0 -1
- package/assets/esri/core/workers/chunks/733b2e181683d5fc7c95.js +0 -1
- package/assets/esri/core/workers/chunks/7659391f952d134164cf.js +0 -1
- package/assets/esri/core/workers/chunks/7889f4a17cf249f2acc5.js +0 -1
- package/assets/esri/core/workers/chunks/7a2dcd57849048c6e00d.js +0 -1
- package/assets/esri/core/workers/chunks/7a2dfa42610fe8414ed7.js +0 -1
- package/assets/esri/core/workers/chunks/7ce52b850dd785bfa33f.js +0 -1
- package/assets/esri/core/workers/chunks/7fdd6a5fa062778be55d.js +0 -1
- package/assets/esri/core/workers/chunks/81accb1820e2735fa376.js +0 -1
- package/assets/esri/core/workers/chunks/8210fc9e072209e26fa9.js +0 -1
- package/assets/esri/core/workers/chunks/8369edafab7bdc59b95a.js +0 -1
- package/assets/esri/core/workers/chunks/84fa102a93b2144c28fb.js +0 -1
- package/assets/esri/core/workers/chunks/85ce7673d42526a79fd2.js +0 -1
- package/assets/esri/core/workers/chunks/8722e2790272e90a1897.js +0 -1
- package/assets/esri/core/workers/chunks/8a1970e68bc1e833cb7f.js +0 -1
- package/assets/esri/core/workers/chunks/8bb20ef549ec1c86b38e.js +0 -1
- package/assets/esri/core/workers/chunks/8c535c6a39d2be2ed655.js +0 -1
- package/assets/esri/core/workers/chunks/92696cce2b980373f9ad.js +0 -1
- package/assets/esri/core/workers/chunks/98b27cf8acbfa4259758.js +0 -1
- package/assets/esri/core/workers/chunks/9a6208ab670ad74e6f7d.js +0 -1
- package/assets/esri/core/workers/chunks/a09ce34fc7c8abe64ed5.js +0 -1
- package/assets/esri/core/workers/chunks/a10f63a08d976be058be.js +0 -1
- package/assets/esri/core/workers/chunks/a5f058567419ea70dff6.js +0 -1
- package/assets/esri/core/workers/chunks/a965d151515b76dd7566.js +0 -1
- package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
- package/assets/esri/core/workers/chunks/b5c7813495657f844171.js +0 -1
- package/assets/esri/core/workers/chunks/b7170816736769d3b7b0.js +0 -1
- package/assets/esri/core/workers/chunks/b8e5d7aefddddbd0a10c.js +0 -1
- package/assets/esri/core/workers/chunks/b958f87f23f984131d09.js +0 -1
- package/assets/esri/core/workers/chunks/b9f40681af1fa00b5bbe.js +0 -1
- package/assets/esri/core/workers/chunks/c4c25db769a78e677e33.js +0 -1
- package/assets/esri/core/workers/chunks/c85ba0700eafdc8d6f9e.js +0 -1
- package/assets/esri/core/workers/chunks/ca118c42c0f609ca7912.js +0 -1
- package/assets/esri/core/workers/chunks/cb17cd8aaf77238c0236.js +0 -1
- package/assets/esri/core/workers/chunks/d03f427442bb0c287d05.js +0 -1
- package/assets/esri/core/workers/chunks/d08d3c6f21e6ba8268ca.js +0 -1
- package/assets/esri/core/workers/chunks/d37a72111dffc4c4db70.js +0 -1
- package/assets/esri/core/workers/chunks/d41ab2abcfacc87809b5.js +0 -1
- package/assets/esri/core/workers/chunks/d4ed094962a41d756c95.js +0 -1
- package/assets/esri/core/workers/chunks/d51c41c1944df0cbab3e.js +0 -1
- package/assets/esri/core/workers/chunks/d83ea3e4e9ab45334068.js +0 -1
- package/assets/esri/core/workers/chunks/d9b83d7dd7d1f7729a91.js +0 -1
- package/assets/esri/core/workers/chunks/dbcec48c4ba104a6d0b5.js +0 -1
- package/assets/esri/core/workers/chunks/dc24e80d061f7b063608.js +0 -1
- package/assets/esri/core/workers/chunks/df30053a10d4930924d5.js +0 -1
- package/assets/esri/core/workers/chunks/e5bb7ee670a3ba5ba3fe.js +0 -1
- package/assets/esri/core/workers/chunks/e5c75459de85a6dd2f14.js +0 -1
- package/assets/esri/core/workers/chunks/e798ca23f02a2dd65bd4.js +0 -1
- package/assets/esri/core/workers/chunks/f1299b4fc760ccca1518.js +0 -1
- package/assets/esri/core/workers/chunks/f65adaaa33d9f3b131f6.js +0 -1
- package/assets/esri/core/workers/chunks/f6715b8765cd36d81ec8.js +0 -1
- package/assets/esri/core/workers/chunks/f7fa932ade85cb2847b6.js +0 -1
- package/assets/esri/core/workers/chunks/f9a4f4efd63b8189a4eb.js +0 -1
- package/assets/esri/core/workers/chunks/f9b654f801cb416e9e17.js +0 -1
- package/assets/esri/core/workers/chunks/fa1c58e5b582d61a03ab.js +0 -1
- package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +0 -1
- package/assets/esri/core/workers/chunks/fefbde2c2e527bb716ee.js +0 -1
- /package/assets/esri/core/workers/chunks/{a12803108c3b12808698.js.LICENSE.txt → 242cad472fbc38b24dbc.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as i}from"../../../core/memoize.js";import{ignoreAbortErrors as o}from"../../../core/promiseUtils.js";import{valueInUnit as s}from"../../../core/quantity.js";import{createScreenPoint as r}from"../../../core/screenUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as
|
|
2
|
+
import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import n from"../../../core/Logger.js";import{memoize as i}from"../../../core/memoize.js";import{ignoreAbortErrors as o}from"../../../core/promiseUtils.js";import{valueInUnit as s}from"../../../core/quantity.js";import{createScreenPoint as r}from"../../../core/screenUtils.js";import{property as a,subclass as p}from"../../../core/accessorSupport/decorators.js";import{fromArray as l,create as u}from"../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{normalize as c}from"../../../core/libs/gl-matrix-2/math/vec2.js";import g from"../../../geometry/Point.js";import{pointEquals as d}from"../../../layers/graphics/dehydratedFeatureComparison.js";import{makeDehydratedPoint as f}from"../../../layers/graphics/dehydratedPoint.js";import{getZFromVertexSnappingCandidates as h}from"./drawUtils.js";import{getPolylineOrPolygonConstraint as m,getPointConstraint as S,pointToConstraintSpace as P,constraintSpaceToPoint as y}from"../../interactive/sketch/constraintUtils.js";import{SnappingContext as v}from"../../interactive/snapping/SnappingContext.js";import{SnappingOperation as M}from"../../interactive/snapping/SnappingOperation.js";let T=class extends e{constructor(t){super(t),this._snappingOperation=null,this.role="primary",this.captureMode="capture-always",this.defaultCaptureMode="capture-always",this.snappingEnabled=!0,this.selfSnappingEnabled=!0,this.editSession=null,this.outputMapPositionOfDragStart=null,this.selectedSnappingResult=null,this.screenPosition=null,this.inputMapPosition=null,this.drawToolDragging=!1,this.manipulatorDragging=!1,this._getSnappingContext=i((t,e,n,i,o,s)=>n?new v({elevationInfo:i,pointer:t,vertexHandle:e,editGeometryOperations:n,visualizer:o,suppressSelfSnapping:!s}):null)}get grabbable(){return"grabbable-object"===this.captureMode}get following(){const{captureMode:t}=this;return"capture-always"===t||"capture-when-engaged"===t}get outputMapPosition(){return this._get("outputMapPosition")}set outputMapPosition(t){const e=this._get("outputMapPosition");t&&e&&d(t,e)||this._set("outputMapPosition",t)}get dragging(){return this.drawToolDragging||this.manipulatorDragging}get firstPointZ(){const t=this.editSession?.lastPointAddedBySession;if(!t)return null;const e=this.editSession?.getInformationAboutPoint(0,t.partIndex);return e?.point.hasZ?e.point.z:null}async moveTo(t,e){const{snappingManager:n,skipSnapping:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e);t&&(this.screenPosition=t);const c=this.screenPosition;if(!c)return null;const h=this.firstPointZ,m=s?.screenToMap(c,{firstPointZ:h});if(this.inputMapPosition=m,this.selectedSnappingResult=null,!n||!m||!l||i||!this.snappingEnabled)return this.selectedSnappingResult=void 0,this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,m,e);const S=f(m.x,m.y,m.z,m?.spatialReference),P=s?.screenToScene?.(c,{firstPointZ:h}),y=u.snap({point:S,scenePoint:P},n,l);return o(y.then(()=>{const t=u.stagedPoint;return d(this.selectedSnappingResult,t)||(this.selectedSnappingResult=new g({...t})),this.outputMapPosition=this._finalizeSnappingAndConstraintResult(this.selectedSnappingResult,m,e)}))}async moveDeltaRelativeToScreen(t,e,n){const{inputMapPosition:i,screenPosition:o,firstPointZ:s}=this;if(!i)return null;const a=n.surfaceManager?n.surfaceManager.mapToScreen(i,{firstPointZ:s}):o;if(!a)return null;const p=r(a.x+t,a.y+e);return this.moveTo(p,n)}async noteDragStart(t,e){if(this.drawToolDragging=!0,e.skipSnapping||!this.snappingEnabled)return null;const{snappingManager:i,surfaceManager:s,pointerType:r,editGeometryOperations:a,snappingVisualizer:p}=e,l=this._getSnappingContext(r??"mouse",this.editSession?.endVertex,a,s?.elevationInfo,p,this.selfSnappingEnabled),u=this._ensureSnappingOperation(e),c=this.firstPointZ,d=s?.screenToMap(t,{firstPointZ:c});if(this.outputMapPositionOfDragStart=null,i&&l&&d){const r=u.snap({point:f(d.x,d.y,d.z,d?.spatialReference),scenePoint:s?.screenToScene?.(t,{firstPointZ:c})},i,l);return o(r.then(()=>{const t=u.stagedPoint?new g({...u.stagedPoint}):null;return this.outputMapPositionOfDragStart=this._finalizeSnappingAndConstraintResult(t,d,e)})).catch(t=>(n.getLogger(this).error("drawtool:handle:snapping-failed",t),null))}return this.outputMapPositionOfDragStart=d,null}async noteDragEnd(t,e){return this.moveTo(t,e).finally(()=>this.drawToolDragging=!1)}async moveDeltaRelativeToSketchSegment(t,e){const n=this.editSession?.endVertex?.leftSegment?.leftVertex?.pos,{firstPointZ:i}=this,o=this.inputMapPosition?e.surfaceManager?.mapToScreen(this.inputMapPosition,{firstPointZ:i})??this.screenPosition:this.screenPosition;if(!n||!o)return null;const s=e.editGeometryOperations?.data?.coordinateHelper.vectorToPoint(n);if(!s)return null;const r=e.surfaceManager?.mapToScreen(s,{firstPointZ:i});if(!r)return null;const a=[o.x-r.x,o.y-r.y],p=c(u(),l(a)),[g,d]=[p[0]*t,p[1]*t];return this.moveDeltaRelativeToScreen(g,d,e)}refreshConstraint(t){const e=this.outputMapPosition??this.inputMapPosition;return this.outputMapPosition=this._finalizeSnappingAndConstraintResult(null,e,t)}_finalizeSnappingAndConstraintResult(t,e,n){const i=t??e;i&&(i.z=h(n.snappingManager)??i.z);const o=(i?n.surfaceManager?.constrainZToEffectiveSurface?.(i):null)??i;return this._ensureZ(this._applyTooltipConstraints(o,n),n)}_applyTooltipConstraints(t,e){let n=t;const i=e.tooltipManager?.getConstraints(this);if(!i&&!e.interactiveHandleManager?.customConstraints)return n;if(!n)return n;const o=e.interactiveHandleManager?.customConstraints,r=e.editGeometryOperations?.data?.coordinateHelper;if(!r)return n;if(o&&this.editSession&&n){const t={handle:this,editSession:this.editSession,toScreen:t=>e.surfaceManager?.mapToScreen(t,{firstPointZ:this.firstPointZ})??null};for(const e of o)n=e(n,t)||n}const a=this.editSession?.endVertex,p=a?.leftSegment?.leftVertex,l=p?.leftSegment?.leftVertex,u=p&&r.vectorToPoint(p.pos),c=l&&r.vectorToPoint(l.pos);if(!i)return n;const d=(u||c)&&"primary"===this.role?m(u,c,i):S(i);if(!n||!i||!d)return n;const{context:f}=i,h=P(n,f),v=h?d.closestTo(h):void 0;if(!v)return n;const M=y(v,n,f),T="2d"===e.surfaceManager?.view?.type||"absolute-height"!==f.elevationInfo.mode,Z=i.elevation,{hasZ:x,metersPerVerticalUnit:b}=e.surfaceManager??{};if(null!=M&&T&&null!=Z&&x&&b&&(M.z=s(Z,"meters")/b),!M)return null;return new g({x:M.x,y:M.y,z:M.z,hasM:M.hasM,hasZ:M.hasZ,m:M.m,spatialReference:M.spatialReference})}_ensureZ(t,e){return t&&e.hasZ?(null!=t.z&&t.hasZ||(t.z=e.defaultZ??0,t.hasZ=!0),t):t}_ensureSnappingOperation({view:t}){return this._snappingOperation??=new M({view:t})}};t([a()],T.prototype,"_snappingOperation",void 0),t([a()],T.prototype,"role",void 0),t([a()],T.prototype,"name",void 0),t([a()],T.prototype,"captureMode",void 0),t([a()],T.prototype,"defaultCaptureMode",void 0),t([a()],T.prototype,"grabbable",null),t([a()],T.prototype,"following",null),t([a()],T.prototype,"snappingEnabled",void 0),t([a()],T.prototype,"selfSnappingEnabled",void 0),t([a()],T.prototype,"editSession",void 0),t([a()],T.prototype,"outputMapPosition",null),t([a()],T.prototype,"outputMapPositionOfDragStart",void 0),t([a()],T.prototype,"selectedSnappingResult",void 0),t([a()],T.prototype,"screenPosition",void 0),t([a()],T.prototype,"inputMapPosition",void 0),t([a()],T.prototype,"dragging",null),t([a()],T.prototype,"drawToolDragging",void 0),t([a()],T.prototype,"manipulatorDragging",void 0),t([a({readOnly:!0})],T.prototype,"firstPointZ",null),T=t([p("esri.views.draw.support.InteractiveHandle")],T);export{T as InteractiveHandle};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as
|
|
2
|
+
import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import{valueInUnit as r}from"../../../../core/quantity.js";import{watch as i,syncAndInitial as n}from"../../../../core/reactiveUtils.js";import{getMetersPerVerticalUnitForSR as o}from"../../../../core/units.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{getEffectiveElevationInfo as c}from"../../../../support/elevationInfoUtils.js";import{SceneDrawSurface as l,ElevationDrawSurface as u,MapDrawSurface as f}from"../../drawSurfaces.js";let p=class extends e{constructor(t){super(t),this._viewDrawSurface=null,this._elevationDrawSurface=null,this._firstPointZ=null,this.getContext=null,this.hasZ=!1,this.spatialReference=null,this.elevationInfo=null,this.excludedGraphicsLayer=null,this.view=null,this.defaultZ=null,this.snapToSceneEnabled=null}initialize(){this._setupSurfaces(),this.addHandles(i(()=>({surface:this._elevationDrawSurface,defaultZ:this._effectiveDefaultZ}),({surface:t,defaultZ:e})=>{t&&(t.defaultZ=e)},n))}get _constraintZ(){const{elevationConstraint:t,metersPerVerticalUnit:e}=this;return t&&e?r(t,"meters")/e:null}get _activeConstraintZ(){return this.constraintsEnabled?this._constraintZ:null}get _effectiveElevationInfo(){return c(this.hasZ,this.elevationInfo)}get _snapToScene(){const{constraintsEnabled:t,drawAtFixedElevation:e,snapToSceneEnabled:r}=this,i=this._effectiveElevationInfo.mode;let n=!!t||"absolute-height"===i;return null!=r&&(n=r),"on-the-ground"!==i&&!e&&null==this._activeConstraintZ&&n}get _effectiveDrawSurface(){return this._elevationDrawSurface?this.hasZ&&this._snapToScene?this._viewDrawSurface:this._elevationDrawSurface:this._viewDrawSurface}get _effectiveDefaultZ(){if(!this.hasZ)return null;if(this._snapToScene)return null;const t=this._activeConstraintZ;return this.drawAtFixedElevation||null!=t?t??this._firstPointZ??this.defaultZ:this.defaultZ}get context(){return this.getContext()}get constraintsEnabled(){return this.context?.constraintsEnabled}get elevationConstraint(){return this.context?.elevationConstraint}get drawAtFixedElevation(){return this.context?.drawAtFixedElevation??!1}get metersPerVerticalUnit(){const t=this.spatialReference;return t?o(t):null}get test(){return{viewSurface:this._viewDrawSurface,elevationSurface:this._elevationDrawSurface,effectiveSurface:this._effectiveDrawSurface,setFirstPointZ:t=>this._firstPointZ=t}}screenToMap(t,e){this._firstPointZ=e.firstPointZ;const r=this._effectiveDrawSurface;return r?r?.screenToMap(t):this.view?.toMap(t)}screenToScene(t,e){if(this._firstPointZ=e.firstPointZ,"3d"!==this.view?.type)return null;const r=this._viewDrawSurface,i=this._effectiveDrawSurface;return r&&i&&r!==i?r.screenToMap(t):null}constrainZToEffectiveSurface(t){if("3d"!==this.view?.type)return t;const e=this._effectiveDrawSurface;return e&&e!==this._viewDrawSurface?e.constrainZ(t):t}mapToScreen(t,e){this._firstPointZ=e.firstPointZ;const r=this._effectiveDrawSurface;return r?r.mapToScreen(t):this.view?.toScreen(t)}_setupSurfaces(){const{view:t,excludedGraphicsLayer:e,hasZ:r}=this,i=this._effectiveElevationInfo;"3d"===t?.type?(this._viewDrawSurface=new l(t,i,e?[e]:void 0),this._elevationDrawSurface=new u(i,this.defaultZ,t,e??void 0)):"2d"===t?.type&&(this._viewDrawSurface??=new f(t,r,this.defaultZ??void 0))}};t([s()],p.prototype,"_viewDrawSurface",void 0),t([s()],p.prototype,"_elevationDrawSurface",void 0),t([s()],p.prototype,"_constraintZ",null),t([s()],p.prototype,"_activeConstraintZ",null),t([s()],p.prototype,"_effectiveElevationInfo",null),t([s()],p.prototype,"_snapToScene",null),t([s()],p.prototype,"_effectiveDrawSurface",null),t([s()],p.prototype,"_effectiveDefaultZ",null),t([s()],p.prototype,"_firstPointZ",void 0),t([s({constructOnly:!0})],p.prototype,"getContext",void 0),t([s()],p.prototype,"context",null),t([s({constructOnly:!0})],p.prototype,"hasZ",void 0),t([s({constructOnly:!0})],p.prototype,"spatialReference",void 0),t([s({constructOnly:!0})],p.prototype,"elevationInfo",void 0),t([s({constructOnly:!0})],p.prototype,"excludedGraphicsLayer",void 0),t([s({constructOnly:!0})],p.prototype,"view",void 0),t([s()],p.prototype,"constraintsEnabled",null),t([s()],p.prototype,"elevationConstraint",null),t([s()],p.prototype,"drawAtFixedElevation",null),t([s()],p.prototype,"defaultZ",void 0),t([s()],p.prototype,"snapToSceneEnabled",void 0),t([s()],p.prototype,"metersPerVerticalUnit",null),p=t([a("esri.views.draw.support.managers.SurfaceManager")],p);export{p as SurfaceManager};
|
|
@@ -4,13 +4,13 @@ import type { TooltipMode } from "./tooltip/types.js";
|
|
|
4
4
|
export interface TooltipProperties {}
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* Object which represents a tooltip that is shown while sketching
|
|
7
|
+
* Object which represents a tooltip that is shown while sketching, editing, or placing analyses.
|
|
8
8
|
*
|
|
9
9
|
* @since 4.31
|
|
10
10
|
* @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
|
|
11
11
|
* @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
|
|
12
|
-
* @see [
|
|
13
|
-
* @see [
|
|
12
|
+
* @see [TooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/)
|
|
13
|
+
* @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
|
|
14
14
|
* @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
15
15
|
* @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
|
|
16
16
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{on as o}from"../../core/events.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as i,syncAndInitial as s,initial as r,when as l,sync as p}from"../../core/reactiveUtils.js";import{cloneScreenPoint as a,createScreenPoint as u}from"../../core/screenUtils.js";import{property as c,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{setCalciteModeClass as f}from"../../support/modeUtils.js";import{base as
|
|
2
|
+
import{__decorate as t}from"tslib";import{EventedAccessor as e}from"../../core/Evented.js";import{on as o}from"../../core/events.js";import{destroyMaybe as n}from"../../core/maybe.js";import{watch as i,syncAndInitial as s,initial as r,when as l,sync as p}from"../../core/reactiveUtils.js";import{cloneScreenPoint as a,createScreenPoint as u}from"../../core/screenUtils.js";import{property as c,subclass as d}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as h}from"../../core/support/UpdatingHandles.js";import{setCalciteModeClass as f}from"../../support/modeUtils.js";import m from"./options/TooltipOptions.js";import{base as g}from"./tooltip/css.js";import{tooltipContentFactory as y}from"./tooltip/content/tooltipContentFactory.js";import{isRTL as v}from"../../widgets/support/widgetUtils.js";const _={base:`${g}`,ltr:`${g}--ltr`,rtl:`${g}--rtl`,debug:`${g}--debug`},P=20,b=16,C="bottom-end",M={topStart:"top-start",topEnd:"top-end",bottomStart:"bottom-start",bottomEnd:"bottom-end"};let O=class extends e{constructor(t){super(t),this.info=null,this.position=null,this.inputModePosition=null,this.content=null,this._focused=!1,this.hidden=!1,this.outerContainer=document.createElement("div"),this.debug=!1,this._updatingHandles=new h,this._lastPosition=null,this._rtl=!1,this._prevXY=[0,0]}initialize(){const{outerContainer:t}=this;this.addHandles([i(()=>this.view.overlay?.surface,e=>{t.remove(),e?.appendChild(t),this._rtl=v(e)},s),i(()=>this.info,(e,o)=>{if(null!=this.content&&null!=e&&null!=o&&e.type===o.type)this.content.info=e;else{n(this.content);const o=y(this,e);o?(this.content=o,o.container&&t.appendChild(o.container),this.exitInputMode()):this.content=null}},s),i(()=>({container:this.outerContainer,style:this._outerContainerStyle}),({container:t,style:e})=>{Object.assign(t.style,e)},r),i(()=>({outerContainer:this.outerContainer,placement:this.effectivePlacement,effectiveOffset:this._effectiveOffset,rtl:this._rtl,debug:this.debug}),({outerContainer:t,placement:e,effectiveOffset:o,rtl:n,debug:i})=>{const{classList:s}=t;s.add(_.base),s.toggle(_.rtl,n),s.toggle(_.ltr,!n),s.toggle(_.debug,i),this.outerContainer.style.setProperty("--offset",`${o}px`),f(t),I(t,e)},r),l(()=>"feedback"===this.mode,()=>{this.inputModePosition=null,this._clearOverride("effectivePlacement")},p),o(this.outerContainer,"paste",t=>{this.emit("paste",t)}),o(this.outerContainer,["focusin","focusout"],()=>{this._focused=this.content?.container?.contains(document.activeElement)??!1})])}destroy(){this.info=null,this.content=n(this.content),this.outerContainer.remove(),this._updatingHandles.destroy()}get options(){return this._get("options")}set options(t){this._set("options",t)}get isInInputMode(){return!!this.inputModePosition}get mode(){return this.content?.mode??"feedback"}get focused(){return this._focused}get visible(){return"none"!==this._outerContainerStyle.display}get contentContainer(){return this.content?.container}get effectivePlacement(){const t=this.options?.placement;return"auto"===t?S(this.view.inputManager?.latestPenInfo)??C:t??C}get updating(){return this._updatingHandles.updating}get _screenPoint(){const{inputManager:t}=this.view;return t?.multiTouchActive?null:t?.latestPointerInfo?.location}get _effectiveOffset(){return this.options?.offset??P}get _outerContainerStyle(){const t=this.inputModePosition??this.position??this._screenPoint;if(this._lastPosition=a(t),null!=t&&null!=this.content&&(!this.hidden||this.inputModePosition)){return{display:"block",transform:`translate(${Math.round(t.x)}px, ${Math.round(t.y)}px)`}}return{display:"none",transform:"none"}}clear(){this.info=null}async enterInputMode(t){const e=this.position??this._lastPosition??this._screenPoint,o=this.inputModePosition=a(e),{effectivePlacement:n}=this;this._override("effectivePlacement",n);const i=()=>{o&&(this.inputModePosition=j(this.contentContainer,o,this._effectiveOffset,this.view),Object.assign(this.outerContainer.style,this._outerContainerStyle))};await this._updatingHandles.addPromise(this.content?.enterInputMode(t,i))}async exitInputMode(t){this.inputModePosition=null,await this._updatingHandles.addPromise(this.content?.exitInputMode(t))}onDragStart(t,e){this._prevXY=[t,e]}onDrag(t,e){const o=t-this._prevXY[0],n=e-this._prevXY[1];this._prevXY=[t,e];const{inputModePosition:i}=this;if(i){const{view:s}=this,r=t-s.position[0],l=e-s.position[1];if(r<0||r>s.width||l<0||l>s.height-b)return;this.inputModePosition=u(i.x+o,i.y+n)}}onDragEnd(){this._prevXY=[0,0]}};function j(t,e,o,n){if(!t||!n.container)return e;const i=t.getBoundingClientRect(),{left:s,top:r}=n.container.getBoundingClientRect();let{x:l,y:p}=e;const a=i.left-s-o;a<0&&(l-=a);const c=i.right-s+o-n.width;c>0&&(l-=c);const d=i.top-r-o;d<0&&(p-=d);const h=i.bottom-r+o-n.height;return h>0&&(p-=h),u(l,p)}t([c({nonNullable:!0})],O.prototype,"view",void 0),t([c()],O.prototype,"info",void 0),t([c({type:m})],O.prototype,"options",null),t([c()],O.prototype,"position",void 0),t([c()],O.prototype,"inputModePosition",void 0),t([c()],O.prototype,"isInInputMode",null),t([c()],O.prototype,"content",void 0),t([c({readOnly:!0})],O.prototype,"mode",null),t([c()],O.prototype,"_focused",void 0),t([c({readOnly:!0})],O.prototype,"focused",null),t([c()],O.prototype,"hidden",void 0),t([c({readOnly:!0})],O.prototype,"outerContainer",void 0),t([c({readOnly:!0})],O.prototype,"contentContainer",null),t([c({readOnly:!0})],O.prototype,"effectivePlacement",null),t([c()],O.prototype,"debug",void 0),t([c()],O.prototype,"updating",null),t([c()],O.prototype,"_lastPosition",void 0),t([c()],O.prototype,"_screenPoint",null),t([c()],O.prototype,"_rtl",void 0),t([c()],O.prototype,"_effectiveOffset",null),t([c()],O.prototype,"_outerContainerStyle",null),O=t([d("esri.views.interactive.Tooltip")],O);const w=["top","bottom","leading","trailing"].flatMap(t=>[x(`${t}-start`),x(t),x(`${t}-end`)]);function x(t){return`${_.base}--${t}`}function I({classList:t},e){w.forEach(e=>t.remove(e)),t.add(x(e))}function S(t){if(null==t)return null;const{tiltX:e,tiltY:o}=t;return e<0&&o<0?M.bottomEnd:e<0&&o>0?M.topEnd:e>0&&o>0?M.topStart:e>0&&o<0?M.bottomStart:null}export{O as default};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type Accessor from "../../../core/Accessor.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
* @since 5.2
|
|
6
|
+
*/
|
|
7
|
+
export interface ElevationOptionsProperties extends Partial<Pick<ElevationOptions, "mode">> {}
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
* @since 5.2
|
|
12
|
+
*/
|
|
13
|
+
export abstract class ElevationOptions extends Accessor {
|
|
14
|
+
/**
|
|
15
|
+
* @default "absolute-height"
|
|
16
|
+
* @internal
|
|
17
|
+
* @since 5.2
|
|
18
|
+
*/
|
|
19
|
+
accessor mode: "absolute-height" | "relative-to-ground" | "relative-to-scene";
|
|
20
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{__decorate as o}from"tslib";import t from"../../../core/Accessor.js";import{property as e,subclass as r}from"../../../core/accessorSupport/decorators.js";let s=class extends t{constructor(o){super(o),this.mode="absolute-height"}toJSON(){return{mode:this.mode}}};o([e({type:String,nonNullable:!0})],s.prototype,"mode",void 0),s=o([r("esri.views.interactive.options.ElevationOptions")],s);export{s as ElevationOptions};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import type Accessor from "../../../core/Accessor.js";
|
|
2
|
+
|
|
3
|
+
/** @since 5.2 */
|
|
4
|
+
export interface LabelOptionsProperties extends Partial<Pick<LabelOptions, "enabled">> {}
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The `LabelOptions` class allows users to configure the labels which are shown next to each
|
|
8
|
+
* segment of a graphic while sketching, editing or placing analyses. The labels display each segment's
|
|
9
|
+
* horizontal length and are not shown for non-planar polygons and polylines.
|
|
10
|
+
*
|
|
11
|
+
* [](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
12
|
+
*
|
|
13
|
+
* How the segment lengths are computed depends on the view's spatial reference. In geographic coordinate systems (GCS)
|
|
14
|
+
* and in Web Mercator, the lengths are computed geodetically. In projected coordinate systems (PCS),
|
|
15
|
+
* apart from Web Mercator, the lengths are computed in a Euclidean manner (in the respective PCS).
|
|
16
|
+
*
|
|
17
|
+
* <span id="set"></span>
|
|
18
|
+
* ## Set the unit system for labels
|
|
19
|
+
*
|
|
20
|
+
* Use either a [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) or [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) to establish the unit system for labels while sketching, editing, or placing analyses.
|
|
21
|
+
*
|
|
22
|
+
* <details>
|
|
23
|
+
* <summary>Read More</summary>
|
|
24
|
+
*
|
|
25
|
+
* The unit of measurement used in the labels can be programmatically set
|
|
26
|
+
* through the [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) of a [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/) by defining the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property.
|
|
27
|
+
*
|
|
28
|
+
* ```js
|
|
29
|
+
* // Create a PortalItem instance for the map used in the 3D view
|
|
30
|
+
* view.map.portalItem = new PortalItem({
|
|
31
|
+
* portal: {
|
|
32
|
+
* units: "english" //or "metric"
|
|
33
|
+
* },
|
|
34
|
+
* });
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* Or, if a [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/) already exists, the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property can be directly set or changed.
|
|
38
|
+
*
|
|
39
|
+
* ```js
|
|
40
|
+
* // Set the units directly on an existing PortalItem of the 3D view
|
|
41
|
+
* view.map.portalItem.portal.units = "english" //or "metric"
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* In alternative, if there is no an existing [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/), it is possible to set the [Portal.units](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#units) property
|
|
45
|
+
* from a new default `Portal` created using the [Portal.getDefault()](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/#getDefault) method.
|
|
46
|
+
*
|
|
47
|
+
* ```js
|
|
48
|
+
* // Create an instance of a new Portal and set the unit
|
|
49
|
+
* const portal = Portal.getDefault();
|
|
50
|
+
* portal.units = "english" //or "metric"
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* </details>
|
|
54
|
+
*
|
|
55
|
+
* @since 5.2
|
|
56
|
+
* @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
|
|
57
|
+
* @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
|
|
58
|
+
* @see [TooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/)
|
|
59
|
+
* @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
|
|
60
|
+
* @see [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/)
|
|
61
|
+
* @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
62
|
+
* @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
|
|
63
|
+
*/
|
|
64
|
+
export default class LabelOptions extends Accessor {
|
|
65
|
+
/** @since 5.2 */
|
|
66
|
+
constructor(properties?: LabelOptionsProperties);
|
|
67
|
+
/**
|
|
68
|
+
* Whether labels are shown next to each segment of a geometry while sketching, editing, or placing analyses.
|
|
69
|
+
*
|
|
70
|
+
* @default false
|
|
71
|
+
* @since 5.2
|
|
72
|
+
*/
|
|
73
|
+
accessor enabled: boolean;
|
|
74
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{__decorate as o}from"tslib";import e from"../../../core/Accessor.js";import{property as r,subclass as t}from"../../../core/accessorSupport/decorators.js";let s=class extends e{constructor(o){super(o),this.enabled=!1}};o([r({type:Boolean,nonNullable:!0})],s.prototype,"enabled",void 0),s=o([t("esri.views.interactive.options.LabelOptions")],s);export{s as default};
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import type Accessor from "../../../core/Accessor.js";
|
|
2
|
+
import type Collection from "../../../core/Collection.js";
|
|
3
|
+
import type FeatureSnappingLayerSource from "../snapping/FeatureSnappingLayerSource.js";
|
|
4
|
+
import type { FeatureSnappingLayerSourceProperties } from "../snapping/FeatureSnappingLayerSource.js";
|
|
5
|
+
import type { ReadonlyArrayOrCollection } from "../../../core/Collection.js";
|
|
6
|
+
|
|
7
|
+
/** @since 5.2 */
|
|
8
|
+
export interface SnappingOptionsProperties extends Partial<Pick<SnappingOptions, "attributeRulesEnabled" | "distance" | "enabled" | "featureEnabled" | "gridEnabled" | "selfEnabled">> {
|
|
9
|
+
/**
|
|
10
|
+
* List of sources for feature snapping. Please refer to [FeatureSnappingLayerSource](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/FeatureSnappingLayerSource/) for additional information on what layer sources are supported.
|
|
11
|
+
*
|
|
12
|
+
* @since 5.2
|
|
13
|
+
*/
|
|
14
|
+
featureSources?: ReadonlyArrayOrCollection<FeatureSnappingLayerSourceProperties>;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The `SnappingOptions` class 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.
|
|
19
|
+
*
|
|
20
|
+
* Snapping options provide the ability to specify whether an application will utilize self snapping, feature snapping, or both. Both are described below.
|
|
21
|
+
*
|
|
22
|
+
* It is also possible to toggle snapping by pressing and holding down the `CTRL` key. This toggles the snapping on/off.
|
|
23
|
+
*
|
|
24
|
+
* #### Self snapping (Geometry guides)
|
|
25
|
+
* Self snapping is set via the [selfEnabled](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/SnappingOptions/#selfEnabled) property. This means that while a user is actively creating or updating a feature or graphic, they will see visualizations to help identify perpendicular and parallel lines, in addition to visualizations which aid in snapping to an extension of an existing feature. The following briefly demonstrates what self snapping looks like in a 2D application. Although this is shown for 2D, the same premise applies for 3D as well.
|
|
26
|
+
*
|
|
27
|
+
* <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-self-2d.webm" aria-label="self-snapping" autoplay muted playsinline loop></video>
|
|
28
|
+
* #### Feature snapping
|
|
29
|
+
* Feature snapping is set via the [featureEnabled](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/SnappingOptions/#featureEnabled) property. It provides the ability to snap vertices of a graphic or feature that is currently being drawn or reshaped to that of an existing feature's vertex, edge, or end point. These existing features belong to layers within the [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/) and must be specified in the [featureSources](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/SnappingOptions/#featureSources) property. The following two images demonstrate feature snapping in a 2D application. Similar to self snapping, the same premise applies for 3D as well.
|
|
30
|
+
*
|
|
31
|
+
* <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-feature-2d.webm" aria-label="feature-snapping-create" autoplay muted playsinline loop></video>
|
|
32
|
+
*
|
|
33
|
+
* The above shows feature snapping to an existing feature's vertex endpoint and edge while creating a new feature. The bottom demonstrates taking an existing feature and reshaping its geometry to snap to another feature's vertex points.
|
|
34
|
+
*
|
|
35
|
+
* <video src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-reshape-2d.webm" aria-label="feature-snapping-update" autoplay muted playsinline loop></video>
|
|
36
|
+
*
|
|
37
|
+
* > [!WARNING]
|
|
38
|
+
* >
|
|
39
|
+
* > **Things to consider:**
|
|
40
|
+
* > Layer types currently supported for snapping are: [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [GraphicsLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GraphicsLayer/) (except Mesh geometries),
|
|
41
|
+
* > [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/),
|
|
42
|
+
* > [MapNotesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapNotesLayer/) (2D only), [3D Object SceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SceneLayer/) (3D only), and
|
|
43
|
+
* > [BuildingSceneLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/BuildingSceneLayer/) (3D only).
|
|
44
|
+
* > Snapping is not yet implemented when using the [Sketch widget's](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/) circle tool. It will be addressed in a future release.
|
|
45
|
+
* > Enabling snapping via the `CTRL` key is not currently supported using the [Sketch widget's](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/) rectangle and circle tools. However, snapping can still be activated by setting the [enabled](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/SnappingOptions/#enabled) property to `true` in the [Sketch widget](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/) or its [view model](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/). *Note that this enables snapping for all tools. This behavior is subject to change in a future release.*
|
|
46
|
+
*
|
|
47
|
+
* Name | Details | 3D Example | 2D Example |
|
|
48
|
+
* ---------|---------|----------|:-----------:|
|
|
49
|
+
* Rectangle | Snap lines that are perpendicular to each other | <img alt="Rectangle" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-rectangle.avif" width="268px"> | <img alt="Rectangle-2d" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-rectangle-2d.avif" width="268px"> |
|
|
50
|
+
* Parallel | Snap to all parallel lines | <img alt="Parallel" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-parallel.avif" width="268px"> | <img alt="Parallel-2d" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-parallel-2.avif" width="268px"> |
|
|
51
|
+
* Extension | Snap to an extension of the current shape | <img alt="Extension" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-extension.avif" width="268px"> | <img alt="Extension-2" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-extension-2.avif" width="268px"> |
|
|
52
|
+
* Vertex (as seen when updating geometries)| Snap vertices to an existing vertex | <img alt="Vertex" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-vertex-3d.avif" width="143px"> | <img alt="Vertex-2" src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/sketch/snapping-vertex-2.avif" width="143px"> |
|
|
53
|
+
*
|
|
54
|
+
* @since 5.2
|
|
55
|
+
* @see [FeatureSnappingLayerSource](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/FeatureSnappingLayerSource/)
|
|
56
|
+
* @see [Sketch](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/)
|
|
57
|
+
* @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
|
|
58
|
+
* @see [Editor](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/)
|
|
59
|
+
* @see [Sample - Sketch widget](https://developers.arcgis.com/javascript/latest/sample-code/sketch-geometries/)
|
|
60
|
+
* @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
61
|
+
* @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
|
|
62
|
+
* @see [Sample - Editor widget with configurations](https://developers.arcgis.com/javascript/latest/sample-code/widgets-editor-configurable/)
|
|
63
|
+
* @see [Sample - Snapping with Sketch widget and Magnifier](https://developers.arcgis.com/javascript/latest/sample-code/sketch-snapping-magnifier/)
|
|
64
|
+
* @example
|
|
65
|
+
* // Create a new instance of Sketch, and set
|
|
66
|
+
* // a layer for one of the featureSources property.
|
|
67
|
+
* // This enables feature snapping on that layer.
|
|
68
|
+
* const sketch = new Sketch({
|
|
69
|
+
* layer: graphicsLayer,
|
|
70
|
+
* view: view,
|
|
71
|
+
* snappingOptions: { // autocasts to SnappingOptions()
|
|
72
|
+
* enabled: true, // global snapping is turned on
|
|
73
|
+
* // assigns a collection of FeatureSnappingLayerSource() and enables feature snapping on this layer
|
|
74
|
+
* featureSources: [{ layer: graphicsLayer, enabled: true }]
|
|
75
|
+
* }
|
|
76
|
+
* });
|
|
77
|
+
*/
|
|
78
|
+
export default class SnappingOptions extends Accessor {
|
|
79
|
+
/** @since 5.2 */
|
|
80
|
+
constructor(properties?: SnappingOptionsProperties);
|
|
81
|
+
/**
|
|
82
|
+
* When true, enables support for attribute rule-based snapping.
|
|
83
|
+
* When enabled, resources needed for rule-based snapping, including any Utility Networks present
|
|
84
|
+
* in the map, will be automatically loaded.
|
|
85
|
+
*
|
|
86
|
+
* @default false
|
|
87
|
+
* @since 5.2
|
|
88
|
+
*/
|
|
89
|
+
accessor attributeRulesEnabled: boolean;
|
|
90
|
+
/**
|
|
91
|
+
* Snapping distance for snapping in pixels.
|
|
92
|
+
*
|
|
93
|
+
* @default 5
|
|
94
|
+
* @since 5.2
|
|
95
|
+
*/
|
|
96
|
+
accessor distance: number;
|
|
97
|
+
/**
|
|
98
|
+
* Global configuration to turn snapping on or off. Note that snapping is
|
|
99
|
+
* turned off by default.
|
|
100
|
+
*
|
|
101
|
+
* @default false
|
|
102
|
+
* @since 5.2
|
|
103
|
+
*/
|
|
104
|
+
accessor enabled: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Global configuration option to turn feature snapping on or off.
|
|
107
|
+
*
|
|
108
|
+
* @default true
|
|
109
|
+
* @since 5.2
|
|
110
|
+
*/
|
|
111
|
+
accessor featureEnabled: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* List of sources for feature snapping. Please refer to [FeatureSnappingLayerSource](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/snapping/FeatureSnappingLayerSource/) for additional information on what layer sources are supported.
|
|
114
|
+
*
|
|
115
|
+
* @since 5.2
|
|
116
|
+
*/
|
|
117
|
+
get featureSources(): Collection<FeatureSnappingLayerSource>;
|
|
118
|
+
set featureSources(value: ReadonlyArrayOrCollection<FeatureSnappingLayerSourceProperties>);
|
|
119
|
+
/**
|
|
120
|
+
* Turns the grid on or off. The grid is a network of columns and rows used to divide the view into equal-area squares.
|
|
121
|
+
* The [GridControls](https://developers.arcgis.com/javascript/latest/references/core/widgets/support/GridControls/) provides a user interface to interact and configure the grid's properties.
|
|
122
|
+
*
|
|
123
|
+
* > [!WARNING]
|
|
124
|
+
* >
|
|
125
|
+
* > **Note**
|
|
126
|
+
* >
|
|
127
|
+
* > It is recommended to wait for the view to be loaded first before setting the `gridEnabled` prop in the [GridControls](https://developers.arcgis.com/javascript/latest/references/core/widgets/support/GridControls/) constructor. The grid is dependent on the view to be loaded first for it to be displayed.
|
|
128
|
+
* > - This grid is only supported in a 2D [MapView](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/).
|
|
129
|
+
*
|
|
130
|
+
* @default false
|
|
131
|
+
* @since 5.2
|
|
132
|
+
* @see [GridControls](https://developers.arcgis.com/javascript/latest/references/core/widgets/support/GridControls/)
|
|
133
|
+
* @example
|
|
134
|
+
* // Turn on the grid programmatically for the GridControls.
|
|
135
|
+
* // Wait for the view to load first.
|
|
136
|
+
* view.when(() => {
|
|
137
|
+
* const gridControls = new GridControls({
|
|
138
|
+
* view,
|
|
139
|
+
* snappingOptions: {
|
|
140
|
+
* enabled: true,
|
|
141
|
+
* gridEnabled: true
|
|
142
|
+
* }
|
|
143
|
+
* });
|
|
144
|
+
* // Add GridControls to the view
|
|
145
|
+
* view.ui.add(gridControls, "top-left");
|
|
146
|
+
* });
|
|
147
|
+
*/
|
|
148
|
+
accessor gridEnabled: boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Global configuration option to turn self snapping (within one feature while
|
|
151
|
+
* either drawing or reshaping) on or off.
|
|
152
|
+
*
|
|
153
|
+
* @default true
|
|
154
|
+
* @since 5.2
|
|
155
|
+
*/
|
|
156
|
+
accessor selfEnabled: boolean;
|
|
157
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{difference as r}from"../../../core/arrayUtils.js";import o from"../../../core/Collection.js";import i from"../../../core/Logger.js";import{property as a,subclass as n}from"../../../core/accessorSupport/decorators.js";import s from"../snapping/FeatureSnappingLayerSource.js";import{defaults as l}from"../snapping/Settings.js";let u=class extends t{constructor(e){super(e),this.enabled=!1,this.enabledToggled=!1,this.forceDisabled=!1,this.selfEnabled=!0,this.featureEnabled=!0,this.gridEnabled=!1,this.attributeRulesEnabled=!1,this.featureSources=new o,this.distance=l.distance,this.touchSensitivityMultiplier=l.touchSensitivityMultiplier}get effectiveEnabled(){return!this.forceDisabled&&(this.enabledToggled?!this.enabled:this.enabled)}get effectiveGridEnabled(){return this.effectiveEnabled&&this.gridEnabled}get effectiveSelfEnabled(){return this.effectiveEnabled&&this.selfEnabled}get effectiveFeatureEnabled(){return this.effectiveEnabled&&this.featureEnabled}get _effectiveFeatureSources(){const e=this.featureSources;e.some(d)&&i.getLogger(this).warnOnce("Do not configure SubtypeGroupLayer sources in SnappingOptions.featureSources directly. Create a FeatureSnappingLayerSource for each SubtypeSublayer.");const t=e.filter(c),a=this._get("_effectiveFeatureSources")?.filter(d)??new o;for(const r of t){const e=a.find(e=>e.layer===r.layer.parent);if(e)e.sublayerSources.includes(r)||e.sublayerSources.add(r);else if(r.layer.parent){const e=new s({layer:r.layer.parent});e.sublayerSources.add(r),a.add(e)}}for(const r of a){const e=r.sublayerSources.filter(e=>!t.includes(e));r.sublayerSources.removeMany(e)}a.removeMany(a.filter(e=>0===e.sublayerSources.length));const n=e.filter(p),l=this._get("_effectiveFeatureSources")??new o,{added:u,removed:f}=r(l.toArray(),[...n,...a]);return l.removeMany(f),l.addMany(u),l}};function d(e){return"subtype-group"===e.layer.type}function p(e){return"subtype-group"!==e.layer.type}function c(e){return"subtype-sublayer"===e.layer.type}e([a()],u.prototype,"enabled",void 0),e([a()],u.prototype,"enabledToggled",void 0),e([a()],u.prototype,"forceDisabled",void 0),e([a()],u.prototype,"selfEnabled",void 0),e([a()],u.prototype,"featureEnabled",void 0),e([a()],u.prototype,"gridEnabled",void 0),e([a()],u.prototype,"attributeRulesEnabled",void 0),e([a({type:o.ofType(s)})],u.prototype,"featureSources",void 0),e([a()],u.prototype,"distance",void 0),e([a()],u.prototype,"touchSensitivityMultiplier",void 0),e([a({readOnly:!0})],u.prototype,"effectiveEnabled",null),e([a({readOnly:!0})],u.prototype,"effectiveGridEnabled",null),e([a({readOnly:!0})],u.prototype,"effectiveSelfEnabled",null),e([a({readOnly:!0})],u.prototype,"effectiveFeatureEnabled",null),e([a({readOnly:!0})],u.prototype,"_effectiveFeatureSources",null),u=e([n("esri.views.interactive.options.SnappingOptions")],u);export{u as default};
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import type Accessor from "../../../core/Accessor.js";
|
|
2
|
+
import type TooltipVisibleElements from "./TooltipVisibleElements.js";
|
|
3
|
+
import type { Icon } from "@esri/calcite-components/components/calcite-icon";
|
|
4
|
+
import type { ElevationOptions, ElevationOptionsProperties } from "./ElevationOptions.js";
|
|
5
|
+
import type { TooltipVisibleElementsProperties } from "./TooltipVisibleElements.js";
|
|
6
|
+
|
|
7
|
+
/** @since 5.2 */
|
|
8
|
+
export interface TooltipOptionsProperties extends Partial<Pick<TooltipOptions, "enabled" | "forceEnabled" | "helpMessage" | "helpMessageIcon" | "inputEnabled">> {
|
|
9
|
+
/**
|
|
10
|
+
* Configuration for elevation values displayed in the tooltip.
|
|
11
|
+
*
|
|
12
|
+
* @internal
|
|
13
|
+
* @since 5.2
|
|
14
|
+
*/
|
|
15
|
+
elevation?: ElevationOptionsProperties;
|
|
16
|
+
/**
|
|
17
|
+
* The elements that are displayed within the tooltip.
|
|
18
|
+
*
|
|
19
|
+
* @since 5.2
|
|
20
|
+
*/
|
|
21
|
+
visibleElements?: TooltipVisibleElementsProperties;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The `TooltipOptions` class allows users to configure the tooltips which are shown while sketching, editing or placing analyses.
|
|
26
|
+
*
|
|
27
|
+
* To enter the tooltip UI's [input mode](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/TooltipOptions/#inputEnabled),
|
|
28
|
+
* press the `Tab` key while drawing a new feature, or when editing a point, mesh, or a selected vertex.
|
|
29
|
+
*
|
|
30
|
+
* [<video src="https://developers.arcgis.com/javascript/latest/assets/references/core/widgets/editor/editing-constraints.webm" aria-label="sketch-3d-with-constraints" autoplay muted playsinline loop></video>](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
31
|
+
*
|
|
32
|
+
* #### Available tooltip inputs and constraints
|
|
33
|
+
*
|
|
34
|
+
* **Direction** field and its respective constraint controls the direction (angle) of a segment (applies to polylines/polygons while drawing).\
|
|
35
|
+
* It has two options that can be set either in the tooltip's UI or with
|
|
36
|
+
* [valueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/):
|
|
37
|
+
* - **Deflection** – **relative** angle that is measured from the previous segment (default).
|
|
38
|
+
* Positive values are measured in a clockwise direction. Negative values are measured in a counterclockwise direction.
|
|
39
|
+
* - **Direction** – **absolute** angle that is measured clockwise from the main axis of the map (typically north).
|
|
40
|
+
*
|
|
41
|
+
* **Distance** field and its respective constraint controls the length of a segment (applies to polylines/polygons while drawing). Distance field is also shown
|
|
42
|
+
* when editing an edge offset in SceneView.
|
|
43
|
+
*
|
|
44
|
+
* **Coordinates** fields edit the longitude and latitude (in geographic coordinate systems and
|
|
45
|
+
* in Web Mercator) or X and Y values (in projected coordinate systems) of a point or a vertex
|
|
46
|
+
* of a polyline/polygon.\
|
|
47
|
+
* The coordinates can be entered as separate values or as a latitude+longitude pair. In case of the latter,
|
|
48
|
+
* the pair can be typed or pasted into either of the two coordinate fields and the input is converted to decimal degree format.
|
|
49
|
+
* The coordinates may use DD (decimal degrees), DDM (degrees and decimal minutes), or DMS (degrees, minutes, and seconds) format.
|
|
50
|
+
* See more about [supported latitude/longitude strings](https://developers.arcgis.com/javascript/latest/references/core/geometry/coordinateFormatter/#fromLatitudeLongitude).
|
|
51
|
+
*
|
|
52
|
+
* **Elevation (Z)** field and its respective constraint edits the Z value of a point or a vertex of a polyline/polygon geometry.\
|
|
53
|
+
* When drawing polygon or polyline segments, the Z (elevation) field is locked by default.
|
|
54
|
+
* This means that all vertices use the Z value of the first vertex. The constraint can be unlocked in the tooltips' input mode.
|
|
55
|
+
*
|
|
56
|
+
* **Orientation** field edits the orientation of a mesh. The angle is measured clockwise from the main axis
|
|
57
|
+
* of the map (typically north).\
|
|
58
|
+
* Note that the orientation field is connected to the mesh geometry's
|
|
59
|
+
* [rotation transform](https://developers.arcgis.com/javascript/latest/references/core/geometry/support/MeshTransform/#rotationAngle) property.
|
|
60
|
+
* The latter is an arithmetic rotation which is measured counterclockwise from the 3 o'clock position (typically east).
|
|
61
|
+
*
|
|
62
|
+
* **Scale** field edits the scale of a mesh.
|
|
63
|
+
*
|
|
64
|
+
* *The following fields are read-only: **Total length** (for polylines only), **Area** (for polygons only),
|
|
65
|
+
* or fields shown when dragging the manipulators, such as relative **Distance**, **Radius**, relative **Rotation**, relative **Scale**, and **Size**.*
|
|
66
|
+
*
|
|
67
|
+
* ##### Considerations when using distance, direction, and deflection constraints
|
|
68
|
+
*
|
|
69
|
+
* - In geographic coordinate systems (GCS) and in Web Mercator, the constraints are computed geodetically.
|
|
70
|
+
* - In projected coordinate systems (PCS), apart from Web Mercator, the constraints are computed in a Euclidean manner (in the respective PCS).
|
|
71
|
+
* - In 3D, the distance, direction, and deflection constraints are computed on a horizontal plane, dependent on the view's spatial reference.
|
|
72
|
+
*
|
|
73
|
+
* #### Available gestures
|
|
74
|
+
*
|
|
75
|
+
* Gesture | Action |
|
|
76
|
+
* ---------|---------|
|
|
77
|
+
* `Tab` | Activates the input mode and focuses on the next field. |
|
|
78
|
+
* Input value + `Tab` | Applies the constraint and focuses on the next field. |
|
|
79
|
+
* Empty value + `Tab` | Removes the constraint and focuses on the next field. |
|
|
80
|
+
* Input value + `Enter` | Applies the constraint and closes the input mode. |
|
|
81
|
+
* Empty value + `Enter` | Removes the constraint and closes the input mode. |
|
|
82
|
+
* Lock icon | Toggles the constraint on and off. |
|
|
83
|
+
* `Esc` | Closes the input mode but keeps any applied constraints. |
|
|
84
|
+
* Left-click-drag (on tooltip header) | Allows to change the position of the tooltip in input mode. |
|
|
85
|
+
*
|
|
86
|
+
* @since 5.2
|
|
87
|
+
* @see [LabelOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/LabelOptions/)
|
|
88
|
+
* @see [ValueOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/)
|
|
89
|
+
* @see [Sample - Sketch in 3D](https://developers.arcgis.com/javascript/latest/sample-code/sketch-3d/)
|
|
90
|
+
* @see [Sample - Edit features in 3D with the Editor widget](https://developers.arcgis.com/javascript/latest/sample-code/editor-3d/)
|
|
91
|
+
*/
|
|
92
|
+
export default class TooltipOptions extends Accessor {
|
|
93
|
+
/** @since 5.2 */
|
|
94
|
+
constructor(properties?: TooltipOptionsProperties);
|
|
95
|
+
/**
|
|
96
|
+
* Effective value of `enabled` considering the state of `forceEnabled`.
|
|
97
|
+
*
|
|
98
|
+
* @internal
|
|
99
|
+
*/
|
|
100
|
+
get effectiveEnabled(): boolean;
|
|
101
|
+
/**
|
|
102
|
+
* Configuration for elevation values displayed in the tooltip.
|
|
103
|
+
*
|
|
104
|
+
* @internal
|
|
105
|
+
* @since 5.2
|
|
106
|
+
*/
|
|
107
|
+
get elevation(): ElevationOptions;
|
|
108
|
+
set elevation(value: ElevationOptionsProperties);
|
|
109
|
+
/**
|
|
110
|
+
* Whether tooltips are shown while sketching, editing or placing analyses.
|
|
111
|
+
*
|
|
112
|
+
* @default false
|
|
113
|
+
* @since 5.2
|
|
114
|
+
*/
|
|
115
|
+
accessor enabled: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Temporary override option for `enabled`. Can for example be used to allow a keybinding to
|
|
118
|
+
* temporarily show the tooltips.
|
|
119
|
+
*
|
|
120
|
+
* @default false
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
accessor forceEnabled: boolean;
|
|
124
|
+
/**
|
|
125
|
+
* A custom help message that is displayed at the bottom of the tooltip. If not set, the default
|
|
126
|
+
* help message based on the current state of the tool is shown.
|
|
127
|
+
*
|
|
128
|
+
* @since 5.2
|
|
129
|
+
*/
|
|
130
|
+
accessor helpMessage: string | null | undefined;
|
|
131
|
+
/**
|
|
132
|
+
* An icon that is displayed next to the help message at the bottom of the tooltip. If not set,
|
|
133
|
+
* the default info icon is shown.
|
|
134
|
+
*
|
|
135
|
+
* @since 5.2
|
|
136
|
+
*/
|
|
137
|
+
accessor helpMessageIcon: Icon["icon"] | null | undefined;
|
|
138
|
+
/**
|
|
139
|
+
* Whether users can focus the tooltip and input constraint values.
|
|
140
|
+
*
|
|
141
|
+
* @default true
|
|
142
|
+
* @since 5.2
|
|
143
|
+
*/
|
|
144
|
+
accessor inputEnabled: boolean;
|
|
145
|
+
/**
|
|
146
|
+
* The elements that are displayed within the tooltip.
|
|
147
|
+
*
|
|
148
|
+
* @since 5.2
|
|
149
|
+
*/
|
|
150
|
+
get visibleElements(): TooltipVisibleElements;
|
|
151
|
+
set visibleElements(value: TooltipVisibleElementsProperties);
|
|
152
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import{__decorate as e}from"tslib";import o from"../../../core/Accessor.js";import{property as t,subclass as l}from"../../../core/accessorSupport/decorators.js";import{ElevationOptions as i}from"./ElevationOptions.js";import s from"./TooltipVisibleElements.js";let p=class extends o{constructor(e){super(e),this.enabled=!1,this.forceEnabled=!1,this.helpMessage=null,this.helpMessageIcon=null,this.inputEnabled=!0,this.elevation=new i,this.placement="auto",this.offset=null,this.visibleElements=new s,this.visualVariables=null,this.xyMode="auto"}get effectiveEnabled(){return this.forceEnabled||this.enabled}};e([t({type:Boolean,nonNullable:!0})],p.prototype,"enabled",void 0),e([t()],p.prototype,"forceEnabled",void 0),e([t()],p.prototype,"effectiveEnabled",null),e([t()],p.prototype,"helpMessage",void 0),e([t()],p.prototype,"helpMessageIcon",void 0),e([t({type:Boolean,nonNullable:!0})],p.prototype,"inputEnabled",void 0),e([t({type:i,nonNullable:!0})],p.prototype,"elevation",void 0),e([t()],p.prototype,"placement",void 0),e([t()],p.prototype,"offset",void 0),e([t({type:s,nonNullable:!0})],p.prototype,"visibleElements",void 0),e([t()],p.prototype,"visualVariables",void 0),e([t()],p.prototype,"xyMode",void 0),p=e([l("esri.views.interactive.options.TooltipOptions")],p);const n=p;export{n as default};
|