@arcgis/core 5.0.0-next.128 → 5.0.0-next.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +1 -1
- package/analysis/VolumeMeasurementAnalysis.d.ts +1 -1
- package/applications/WebEditor/geometryUtils.d.ts +26 -0
- package/applications/WebEditor/geometryUtils.js +2 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{982e709d2cef971ecd82.js → 0d9d33f29124d464a4cb.js} +1 -1
- package/assets/esri/core/workers/chunks/{2762149a922275136171.js → 112227b862b935123ddf.js} +2 -2
- package/assets/esri/core/workers/chunks/1336f685bae5f1251558.js +1 -0
- package/assets/esri/core/workers/chunks/{b71e4f48377fefe2537d.js → 15d46482ec096e3ce161.js} +1 -1
- package/assets/esri/core/workers/chunks/{d0d1378e714ff0e43e26.js → 1cfa8d404d42b9eccf78.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e29a114c1cfe21121c4.js → 203ef5459fc5dde12851.js} +1 -1
- package/assets/esri/core/workers/chunks/{b4203e488bb928ff8032.js → 25d34552bfb255af9467.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8adab2d55b39241b232.js → 27e14277128446e76b45.js} +1 -1
- package/assets/esri/core/workers/chunks/3d3b1ce112be6ea31d93.js +1 -0
- package/assets/esri/core/workers/chunks/{fd47dc60646260c5633c.js → 415957a42e45eb21aa84.js} +1 -1
- package/assets/esri/core/workers/chunks/4ac09b066c696476e532.js +1 -0
- package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js → 53e348f5585fa8c53fe8.js} +2 -2
- package/assets/esri/core/workers/chunks/{323f6077a659416c4cee.js → 6a9a96aa811c1d3b6edb.js} +1 -1
- package/assets/esri/core/workers/chunks/{25c189e894927099c239.js → 6c85396c90941a042c33.js} +1 -1
- package/assets/esri/core/workers/chunks/{89274b81a2a8b7cd5c49.js → 6f337c3ccd84d90a35e5.js} +1 -1
- package/assets/esri/core/workers/chunks/{84905581a3782e95ec34.js → 72c31f3313dfe87dd1aa.js} +1 -1
- package/assets/esri/core/workers/chunks/{a3e8b7185d63a0f85931.js → 79c69ae86a1f4a56f7c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ce46085095679386580.js → 8cade3af17a8bb6d4e37.js} +1 -1
- package/assets/esri/core/workers/chunks/{6af14a0217077d9ab47f.js → aaf3ed508d30ed583915.js} +1 -1
- package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js → b397a9f87082705301a4.js} +2 -2
- package/assets/esri/core/workers/chunks/baad696d84ab78b3d00e.js +2 -0
- package/assets/esri/core/workers/chunks/{f104823f3b31a204bacb.js → bc2dcbdc414d157ab727.js} +1 -1
- package/assets/esri/core/workers/chunks/{6bd910e0480451a8d6aa.js → bde2c3199f667b63dbe8.js} +1 -1
- package/assets/esri/core/workers/chunks/{4214f46bee613dea72f3.js → c66aa57b6360963bd938.js} +1 -1
- package/assets/esri/core/workers/chunks/{c409b8d39c0a40dafa06.js → cb5f4820277f3fc7ff2f.js} +1 -1
- package/assets/esri/core/workers/chunks/cbcb3530375e280bfeac.js +1 -0
- package/assets/esri/core/workers/chunks/{5c12a9b0db317620dce2.js → d39f5d57f7e35c00ca16.js} +1 -1
- package/assets/esri/core/workers/chunks/{a82587f69c4bbcac7e0b.js → dc7df2072c0ebed5602c.js} +1 -1
- package/assets/esri/core/workers/chunks/dd3789e71270a4640551.js +1 -0
- package/assets/esri/core/workers/chunks/de5719ef663224860af5.js +1 -0
- package/assets/esri/core/workers/chunks/de6438fdbe38d32c4ad5.js +1 -0
- package/assets/esri/core/workers/chunks/{b705f837caa76cee81fc.js → e09722903e63f6cc2540.js} +1 -1
- package/assets/esri/core/workers/chunks/{6cd370c716e4fe87b684.js → e2e03622936d2b35afc0.js} +1 -1
- package/assets/esri/core/workers/chunks/{9531f17cecd50431cce2.js → e8ae71e482b8d5f54a72.js} +1 -1
- package/assets/esri/core/workers/chunks/{7477a4d08414b561d03b.js → e97b29b026a734bbcff8.js} +1 -1
- package/assets/esri/core/workers/chunks/edaae0fc63d16b0f675d.js +2 -0
- package/assets/esri/core/workers/chunks/{214323c62d6d3b603a00.js → f7506c9d57b2ae0c5fd3.js} +1 -1
- package/assets/esri/themes/base/widgets/_Editor.scss +1 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/Envelope.js +1 -1
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorIntegrate.js +2 -0
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/relateOperator.js +1 -1
- package/config.js +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorIntegrate.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/geometry/operators/support/projectionTransformation.js +1 -1
- package/kernel.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +0 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/networks/support/TraceConfiguration.d.ts +5 -4
- package/networks/support/UNTraceConfiguration.d.ts +6 -5
- package/networks/support/jsonTypes.d.ts +305 -0
- package/package.json +3 -3
- package/portal/schemas/definitions.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
- package/smartMapping/support/utils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/PolygonSymbol3D.d.ts +3 -21
- package/symbols/PolygonSymbol3D.js +1 -1
- package/symbols/support/Symbol3DEmissive.d.ts +1 -0
- package/symbols/support/previewSymbol3D.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/webgl/RenderNode.d.ts +45 -56
- package/views/3d/webgl.d.ts +7 -4
- package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/webscene/Glow.d.ts +1 -0
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
- package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/assets/esri/core/workers/chunks/3b0cfe3db8d90e02d6c6.js +0 -1
- package/assets/esri/core/workers/chunks/754e4d0b8c1ad392bd83.js +0 -1
- package/assets/esri/core/workers/chunks/7e6309bfed6692e8d2d7.js +0 -2
- package/assets/esri/core/workers/chunks/9bb04d5f2e6f6e4585a0.js +0 -1
- package/assets/esri/core/workers/chunks/bdd246cc50ccd5c10987.js +0 -1
- package/assets/esri/core/workers/chunks/c941b716ea3c13cabc80.js +0 -1
- package/assets/esri/core/workers/chunks/c9babe86c00ae69e63ee.js +0 -2
- package/assets/esri/core/workers/chunks/d47ca631e109144b6ba9.js +0 -1
- package/assets/esri/core/workers/chunks/fd5a5b05a1551cdb8c87.js +0 -1
- /package/assets/esri/core/workers/chunks/{2762149a922275136171.js.LICENSE.txt → 112227b862b935123ddf.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{72acfb74fd9ab9bae923.js.LICENSE.txt → 53e348f5585fa8c53fe8.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{7e6309bfed6692e8d2d7.js.LICENSE.txt → b397a9f87082705301a4.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{91858b02da40ff251ab2.js.LICENSE.txt → baad696d84ab78b3d00e.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{c9babe86c00ae69e63ee.js.LICENSE.txt → edaae0fc63d16b0f675d.js.LICENSE.txt} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{rad2deg as e}from"../../core/mathUtils.js";import{throwIfAborted as t}from"../../core/promiseUtils.js";import{createArea as n,createLength as r}from"../../core/quantity.js";import{formatArea as a,formatLength as o}from"../../core/quantityFormatUtils.js";import{set as i,determinant as c}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as l,fromValues as u}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{set as m,cross as p,sub as h}from"../../core/libs/gl-matrix-2/math/vec3.js";import{isSupported as y,geodesicLengths as g,geodesicAreas as w}from"../../geometry/geodesicUtils.js";import x from"../../geometry/Point.js";import v from"../../geometry/Polygon.js";import R from"../../geometry/Polyline.js";import{projectAsync as d,project as M}from"../../geometry/projectionUtils.js";import P from"../../geometry/SpatialReference.js";import{e as z}from"../../chunks/areaOperator.js";import{l as j,e as b}from"../../chunks/geodeticAreaOperator.js";import{l as E,e as S}from"../../chunks/geodeticDensifyOperator.js";import{l as L,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as W}from"../../chunks/lengthOperator.js";import{e as I}from"../../chunks/simplifyOperator.js";import{imageToWorldPanoramic as q,imageToWorld as G}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{getImageToWorldPanoramicProperties as k,getUpdateElevationProps as A,convertSphereVertexToPixelLocation as D,getImageToWorldProperties as U,scaleWithFactor as B}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as H,worldToImage as F}from"../../layers/orientedImagery/transformations/worldToImage.js";const T=1e5,V="meters",C="square-meters";function J(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function K(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function N(e,t,n){if(!e?.length||!t?.length||!n)return;const[r,a]=e,[,o]=t,i=o-a;return[r+i*Math.cos(n),a+i*Math.sin(n)]}async function Q(e,t,n){if(await E(),y(e)){const e=g([t],V)[0];return{area:w([n],C)[0],perimeter:e}}const r=P.WGS84,a=M(t,r),o=M(n,r);let i=S(o,T);if(i=i?I(i):null,!i)return null;const c=g([a],V)[0];return{area:w([i],C)[0],perimeter:c}}function X(e,t,n=1){const r=Re(e,!1);if(!r?.length)return;return 20*f([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])*n/t}async function Y(e){await L();const t=e.spatialReference;if(t.isGeographic){if(y(t))return g([e],V)[0];const n=M(e,P.WGS84);return g([n],V)[0]}return t.isWebMercator?O(e,{unit:V}):W(e,{unit:V})}function Z(e){if(!e?.length)throw new Error("Invalid deviations array");const[t,n,r]=[0,1,2].map(t=>e.map(e=>e[t]).filter(e=>null!==e)).map(e=>e.length?be(e):0);return[t,n,r]}function $(e,t){const n=I(t);if(!n)return null;const r=W(e,{unit:V});return{area:z(n,{unit:C}),perimeter:r}}function _(e,t){return[(e[1][0]-e[0][0])/t,(e[1][1]-e[0][1])/t,(e[1][2]-e[0][2])/t]}async function ee(e,t){await Promise.all([j(),E(),L()]);let n=S(t,T);if(n=n?I(n):null,!n)return null;const r=O(e,{unit:V});return{area:b(n,{unit:C}),perimeter:r}}async function te(e,n,r){if(!n||!e)throw new Error("Missing required parameters");const a=await G(e,n);t(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:i,cameraPitch:c,cameraRoll:s,farDistance:l,...u}=n;return F(o,u)}async function ne(e,n,r,a){const{attributes:o}=r,{location:i}=o,{updateElevationProps:c,...s}=n;if(!e||!n)throw new Error("Missing parameters");let l=i.clone();l.spatialReference.isGeographic&&(l=await d(l,P.WebMercator));const u=await q(e,{...s,cameraLocation:l},c);t(a);const f=u.clone();return f.z?f.z+=20:f.z=20,H(f,s)}function re(e,t,n,r,a=0,o=1,i){const{averageElevation:c,cameraPitch:s,cameraRoll:l,farDistance:u,...m}=r;if(a>=5||o<=.1){return{value:e*Oe(r.cameraLocation.spatialReference)}}const p=new x({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=F(p,m),y=f([n[0].x,n[0].y],[h.x,h.y]),g=n.at(0),w=n.at(-1);if(!g||!w)return null;const v=f([g.x,g.y],[w.x,w.y])*e/y;return re(v,t,n,r,a+1,Math.abs(e-v))}function ae(e,t,n,r,a=0,o=1,i){const{averageElevation:c,horizontalFieldOfView:s,verticalFieldOfView:l,farDistance:u,...m}=r;if(a>=5||o<=.1){return{value:e*Oe(r.cameraLocation.spatialReference)}}const p=new x({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=H(p,m),y=f([n[0].x,n[0].y],[h.x,h.y]),g=n.at(0),w=n.at(-1);if(!g||!w)return null;const v=f([g.x,g.y],[w.x,w.y])*e/y;return ae(v,t,n,r,a+1,Math.abs(e-v))}async function oe(e,t,n){return e.spatialReference&&!t.spatialReference.equals(e.spatialReference)&&(t=await d(t,e.spatialReference)),new R({paths:[[[e.x,e.y,e.z??0],[t.x,t.y,t.z??0]]],spatialReference:n})}function ie(e){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/6378137)))}function ce(e,t){return Math.sqrt((Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t)**2+(e[0][2]-e[1][2])**2)}function se(e,t){return Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t}function le(t){return e(Math.atan((t[1][2]-t[0][2])/Math.sqrt((t[1][0]-t[0][0])**2+(t[1][1]-t[0][1])**2)))}function ue(t){let n=90-e(Math.atan2(t[1][1]-t[0][1],t[1][0]-t[0][0]));return n<0&&(n+=360),n}function fe(e,t){return new x({x:(e.pointOnA[0]+e.pointOnB[0])/2,y:(e.pointOnA[1]+e.pointOnB[1])/2,z:(e.pointOnA[2]+e.pointOnB[2])/2,spatialReference:t})}async function me(e){if(2===e?.length){const t=[];let n=1;const[r,a]=e,o=r.camera.spatialReference,{measurePoints:i}=r;for(let e=0;e<i.length;e++){const i=await oe(r.camera,r.measurePoints[e],o),c=await oe(a.camera,a.measurePoints[e],o),s=await Fe(i,c);if(!s)return null;const l=fe(s,o);l.spatialReference.isWebMercator&&(n=ie(l.y)),t.push([l.x,l.y,l.z??0])}if(t?.length>1){return{distance:ce(t,n),horizontalDistance:se(t,n),verticalDistance:Math.abs(t[0][2]-t[1][2]),slope:le(t),aspect:ue(t)}}}return null}async function pe(e){const t=e[0].camera.spatialReference;if(2!==e?.length)return null;const[n,r]=e,{camera:a,measurePoints:o}=n,{camera:i,measurePoints:c}=r,s=await oe(a,o[0],t),l=await oe(i,c[0],t),u=await Fe(s,l);return u?fe(u,t)??null:null}async function he(e,t){if(!e?.length)return null;const n=[],r=e[0],a=e[1],o=r.camera.spatialReference,{measurePoints:i}=r;for(let u=0;u<i.length;u++){const e=await oe(r.camera,r.measurePoints[u],o),t=await oe(a.camera,a.measurePoints[u],o),i=await Fe(e,t);if(!i)return null;const c=fe(i,o);n.push([c.x,c.y,c.z??0])}if(n?.length<2)return null;const c=new R({paths:[n],spatialReference:t}),s=new v({rings:[n],spatialReference:t});if(t.isGeographic){const e=await Q(t,c,s);return e?.area??null}if(t.isWebMercator){const e=await ee(c,s);return e?.area??null}const l=$(c,s);return l?.area??null}function ye(e,t){if(!e)return null;return{camera:t.geometry.clone(),measurePoints:Array.isArray(e)?e:[e]}}async function ge(e,t){const{updateElevationProps:n,...r}=t;return await G(e,r,n)}async function we(e,t){const{updateElevationProps:n,...r}=t;return q(e,r,n)}function xe(e){navigator.clipboard.writeText(e).catch(e=>{throw e})}function ve(e){const t=e.map(e=>[e.x,e.y]),n=e[0].spatialReference;return new R({paths:[t],spatialReference:n})}function Re(e,t){return e.map(e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]}))}function de(e,t,n,a,i){const c="measurement"===e?t:n;if(i&&c)return o(a,r(c,V),i,3)||null}function Me(e,t){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=e,{x:o,y:i,z:c,spatialReference:s}=a;if(t.every(e=>0===e)||!t||!t.length||!s)throw new Error("Invalid parameters");const[l,u,,f,m]=t,p=[-f,0,f],h=[-m,0,m],y=[-l,0,l],g=[-u,0,u],w=[];for(const x of p)for(const t of h)for(const a of y)for(const l of y)for(const u of g){const f={...e};f.cameraPitch=n+x,f.cameraRoll=r+t,f.cameraLocation={x:o+a,y:i+l,z:c?c+u:0,spatialReference:{wkid:s.wkid}},w.push(f)}return w}function Pe(e,t){const{cameraHeading:n,cameraLocation:r}=e,{x:a,y:o,z:i,spatialReference:c}=r;if(!t||t.every(e=>0===e)||!t.length||!c)throw new Error("Invalid parameters");const[s,l,u]=t,f=u>0?[-u,0,u]:[],m=s>0?[-s,0,s]:[],p=l>0?[-l,0,l]:[],h=[];for(const y of f)for(const t of m)for(const r of m)for(const s of p){const l={...e};l.cameraHeading=n+y,l.cameraLocation={x:a+t,y:o+r,z:i?i+s:0,spatialReference:{wkid:c.wkid}},h.push(l)}return h}function ze(e,t,n,a,i){const c="measurement"===e?t:be(n);if(i&&c)return o(a,r(c,V),i,3)||null}function je(e,t,r,o,i){const c="measurement"===e?t:r;if(i&&c)return a(o,n(c,C),i,3)||null}function be(e){return Math.sqrt(e.reduce((e,t)=>e+t**2,0))}function Ee(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=U(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?d(s,P.WebMercator):Promise.resolve(s)).then(e=>(s=e,A(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function Se(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=k(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?d(s,P.WebMercator):Promise.resolve(s)).then(e=>(s=e,A(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function Le(e,t,n){if("default"===t)return e;const r={x:e[0],y:e[1],z:e[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}function Oe(e){return e.metersPerUnit}function We(e,t,n){let r=[];return r="panoramic"===t?e.map(([e,t,r])=>{const{x:a,y:o}=D({x:e,y:t,z:r},n[0],n[1]);return[a-.5,-.5-o]}):e.map(([e,t])=>[e-.5,-.5-t]),r}function Ie(e,t,n){return e.map(e=>D({x:e[0],y:e[1],z:e[2]},t[0],t[1],n))}async function qe(e,n,r,a=!1,o=!1,i){if(!e||!n||e.length<2)return null;const c=Re(e,a);if(!c||c.length<2)return null;const[s,l]=[c[0],c.at(-1)];if(!l)return null;const u=[s],m=await G(s,n);t(i);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:w,...x}=n,v=F(p,x),R=f([s.x,s.y],[v.x,v.y]),d=J(s,v);if(!d)return;const M=N([s.x,s.y],[l.x,l.y],d);if(!M?.length)return;u.push({x:M[0],y:M[1]});const P=20*f([u[0].x,u[0].y],[u[1].x,u[1].y])*Oe(n.cameraLocation.spatialReference)/R;if(!o)return P;const z=re(P,m,u,n,0,1);return z?.value}async function Ge(e,n,r,a,o=!1,i=!1,c){const{attributes:s}=a,{location:l}=s,{updateElevationProps:u,...m}=n;if(!e||!n||e.length<2)throw new Error("Invalid parameters");const p=Re(e,o),[h,y]=[p[0],p.at(-1)],g=[h];let w=l.clone();w.spatialReference.isGeographic&&(w=await d(w,P.WebMercator));const x=await q(h,{...m,cameraLocation:w},u);t(c);const v=x.clone();v.z?v.z+=20:v.z=20;const R=H(v,m),M=f([h.x,h.y],[R.x,R.y]),z=J(h,R);if(!z)return;const j=N([h.x,h.y],[y.x,y.y],z);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])*Oe(n.cameraLocation.spatialReference)/M;if(!i)return b;const E=ae(b,x,g,n,0,1);return E?.value}async function ke(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await G(e,a,r);return F(c,i)}async function Ae(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await q(e,a,r);return H(c,i)}async function De(e,t,n=!1){if(e.length<3)return null;const r=Re(e,n),a=await ge(r,t),o=a.map(({x:e,y:t})=>[e,t]);e.push(e[0]),o.push(o[0]);const i=a[0].spatialReference,c=new R({paths:[o],spatialReference:i}),s=new v({rings:[o],spatialReference:i});return i.isGeographic?Q(i,c,s):i.isWebMercator?ee(c,s):$(c,s)}async function Ue(e,n,r=!1,a){if(e.length<3)return null;const o=Re(e,r),i=await we(o,n);t(a);const c=i.map(({x:e,y:t})=>[e,t]);e.push(e[0]),c.push(c[0]);const s=i[0].spatialReference,l=new R({paths:[c],spatialReference:s}),u=new v({rings:[c],spatialReference:s});return s.isGeographic?Q(s,l,u):s.isWebMercator?ee(l,u):$(l,u)}async function Be(e,t,n=!1){const r=Re(e,n);return Y(ve(await ge(r,t)))}async function He(e,n,r=!1,a){const o=Re(e,r),i=await we(o,n);t(a);return Y(ve(i))}async function Fe(e,t){const n=s(),r=e.paths[0][0],a=t.paths[0][0];let o,l;e.spatialReference.isWGS84||e.spatialReference.isWebMercator?(await L(),o=O(e),l=O(t)):(o=W(e),l=W(t));const u=_(e.paths[0],o),f=_(t.paths[0],l),m=Te(u,f),[p,h,y]=u,[g,w,x]=f.map(e=>-e),[v,R,d]=m,[M,P,z]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];i(n,p,g,v,h,w,R,y,x,d);const j=c(n);if(0===j)return null;i(n,M,g,v,P,w,R,z,x,d);const b=c(n);i(n,p,M,v,h,P,R,y,z,d);const E=c(n);i(n,p,g,M,h,w,P,y,x,z);const S=b/j,I=E/j,q=c(n)/j;return{distance:Math.abs(q/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:Ve(r,S,u),pointOnB:Ve(a,I,f)}}function Te(e,t){const n=l(),r=m(l(),e[0],e[1],e[2]),a=m(l(),t[0],t[1],t[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function Ve(e,t,n){return[e[0]+t*n[0],e[1]+t*n[1],e[2]+t*n[2]]}function Ce(e,t){const n=u(e[0],e[1],e[2]),r=u(t[0],t[1],t[2]);return h(l(),n,r)}function Je(e,t,n){const r=B(e,t,n);return[r[0],r[1],r[2]]}export{J as calculateAngle,K as calculateAnglePano,N as calculateCorrectedPixel,X as calculateHeightFromTemporaryDistance,Z as calculateLocationAccuracyFromDeviations,ne as calculateReferenceImagePointPanoramic,te as calculateTempImagePoint,re as computeHeightIteratively,ae as computeHeightIterativelyPanoramic,he as computeTriangulatedAreaMeasurement,me as computeTriangulatedDistanceMeasurement,pe as computeTriangulatedPoint,ye as computeTriangulatedVector,xe as copyToClipboard,Re as formatPixels,Me as generateCombinations,Pe as generateCombinationsPanoramic,je as getConvertedArea,ze as getConvertedDistance,de as getConvertedHeight,Ee as getMeasurementProperties,Se as getMeasurementPropertiesPanoramic,Le as getModeCorrectedPoint,We as getModeCorrectedPoints,Ie as getPixelLocationFromSphereVertices,be as getRootOfSumOfSquaredErrors,Oe as getUnitRateFromSpatialReference,qe as heightMeasurement2D,Ge as heightMeasurementPanoramic,ke as imageToImageTransform,Ae as imageToImageTransformPanoramic,De as pixelAreaMeasurement2D,Ue as pixelAreaMeasurementPanoramic,Be as pixelDistanceMeasurement2D,He as pixelDistanceMeasurementPanoramic,Je as scale,Fe as solveSkewLinesIntersection,Ce as subtract};
|
|
2
|
+
import{rad2deg as e}from"../../core/mathUtils.js";import{throwIfAborted as t}from"../../core/promiseUtils.js";import{createArea as n,createLength as r}from"../../core/quantity.js";import{formatArea as a,formatLength as o}from"../../core/quantityFormatUtils.js";import{set as i,determinant as c}from"../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../core/libs/gl-matrix-2/factories/mat3f64.js";import{zeros as l,fromValues as u}from"../../core/libs/gl-matrix-2/factories/vec3f64.js";import{distance as f}from"../../core/libs/gl-matrix-2/math/vec2.js";import{set as m,cross as p,sub as h}from"../../core/libs/gl-matrix-2/math/vec3.js";import{isSupported as y,geodesicLengths as g,geodesicAreas as w}from"../../geometry/geodesicUtils.js";import x from"../../geometry/Point.js";import v from"../../geometry/Polygon.js";import R from"../../geometry/Polyline.js";import{projectAsync as d,project as M}from"../../geometry/projectionUtils.js";import P from"../../geometry/SpatialReference.js";import{e as z}from"../../chunks/areaOperator.js";import{l as j,e as b}from"../../chunks/geodeticAreaOperator.js";import{l as E,e as S}from"../../chunks/geodeticDensifyOperator.js";import{l as L,e as O}from"../../chunks/geodeticLengthOperator.js";import{e as W}from"../../chunks/lengthOperator.js";import{e as I}from"../../chunks/simplifyOperator.js";import{imageToWorldPanoramic as q,imageToWorld as G}from"../../layers/orientedImagery/transformations/imageToWorld.js";import{getImageToWorldPanoramicProperties as k,getUpdateElevationProps as A,convertSphereVertexToPixelLocation as D,getImageToWorldProperties as U,scaleWithFactor as B}from"../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as H,worldToImage as F}from"../../layers/orientedImagery/transformations/worldToImage.js";const T=1e5,V="meters",C="square-meters";function J(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function K(e,t){let n=180*Math.atan2(-e.y+t.y,e.x-t.x)/Math.PI;return n<0&&(n+=180),n*Math.PI/180}function N(e,t,n){if(!e?.length||!t?.length||!n)return;const[r,a]=e,[,o]=t,i=o-a;return[r+i*Math.cos(n),a+i*Math.sin(n)]}async function Q(e,t,n){if(await E(),y(e)){const e=g([t],V)[0];return{area:w([n],C)[0],perimeter:e}}const r=P.WGS84,a=M(t,r),o=M(n,r);let i=S(o,T);if(i=i?I(i):null,!i)return null;const c=g([a],V)[0];return{area:w([i],C)[0],perimeter:c}}function X(e,t,n=1){const r=Re(e,!1);if(!r?.length)return;return 20*f([r[0].x,r[0].y],[r.at(-1).x,r.at(-1).y])*n/t}async function Y(e){await L();const t=e.spatialReference;if(t.isGeographic){if(y(t))return g([e],V)[0];const n=M(e,P.WGS84);return g([n],V)[0]}return t.isWebMercator?O(e,{unit:V}):W(e,{unit:V})}function Z(e){if(!e?.length)throw new Error("Invalid deviations array");const[t,n,r]=[0,1,2].map(t=>e.map(e=>e[t]).filter(e=>null!==e)).map(e=>e.length?be(e):0);return[t,n,r]}function $(e,t){const n=I(t);if(!n)return null;const r=W(e,{unit:V});return{area:z(n,{unit:C}),perimeter:r}}function _(e,t){return[(e[1][0]-e[0][0])/t,(e[1][1]-e[0][1])/t,(e[1][2]-e[0][2])/t]}async function ee(e,t){await Promise.all([j(),E(),L()]);let n=S(t,T);if(n=n?I(n):null,!n)return null;const r=O(e,{unit:V});return{area:b(n,{unit:C}),perimeter:r}}async function te(e,n,r){if(!n||!e)throw new Error("Missing required parameters");const a=await G(e,n);t(r);const o=a.clone();o.z?o.z+=20:o.z=20;const{averageElevation:i,cameraPitch:c,cameraRoll:s,farDistance:l,...u}=n;return F(o,u)}async function ne(e,n,r,a){const{attributes:o}=r,{location:i}=o,{updateElevationProps:c,...s}=n;if(!e||!n)throw new Error("Missing parameters");let l=i.clone();l.spatialReference.isGeographic&&(l=await d(l,P.WebMercator));const u=await q(e,{...s,cameraLocation:l},c);t(a);const f=u.clone();return f.z?f.z+=20:f.z=20,H(f,s)}function re(e,t,n,r,a=0,o=1,i){const{averageElevation:c,cameraPitch:s,cameraRoll:l,farDistance:u,...m}=r;if(a>=5||o<=.1){return{value:e*Oe(r.cameraLocation.spatialReference)}}const p=new x({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=F(p,m),y=f([n[0].x,n[0].y],[h.x,h.y]),g=n.at(0),w=n.at(-1);if(!g||!w)return null;const v=f([g.x,g.y],[w.x,w.y])*e/y;return re(v,t,n,r,a+1,Math.abs(e-v))}function ae(e,t,n,r,a=0,o=1,i){const{averageElevation:c,horizontalFieldOfView:s,verticalFieldOfView:l,farDistance:u,...m}=r;if(a>=5||o<=.1){return{value:e*Oe(r.cameraLocation.spatialReference)}}const p=new x({x:t.x,y:t.y,z:t.z?t.z+e:e,spatialReference:r.cameraLocation.spatialReference}),h=H(p,m),y=f([n[0].x,n[0].y],[h.x,h.y]),g=n.at(0),w=n.at(-1);if(!g||!w)return null;const v=f([g.x,g.y],[w.x,w.y])*e/y;return ae(v,t,n,r,a+1,Math.abs(e-v))}async function oe(e,t,n){return e.spatialReference&&!t.spatialReference.equals(e.spatialReference)&&(t=await d(t,e.spatialReference)),new R({paths:[[[e.x,e.y,e.z??0],[t.x,t.y,t.z??0]]],spatialReference:n})}function ie(e){return 1/Math.cos(Math.PI/2-2*Math.atan(Math.exp(-1*e/6378137)))}function ce(e,t){return Math.sqrt((Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t)**2+(e[0][2]-e[1][2])**2)}function se(e,t){return Math.sqrt((e[0][0]-e[1][0])**2+(e[0][1]-e[1][1])**2)/t}function le(t){return e(Math.atan((t[1][2]-t[0][2])/Math.sqrt((t[1][0]-t[0][0])**2+(t[1][1]-t[0][1])**2)))}function ue(t){let n=90-e(Math.atan2(t[1][1]-t[0][1],t[1][0]-t[0][0]));return n<0&&(n+=360),n}function fe(e,t){return new x({x:(e.pointOnA[0]+e.pointOnB[0])/2,y:(e.pointOnA[1]+e.pointOnB[1])/2,z:(e.pointOnA[2]+e.pointOnB[2])/2,spatialReference:t})}async function me(e){if(2===e?.length){const t=[];let n=1;const[r,a]=e,o=r.camera.spatialReference,{measurePoints:i}=r;for(let e=0;e<i.length;e++){const i=await oe(r.camera,r.measurePoints[e],o),c=await oe(a.camera,a.measurePoints[e],o),s=await Fe(i,c);if(!s)return null;const l=fe(s,o);l.spatialReference.isWebMercator&&(n=ie(l.y)),t.push([l.x,l.y,l.z??0])}if(t?.length>1){return{distance:ce(t,n),horizontalDistance:se(t,n),verticalDistance:Math.abs(t[0][2]-t[1][2]),slope:le(t),aspect:ue(t)}}}return null}async function pe(e){const t=e[0].camera.spatialReference;if(2!==e?.length)return null;const[n,r]=e,{camera:a,measurePoints:o}=n,{camera:i,measurePoints:c}=r,s=await oe(a,o[0],t),l=await oe(i,c[0],t),u=await Fe(s,l);return u?fe(u,t)??null:null}async function he(e,t){if(!e?.length)return null;const n=[],r=e[0],a=e[1],o=r.camera.spatialReference,{measurePoints:i}=r;for(let u=0;u<i.length;u++){const e=await oe(r.camera,r.measurePoints[u],o),t=await oe(a.camera,a.measurePoints[u],o),i=await Fe(e,t);if(!i)return null;const c=fe(i,o);n.push([c.x,c.y,c.z??0])}if(n?.length<2)return null;const c=new R({paths:[n],spatialReference:t}),s=new v({rings:[n],spatialReference:t});if(t.isGeographic){const e=await Q(t,c,s);return e?.area??null}if(t.isWebMercator){const e=await ee(c,s);return e?.area??null}const l=$(c,s);return l?.area??null}function ye(e,t){if(!e)return null;return{camera:t.geometry.clone(),measurePoints:Array.isArray(e)?e:[e]}}async function ge(e,t){const{updateElevationProps:n,...r}=t;return await G(e,r,n)}async function we(e,t){const{updateElevationProps:n,...r}=t;return q(e,r,n)}function xe(e){navigator.clipboard.writeText(e).catch(e=>{throw e})}function ve(e){const t=e.map(e=>[e.x,e.y]),n=e[0].spatialReference;return new R({paths:[t],spatialReference:n})}function Re(e,t){return e.map(e=>({x:t?.5+e[0]:e[0],y:t?.5-e[1]:e[1]}))}function de(e,t,n,a,i){const c="measurement"===e?t:n;if(i&&c)return o(a,r(c,V),i,3)||null}function Me(e,t){const{cameraPitch:n,cameraRoll:r,cameraLocation:a}=e,{x:o,y:i,z:c,spatialReference:s}=a;if(t.every(e=>0===e)||!t||!t.length||!s)throw new Error("Invalid parameters");const[l,u,,f,m]=t,p=[-f,0,f],h=[-m,0,m],y=[-l,0,l],g=[-u,0,u],w=[];for(const x of p)for(const t of h)for(const a of y)for(const l of y)for(const u of g){const f={...e};f.cameraPitch=n+x,f.cameraRoll=r+t,f.cameraLocation={x:o+a,y:i+l,z:c?c+u:0,spatialReference:{wkid:s.wkid}},w.push(f)}return w}function Pe(e,t){const{cameraHeading:n,cameraLocation:r}=e,{x:a,y:o,z:i,spatialReference:c}=r;if(!t||t.every(e=>0===e)||!t.length||!c)throw new Error("Invalid parameters");const[s,l,u]=t,f=u>0?[-u,0,u]:[],m=s>0?[-s,0,s]:[],p=l>0?[-l,0,l]:[],h=[];for(const y of f)for(const t of m)for(const r of m)for(const s of p){const l={...e};l.cameraHeading=n+y,l.cameraLocation={x:a+t,y:o+r,z:i?i+s:0,spatialReference:{wkid:c.wkid}},h.push(l)}return h}function ze(e,t,n,a,i){const c="measurement"===e?t:be(n);if(i&&c)return o(a,r(c,V),i,3)||null}function je(e,t,r,o,i){const c="measurement"===e?t:r;if(i&&c)return a(o,n(c,C),i,3)||null}function be(e){return Math.sqrt(e.reduce((e,t)=>e+t**2,0))}function Ee(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=U(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?d(s,P.WebMercator):Promise.resolve(s)).then(e=>(s=e,A(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function Se(e,t,n){if(!e||!t)return;const{elevationSample:r,attributes:a}=e,{elevationSource:o,cameraHeight:i}=a,c=k(a,t[0],t[1]);let s=c.cameraLocation;return(s.spatialReference.isGeographic?d(s,P.WebMercator):Promise.resolve(s)).then(e=>(s=e,A(s.spatialReference,s.z??0,i,{elevationSample:r,elevationSource:o,extent:n}))).then(t=>("elevationSample"in t&&(e.elevationSample=t.elevationSample),{...c,cameraLocation:s,updateElevationProps:t}))}function Le(e,t,n){if("default"===t)return e;const r={x:e[0],y:e[1],z:e[2]},a=D(r,n[0],n[1]);return[a.x,a.y]}function Oe(e){return e.metersPerUnit}function We(e,t,n,r){let a=[];return a="panoramic"===t?e.map(([e,t,a])=>{const{x:o,y:i}=D({x:e,y:t,z:a},n[0],n[1],r);return[o-.5,-.5-i]}):e.map(([e,t])=>[e-.5,-.5-t]),a}function Ie(e,t,n){return e.map(e=>D({x:e[0],y:e[1],z:e[2]},t[0],t[1],n))}async function qe(e,n,r,a=!1,o=!1,i){if(!e||!n||e.length<2)return null;const c=Re(e,a);if(!c||c.length<2)return null;const[s,l]=[c[0],c.at(-1)];if(!l)return null;const u=[s],m=await G(s,n);t(i);const p=m.clone();p.z?p.z+=20:p.z=20;const{averageElevation:h,cameraPitch:y,cameraRoll:g,farDistance:w,...x}=n,v=F(p,x),R=f([s.x,s.y],[v.x,v.y]),d=J(s,v);if(!d)return;const M=N([s.x,s.y],[l.x,l.y],d);if(!M?.length)return;u.push({x:M[0],y:M[1]});const P=20*f([u[0].x,u[0].y],[u[1].x,u[1].y])*Oe(n.cameraLocation.spatialReference)/R;if(!o)return P;const z=re(P,m,u,n,0,1);return z?.value}async function Ge(e,n,r,a,o=!1,i=!1,c){const{attributes:s}=a,{location:l}=s,{updateElevationProps:u,...m}=n;if(!e||!n||e.length<2)throw new Error("Invalid parameters");const p=Re(e,o),[h,y]=[p[0],p.at(-1)],g=[h];let w=l.clone();w.spatialReference.isGeographic&&(w=await d(w,P.WebMercator));const x=await q(h,{...m,cameraLocation:w},u);t(c);const v=x.clone();v.z?v.z+=20:v.z=20;const R=H(v,m),M=f([h.x,h.y],[R.x,R.y]),z=J(h,R);if(!z)return;const j=N([h.x,h.y],[y.x,y.y],z);if(!j?.length)return;g.push({x:j[0],y:j[1]});const b=20*f([g[0].x,g[0].y],[g[1].x,g[1].y])*Oe(n.cameraLocation.spatialReference)/M;if(!i)return b;const E=ae(b,x,g,n,0,1);return E?.value}async function ke(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await G(e,a,r);return F(c,i)}async function Ae(e,t,n){const{updateElevationProps:r,...a}=t,{updateElevationProps:o,...i}=n,c=await q(e,a,r);return H(c,i)}async function De(e,t,n=!1){if(e.length<3)return null;const r=Re(e,n),a=await ge(r,t),o=a.map(({x:e,y:t})=>[e,t]);e.push(e[0]),o.push(o[0]);const i=a[0].spatialReference,c=new R({paths:[o],spatialReference:i}),s=new v({rings:[o],spatialReference:i});return i.isGeographic?Q(i,c,s):i.isWebMercator?ee(c,s):$(c,s)}async function Ue(e,n,r=!1,a){if(e.length<3)return null;const o=Re(e,r),i=await we(o,n);t(a);const c=i.map(({x:e,y:t})=>[e,t]);e.push(e[0]),c.push(c[0]);const s=i[0].spatialReference,l=new R({paths:[c],spatialReference:s}),u=new v({rings:[c],spatialReference:s});return s.isGeographic?Q(s,l,u):s.isWebMercator?ee(l,u):$(l,u)}async function Be(e,t,n=!1){const r=Re(e,n);return Y(ve(await ge(r,t)))}async function He(e,n,r=!1,a){const o=Re(e,r),i=await we(o,n);t(a);return Y(ve(i))}async function Fe(e,t){const n=s(),r=e.paths[0][0],a=t.paths[0][0];let o,l;e.spatialReference.isWGS84||e.spatialReference.isWebMercator?(await L(),o=O(e),l=O(t)):(o=W(e),l=W(t));const u=_(e.paths[0],o),f=_(t.paths[0],l),m=Te(u,f),[p,h,y]=u,[g,w,x]=f.map(e=>-e),[v,R,d]=m,[M,P,z]=[a[0]-r[0],a[1]-r[1],a[2]-r[2]];i(n,p,g,v,h,w,R,y,x,d);const j=c(n);if(0===j)return null;i(n,M,g,v,P,w,R,z,x,d);const b=c(n);i(n,p,M,v,h,P,R,y,z,d);const E=c(n);i(n,p,g,M,h,w,P,y,x,z);const S=b/j,I=E/j,q=c(n)/j;return{distance:Math.abs(q/Math.sqrt(m[0]*m[0]+m[1]*m[1]+m[2]*m[2])),pointOnA:Ve(r,S,u),pointOnB:Ve(a,I,f)}}function Te(e,t){const n=l(),r=m(l(),e[0],e[1],e[2]),a=m(l(),t[0],t[1],t[2]),o=p(n,r,a);return[o[0],o[1],o[2]]}function Ve(e,t,n){return[e[0]+t*n[0],e[1]+t*n[1],e[2]+t*n[2]]}function Ce(e,t){const n=u(e[0],e[1],e[2]),r=u(t[0],t[1],t[2]);return h(l(),n,r)}function Je(e,t,n){const r=B(e,t,n);return[r[0],r[1],r[2]]}export{J as calculateAngle,K as calculateAnglePano,N as calculateCorrectedPixel,X as calculateHeightFromTemporaryDistance,Z as calculateLocationAccuracyFromDeviations,ne as calculateReferenceImagePointPanoramic,te as calculateTempImagePoint,re as computeHeightIteratively,ae as computeHeightIterativelyPanoramic,he as computeTriangulatedAreaMeasurement,me as computeTriangulatedDistanceMeasurement,pe as computeTriangulatedPoint,ye as computeTriangulatedVector,xe as copyToClipboard,Re as formatPixels,Me as generateCombinations,Pe as generateCombinationsPanoramic,je as getConvertedArea,ze as getConvertedDistance,de as getConvertedHeight,Ee as getMeasurementProperties,Se as getMeasurementPropertiesPanoramic,Le as getModeCorrectedPoint,We as getModeCorrectedPoints,Ie as getPixelLocationFromSphereVertices,be as getRootOfSumOfSquaredErrors,Oe as getUnitRateFromSpatialReference,qe as heightMeasurement2D,Ge as heightMeasurementPanoramic,ke as imageToImageTransform,Ae as imageToImageTransformPanoramic,De as pixelAreaMeasurement2D,Ue as pixelAreaMeasurementPanoramic,Be as pixelDistanceMeasurement2D,He as pixelDistanceMeasurementPanoramic,Je as scale,Fe as solveSkewLinesIntersection,Ce as subtract};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{sqlAnd as e}from"../../../core/sql.js";import
|
|
2
|
+
import{sqlAnd as e}from"../../../core/sql.js";import t from"../../../geometry/Point.js";import r from"../../../geometry/SpatialReference.js";import{polygonCentroidPoint as n}from"../../../geometry/support/centroid.js";import{searchImages as i}from"../../../layers/orientedImagery/queries.js";import{createCoveragePolygon as o}from"../../../layers/orientedImagery/core/coverageUtils.js";async function a(e,r,a,s,c){const{polygon:u}=o(r.attributes),f=t.fromJSON(n(u));f.z=void 0;const y=h(e.definitionExpression,a);let d,p;try{d=await i({layerInstanceOrURL:e,point:f,queryParams:{where:y,timeExtent:s}},c)}catch(l){p=l}return new m(f,d,p)}async function s(e,t,r,n,o){const a=e.effectiveSequenceOrderField,s=h(e.definitionExpression,r,`${a} IS NOT NULL`);let c,u;try{c=await i({layerInstanceOrURL:e,point:t,queryParams:{where:s,orderByFields:[`${a}`],returnGeometry:!0,outFields:["*"],timeExtent:n}},o)}catch(f){u=f}return new m(t,c,u)}function c(e,t,r,n){const i=e.effectiveSequenceOrderField,o=h(e.definitionExpression,t,`${i} IS NOT NULL`),a=e.createQuery();return a.where=o,a.timeExtent=r,e.queryFeatureCount(a,n)}async function u(t,n,i,o="ASC",a,s,c){const u=t.effectiveSequenceOrderField;let f=h(t.definitionExpression,a,`${u} IS NOT NULL`);const y="number"==typeof n?n-1:void 0;"string"===n&&(f=e(f,`${u} = ${n}`));const m=t.createQuery();m.where=f,m.start=y,m.num=i,m.timeExtent=s,m.orderByFields=[`${u} ${o}`],t.spatialReference.isGeographic&&(m.outSpatialReference=r.WebMercator);try{const e=await t.queryFeatures(m,c);return await w(e,t),new d(e)}catch(p){return new d(void 0,p)}}async function f(e,t,n=0,i=1,o,a,s){const c=e.effectiveSequenceOrderField,u=l(c,n),f=h(e.definitionExpression,o,p(n,t,c)),y=e.createQuery();y.where=f,y.num=i,y.orderByFields=u,y.timeExtent=a,e.spatialReference.isGeographic&&(y.outSpatialReference=r.WebMercator);try{const t=await e.queryFeatures(y,s);return await w(t,e),new d(t)}catch(m){return new d(void 0,m)}}async function y(e,t,n,i,o){const a=Array.isArray(t)?t:[t],s=h(e.definitionExpression,n,`${e.objectIdField} IN (${a.join(",")})`),c=e.createQuery();c.where=s,e.spatialReference.isGeographic&&(c.outSpatialReference=r.WebMercator),i&&(c.timeExtent=i);try{const t=await e.queryFeatures(c,o);return await w(t,e),new d(t)}catch(u){return new d(void 0,u)}}class d{constructor(e,t){this.response=e,this.error=t}}class m{constructor(e,t,r){this.nextLocation=e,this.response=t,this.error=r}}function p(e,t,r){return e>0?`${r} IS NOT NULL AND ${r} > ${t}`:`${r} IS NOT NULL AND ${r} < ${t}`}function l(e,t){return t>0?[`${e}`]:[`${e} DESC`]}async function w(e,t){const r=await import("../../../layers/orientedImagery/core/ExposurePoint.js").then(e=>e.default);e.features.forEach(e=>{const n=r.fromJSON({...e.toJSON(),layer:t});n&&(e.attributes=n)})}function h(...t){let r="1=1";return t.forEach(t=>{r=e(r,t)}),r}export{m as QueryNextLocationFeaturesResponse,d as QueryOrientedImageryFeaturesResponse,f as queryAfterSequenceField,y as queryFeatureByObjectIds,a as queryNextLocationFeatures,u as queryOffsetSequenceFeatures,c as querySequenceCount,s as querySequenceFeaturesAroundPoint};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{throwIfAborted as e}from"../../../core/promiseUtils.js";import{open as a}from"../../../core/workers.js";import t from"../../../geometry/Point.js";import{projectAsync as r}from"../../../geometry/projectionUtils.js";import{imageToWorld as n,imageToWorldPanoramic as i}from"../../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as c}from"../../../layers/orientedImagery/transformations/utils.js";import{getMeasurementProperties as o,pixelAreaMeasurement2D as s,pixelDistanceMeasurement2D as u,getRootOfSumOfSquaredErrors as l,heightMeasurementPanoramic as m,heightMeasurement2D as g,getMeasurementPropertiesPanoramic as p,calculateLocationAccuracyFromDeviations as y,pixelAreaMeasurementPanoramic as h,pixelDistanceMeasurementPanoramic as f,computeTriangulatedAreaMeasurement as w,computeTriangulatedDistanceMeasurement as d,getModeCorrectedPoints as v,computeTriangulatedVector as M}from"../imageMeasurementUtils.js";class
|
|
2
|
+
import{throwIfAborted as e}from"../../../core/promiseUtils.js";import{open as a}from"../../../core/workers.js";import t from"../../../geometry/Point.js";import{projectAsync as r}from"../../../geometry/projectionUtils.js";import{imageToWorld as n,imageToWorldPanoramic as i}from"../../../layers/orientedImagery/transformations/imageToWorld.js";import{convertSphereVertexToPixelLocation as c}from"../../../layers/orientedImagery/transformations/utils.js";import{getMeasurementProperties as o,pixelAreaMeasurement2D as s,pixelDistanceMeasurement2D as u,getRootOfSumOfSquaredErrors as l,heightMeasurementPanoramic as m,heightMeasurement2D as g,getMeasurementPropertiesPanoramic as p,calculateLocationAccuracyFromDeviations as y,pixelAreaMeasurementPanoramic as h,pixelDistanceMeasurementPanoramic as f,computeTriangulatedAreaMeasurement as w,computeTriangulatedDistanceMeasurement as d,getModeCorrectedPoints as v,computeTriangulatedVector as M}from"../imageMeasurementUtils.js";import{extractHorizonAnglesFromMedia as P}from"../utils.js";class x{constructor(e){this.referenceTransformationService=null,this.measurementVectors=[],this._connection=null,this.transformationService=e.transformationService,this.referenceTransformationService=e.referenceTransformationService}async _load(){this._connection??=await a("ImageMeasurementWorker")}async calculateAccuracy(a){await this._load();const{measurementArray:r,measurementType:n,currentBestFeature:i,currentBestFeatureMeasurementImage:c,activeViewer:m,imageSize:g,layer:p,triangularMeasurementActive:y,footprintExtent:h,signal:f}=a,w=p?.orientationAccuracy,d=w?.every(e=>0===e)||!w?.length;if("area"===n&&r.length<3||"distance"===n&&r.length<2||!i||!m?.imageSize||d)return null;let v=null;if(y&&c&&g?v=await o(c,g,h):(v=await o(i,m?.imageSize,h),e(f)),!v)return null;const M="area"===n?await s(r,v,!0):await u([r.at(0),r.at(-1)],v,!0);e(f);const{updateElevationProps:P}=v,x=this.getWorkerMethodProps(v,w),A=await(this._connection?.invoke("generateCombinationsWorker",x,{signal:f}));if(e(f),!A?.length)return null;const V=A.map(async a=>{const i={...a,cameraLocation:new t(a.cameraLocation),updateElevationProps:P},c="area"===n?await s(r,i,!0):await u([r.at(0),r.at(-1)],i,!0);if(e(f),c&&M){if("area"===n){const e="number"!=typeof c?c.area:null;return e?Math.abs(e-M.area):null}return Math.abs(c-M)}return null}),S=await Promise.all(V);e(f);const z=S.filter(e=>null!==e);return 0===z.length?null:l(z)}async calculateHeightAccuracy(e){await this._load();const{mode:a,pixelObj:t,accuracyParameters:r,height:n,properties:i,currentBestFeature:c,signal:o}=e;return"panoramic"===a?this.calculateHeightAccuracyPanoramic(r,t,i,n,c,o):this.calculateHeightAccuracy2D(r,t,i,n,o)}async calculateHeightAccuracyPanoramic(a,r,n,i,c,o){if(r.length<2||!i||!n||!a||!c)throw new Error("Missing parameters");const s=this.getWorkerMethodProps(n,a),u=await(this._connection?.invoke("generateCombinationsPanoramicWorker",s,{signal:o}));if(e(o),!u?.length)return null;const l=r.map(e=>[e.x,e.y]),g=l.at(0),p=l.at(-1),y=u.map(e=>(e.cameraLocation=new t(e.cameraLocation),m([g,p],e,a,c,!0,!1,o))),h=await Promise.all(y);e(o);let f=0;for(const e of h){if(!e)return 0;const a=Math.abs(e-i);f=Math.max(a,f)}return f}async calculateHeightAccuracy2D(a,r,n,i,c){if(r.length<2||!i||!n||!a)throw new Error("Missing parameters");const o=this.getWorkerMethodProps(n,a),s=await(this._connection?.invoke("generateCombinationsWorker",o,{signal:c}));if(e(c),!s?.length)return null;const u=r.map(e=>[e.x,e.y]),l=u.at(0),m=u.at(-1);if(!l||!m)return null;const p=s.map(e=>(e.cameraLocation=new t(e.cameraLocation),g([l,m],e,a,!0,!1,c))),y=await Promise.all(p);e(c);let h=0;for(const e of y){if(!e)return 0;const a=Math.abs(e-i);h=Math.max(a,h)}return h}async calculateLocationAccuracy(a){await this._load();const{pixel:c,currentResult:s,currentBestFeature:u,mode:l,activeViewer:m,footprintExtent:g,accuracyParameters:h,viewSpatialReference:f,signal:w}=a,d=l??"default",v=f??null,M="default"===d?await o(u,m?.imageSize,g):await p(u,m?.imageSize,g);if(e(w),!M)return null;const{updateElevationProps:P}=M,x="default"===d?"generateCombinationsWorker":"generateCombinationsPanoramicWorker",A=this.getWorkerMethodProps(M,h),V=await(this._connection?.invoke(x,A,{signal:w}));if(e(w),!V?.length)return null;const S=V.map(async a=>{const o={...a,cameraLocation:new t(a.cameraLocation)},{...u}=o;let l="default"===d?await n(c,u,P):await i(c,u,P);return e(w),v&&!l.spatialReference.equals(v)&&(l=await r(l,v),e(w)),l&&s?[Math.abs(l.x-s.x),Math.abs(l.y-s.y),l.z&&s.z?Math.abs(l.z-s.z):0]:null}),z=await Promise.all(S);if(e(w),!z?.length)return null;const k=z.map(e=>[e?.[0]??0,e?.[1]??0,e?.[2]??0]),[T,b,F]=y(k);return{x:T,y:b,z:F}}async calculateAccuracyPanoramic(a){await this._load();const{measurementArray:r,measurementType:n,secondaryViewer:i,currentBestFeature:c,currentBestFeatureMeasurementImage:o,activeViewer:s,activeTriangulatedViewer:u,layer:m,footprintExtent:g,signal:y}=a,w=i??!1,d=m?.orientationAccuracy,v=d?.every(e=>0===e)||!d?.length;if("area"===n&&r.length<3||"distance"===n&&r.length<2||!c||!s?.imageSize||v)return null;const M=u?.imageSize,P=w&&o&&M?await p(o,M,g):await p(c,s?.imageSize,g);if(e(y),!P)return null;const x="area"===n?await h(r,P,!0):await f([r.at(0),r.at(-1)],P,!0);e(y);const{updateElevationProps:A}=P,V=this.getWorkerMethodProps(P,d),S=await(this._connection?.invoke("generateCombinationsPanoramicWorker",V,{signal:y}));if(e(y),!S?.length)return null;const z=S.map(async a=>{const i={...a,cameraLocation:new t(a.cameraLocation),updateElevationProps:A},c="area"===n?await h(r,i,!0):await f([r.at(0),r.at(-1)],i,!0);if(e(y),c&&x){if("area"===n){const e="number"!=typeof c?c.area:null;return e?Math.abs(e-x.area):null}return Math.abs(c-x)}return null}),k=await Promise.all(z);e(y);const T=k.filter(e=>null!==e);return 0===T.length?null:l(T)}async calculateTriangulatedMeasurements(e){const{pixels:a,measureType:t,currentBestFeature:r,currentBestFeatureMeasurementImage:n,activeViewer:i,activeTriangulatedViewer:o,mode:s,imageSize:u,layer:l,footprintExtent:m}=e;if(!o?.imageSize)return;const[g,p]=o.imageSize;switch(t){case"distance":{const e=await d(this.measurementVectors),t=a.map(([e,a,t])=>c({x:e,y:a,z:t},g,p)),y={measurementArray:a,measurementType:"distance",currentBestFeature:r,currentBestFeatureMeasurementImage:n,activeViewer:i,imageSize:u,layer:l,triangularMeasurementActive:!0,footprintExtent:m},h={measurementArray:t.map(({x:e,y:a})=>[e,a]),measurementType:"distance",secondaryViewer:!0,currentBestFeature:r,currentBestFeatureMeasurementImage:n,activeViewer:i,activeTriangulatedViewer:o,layer:l,footprintExtent:m},f="default"===s?await this.calculateAccuracy(y):await this.calculateAccuracyPanoramic(h);if(f&&e?.distance){return{distance:e,accuracy:{distanceAccuracy:f,angleAccuracy:Math.atan(f/e.distance)}}}break}case"area":if(n?.geometry.spatialReference){const e=await w(this.measurementVectors,n.geometry.spatialReference);let t=null;if("default"===s){const e={measurementArray:a,measurementType:"area",currentBestFeature:r,currentBestFeatureMeasurementImage:n,activeViewer:i,imageSize:u,layer:l,triangularMeasurementActive:!0,footprintExtent:m},c=await this.calculateAccuracy(e);c&&(t=c)}else if("panoramic"===s){const e={measurementArray:a.map(([e,a,t])=>c({x:e,y:a,z:t},g,p)).map(({x:e,y:a})=>[e,a]),measurementType:"area",secondaryViewer:!0,currentBestFeature:r,currentBestFeatureMeasurementImage:n,activeViewer:i,activeTriangulatedViewer:o,layer:l,footprintExtent:m},s=await this.calculateAccuracyPanoramic(e);s&&(t=s)}return{area:e,accuracy:t}}}if("panoramic"===s){o.viewModel.restoreNavigationHandles()}}async computeMeasurementVector(e){const{pixels:a,activeFeature:t,activeViewer:n,mode:i,spatialReference:c}=e,o=n?.imageSize,s=P(n?.media);if(!a||!t||!o)return;const u=v(a,i,o,s).map(async e=>{const a={x:e[0],y:e[1]};let t=null;return t=0===this.measurementVectors.length?await this.transformationService.pixelToMapPoint(a):await(this.referenceTransformationService?.pixelToMapPoint(a)),t?(c&&!t.spatialReference.equals(c)&&(t=await r(t,c)),t):null}),l=(await Promise.all(u)).filter(e=>null!==e);return M(l,t)}resetMeasurementVectors(){this.measurementVectors=[]}async updateMeasurementVectorsArray(e){const{activeFeature:a}=e;if(a){const a=await this.computeMeasurementVector(e);a&&this.measurementVectors.push(a)}}getWorkerMethodProps(e,a){const{updateElevationProps:t,...r}=e;return{imageToWorldProps:{...r,cameraLocation:r.cameraLocation.toJSON()},accuracyParameters:a}}}export{x as ImageMeasurementService};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{throwIfAborted as a}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../../geometry/Multipoint.js";import s from"../../../geometry/Point.js";import n from"../../../geometry/Polygon.js";import m from"../../../geometry/Polyline.js";import{projectAsync as p}from"../../../geometry/projectionUtils.js";import l from"../../../geometry/SpatialReference.js";import{imageToWorld as c,imageToWorldPanoramic as y}from"../../../layers/orientedImagery/transformations/imageToWorld.js";import h from"../../../layers/orientedImagery/transformations/updateElevation.js";import{getUpdateElevationProps as g,getImageToWorldProperties as
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../core/Accessor.js";import{throwIfAborted as a}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import{subclass as i}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../../geometry/Multipoint.js";import s from"../../../geometry/Point.js";import n from"../../../geometry/Polygon.js";import m from"../../../geometry/Polyline.js";import{projectAsync as p}from"../../../geometry/projectionUtils.js";import l from"../../../geometry/SpatialReference.js";import{imageToWorld as c,imageToWorldPanoramic as y}from"../../../layers/orientedImagery/transformations/imageToWorld.js";import h from"../../../layers/orientedImagery/transformations/updateElevation.js";import{getUpdateElevationProps as g,getImageToWorldProperties as u,getImageToWorldPanoramicProperties as f,pointToArray as d}from"../../../layers/orientedImagery/transformations/utils.js";import{worldToImagePanoramic as w,worldToImage as T}from"../../../layers/orientedImagery/transformations/worldToImage.js";import{imageSpaceToPoint as P,pointToImageSpace as x}from"../support/geometryUtils.js";let z=class extends t{constructor(e){super(e),this.mode="default"}get horizonAngles(){if("panoramic"!==this.mode)return;const{horizonPitch:e,horizonRoll:t,horizonYaw:a}=this.imageToWorldProperties;return[e,t,a]}async pixelToMapPoint(e,t){const{imageToWorldProperties:o,updateElevationProps:i,mode:r}=this,s=Array.isArray(e)?e:[e];await(this.depthImageService?.load(t)),a(t);const n=await Promise.all(s.map(async e=>{e.depth=await(this.depthImageService?.depthAt(e,{width:this.imageSize?.[0]??0,height:this.imageSize?.[1]??0}))}));if(await Promise.all(n),a(t),"default"===r){const r=await c(s,o,i);return a(t),Array.isArray(e)?r:r[0]}const m=await y(s,o,i);return a(t),Array.isArray(e)?m:m[0]}async pixelToMapPointForFeature(e,t,o){const{feature:i,mode:r,imageSize:s,footprintExtent:n}=t,{elevationSample:m,attributes:h}=i,{elevationSource:d,location:w,cameraHeight:T}=h;let P=w.clone();P.spatialReference.isGeographic&&(P=await p(P,l.WebMercator));const x=await g(w.spatialReference,w.z??0,T,{elevationSample:m,elevationSource:d,extent:n});let z;"elevationSample"in x&&(i.elevationSample=x.elevationSample);const S=Array.isArray(e)?e:[e];await(this.depthImageService?.load(o)),a(o);const G=await Promise.all(S.map(async e=>{e.depth=this.depthImageService?.depthAt(e,{width:s?.[0]??0,height:s?.[1]??0})}));if(await Promise.all(G),a(o),"default"===r||"video"===r){const e=u(h,s[0],s[1]);z=await c(S,{...e,cameraLocation:P},x)}else{const e=f(h,s[0],s[1]);z=await y(S,{...e,cameraLocation:P},x)}return Array.isArray(e)?z:z[0]}async pointToPixel(e,t){const{imageToWorldProperties:o,updateElevationProps:i,mode:r}=this;if(!i||!o)throw new Error("updateElevationProps and imageToWorldProperties are required to perform pointToPixel operation.");const s=Array.isArray(e)?e:[e],{spatialReference:n}=o.cameraLocation,m=await Promise.all(s.map(async e=>{let o=e;return e.hasZ||(o=await h(e,i,t)),o.spatialReference.equals(n)||(o=await p(o,n,t)),a(t),o}));let l;return a(t),l="panoramic"===r?w(m,o):T(m,o),a(t),Array.isArray(e)?l:l[0]}async pointToImageGeometry(e,t){const o=await this.pointToPixel(e,t);return a(t),P(o,this.mode,this.imageSize,this.horizonAngles)}async polygonToImageGeometry(e,t){const o=await Promise.all(e.rings.map(async o=>{const i=o.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})),r=await this.pointToPixel(i,t);return a(t),r.map(e=>d(P(e,this.mode,this.imageSize,this.horizonAngles)))}));return a(t),n.fromJSON({rings:o,spatialReference:l.WebMercator})}async polylineToImageGeometry(e,t){const o=await Promise.all(e.paths.map(async o=>{const i=o.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})),r=await this.pointToPixel(i,t);return a(t),r.map(e=>d(P(e,this.mode,this.imageSize,this.horizonAngles)))}));return a(t),m.fromJSON({paths:o,spatialReference:l.WebMercator})}async multipointToImageGeometry(e,t){const o=e.points.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})),i=await this.pointToPixel(o,t);a(t);const n=i.map(e=>d(P(e,this.mode,this.imageSize,this.horizonAngles)));return a(t),r.fromJSON({points:n,spatialReference:l.WebMercator})}async extentToImageGeometry(e,t){const o=n.fromExtent(e),i=await this.polygonToImageGeometry(o,t);return a(t),i.extent}async geometryToImageGeometry(e,t){switch(e.type){case"point":return await this.pointToImageGeometry(e,t);case"polygon":return await this.polygonToImageGeometry(e,t);case"polyline":return await this.polylineToImageGeometry(e,t);case"multipoint":return await this.multipointToImageGeometry(e,t);case"extent":return await this.extentToImageGeometry(e,t);default:return null}}async imagePointToMapGeometry(e,t){const o=x(e,this.mode,this.imageSize,this.horizonAngles),i=await this.pixelToMapPoint(o,t);return a(t),i}async imagePolygonToMapGeometry(e,t){const o=await Promise.all(e.rings.map(async a=>{const o=a.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})).map(e=>x(e,this.mode,this.imageSize,this.horizonAngles));return await this.pixelToMapPoint(o,t)}));return a(t),new n({rings:o.map(e=>e.map(d)),spatialReference:o[0][0].spatialReference})}async imagePolylineToMapGeometry(e,t){const o=await Promise.all(e.paths.map(async a=>{const o=a.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})).map(e=>x(e,this.mode,this.imageSize,this.horizonAngles));return await this.pixelToMapPoint(o,t)}));return a(t),new m({paths:o.map(e=>e.map(d)),spatialReference:o[0][0].spatialReference})}async imageMultipointToMapGeometry(e,t){const o=e.points.map(t=>new s({x:t[0],y:t[1],z:t[2],spatialReference:e.spatialReference})).map(e=>x(e,this.mode,this.imageSize,this.horizonAngles)),i=await this.pixelToMapPoint(o,t);return a(t),new r({points:i.map(e=>d(e)),spatialReference:i[0].spatialReference})}async imageExtentToMapGeometry(e,t){const o=n.fromExtent(e),i=await this.imagePolygonToMapGeometry(o,t);a(t);const r=await this.imageGeometryToMapGeometry(i,t);return a(t),r.extent}async imageGeometryToMapGeometry(e,t){switch(e.type){case"point":return await this.imagePointToMapGeometry(e,t);case"polygon":return await this.imagePolygonToMapGeometry(e,t);case"polyline":return await this.imagePolylineToMapGeometry(e,t);case"multipoint":return await this.imageMultipointToMapGeometry(e,t);case"extent":return await this.imageExtentToMapGeometry(e,t);default:return null}}};e([o()],z.prototype,"mode",void 0),e([o()],z.prototype,"imageToWorldProperties",void 0),e([o()],z.prototype,"updateElevationProps",void 0),e([o()],z.prototype,"depthImageService",void 0),e([o()],z.prototype,"imageSize",void 0),e([o()],z.prototype,"horizonAngles",null),z=e([i("esri.widgets.OrientedImageryViewer.services.TransformationService")],z);const S=z;export{S as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{prefersReducedMotion as i}from"../core/a11yUtils.js";import{createTask as a}from"../core/asyncUtils.js";import s from"../core/Collection.js";import{deprecateWidget as o,deprecatedProperty as n}from"../core/deprecate.js";import r from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{watch as d,initial as c,syncAndInitial as g,whenOnce as h,on as m,sync as u}from"../core/reactiveUtils.js";import{throttle as v}from"../core/throttle.js";import{property as p,subclass as y}from"../core/accessorSupport/decorators.js";import{or as w}from"../layers/orientedImagery/transformations/utils.js";import _ from"./Expand.js";import T from"./PanoramicVideoViewer.js";import M from"./PanoramicViewer.js";import b from"./Widget.js";import{getAllArcPath as C}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as I,defaultImageGeometryField as A,defaultOIObjectIDField as S,segmentArcs as k,featureCircleRadius as f,navigationToolDimensionLength as L,sectorsRadii as V}from"./OrientedImageryViewer/constants.js";import{css as O,navigation as E,navigationToolRotationFrom as F,navigationToolRotationTo as x,root as P}from"./OrientedImageryViewer/css.js";import{isFeatureAttachment as N,loadImageForAttachment as G,getThumbnailPixelBlock as H,renderImageWithRotation as D}from"./OrientedImageryViewer/galleryUtils.js";import j from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import $ from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import{loadAlertComponents as B,Alert as q}from"./OrientedImageryViewer/components/Alert.js";import U from"./OrientedImageryViewer/components/ImageLocationWidget.js";import W from"./OrientedImageryViewer/components/ImageViewer.js";import R from"./OrientedImageryViewer/components/NavigationUI.js";import z from"./OrientedImageryViewer/components/NavigationUI360.js";import{SequentialNavigationUI as Z}from"./OrientedImageryViewer/components/SequentialNavigationUI.js";import{loadVideoEnhancementComponents as J,renderEnhancementSlider as K,VideoEnhancementTools as Q}from"./OrientedImageryViewer/components/VideoEnhancementTools.js";import{NoImageLoadedError as X}from"./OrientedImageryViewer/navigation/errors.js";import{loadCalciteComponents as Y}from"./support/componentsUtils.js";import{globalCss as ee}from"./support/globalCss.js";import{vmEvent as te,messageBundle as ie,tsx as ae}from"./support/widget.js";const se={overlayed:"overlayed"};let oe=class extends b{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.videoEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new j,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.selectedGroup=null,this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new $,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._navigationSettingsLoaderTask=null,this._navigationTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.triangularMeasurementActive=!1,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1,this.triangularMeasurementActive=!1},this._createNavigationTask=async e=>(this._navigationTask?.abort(),this._navigationTask=a(async t=>await this.navigate({...e,signal:t})),this._navigationTask.promise),this._navigateNext=async()=>await this._createNavigationTask({step:1}),this._navigatePrevious=async()=>await this._createNavigationTask({step:-1}),this._navigationToolExpanded=!1,this._navigationTool=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new s,this._previousAction=null,this._closeImageSequenceAlert=()=>{this._set("noImageInSequenceError",!1)},this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleNavigationSettingsInputChange=(e,t)=>{this.set(`${e}Threshold`,t)},this._handleNavigationSettingsToggle=e=>{this.viewModel.preserveAngle=e},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(d(()=>t.visible,()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible,this.showMapFeatures)}),`${se.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,n="select-feature"===s,r=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&w(n,o&&r)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=e=>{e.stopPropagation(),this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map(e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._settingsToggle=null,this._toggleImageNavigation=async e=>{const t=this.navigationMode;this._closeAllImageTools(),this.navigationMode=t!==e?e:null;const{activeViewer:i}=this.viewModel;if(!i)return;const{mode:a,preserveAngle:s}=this.viewModel;if("default"===a)if("directional"===this.navigationMode){const e=await this._loadNavigationSettings(),t="heading"===s||"both"===s,i="pitch"===s||"both"===s,{messages:a,messagesCommon:o}=this,n=new e({cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,uiStrings:{configureNavigation:a.configureNavigation,preserveHeading:a.preserveHeading,preserveHeadingDescription:a.preserveHeadingDescription,preservePitch:a.preservePitch,preservePitchDescription:a.preservePitchDescription,settings:o.settings,thresholdLabel:a.thresholdLabel},onInputChange:this._handleNavigationSettingsInputChange,onToggle:this._handleNavigationSettingsToggle,preserveHeading:t,preservePitch:i});this._settingsToggle=new _({content:n,expandIcon:"configure"}),this.viewModel.activeViewer?.ui.add(this._settingsToggle,{position:"top-left"})}else this._settingsToggle&&(this._settingsToggle.expanded=!1,this.viewModel.activeViewer?.ui.remove(this._settingsToggle))},this._toggleImageAttributes=v(this.viewModel.toggleImageAttributes.bind(this.viewModel)),this.navigate=async e=>{let t=null;try{const{currentNode:i}=this.viewModel;if(!i)throw new X;t=await this.viewModel.navigate(i,e)}catch(i){l(i)||r.getLogger(this).error("Error occurred while navigating",i),["NoImageInSequenceError","NoSequenceFoundError"].includes(i.name)&&this._set("noImageInSequenceError",!0)}return t},this.reset=()=>{this._closeAllImageTools(),this.viewModel.reset()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this),this._handleVideoBrightnessChange=this._handleVideoBrightnessChange.bind(this),this._handleVideoContrastChange=this._handleVideoContrastChange.bind(this),this._handleBrightnessChange=this._handleBrightnessChange.bind(this),this._handleContrastChange=this._handleContrastChange.bind(this),this._handleSharpnessChange=this._handleSharpnessChange.bind(this),this._resetVideoTools=this._resetVideoTools.bind(this),this._toggleEnhancementToolState=this._toggleEnhancementToolState.bind(this),this.announceDeprecation=()=>{o(r.getLogger(this),"Oriented Imagery Viewer","arcgis-oriented-imagery-viewer",{version:"5.0"})}}initialize(){this.addHandles([d(()=>[this.viewModel?.bestFeatureAngle,this._navigationTool],([e,t])=>{t&&this._updateNavigationTool(t)},c),d(()=>this.currentCoverageVisible,e=>this._onCurrentCoverageVisibilityChange(e)),d(()=>this.isAdditionalCoverageVisible,e=>this._onAdditionalCoverageVisibilityChange(e)),d(()=>this.isAdditionalPointSourcesVisible,e=>this._onAdditionalCameraLocationsVisibility(e)),d(()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state}),({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)},g),d(()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state}),async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&await this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await h(()=>"image-loaded"===this.viewModel.state),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}},c),m(()=>this.viewModel,"popup-open",async e=>{await(this.view?.openPopup(e))},u),m(()=>this.viewModel,"popup-close",()=>{this.view?.closePopup()},u),this._toggleImageAttributes])}loadDependencies(){return Promise.all([J(),Y({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider")}),B()])}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect(),this.currentBestFeature=null}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return n(r.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){n(r.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get activeVideoIcon(){const{videoElement:e,videoViewModel:t}=this.viewModel;return e?.loaded&&t?t.videoPaused?"play":"pause":"play"}get activeAudioIcon(){const{videoElement:e,videoViewModel:t}=this.viewModel;return e?.loaded&&t?.videoMuted?"sound-off":"sound"}get cameraHeadingThreshold(){return this.viewModel.cameraHeadingThreshold}set cameraHeadingThreshold(e){this.viewModel.cameraHeadingThreshold=e}get cameraPitchThreshold(){return this.viewModel.cameraPitchThreshold}set cameraPitchThreshold(e){this.viewModel.cameraPitchThreshold=e}get canNavigateSequentially(){const{layer:e}=this;if(!e)return!1;const{fields:t,sequenceOrderField:i}=e;return t.some(({name:e})=>e.toLowerCase()===`${i??"sequenceorder"}`.toLowerCase())}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get depthImageNotSupported(){return this.viewModel.depthImageNotSupported}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get enhancementToolActive(){return"video"===this.viewModel.mode?this.videoEnhancementToolActive:this.imageEnhancementToolActive}set enhancementToolActive(e){"video"===this.viewModel.mode?this.videoEnhancementToolActive=e:this.imageEnhancementToolActive=e}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get navigationMode(){return this.viewModel.navigationMode}set navigationMode(e){this.viewModel.navigationMode=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return("image-loaded"===t||this.videoLoaded)&&e}get preloadMedia(){return this.viewModel.preloadMedia}set preloadMedia(e){this.viewModel.preloadMedia=e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get videoLoaded(){const{mode:e,videoElement:t,panoramicVideoLoaded:i}=this.viewModel;return("video"===e&&!0===t?.loaded||i)??!1}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}get shouldShowSelectedImage(){return this.viewModel.shouldShowSelectedImage}set shouldShowSelectedImage(e){this.viewModel.shouldShowSelectedImage=e}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}get verticalFilterEnabled(){return this.viewModel.verticalFilterEnabled}set verticalFilterEnabled(e){this.viewModel.verticalFilterEnabled=e}_renderActionBar(){const{selectedGroup:e}=this;return ae("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},!e&&ae("calcite-action-group",null,this._searchGroupToggle(),this._overlaysGroupToggle(),this._navigationGroupToggle(),this._measurementsGroupToggle(),this._utilitiesGroupToggle()),e?ae("calcite-action",{bind:this,icon:"arrow-left",key:"arrow-left",onclick:()=>this._toggleGroupSelection(null),text:this.messages.previous,title:this.messages.previous}):null,"overlays"===e&&ae("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle(),this._mapImageConversionToggle(),this._imageOverlaysToggle()),"navigation"===e&&ae("calcite-action-group",null,this._directionToolsToggle(),this._navigationToolToggle(),this._imageGalleryToggle()),"measurements"===e&&ae("calcite-action-group",null,this._measurementToolToggle()),"utilities"===e&&ae("calcite-action-group",null,this._imageEnhancementsToggle(),this._videoEnhancementsToggle(),this._openPopupAction()),"search"===e&&ae("calcite-action-group",null,this._exploreImagesToggle(),this._exploreImages3DToggle(),this._showSelectedImageToggle()))}get _activeMeasurementHeading(){const{measureType:e,messages:t,triangularMeasurementActive:i}=this,{groundArea:a,heightAboveGround:s,groundDistance:o,triangulatedAreaHeading:n,triangulatedDistanceHeading:r}=t;if(i)return"area"===e?n:r;switch(e){case"area":return a;case"height":return s;default:return o}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?ae("calcite-action",{active:e,bind:this,class:O.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?ae("calcite-action",{active:e,bind:this,class:O.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:i},triangularMeasurementActive:a,id:s}=this;if("image-loaded"!==e||!t||a&&!i)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?ae("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},ae(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e},triangularMeasurementActive:t}=this;return ae("calcite-panel",{bind:this,class:t?O.viewerContainerMeasurement:O.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,ae("calcite-shell",null,ae("calcite-panel",null,this._imageViewer,this._panoramicViewer,this._panoramicVideoViewer,this._videoViewer,this._messageBox,this.invalidCameraHeading?null:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._videoEnhancementTools,this._renderSketch(),this._navigationUI),this._imageViewerTriangular,this._measurementToggle,this._locationToggle,this.invalidCameraHeading?this._renderWarning(this.messages.invalidCameraHeadingWarningTitle,this.messages.invalidCameraHeadingWarningDescription):null,this.depthImageNotSupported?this._renderWarning(this.messages.depthImageNotSupportedTitle,this.messages.depthImageNotSupportedDescription):null,this.noImageInSequenceError?this._renderWarning(this.messages.sequentialNavigationWarning,this.messages.sequentialNavigationWarning,this._closeImageSequenceAlert):null))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?ae("calcite-action",{active:e,bind:this,class:O.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}_exploreImagesToggle(){const{exploreImages:e}=this.messages;return this.visibleElements.exploreImages?ae("calcite-action",{active:!this.disabled,bind:this,icon:"oriented-imagery-widget",onclick:this._toggleExploreImages,text:e,title:e}):null}get _imageEnhancementTools(){const{enhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?ae("calcite-panel",{bind:this,class:O.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleEnhancementToolState},ae("div",{class:O.imageEnhancementTools},K({title:this.messages.brightness,value:t,max:10,min:-10,ticks:5,handleChange:this._handleBrightnessChange}),K({title:this.messages.contrast,value:i,max:10,min:-10,ticks:5,handleChange:this._handleContrastChange}),K({title:this.messages.sharpness,value:a,max:1,min:0,ticks:.5,step:.1,handleChange:this._handleSharpnessChange})),ae("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}get _videoEnhancementTools(){const{enhancementToolActive:e,viewModel:{videoViewModel:t,mode:i},messages:{videoEnhancement:a,brightness:s,contrast:o},messagesCommon:{reset:n}}=this;return e&&"video"===i&&t?ae(Q,{brightness:t.videoBrightness,constrast:t.videoContrast,handleBrightnessChange:this._handleVideoBrightnessChange,handleContrastChange:this._handleVideoContrastChange,resetTools:this._resetVideoTools,uiStrings:{videoEnhancement:a,brightness:s,contrast:o,reset:n},videoEnhancementToolActive:e,onClose:this._toggleEnhancementToolState}):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{enhancementTool:i}=this.visibleElements;return i&&"video"!==t?ae("calcite-action",{active:this.enhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}_exploreImages3DToggle(){const{exploreImages3D:e}=this.messages,t="3d"!==this.view?.type||!this.layer?.verticalSearchRange;return this.visibleElements.exploreImages3D?ae("calcite-action",{active:this.verticalFilterEnabled,bind:this,disabled:t,icon:"i3d-search",onclick:this._toggleVerticalSearchFilter,text:e,title:e}):null}_showSelectedImageToggle(){const{displayImages:e}=this.messages,t=this.viewModel.mode.includes("video");return this.visibleElements.showSelectedImage?ae("calcite-action",{active:this.shouldShowSelectedImage,bind:this,disabled:t,icon:"show-oriented-imagery",onclick:this._toggleShowSelectedImage,text:e,title:e}):null}_videoEnhancementsToggle(){const{mode:e}=this.viewModel,{videoEnhancement:t}=this.messages,{enhancementTool:i}=this.visibleElements;return i&&"video"===e?ae("calcite-action",{active:this.enhancementToolActive,bind:this,disabled:"video"!==e,icon:"sliders-horizontal",onclick:this._toggleEnhancementToolState,text:t,title:t}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return ae("calcite-panel",{bind:this,class:O.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},ae("div",{class:O.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?ae("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:i,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:n,showCameraLocations:r,showMapFeatures:l,view:d,layer:c}=this;if(!c)return null;const g=c.imageGeometryField?.length?c.imageGeometryField:A,h=c.imageReferenceField?.length?c.imageReferenceField:S;t||(this._imageOverlaysLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default));const m=this._imageOverlaysLoaderTask?.value;return m?ae(m,{closed:!n,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:h,messages:e,overlayedLayers:i,showCameraLocations:r,showMapFeatures:l,view:d,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onFilterCapturedFeatures:this.viewModel.filterCapturedFeatures,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _navigationUI(){const{navigationMode:e,viewModel:t}=this,{mode:i,state:a}=t;if(e&&("default"===i||"panoramic"===i)&&"image-loaded"===a)return"directional"===e?"default"===i?ae(R,{cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes,preserveAngle:this.viewModel.preserveAngle}):ae(z,{currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes}):ae(Z,{layout:"horizontal",uiStrings:{end:this.messages.end,next:this.messages.next,previous:this.messages.previous,start:this.messages.start},onNext:this._navigateNext,onPrev:this._navigatePrevious})}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[O.imageOverlaysContainer]:!0,[ee.hidden]:!e||"image-loaded"!==t});return ae("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?ae("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i,clickAction:a,state:s}=this.viewModel,o=null!=e||"default"!==i||s.includes("loading");return ae(W,{afterCreate:t,clickAction:a,visible:!o})}get _imageViewerTriangular(){const{messages:e,triangularMeasurementActive:t}=this,{displayMessage:i,storeImageMeasurementViewer:a,storePanoramicMeasurementViewer:s,mode:o,state:n,clickAction:r}=this.viewModel,l=null!=i||"none"===o||"video"===o,d=this.classes({[O.viewer]:!l,[O.viewerHidden]:l});return t?ae("calcite-panel",{class:O.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:n.includes("loading")},ae("calcite-panel",{bind:this,class:d},"default"===o?ae(W,{afterCreate:a,clickAction:r,uiStrings:e}):ae(M,{afterCreate:s,clickAction:r,uiStrings:e}))):null}_utilitiesGroupToggle(){const{utilityTools:e}=this.messages;return this.visibleElements.utilityTools?ae("calcite-action",{bind:this,icon:"tools",key:"utilities-group-toggle",onclick:()=>this._toggleGroupSelection("utilities"),text:e,title:e}):null}_searchGroupToggle(){const{searchTools:e}=this.messages;return this.visibleElements.searchTools?ae("calcite-action",{bind:this,icon:"search",key:"search-group-toggle",onclick:()=>this._toggleGroupSelection("search"),text:e,title:e}):null}get _videoViewer(){const{mode:e,loadVideoViewer:t,videoViewModel:i}=this.viewModel,{control:a,reset:s}=this.messagesCommon,{mute:o,unmute:n}=this.messages,r="video"!==e,l=this.classes({[O.viewer]:!r,[O.viewerHidden]:r}),d="esri-image-viewer";return ae("calcite-panel",{bind:this,class:l},ae("calcite-panel",{afterCreate:t,class:this.classes(ee.widget,d)}),ae("calcite-slider",{bind:this,labelHandles:!0,labelTicks:!0,max:i?.videoDuration,minLabel:"0",value:i?.currentTime??0,onCalciteSliderChange:this._handleVideoSeek}),ae("calcite-action-bar",{expandDisabled:!0,layout:"horizontal"},ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:this.activeVideoIcon,onclick:()=>i?.playVideoHandler(),text:"Play",title:i?.videoPaused?a.play:a.pause})),ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:"refresh",onclick:()=>i?.rewindVideoHandler(),text:"Rewind",title:s})),ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:this.activeAudioIcon,onclick:()=>i?.toggleAudio(),text:"Audio",title:i?.videoMuted?o:n}))))}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i,triangulatedPoint:a},imageLocationToolActive:s,triangularMeasurementActive:o,messages:{groundLocation:n,triangulatedLocationHeading:r}}=this;if("image-loaded"!==e||!t||!s)return;let l=t;if(o){if(!a)return;l=a}return ae("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?r:n,id:n,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},ae(U,{accuracy:i,groundCoordinates:l,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t,disabled:i},invalidCameraHeading:a,visibleElements:{mapImageConversionTool:s}}=this;return s?ae("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||a||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolToggle(){const{measureType:e,viewModel:t,accuracyParametersMissing:i,messages:a,triangularMeasurementActive:s}=this,{state:o}=t,{groundDistance:n,groundArea:r,heightAboveGround:l,groundLocation:d,triangulatedDistanceHeading:c,triangulatedAreaHeading:g,triangulatedLocationHeading:h}=a,m="image-loaded"!==o||i;return ae("calcite-action-group",{key:"measurement-tools",scale:"m"},ae("calcite-action",{active:"distance"===e&&!s,bind:this,disabled:m,icon:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),text:n,title:n}),ae("calcite-action",{active:"area"===e&&!s,bind:this,disabled:m,icon:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),text:r,title:r}),ae("calcite-action",{active:"height"===e,bind:this,disabled:m,icon:"measure-building-height-top-base",key:"height-measurement",onclick:e=>this._toggleMeasurementSketch(e,"height"),text:l,title:l}),ae("calcite-action",{active:!!this.imageLocationToolActive&&!s,bind:this,disabled:m,icon:"pin-tear",key:"surface-location",onclick:this._toggleLocationTool,text:d,title:d}),ae("calcite-action",{active:!!s&&this.imageLocationToolActive,bind:this,disabled:m,icon:"dual-image-location",key:"triangular-location",onclick:this._toggleTriangularLocation,text:h,title:h}),ae("calcite-action",{active:!!s&&"distance"===this.measureType,bind:this,disabled:m,icon:"dual-image-distance",key:"triangular-distance",onclick:this._toggleTriangularDistanceMeasurements,text:c,title:c}),ae("calcite-action",{active:!!s&&"area"===this.measureType,bind:this,disabled:m,icon:"dual-image-area",key:"triangular-area",onclick:this._toggleTriangularAreaMeasurements,text:g,title:g}))}get _messageBox(){const{messages:e,viewModel:{displayMessage:i,mode:a}}=this;if(!i||"video"===a)return null;const{data:s,key:o,map:n}=i,r=`${n?t(e[o],n):e[o]}`;return ae("span",{class:O.messageBox},s?`${r} ${s}`:r)}async _loadNavigationSettings(){return this._navigationSettingsLoaderTask||(this._navigationSettingsLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/NavigationSettings.js")).default)),await this._navigationSettingsLoaderTask.promise}_measurementsGroupToggle(){const{measurementTools:e}=this.messages,{state:t,accuracyParametersMissing:i}=this.viewModel,a="image-loaded"!==t||i;return this.visibleElements.measurementTools?ae("calcite-action",{bind:this,disabled:a,icon:"measure-line",key:"measurements-group-toggle",onclick:()=>this._toggleGroupSelection("measurements"),text:e,title:e}):null}_navigationGroupToggle(){const{imageNavigation:e}=this.messages;return this.visibleElements.imageNavigationTools?ae("calcite-action",{bind:this,icon:"absolute-direction",key:"navigation-group-toggle",onclick:()=>this._toggleGroupSelection("navigation"),text:e,title:e}):null}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t},videoLoaded:i}=this;return t?ae("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e&&!i||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolsToggle(){const{messages:e,viewModel:t,visibleElements:i}=this,{directionalNavigation:a,sequentialNavigation:s}=i,{state:o}=t,{directionalNavigation:n,directionalNavigationDescription:r,sequentialNavigation:l,sequentialNavigationDescription:d}=e;return ae("calcite-action-group",{key:"navigation-tools",scale:"m"},a?ae("calcite-action",{active:"directional"===this.navigationMode,bind:this,disabled:"image-loaded"!==o||this.invalidCameraHeading,icon:"directional-navigation",onclick:()=>{this._toggleImageNavigation("directional")},text:r,title:n}):null,s?ae("calcite-action",{active:"sequential"===this.navigationMode,bind:this,disabled:"image-loaded"!==o||this.invalidCameraHeading||!this.canNavigateSequentially,icon:"sequential-navigation",onclick:()=>{this._toggleImageNavigation("sequential")},text:d,title:l}):null)}_overlaysGroupToggle(){const{overlays:e}=this.messages;return this.visibleElements.overlays?ae("calcite-action",{bind:this,icon:"oriented-imagery-overlays",key:"overlays-group-toggle",onclick:()=>this._toggleGroupSelection("overlays"),text:e,title:e}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?ae("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicVideoViewer(){const{displayMessage:e,loadPanoramicVideoViewer:t,mode:i,clickAction:a,state:s,currentBestFeature:o}=this.viewModel,n=o?.attributes.imagePath,r=null!=e||"panoramic-video"!==i||s.includes("loading")||!n;return ae(T,{afterCreate:t,clickAction:a,oiViewModel:this.viewModel,videoSource:n,visible:!r})}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i,clickAction:a,state:s}=this.viewModel,o=null!=e||"panoramic"!==i||s.includes("loading");return ae(M,{afterCreate:t,clickAction:a,visible:!o})}get noImageInSequenceError(){return this._get("noImageInSequenceError")??!1}_activateTriangulatedImageLocationTool(){this.navigationToolActive=!0,this.imageLocationToolActive=!0}_activateTriangulatedImageLocationWorkflow(e,t){this._closeAllImageTools(),this.imageLocationToolActive=!0,this.triangularMeasurementActive=!e,this.navigationToolActive=!!t||!t}_closeImageToolsAndToggleNavigation(e,t){this._closeAllImageTools(),this.triangularMeasurementActive=!e,this.navigationToolActive=!t}_resetMeasureTypeAndActivateImageLocationTool(){this.measureType=null,this.imageLocationToolActive=!0}_closeAllImageTools(){this.enhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.navigationMode=null,this.triangularMeasurementActive=!1,this._settingsToggle&&(this._settingsToggle.expanded=!1,this.viewModel.activeViewer?.ui.remove(this._settingsToggle))}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleVideoBrightnessChange(e){this.viewModel.videoViewModel?.handleVideoBrightnessChange(e.target.value)}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleVideoContrastChange(e){this.viewModel.videoViewModel?.handleVideoContrastChange(e.target.value)}_handleVideoSeek(e){const t=this.viewModel?.videoElement?.content;t&&(t.currentTime=e.target.value,t.play())}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach(async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),o=a.getAttribute("data-rotation"),n=a.getAttribute("data-objectid"),d=o?parseFloat(o)%360:0,{layer:c,_galleryController:{signal:g}}=this;if(!s||!n)return;let h;try{h=N(s)?await G(c,n,{signal:g}):await H(s,{signal:g})}catch(i){l(i)||r.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!h)return;D(h,a,d)}})}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=a(async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e})}_loadSketchResources(){this._sketchLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default)}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e,t,i){const{viewModel:{state:a}}=this;return"image-loaded"===a?ae(q,{icon:"exclamation-mark-triangle-f",kind:"warning",message:t,open:!0,title:e,tooltip:t,topLayerDisabled:this.topLayerDisabled,onClose:i}):null}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:t,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,n,r,l,d;if(t){const{x:e,y:i,direction:a}=t,[s,c,g,h]=k[a];o=`M ${e} ${i} L ${s} ${c} A ${V[2]} ${V[2]} 0 0 1 ${g} ${h} Z`,n=e,l=i,r=k[a][4],d=k[a][5]}const c=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},h=e=>{e.removeEventListener("click",g)},m=a.attributes.objectId,u=e?.map(e=>e?.items).filter(Boolean).flatMap(e=>e?.map(({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>ae("circle",{afterRemoved:h,class:this.classes(O.feature,{selected:m===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${O.feature}-${i}`,onclick:g,r:f}))),v=e=>{e.removeEventListener("click",c)},p=this.classes({[O.navigationWrapper]:!0,[O.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&("image-loaded"===s||this.videoLoaded)?ae("div",{bind:this,class:p,key:this.messages.navigationTool},ae("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:i()?E:O.rotateWithAnimation,focusable:"false",height:L,role:"img",width:L,xmlns:"http://www.w3.org/2000/svg"},ae("defs",null,ae("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:n,x2:r,y1:l,y2:d},ae("stop",{class:O.navigationPathOffset0,offset:0}),ae("stop",{class:O.navigationPathOffset1,offset:1}))),ae("g",null,ae("circle",{class:this.classes(O.sector,O.outerSector),cx:V[3],cy:V[3],onclick:this._scaleNavigationTool,r:V[3]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[2]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[1]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[0]}),ae("path",{class:O.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${O.pointer}-west`}),ae("path",{class:this.classes(O.pointer,O.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${O.pointer}-north`}),ae("path",{class:O.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${O.pointer}-east`}),ae("path",{class:O.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${O.pointer}-south`}),ae("path",{class:this.classes(O.sector,O.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:O.sectorSeparator}),C([V[2],V[1],V[0]],V[3],V[3]).map((t,i)=>ae("path",{afterRemoved:v,class:this.classes(O.sector,e?.[i]?.length?O.sectorEnabled:O.sectorDisabled),d:t,"data-sector":`${i}`,key:`${O.sector}-${i}`,onclick:c})),ae("path",{class:this.classes(O.sector,O.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:O.sectorCross}),u,a.attributes.cameraPitch>=5&&o?ae("path",{class:O.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:O.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return ae("div",{class:O.sketchTools},ae(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?ae("div",{class:O.carouselContent},t?.items.map(({url:t,objectId:i,rotation:a},s)=>ae("div",{class:`${O.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${O.carouselItemWrapper}-${s}`},ae("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:O.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight})))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_resetVideoTools(){this.viewModel.videoViewModel?.resetVideoEnhancementTools()}_storeNavigationToolReference(e){this._navigationTool=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleShowSelectedImage(){this.shouldShowSelectedImage=!this.shouldShowSelectedImage,this._toggleDisabledViewer(this.shouldShowSelectedImage)}_toggleVerticalSearchFilter(){this.verticalFilterEnabled=!this.verticalFilterEnabled,this._toggleDisabledViewer(this.verticalFilterEnabled)}_toggleDisabledViewer(e){e&&(this.disabled=!1)}_toggleEnhancementToolState(e){e.stopPropagation();const t=this.enhancementToolActive;this._closeAllImageTools(),this.enhancementToolActive=!t}_toggleExploreImages(){this.disabled=!this.disabled,this.disabled&&(this.shouldShowSelectedImage=!1,this.verticalFilterEnabled=!1)}_toggleGroupSelection(e){this.selectedGroup=e}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive,i=this.triangularMeasurementActive&&t;this._closeAllImageTools(),this.imageLocationToolActive=i||!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType,a=this.triangularMeasurementActive;this._closeAllImageTools(),this.measureType=i!==t||a?t:null,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularLocation(){const e=this.triangularMeasurementActive,t=this.navigationToolActive;e?null===this.measureType?this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool():this._resetMeasureTypeAndActivateImageLocationTool():this._activateTriangulatedImageLocationWorkflow(e,t)}_toggleTriangularMeasurements(e){const t=this.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(F,`${t}deg`),e.style.setProperty(x,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t,i){return"default"===e?this.viewModel.loadMediaSource(t,i):this.viewModel.loadPanoramicMediaSource(t,i)}async overlayMapFeatures(e,t){return this.removeHandles(`${se.overlayed}-${e.id}`),this.addHandles(d(()=>e.visible,()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible,this.showMapFeatures)}),`${se.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${se.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find(t=>t.id===e)),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return ae("div",{class:this.classes(ee.widget,P)},this._renderRoot)}async showImageByObjectId(e,t){return this.viewModel.showImageByObjectId(e,t)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([p({readOnly:!0})],oe.prototype,"accuracyParametersMissing",null),e([p()],oe.prototype,"activeLayer",null),e([p()],oe.prototype,"activeVideoIcon",null),e([p()],oe.prototype,"activeAudioIcon",null),e([p()],oe.prototype,"cameraHeadingThreshold",null),e([p()],oe.prototype,"cameraPitchThreshold",null),e([p()],oe.prototype,"canNavigateSequentially",null),e([p()],oe.prototype,"currentBestFeature",null),e([p()],oe.prototype,"currentCoverageVisible",null),e([p()],oe.prototype,"dataCaptureEnabled",void 0),e([p()],oe.prototype,"dataCaptureLayer",null),e([p()],oe.prototype,"depthImageNotSupported",null),e([p()],oe.prototype,"disabled",null),e([p()],oe.prototype,"enhancementToolActive",null),e([p()],oe.prototype,"features",null),e([p()],oe.prototype,"imagePointsInView",null),e([p()],oe.prototype,"galleryOpened",void 0),e([p()],oe.prototype,"icon",null),e([p()],oe.prototype,"imageEnhancementToolActive",void 0),e([p()],oe.prototype,"videoEnhancementToolActive",void 0),e([p({readOnly:!0})],oe.prototype,"imageGalleryEnabled",null),e([p()],oe.prototype,"imageLocationToolActive",null),e([p()],oe.prototype,"imageOverlaysOpened",void 0),e([p({readOnly:!0})],oe.prototype,"invalidCameraHeading",null),e([p()],oe.prototype,"isAdditionalCoverageVisible",null),e([p()],oe.prototype,"isAdditionalPointSourcesVisible",null),e([p()],oe.prototype,"mapImageConversionToolState",null),e([p()],oe.prototype,"measureType",null),e([p()],oe.prototype,"layer",null),e([p()],oe.prototype,"navigationToolActive",void 0),e([p()],oe.prototype,"navigationMode",null),e([te(I()),p({type:j})],oe.prototype,"viewModel",void 0),e([p(),ie("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],oe.prototype,"messages",void 0),e([p(),ie("esri/core/t9n/Units")],oe.prototype,"measurementUnitMessages",void 0),e([p(),ie("esri/t9n/common")],oe.prototype,"messagesCommon",void 0),e([p(),ie("esri/widgets/Sketch/t9n/Sketch")],oe.prototype,"messagesSketch",void 0),e([p()],oe.prototype,"pixelMeasurementUnit",void 0),e([p()],oe.prototype,"pixelAreaMeasurementUnit",void 0),e([p({readOnly:!0})],oe.prototype,"popupEnabled",null),e([p()],oe.prototype,"preloadMedia",null),e([p()],oe.prototype,"referencePoint",null),e([p()],oe.prototype,"selectedGroup",void 0),e([p()],oe.prototype,"showCameraLocations",void 0),e([p()],oe.prototype,"showMapFeatures",void 0),e([te(["create","delete","redo","undo","update"]),p({readOnly:!0})],oe.prototype,"sketchViewModel",null),e([p()],oe.prototype,"triangularMeasurementActive",null),e([p()],oe.prototype,"videoLoaded",null),e([p()],oe.prototype,"view",null),e([p({type:$,nonNullable:!0})],oe.prototype,"visibleElements",void 0),e([p()],oe.prototype,"determineWorkflowForFeature",null),e([p()],oe.prototype,"shouldShowSelectedImage",null),e([p()],oe.prototype,"updateFootprint",null),e([p()],oe.prototype,"verticalFilterEnabled",null),e([p()],oe.prototype,"_activeMeasurementHeading",null),e([p()],oe.prototype,"_imageOverlaysLoaderTask",void 0),e([p()],oe.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([p()],oe.prototype,"_navigationSettingsLoaderTask",void 0),e([p()],oe.prototype,"_navigationTask",void 0),e([p()],oe.prototype,"_measurementToggle",null),e([p()],oe.prototype,"_renderRoot",null),e([p()],oe.prototype,"_imageEnhancementTools",null),e([p()],oe.prototype,"_videoEnhancementTools",null),e([p()],oe.prototype,"_imageGalleryPanel",null),e([p()],oe.prototype,"_imageGalleryContext",null),e([p()],oe.prototype,"_imageOverlaysComponent",null),e([p()],oe.prototype,"_navigationUI",null),e([p()],oe.prototype,"_imageOverlayMessages",null),e([p()],oe.prototype,"_imageSketchToolsMessages",null),e([p()],oe.prototype,"_imageViewer",null),e([p()],oe.prototype,"_imageViewerTriangular",null),e([p()],oe.prototype,"_videoViewer",null),e([p()],oe.prototype,"_locationToggle",null),e([p()],oe.prototype,"_messageBox",null),e([p()],oe.prototype,"_navigationToolExpanded",void 0),e([p()],oe.prototype,"_navigationTool",void 0),e([p()],oe.prototype,"_panoramicVideoViewer",null),e([p()],oe.prototype,"_panoramicViewer",null),e([p({readOnly:!0})],oe.prototype,"noImageInSequenceError",null),e([p()],oe.prototype,"_renderNavigation",null),e([p()],oe.prototype,"_renderThumbnails",null),e([p()],oe.prototype,"_sketchLoaderTask",void 0),oe=e([y("esri.widgets.OrientedImageryViewer")],oe);const ne=oe;export{ne as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{prefersReducedMotion as i}from"../core/a11yUtils.js";import{createTask as a}from"../core/asyncUtils.js";import s from"../core/Collection.js";import{deprecateWidget as o,deprecatedProperty as n}from"../core/deprecate.js";import r from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{watch as c,initial as d,syncAndInitial as g,whenOnce as h,on as m,sync as u}from"../core/reactiveUtils.js";import{throttle as v}from"../core/throttle.js";import{property as p,subclass as y}from"../core/accessorSupport/decorators.js";import{or as w}from"../layers/orientedImagery/transformations/utils.js";import _ from"./Expand.js";import T from"./PanoramicVideoViewer.js";import M from"./PanoramicViewer.js";import b from"./Widget.js";import{getAllArcPath as C}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as I,defaultImageGeometryField as A,defaultOIObjectIDField as S,segmentArcs as f,featureCircleRadius as k,navigationToolDimensionLength as L,sectorsRadii as V}from"./OrientedImageryViewer/constants.js";import{css as O,navigation as E,navigationToolRotationFrom as F,navigationToolRotationTo as x,root as P}from"./OrientedImageryViewer/css.js";import{isFeatureAttachment as N,loadImageForAttachment as G,getThumbnailPixelBlock as H,renderImageWithRotation as D}from"./OrientedImageryViewer/galleryUtils.js";import j from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import $ from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import{loadAlertComponents as B,Alert as q}from"./OrientedImageryViewer/components/Alert.js";import U from"./OrientedImageryViewer/components/ImageLocationWidget.js";import W from"./OrientedImageryViewer/components/ImageViewer.js";import R from"./OrientedImageryViewer/components/NavigationUI.js";import z from"./OrientedImageryViewer/components/NavigationUI360.js";import{SequentialNavigationUI as Z}from"./OrientedImageryViewer/components/SequentialNavigationUI.js";import{loadVideoEnhancementComponents as J,renderEnhancementSlider as K,VideoEnhancementTools as Q}from"./OrientedImageryViewer/components/VideoEnhancementTools.js";import{NoImageLoadedError as X}from"./OrientedImageryViewer/navigation/errors.js";import{loadCalciteComponents as Y}from"./support/componentsUtils.js";import{globalCss as ee}from"./support/globalCss.js";import{vmEvent as te,messageBundle as ie,tsx as ae}from"./support/widget.js";const se={overlayed:"overlayed"};let oe=class extends b{constructor(e,t){super(e,t),this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.videoEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new j,this.messagesCommon=null,this.messagesSketch=null,this.pixelMeasurementUnit="meters",this.pixelAreaMeasurementUnit="square-meters",this.selectedGroup=null,this.showCameraLocations=!1,this.showMapFeatures=!1,this.visibleElements=new $,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._navigationSettingsLoaderTask=null,this._navigationTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.triangularMeasurementActive=!1,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1,this.triangularMeasurementActive=!1},this._createNavigationTask=async e=>(this._navigationTask?.abort(),this._navigationTask=a(async t=>await this.navigate({...e,signal:t})),this._navigationTask.promise),this._navigateNext=async()=>await this._createNavigationTask({step:1}),this._navigatePrevious=async()=>await this._createNavigationTask({step:-1}),this._navigationToolExpanded=!1,this._navigationTool=null,this._galleryController=new AbortController,this._galleryObserver=new IntersectionObserver(this._lazyLoadImage.bind(this)),this._overlayedLayers=new s,this._previousAction=null,this._closeImageSequenceAlert=()=>{this._set("noImageInSequenceError",!1)},this._handleDataCaptureLayerChange=async e=>{if(this.dataCaptureLayer&&await this.stopDataCapture(!0),this.dataCaptureLayer=this.dataCaptureLayer===e?null:e,this.dataCaptureLayer)return this.startDataCapture(this.dataCaptureLayer)},this._handleNavigationSettingsInputChange=(e,t)=>{this.set(`${e}Threshold`,t)},this._handleNavigationSettingsToggle=e=>{this.viewModel.preserveAngle=e},this._handleOverlayLayerDeselect=e=>{const t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{const t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(c(()=>t.visible,()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible,this.showMapFeatures)}),`${se.overlayed}-${t.id}`)},this._highlight=e=>{const t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{const{target:t}=e,{dataset:{action:i}}=t,{_previousAction:a}=this,s=a?.dataset.action,o=s?.includes("draw")??!1,n="select-feature"===s,r=s!==i;switch(i){case"draw-point":case"draw-polygon":case"draw-polyline":{a&&w(n,o&&r)&&(a.active=!1),t.active=!t.active;const e=i.replace("draw-","");this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case"save":this.viewModel.saveDrawing();break;case"select-feature":o&&(this._previousAction.active=!1),t.active=!t.active,this.viewModel.toggleSelection(t.active),this._previousAction=t.active?t:null;break;case"delete-feature":this.viewModel.digitizeDelete()}},this._onImageOverlayClosed=e=>{e.stopPropagation(),this.imageOverlaysOpened=!1},this._onShowCameraLocationsChanged=e=>{this.showCameraLocations=e},this._onShowMapFeaturesChanged=e=>{this.showMapFeatures=e},this._removeHighlight=()=>this.viewModel.removeHighlight(),this._restoreOverlays=async()=>Promise.all(this._overlayedLayers.map(e=>this.viewModel.overlayMapFeatures(e,this.showMapFeatures))),this._scaleNavigationTool=()=>{this._navigationToolExpanded=!this._navigationToolExpanded},this._sketchLoaderTask=null,this._settingsToggle=null,this._toggleImageNavigation=async e=>{const t=this.navigationMode;this._closeAllImageTools(),this.navigationMode=t!==e?e:null;const{activeViewer:i}=this.viewModel;if(!i)return;const{mode:a,preserveAngle:s}=this.viewModel;if("default"===a)if("directional"===this.navigationMode){const e=await this._loadNavigationSettings(),t="heading"===s||"both"===s,i="pitch"===s||"both"===s,{messages:a,messagesCommon:o}=this,n=new e({cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,uiStrings:{configureNavigation:a.configureNavigation,preserveHeading:a.preserveHeading,preserveHeadingDescription:a.preserveHeadingDescription,preservePitch:a.preservePitch,preservePitchDescription:a.preservePitchDescription,settings:o.settings,thresholdLabel:a.thresholdLabel},onInputChange:this._handleNavigationSettingsInputChange,onToggle:this._handleNavigationSettingsToggle,preserveHeading:t,preservePitch:i});this._settingsToggle=new _({content:n,expandIcon:"configure"}),this.viewModel.activeViewer?.ui.add(this._settingsToggle,{position:"top-left"})}else this._settingsToggle&&(this._settingsToggle.expanded=!1,this.viewModel.activeViewer?.ui.remove(this._settingsToggle))},this._toggleImageAttributes=v(this.viewModel.toggleImageAttributes.bind(this.viewModel)),this.navigate=async e=>{let t=null;try{const{currentNode:i}=this.viewModel;if(!i)throw new X;t=await this.viewModel.navigate(i,e)}catch(i){l(i)||r.getLogger(this).error("Error occurred while navigating",i),["NoImageInSequenceError","NoSequenceFoundError"].includes(i.name)&&this._set("noImageInSequenceError",!0)}return t},this.reset=()=>{this._closeAllImageTools(),this.viewModel.reset()},this._loadImageFromGallery=this._loadImageFromGallery.bind(this),this._registerGalleryItem=this._registerGalleryItem.bind(this),this._unregisterGalleryItem=this._unregisterGalleryItem.bind(this),this.loadImageFromSource=this.loadImageFromSource.bind(this),this.updateSuitabilities=this.updateSuitabilities.bind(this),this._handleVideoBrightnessChange=this._handleVideoBrightnessChange.bind(this),this._handleVideoContrastChange=this._handleVideoContrastChange.bind(this),this._handleBrightnessChange=this._handleBrightnessChange.bind(this),this._handleContrastChange=this._handleContrastChange.bind(this),this._handleSharpnessChange=this._handleSharpnessChange.bind(this),this._resetVideoTools=this._resetVideoTools.bind(this),this._toggleEnhancementToolState=this._toggleEnhancementToolState.bind(this),this.announceDeprecation=()=>{o(r.getLogger(this),"Oriented Imagery Viewer","arcgis-oriented-imagery-viewer",{version:"5.0"})}}initialize(){this.addHandles([c(()=>[this.viewModel?.bestFeatureAngle,this._navigationTool],([e,t])=>{t&&this._updateNavigationTool(t)},d),c(()=>this.currentCoverageVisible,e=>this._onCurrentCoverageVisibilityChange(e)),c(()=>this.isAdditionalCoverageVisible,e=>this._onAdditionalCoverageVisibilityChange(e)),c(()=>this.isAdditionalPointSourcesVisible,e=>this._onAdditionalCameraLocationsVisibility(e)),c(()=>({features:this.currentBestFeature,showCameraLocations:this.showCameraLocations,state:this.viewModel.state}),({showCameraLocations:e,state:t})=>{"image-loaded"===t&&this.viewModel.overlayCameraLocations(e)},g),c(()=>({feature:this.currentBestFeature,showMapFeatures:this.showMapFeatures,state:this.viewModel.state}),async(e,t)=>{if(e.showMapFeatures!==t?.showMapFeatures&&await this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures),null!=e.feature&&e.feature!==t?.feature){if(this.viewModel.removeAllOverlayMapFeatures(),await h(()=>"image-loaded"===this.viewModel.state),this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),!this.dataCaptureLayer)return;await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null)}},d),m(()=>this.viewModel,"popup-open",async e=>{await(this.view?.openPopup(e))},u),m(()=>this.viewModel,"popup-close",()=>{this.view?.closePopup()},u),this._toggleImageAttributes])}loadDependencies(){return Promise.all([J(),Y({"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group"),action:()=>import("@esri/calcite-components/dist/components/calcite-action"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel"),shell:()=>import("@esri/calcite-components/dist/components/calcite-shell"),dialog:()=>import("@esri/calcite-components/dist/components/calcite-dialog"),slider:()=>import("@esri/calcite-components/dist/components/calcite-slider")}),B()])}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect(),this.currentBestFeature=null}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return n(r.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer}set activeLayer(e){n(r.getLogger(this),"activeLayer",{replacement:"layer"}),this.layer=e}get activeVideoIcon(){const{videoElement:e,videoViewModel:t}=this.viewModel;return e?.loaded&&t?t.videoPaused?"play":"pause":"play"}get activeAudioIcon(){const{videoElement:e,videoViewModel:t}=this.viewModel;return e?.loaded&&t?.videoMuted?"sound-off":"sound"}get cameraHeadingThreshold(){return this.viewModel.cameraHeadingThreshold}set cameraHeadingThreshold(e){this.viewModel.cameraHeadingThreshold=e}get cameraPitchThreshold(){return this.viewModel.cameraPitchThreshold}set cameraPitchThreshold(e){this.viewModel.cameraPitchThreshold=e}get canNavigateSequentially(){const{layer:e}=this;if(!e)return!1;const{fields:t,effectiveSequenceOrderField:i}=e;return t.some(({name:e})=>e.toLowerCase()===`${i??"sequenceorder"}`.toLowerCase())}get currentBestFeature(){return this.viewModel.currentBestFeature}set currentBestFeature(e){this.viewModel.currentBestFeature=e}get currentCoverageVisible(){return this.viewModel.currentCoverageVisible}set currentCoverageVisible(e){this.viewModel.currentCoverageVisible=e}get dataCaptureLayer(){return this.viewModel.dataCaptureLayer}set dataCaptureLayer(e){this.viewModel.dataCaptureLayer=e}get depthImageNotSupported(){return this.viewModel.depthImageNotSupported}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get displayMessage(){return this.viewModel.displayMessage}get enhancementToolActive(){return"video"===this.viewModel.mode?this.videoEnhancementToolActive:this.imageEnhancementToolActive}set enhancementToolActive(e){"video"===this.viewModel.mode?this.videoEnhancementToolActive=e:this.imageEnhancementToolActive=e}get features(){return this.viewModel.features}get imagePointsInView(){return this.viewModel.imagePointsInView}get icon(){return"oriented-imagery-widget"}set icon(e){this._overrideIfSome("icon",e)}get imageGalleryEnabled(){return this.viewModel.imageGalleryEnabled}get imageLocationToolActive(){return this.viewModel.imageLocationToolState}set imageLocationToolActive(e){this.viewModel.imageLocationToolState=e}get invalidCameraHeading(){return this.viewModel.invalidCameraHeading}get isAdditionalCoverageVisible(){return this.viewModel.isAdditionalCoverageVisible}set isAdditionalCoverageVisible(e){this.viewModel.isAdditionalCoverageVisible=e}get isAdditionalPointSourcesVisible(){return this.viewModel.isAdditionalPointSourcesVisible}set isAdditionalPointSourcesVisible(e){this.viewModel.isAdditionalPointSourcesVisible=e}get mapImageConversionToolState(){return this.viewModel.mapImageConversionToolState}set mapImageConversionToolState(e){this.viewModel.mapImageConversionToolState=e}get measureType(){return this.viewModel.measureType}set measureType(e){this.viewModel.measureType=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get navigationMode(){return this.viewModel.navigationMode}set navigationMode(e){this.viewModel.navigationMode=e}get popupEnabled(){const{popupEnabled:e,state:t}=this.viewModel;return("image-loaded"===t||this.videoLoaded)&&e}get preloadMedia(){return this.viewModel.preloadMedia}set preloadMedia(e){this.viewModel.preloadMedia=e}get referencePoint(){return this.viewModel.referencePoint??null}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get videoLoaded(){const{mode:e,videoElement:t,panoramicVideoLoaded:i}=this.viewModel;return("video"===e&&!0===t?.loaded||i)??!1}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set determineWorkflowForFeature(e){this.viewModel.determineWorkflowForFeature=e}get determineWorkflowForFeature(){return this.viewModel.determineWorkflowForFeature}get shouldShowSelectedImage(){return this.viewModel.shouldShowSelectedImage}set shouldShowSelectedImage(e){this.viewModel.shouldShowSelectedImage=e}set updateFootprint(e){this.viewModel.updateFootprint=e}get updateFootprint(){return this.viewModel.updateFootprint}get verticalFilterEnabled(){return this.viewModel.verticalFilterEnabled}set verticalFilterEnabled(e){this.viewModel.verticalFilterEnabled=e}_renderActionBar(){const{selectedGroup:e}=this;return ae("calcite-action-bar",{expandDisabled:!0,layout:"horizontal",slot:"action-bar"},!e&&ae("calcite-action-group",null,this._searchGroupToggle(),this._overlaysGroupToggle(),this._navigationGroupToggle(),this._measurementsGroupToggle(),this._utilitiesGroupToggle()),e?ae("calcite-action",{bind:this,icon:"arrow-left",key:"arrow-left",onclick:()=>this._toggleGroupSelection(null),text:this.messages.previous,title:this.messages.previous}):null,"overlays"===e&&ae("calcite-action-group",null,this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle(),this._mapImageConversionToggle(),this._imageOverlaysToggle()),"navigation"===e&&ae("calcite-action-group",null,this._directionToolsToggle(),this._navigationToolToggle(),this._imageGalleryToggle()),"measurements"===e&&ae("calcite-action-group",null,this._measurementToolToggle()),"utilities"===e&&ae("calcite-action-group",null,this._imageEnhancementsToggle(),this._videoEnhancementsToggle(),this._openPopupAction()),"search"===e&&ae("calcite-action-group",null,this._exploreImagesToggle(),this._exploreImages3DToggle(),this._showSelectedImageToggle()))}get _activeMeasurementHeading(){const{measureType:e,messages:t,triangularMeasurementActive:i}=this,{groundArea:a,heightAboveGround:s,groundDistance:o,triangulatedAreaHeading:n,triangulatedDistanceHeading:r}=t;if(i)return"area"===e?n:r;switch(e){case"area":return a;case"height":return s;default:return o}}_additionalFootprintToggle(){const{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:i}}=this;return i?ae("calcite-action",{active:e,bind:this,class:O.addCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleAdditionalCoverage,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints}):null}_additionalPointSourcesToggle(){const{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:i}}=this;return i?ae("calcite-action",{active:e,bind:this,class:O.addExpPoints,disabled:t,icon:"circle-area",onclick:this._toggleAdditionalCameraLocations,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations}):null}get _measurementToggle(){const{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:i},triangularMeasurementActive:a,id:s}=this;if("image-loaded"!==e||!t||a&&!i)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();const o=this._imageMeasurementToolsLoaderTask?.value;return o?ae("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${s}-${t}-measurement`,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearMeasurements},ae(o,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){const{viewModel:{state:e},triangularMeasurementActive:t}=this;return ae("calcite-panel",{bind:this,class:t?O.viewerContainerMeasurement:O.viewerContainer,heading:this.visibleElements.title?this.messages.title:void 0,loading:e.includes("loading")&&!t},this.visibleElements.menu?this._renderActionBar():null,ae("calcite-shell",null,ae("calcite-panel",null,this._imageViewer,this._panoramicViewer,this._panoramicVideoViewer,this._videoViewer,this._messageBox,this.invalidCameraHeading?null:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._imageEnhancementTools,this._videoEnhancementTools,this._renderSketch(),this._navigationUI),this._imageViewerTriangular,this._measurementToggle,this._locationToggle,this.invalidCameraHeading?this._renderWarning(this.messages.invalidCameraHeadingWarningTitle,this.messages.invalidCameraHeadingWarningDescription):null,this.depthImageNotSupported?this._renderWarning(this.messages.depthImageNotSupportedTitle,this.messages.depthImageNotSupportedDescription):null,this.noImageInSequenceError?this._renderWarning(this.messages.sequentialNavigationWarning,this.messages.sequentialNavigationWarning,this._closeImageSequenceAlert):null))}_currentFootprintToggle(){const{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:i}=this.visibleElements;return i?ae("calcite-action",{active:e,bind:this,class:O.currentCoverage,disabled:t,icon:"trapezoid-area",onclick:this._toggleCurrentCoverage,text:this.messages.currentFootprint,title:this.messages.currentFootprint}):null}_exploreImagesToggle(){const{exploreImages:e}=this.messages;return this.visibleElements.exploreImages?ae("calcite-action",{active:!this.disabled,bind:this,icon:"oriented-imagery-widget",onclick:this._toggleExploreImages,text:e,title:e}):null}get _imageEnhancementTools(){const{enhancementToolActive:e,viewModel:{brightness:t,contrast:i,sharpness:a,state:s}}=this;return e&&"image-loaded"===s?ae("calcite-panel",{bind:this,class:O.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleEnhancementToolState},ae("div",{class:O.imageEnhancementTools},K({title:this.messages.brightness,value:t,max:10,min:-10,ticks:5,handleChange:this._handleBrightnessChange}),K({title:this.messages.contrast,value:i,max:10,min:-10,ticks:5,handleChange:this._handleContrastChange}),K({title:this.messages.sharpness,value:a,max:1,min:0,ticks:.5,step:.1,handleChange:this._handleSharpnessChange})),ae("calcite-action",{bind:this,icon:"reset",onclick:this._resetImageTools,slot:"header-actions-end",text:this.messagesCommon.reset,title:this.messagesCommon.reset})):null}get _videoEnhancementTools(){const{enhancementToolActive:e,viewModel:{videoViewModel:t,mode:i},messages:{videoEnhancement:a,brightness:s,contrast:o},messagesCommon:{reset:n}}=this;return e&&"video"===i&&t?ae(Q,{brightness:t.videoBrightness,constrast:t.videoContrast,handleBrightnessChange:this._handleVideoBrightnessChange,handleContrastChange:this._handleVideoContrastChange,resetTools:this._resetVideoTools,uiStrings:{videoEnhancement:a,brightness:s,contrast:o,reset:n},videoEnhancementToolActive:e,onClose:this._toggleEnhancementToolState}):null}_imageEnhancementsToggle(){const{state:e,mode:t}=this.viewModel,{enhancementTool:i}=this.visibleElements;return i&&"video"!==t?ae("calcite-action",{active:this.enhancementToolActive,bind:this,disabled:"default"!==t||"image-loaded"!==e,icon:"sliders-horizontal",onclick:this._toggleEnhancementToolState,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement}):null}_exploreImages3DToggle(){const{exploreImages3D:e}=this.messages,t="3d"!==this.view?.type||!this.layer?.verticalSearchRange;return this.visibleElements.exploreImages3D?ae("calcite-action",{active:this.verticalFilterEnabled,bind:this,disabled:t,icon:"i3d-search",onclick:this._toggleVerticalSearchFilter,text:e,title:e}):null}_showSelectedImageToggle(){const{displayImages:e}=this.messages,t=this.viewModel.mode.includes("video");return this.visibleElements.showSelectedImage?ae("calcite-action",{active:this.shouldShowSelectedImage,bind:this,disabled:t,icon:"show-oriented-imagery",onclick:this._toggleShowSelectedImage,text:e,title:e}):null}_videoEnhancementsToggle(){const{mode:e}=this.viewModel,{videoEnhancement:t}=this.messages,{enhancementTool:i}=this.visibleElements;return i&&"video"===e?ae("calcite-action",{active:this.enhancementToolActive,bind:this,disabled:"video"!==e,icon:"sliders-horizontal",onclick:this._toggleEnhancementToolState,text:t,title:t}):null}get _imageGalleryPanel(){const{container:e,galleryOpened:t,imageGalleryEnabled:i}=this;return i&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){const{galleryOpened:e,invalidCameraHeading:t}=this;return ae("calcite-panel",{bind:this,class:O.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},ae("div",{class:O.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){const{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:i}}=this;return i?ae("calcite-action",{active:this.galleryOpened,bind:this,disabled:!e||t,icon:"images",onclick:this._toggleImageGallery,text:this.messages.imageGallery,title:this.messages.imageGallery}):null}get _imageOverlaysComponent(){const{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:i,dataCaptureEnabled:s,dataCaptureLayer:o,imageOverlaysOpened:n,showCameraLocations:r,showMapFeatures:l,view:c,layer:d}=this;if(!d)return null;const g=d.imageGeometryField?.length?d.imageGeometryField:A,h=d.imageReferenceField?.length?d.imageReferenceField:S;t||(this._imageOverlaysLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/ImageOverlays.js")).default));const m=this._imageOverlaysLoaderTask?.value;return m?ae(m,{closed:!n,dataCaptureEnabled:s,dataCaptureLayer:o,imageGeometryField:g,imageReferenceField:h,messages:e,overlayedLayers:i,showCameraLocations:r,showMapFeatures:l,view:c,onDataCaptureLayerChanged:this._handleDataCaptureLayerChange,onFilterCapturedFeatures:this.viewModel.filterCapturedFeatures,onImageOverlaysClosed:this._onImageOverlayClosed,onLayerDeselected:this._handleOverlayLayerDeselect,onLayerSelected:this._handleOverlayLayerSelect,onShowCameraLocationsChanged:this._onShowCameraLocationsChanged,onShowMapFeaturesChanged:this._onShowMapFeaturesChanged}):null}get _navigationUI(){const{navigationMode:e,viewModel:t}=this,{mode:i,state:a}=t;if(e&&("default"===i||"panoramic"===i)&&"image-loaded"===a)return"directional"===e?"default"===i?ae(R,{cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes,preserveAngle:this.viewModel.preserveAngle}):ae(z,{currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes}):ae(Z,{layout:"horizontal",uiStrings:{end:this.messages.end,next:this.messages.next,previous:this.messages.previous,start:this.messages.start},onNext:this._navigateNext,onPrev:this._navigatePrevious})}get _imageOverlayMessages(){return{...this.messages,...this.messagesSketch}}get _imageSketchToolsMessages(){return{...this.messagesSketch,...this.messagesCommon}}_imageOverlaysPanel(){const{imageOverlaysOpened:e,viewModel:{state:t}}=this,i=this.classes({[O.imageOverlaysContainer]:!0,[ee.hidden]:!e||"image-loaded"!==t});return ae("div",{class:i,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){const{viewModel:{state:e},imageOverlaysOpened:t,invalidCameraHeading:i,visibleElements:{imageOverlays:a}}=this;return a?ae("calcite-action",{active:t,bind:this,disabled:"image-loaded"!==e||i,icon:"layers",onclick:this._toggleImageOverlays,text:this.messages.imageOverlays,title:this.messages.imageOverlays}):null}get _imageViewer(){const{displayMessage:e,loadImageViewer:t,mode:i,clickAction:a,state:s}=this.viewModel,o=null!=e||"default"!==i||s.includes("loading");return ae(W,{afterCreate:t,clickAction:a,visible:!o})}get _imageViewerTriangular(){const{messages:e,triangularMeasurementActive:t}=this,{displayMessage:i,storeImageMeasurementViewer:a,storePanoramicMeasurementViewer:s,mode:o,state:n,clickAction:r}=this.viewModel,l=null!=i||"none"===o||"video"===o,c=this.classes({[O.viewer]:!l,[O.viewerHidden]:l});return t?ae("calcite-panel",{class:O.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:n.includes("loading")},ae("calcite-panel",{bind:this,class:c},"default"===o?ae(W,{afterCreate:a,clickAction:r,uiStrings:e}):ae(M,{afterCreate:s,clickAction:r,uiStrings:e}))):null}_utilitiesGroupToggle(){const{utilityTools:e}=this.messages;return this.visibleElements.utilityTools?ae("calcite-action",{bind:this,icon:"tools",key:"utilities-group-toggle",onclick:()=>this._toggleGroupSelection("utilities"),text:e,title:e}):null}_searchGroupToggle(){const{searchTools:e}=this.messages;return this.visibleElements.searchTools?ae("calcite-action",{bind:this,icon:"search",key:"search-group-toggle",onclick:()=>this._toggleGroupSelection("search"),text:e,title:e}):null}get _videoViewer(){const{mode:e,loadVideoViewer:t,videoViewModel:i}=this.viewModel,{control:a,reset:s}=this.messagesCommon,{mute:o,unmute:n}=this.messages,r="video"!==e,l=this.classes({[O.viewer]:!r,[O.viewerHidden]:r}),c="esri-image-viewer";return ae("calcite-panel",{bind:this,class:l},ae("calcite-panel",{afterCreate:t,class:this.classes(ee.widget,c)}),ae("calcite-slider",{bind:this,labelHandles:!0,labelTicks:!0,max:i?.videoDuration,minLabel:"0",value:i?.currentTime??0,onCalciteSliderChange:this._handleVideoSeek}),ae("calcite-action-bar",{expandDisabled:!0,layout:"horizontal"},ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:this.activeVideoIcon,onclick:()=>i?.playVideoHandler(),text:"Play",title:i?.videoPaused?a.play:a.pause})),ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:"refresh",onclick:()=>i?.rewindVideoHandler(),text:"Rewind",title:s})),ae("calcite-action-group",null,ae("calcite-action",{bind:this,icon:this.activeAudioIcon,onclick:()=>i?.toggleAudio(),text:"Audio",title:i?.videoMuted?o:n}))))}get _locationToggle(){const{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:i,triangulatedPoint:a},imageLocationToolActive:s,triangularMeasurementActive:o,messages:{groundLocation:n,triangulatedLocationHeading:r}}=this;if("image-loaded"!==e||!t||!s)return;let l=t;if(o){if(!a)return;l=a}return ae("calcite-dialog",{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?r:n,id:n,open:!0,placement:"bottom-start",resizable:!0,scale:"s",slot:"dialogs",width:"s",onCalciteDialogBeforeClose:this._clearImageLocation},ae(U,{accuracy:i,groundCoordinates:l,messages:this.messages}))}_mapImageConversionToggle(){const{mapImageConversionToolState:e,viewModel:{state:t,disabled:i},invalidCameraHeading:a,visibleElements:{mapImageConversionTool:s}}=this;return s?ae("calcite-action",{active:e,bind:this,disabled:"image-loaded"!==t||a||i,icon:"image-pin",onclick:this._toggleMapImageConversionToolState,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool}):null}_measurementToolToggle(){const{measureType:e,viewModel:t,accuracyParametersMissing:i,messages:a,triangularMeasurementActive:s}=this,{state:o}=t,{groundDistance:n,groundArea:r,heightAboveGround:l,groundLocation:c,triangulatedDistanceHeading:d,triangulatedAreaHeading:g,triangulatedLocationHeading:h}=a,m="image-loaded"!==o||i;return ae("calcite-action-group",{key:"measurement-tools",scale:"m"},ae("calcite-action",{active:"distance"===e&&!s,bind:this,disabled:m,icon:"measure-line",key:"distance-measurement",onclick:e=>this._toggleMeasurementSketch(e,"distance"),text:n,title:n}),ae("calcite-action",{active:"area"===e&&!s,bind:this,disabled:m,icon:"measure-area",key:"area-measurement",onclick:e=>this._toggleMeasurementSketch(e,"area"),text:r,title:r}),ae("calcite-action",{active:"height"===e,bind:this,disabled:m,icon:"measure-building-height-top-base",key:"height-measurement",onclick:e=>this._toggleMeasurementSketch(e,"height"),text:l,title:l}),ae("calcite-action",{active:!!this.imageLocationToolActive&&!s,bind:this,disabled:m,icon:"pin-tear",key:"surface-location",onclick:this._toggleLocationTool,text:c,title:c}),ae("calcite-action",{active:!!s&&this.imageLocationToolActive,bind:this,disabled:m,icon:"dual-image-location",key:"triangular-location",onclick:this._toggleTriangularLocation,text:h,title:h}),ae("calcite-action",{active:!!s&&"distance"===this.measureType,bind:this,disabled:m,icon:"dual-image-distance",key:"triangular-distance",onclick:this._toggleTriangularDistanceMeasurements,text:d,title:d}),ae("calcite-action",{active:!!s&&"area"===this.measureType,bind:this,disabled:m,icon:"dual-image-area",key:"triangular-area",onclick:this._toggleTriangularAreaMeasurements,text:g,title:g}))}get _messageBox(){const{messages:e,viewModel:{displayMessage:i,mode:a}}=this;if(!i||"video"===a)return null;const{data:s,key:o,map:n}=i,r=`${n?t(e[o],n):e[o]}`;return ae("span",{class:O.messageBox},s?`${r} ${s}`:r)}async _loadNavigationSettings(){return this._navigationSettingsLoaderTask||(this._navigationSettingsLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/NavigationSettings.js")).default)),await this._navigationSettingsLoaderTask.promise}_measurementsGroupToggle(){const{measurementTools:e}=this.messages,{state:t,accuracyParametersMissing:i}=this.viewModel,a="image-loaded"!==t||i;return this.visibleElements.measurementTools?ae("calcite-action",{bind:this,disabled:a,icon:"measure-line",key:"measurements-group-toggle",onclick:()=>this._toggleGroupSelection("measurements"),text:e,title:e}):null}_navigationGroupToggle(){const{imageNavigation:e}=this.messages;return this.visibleElements.imageNavigationTools?ae("calcite-action",{bind:this,icon:"absolute-direction",key:"navigation-group-toggle",onclick:()=>this._toggleGroupSelection("navigation"),text:e,title:e}):null}_navigationToolToggle(){const{state:e}=this.viewModel,{visibleElements:{navigationTool:t},videoLoaded:i}=this;return t?ae("calcite-action",{active:this.navigationToolActive,bind:this,disabled:"image-loaded"!==e&&!i||this.invalidCameraHeading,icon:"explore",onclick:this._toggleNavigationTool,text:this.messages.navigationTool,title:this.messages.navigationTool}):null}_directionToolsToggle(){const{messages:e,viewModel:t,visibleElements:i}=this,{directionalNavigation:a,sequentialNavigation:s}=i,{state:o}=t,{directionalNavigation:n,directionalNavigationDescription:r,sequentialNavigation:l,sequentialNavigationDescription:c}=e;return ae("calcite-action-group",{key:"navigation-tools",scale:"m"},a?ae("calcite-action",{active:"directional"===this.navigationMode,bind:this,disabled:"image-loaded"!==o||this.invalidCameraHeading,icon:"directional-navigation",onclick:()=>{this._toggleImageNavigation("directional")},text:r,title:n}):null,s?ae("calcite-action",{active:"sequential"===this.navigationMode,bind:this,disabled:"image-loaded"!==o||this.invalidCameraHeading||!this.canNavigateSequentially,icon:"sequential-navigation",onclick:()=>{this._toggleImageNavigation("sequential")},text:c,title:l}):null)}_overlaysGroupToggle(){const{overlays:e}=this.messages;return this.visibleElements.overlays?ae("calcite-action",{bind:this,icon:"oriented-imagery-overlays",key:"overlays-group-toggle",onclick:()=>this._toggleGroupSelection("overlays"),text:e,title:e}):null}_openPopupAction(){const{showPopupsAction:e}=this.visibleElements;return e?ae("calcite-action",{bind:this,disabled:!this.popupEnabled,icon:"popup",onclick:this._toggleImageAttributes,text:this.messages.showPopups,title:this.messages.showPopups}):null}get _panoramicVideoViewer(){const{displayMessage:e,loadPanoramicVideoViewer:t,mode:i,clickAction:a,state:s,currentBestFeature:o}=this.viewModel,n=o?.attributes.imagePath,r=null!=e||"panoramic-video"!==i||s.includes("loading")||!n;return ae(T,{afterCreate:t,clickAction:a,oiViewModel:this.viewModel,videoSource:n,visible:!r})}get _panoramicViewer(){const{displayMessage:e,loadPanoramicViewer:t,mode:i,clickAction:a,state:s}=this.viewModel,o=null!=e||"panoramic"!==i||s.includes("loading");return ae(M,{afterCreate:t,clickAction:a,visible:!o})}get noImageInSequenceError(){return this._get("noImageInSequenceError")??!1}_activateTriangulatedImageLocationTool(){this.navigationToolActive=!0,this.imageLocationToolActive=!0}_activateTriangulatedImageLocationWorkflow(e,t){this._closeAllImageTools(),this.imageLocationToolActive=!0,this.triangularMeasurementActive=!e,this.navigationToolActive=!!t||!t}_closeImageToolsAndToggleNavigation(e,t){this._closeAllImageTools(),this.triangularMeasurementActive=!e,this.navigationToolActive=!t}_resetMeasureTypeAndActivateImageLocationTool(){this.measureType=null,this.imageLocationToolActive=!0}_closeAllImageTools(){this.enhancementToolActive=!1,this.navigationToolActive=!1,this.imageOverlaysOpened=!1,this.galleryOpened=!1,this.measureType=null,this.imageLocationToolActive=!1,this.navigationMode=null,this.triangularMeasurementActive=!1,this._settingsToggle&&(this._settingsToggle.expanded=!1,this.viewModel.activeViewer?.ui.remove(this._settingsToggle))}_handleBrightnessChange(e){this.viewModel.brightness=e.currentTarget.value??0}_handleVideoBrightnessChange(e){this.viewModel.videoViewModel?.handleVideoBrightnessChange(e.target.value)}_handleContrastChange(e){this.viewModel.contrast=e.currentTarget.value??0}_handleVideoContrastChange(e){this.viewModel.videoViewModel?.handleVideoContrastChange(e.target.value)}_handleVideoSeek(e){const t=this.viewModel?.videoElement?.content;t&&(t.currentTime=e.target.value,t.play())}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_lazyLoadImage(e,t){e.forEach(async e=>{if(e.isIntersecting){const a=e.target,s=a.getAttribute("data-src"),o=a.getAttribute("data-rotation"),n=a.getAttribute("data-objectid"),c=o?parseFloat(o)%360:0,{layer:d,_galleryController:{signal:g}}=this;if(!s||!n)return;let h;try{h=N(s)?await G(d,n,{signal:g}):await H(s,{signal:g})}catch(i){l(i)||r.getLogger("esri.widgets.OrientedImageryViewer").error("#lazyLoadImage()",i)}finally{t.unobserve(a)}if(!h)return;D(h,a,c)}})}_loadImageFromGallery(e){const{target:t}=e;if(!t)return;const i=t.getAttribute("data-objectid");i&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(i)&&this.viewModel.selectBestFeature(i)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=a(async()=>{const{default:e}=await import("./OrientedImageryViewer/components/ImageMeasurementWidget.js");return e})}_loadSketchResources(){this._sketchLoaderTask=a(async()=>(await import("./OrientedImageryViewer/components/SketchTools.js")).default)}_onAdditionalCoverageVisibilityChange(e){this.viewModel.setAdditionalCoverageVisibility(e)}_onAdditionalCameraLocationsVisibility(e){this.viewModel.setAdditionalCameraLocationsVisibility(e)}_onCurrentCoverageVisibilityChange(e){this.viewModel.setCurrentCoverageVisibility(e)}_registerGalleryItem(e){this._galleryObserver.observe(e)}_renderWarning(e,t,i){const{viewModel:{state:a}}=this;return"image-loaded"===a?ae(q,{icon:"exclamation-mark-triangle-f",kind:"warning",message:t,open:!0,title:e,tooltip:t,topLayerDisabled:this.topLayerDisabled,onClose:i}):null}get _renderNavigation(){const{viewModel:{sectorData:e,navigatorCurrentBestFeature:t,currentBestFeature:a,state:s}}=this;if(!this.container||!a)return null;let o,n,r,l,c;if(t){const{x:e,y:i,direction:a}=t,[s,d,g,h]=f[a];o=`M ${e} ${i} L ${s} ${d} A ${V[2]} ${V[2]} 0 0 1 ${g} ${h} Z`,n=e,l=i,r=f[a][4],c=f[a][5]}const d=e=>{const t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},g=e=>{const t=e.target.dataset;if(!t)return;const{featureIndexInSector:i,sector:a}=t;i&&a&&this.viewModel.handleFeatureClick({sector:a,featureIndexInSector:+i})},h=e=>{e.removeEventListener("click",g)},m=a.attributes.objectId,u=e?.map(e=>e?.items).filter(Boolean).flatMap(e=>e?.map(({x:e,y:t,objectID:i,featureIndexInSector:a,sector:s})=>ae("circle",{afterRemoved:h,class:this.classes(O.feature,{selected:m===i}),cx:e,cy:t,"data-feature-index-in-sector":a,"data-sector":s,key:`${O.feature}-${i}`,onclick:g,r:k}))),v=e=>{e.removeEventListener("click",d)},p=this.classes({[O.navigationWrapper]:!0,[O.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&("image-loaded"===s||this.videoLoaded)?ae("div",{bind:this,class:p,key:this.messages.navigationTool},ae("svg",{afterCreate:e=>this._storeNavigationToolReference(e),class:i()?E:O.rotateWithAnimation,focusable:"false",height:L,role:"img",width:L,xmlns:"http://www.w3.org/2000/svg"},ae("defs",null,ae("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${this.id}-coverage-fill`,x1:n,x2:r,y1:l,y2:c},ae("stop",{class:O.navigationPathOffset0,offset:0}),ae("stop",{class:O.navigationPathOffset1,offset:1}))),ae("g",null,ae("circle",{class:this.classes(O.sector,O.outerSector),cx:V[3],cy:V[3],onclick:this._scaleNavigationTool,r:V[3]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[2]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[1]}),ae("circle",{class:O.sector,cx:V[3],cy:V[3],r:V[0]}),ae("path",{class:O.pointer,d:"M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z",key:`${O.pointer}-west`}),ae("path",{class:this.classes(O.pointer,O.north),d:"M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z",key:`${O.pointer}-north`}),ae("path",{class:O.pointer,d:"M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z",key:`${O.pointer}-east`}),ae("path",{class:O.pointer,d:"M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z",key:`${O.pointer}-south`}),ae("path",{class:this.classes(O.sector,O.sectorSeparator),d:"M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076",key:O.sectorSeparator}),C([V[2],V[1],V[0]],V[3],V[3]).map((t,i)=>ae("path",{afterRemoved:v,class:this.classes(O.sector,e?.[i]?.length?O.sectorEnabled:O.sectorDisabled),d:t,"data-sector":`${i}`,key:`${O.sector}-${i}`,onclick:d})),ae("path",{class:this.classes(O.sector,O.sectorCross),d:"M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53",key:O.sectorCross}),u,a.attributes.cameraPitch>=5&&o?ae("path",{class:O.selectedFeaturePath,d:o,fill:`url(#${this.id}-coverage-fill)`,key:O.selectedFeaturePath}):null))):null}_renderSketch(){const{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t)return null;if(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value)return null;const{geometryType:i}=e,a="point"===i?"pin":"polyline"===i?"line":"polygon",s=this._sketchLoaderTask.value;return ae("div",{class:O.sketchTools},ae(s,{icon:a,messages:this._imageSketchToolsMessages,type:i,onAction:this._onAction}))}get _renderThumbnails(){const{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?ae("div",{class:O.carouselContent},t?.items.map(({url:t,objectId:i,rotation:a},s)=>ae("div",{class:`${O.carouselItemWrapper}${e.attributes.objectId===i?"--selected":""}`,key:`${O.carouselItemWrapper}-${s}`},ae("canvas",{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${i}`,class:O.carouselItem,"data-objectid":`${i}`,"data-rotation":`${a}`,"data-src":t,onclick:this._loadImageFromGallery,onmouseenter:this._highlight,onmouseleave:this._removeHighlight})))):null}_resetImageTools(){this.viewModel.sharpness=this.viewModel.brightness=this.viewModel.contrast=0}_resetVideoTools(){this.viewModel.videoViewModel?.resetVideoEnhancementTools()}_storeNavigationToolReference(e){this._navigationTool=e}_toggleAdditionalCameraLocations(){this.isAdditionalPointSourcesVisible=!this.isAdditionalPointSourcesVisible}_toggleAdditionalCoverage(){this.isAdditionalCoverageVisible=!this.isAdditionalCoverageVisible}_toggleCurrentCoverage(){this.currentCoverageVisible=!this.currentCoverageVisible}_toggleShowSelectedImage(){this.shouldShowSelectedImage=!this.shouldShowSelectedImage,this._toggleDisabledViewer(this.shouldShowSelectedImage)}_toggleVerticalSearchFilter(){this.verticalFilterEnabled=!this.verticalFilterEnabled,this._toggleDisabledViewer(this.verticalFilterEnabled)}_toggleDisabledViewer(e){e&&(this.disabled=!1)}_toggleEnhancementToolState(e){e.stopPropagation();const t=this.enhancementToolActive;this._closeAllImageTools(),this.enhancementToolActive=!t}_toggleExploreImages(){this.disabled=!this.disabled,this.disabled&&(this.shouldShowSelectedImage=!1,this.verticalFilterEnabled=!1)}_toggleGroupSelection(e){this.selectedGroup=e}_toggleImageOverlays(e){e.stopPropagation();const t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();const t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=!!this.imageGalleryEnabled&&!t}_toggleLocationTool(e){const t=this.imageLocationToolActive,i=this.triangularMeasurementActive&&t;this._closeAllImageTools(),this.imageLocationToolActive=i||!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();const i=this.measureType,a=this.triangularMeasurementActive;this._closeAllImageTools(),this.measureType=i!==t||a?t:null,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){const e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements("area")}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements("distance")}_toggleTriangularLocation(){const e=this.triangularMeasurementActive,t=this.navigationToolActive;e?null===this.measureType?this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool():this._resetMeasureTypeAndActivateImageLocationTool():this._activateTriangulatedImageLocationWorkflow(e,t)}_toggleTriangularMeasurements(e){const t=this.triangularMeasurementActive,i=this.viewModel.measureType,a=this.navigationToolActive;t?e===i?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!a):(this.imageLocationToolActive=!1,this.measureType=e):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=!!a||!a)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){const{previousFeatureAngle:t,bestFeatureAngle:i}=this.viewModel,a=(i-t+540)%360-180;e.style.setProperty(F,`${t}deg`),e.style.setProperty(x,`${t+a}deg`)}async loadBestImage(e){return this.viewModel.loadBestImage(e)}loadImageFromSource(e,t,i){return"default"===e?this.viewModel.loadMediaSource(t,i):this.viewModel.loadPanoramicMediaSource(t,i)}async overlayMapFeatures(e,t){return this.removeHandles(`${se.overlayed}-${e.id}`),this.addHandles(c(()=>e.visible,()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible,this.showMapFeatures)}),`${se.overlayed}-${e.id}`),this._overlayedLayers.add(e),this.viewModel.overlayMapFeatures(e,t&&this.showMapFeatures)}async plotMapPoint(e){return this.viewModel.plotMapPoint(e)}plotReferencePointOnGround(e){this.viewModel.plotReferencePointOnGround(e)}plotReferencePointOnImage(e){this.viewModel.plotReferencePointOnImage(e)}removeOverlayedGraphicsOnImage(e){this.removeHandles(`${se.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find(t=>t.id===e)),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return ae("div",{class:this.classes(ee.widget,P)},this._renderRoot)}async showImageByObjectId(e,t){return this.viewModel.showImageByObjectId(e,t)}async startDataCapture(e){return this.viewModel.startDataCapture(e)}async stopDataCapture(e){return this.viewModel.stopDataCapture(e)}updateSuitabilities(e){this.viewModel.updateSuitabilities(e)}};e([p({readOnly:!0})],oe.prototype,"accuracyParametersMissing",null),e([p()],oe.prototype,"activeLayer",null),e([p()],oe.prototype,"activeVideoIcon",null),e([p()],oe.prototype,"activeAudioIcon",null),e([p()],oe.prototype,"cameraHeadingThreshold",null),e([p()],oe.prototype,"cameraPitchThreshold",null),e([p()],oe.prototype,"canNavigateSequentially",null),e([p()],oe.prototype,"currentBestFeature",null),e([p()],oe.prototype,"currentCoverageVisible",null),e([p()],oe.prototype,"dataCaptureEnabled",void 0),e([p()],oe.prototype,"dataCaptureLayer",null),e([p()],oe.prototype,"depthImageNotSupported",null),e([p()],oe.prototype,"disabled",null),e([p()],oe.prototype,"enhancementToolActive",null),e([p()],oe.prototype,"features",null),e([p()],oe.prototype,"imagePointsInView",null),e([p()],oe.prototype,"galleryOpened",void 0),e([p()],oe.prototype,"icon",null),e([p()],oe.prototype,"imageEnhancementToolActive",void 0),e([p()],oe.prototype,"videoEnhancementToolActive",void 0),e([p({readOnly:!0})],oe.prototype,"imageGalleryEnabled",null),e([p()],oe.prototype,"imageLocationToolActive",null),e([p()],oe.prototype,"imageOverlaysOpened",void 0),e([p({readOnly:!0})],oe.prototype,"invalidCameraHeading",null),e([p()],oe.prototype,"isAdditionalCoverageVisible",null),e([p()],oe.prototype,"isAdditionalPointSourcesVisible",null),e([p()],oe.prototype,"mapImageConversionToolState",null),e([p()],oe.prototype,"measureType",null),e([p()],oe.prototype,"layer",null),e([p()],oe.prototype,"navigationToolActive",void 0),e([p()],oe.prototype,"navigationMode",null),e([te(I()),p({type:j})],oe.prototype,"viewModel",void 0),e([p(),ie("esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer")],oe.prototype,"messages",void 0),e([p(),ie("esri/core/t9n/Units")],oe.prototype,"measurementUnitMessages",void 0),e([p(),ie("esri/t9n/common")],oe.prototype,"messagesCommon",void 0),e([p(),ie("esri/widgets/Sketch/t9n/Sketch")],oe.prototype,"messagesSketch",void 0),e([p()],oe.prototype,"pixelMeasurementUnit",void 0),e([p()],oe.prototype,"pixelAreaMeasurementUnit",void 0),e([p({readOnly:!0})],oe.prototype,"popupEnabled",null),e([p()],oe.prototype,"preloadMedia",null),e([p()],oe.prototype,"referencePoint",null),e([p()],oe.prototype,"selectedGroup",void 0),e([p()],oe.prototype,"showCameraLocations",void 0),e([p()],oe.prototype,"showMapFeatures",void 0),e([te(["create","delete","redo","undo","update"]),p({readOnly:!0})],oe.prototype,"sketchViewModel",null),e([p()],oe.prototype,"triangularMeasurementActive",null),e([p()],oe.prototype,"videoLoaded",null),e([p()],oe.prototype,"view",null),e([p({type:$,nonNullable:!0})],oe.prototype,"visibleElements",void 0),e([p()],oe.prototype,"determineWorkflowForFeature",null),e([p()],oe.prototype,"shouldShowSelectedImage",null),e([p()],oe.prototype,"updateFootprint",null),e([p()],oe.prototype,"verticalFilterEnabled",null),e([p()],oe.prototype,"_activeMeasurementHeading",null),e([p()],oe.prototype,"_imageOverlaysLoaderTask",void 0),e([p()],oe.prototype,"_imageMeasurementToolsLoaderTask",void 0),e([p()],oe.prototype,"_navigationSettingsLoaderTask",void 0),e([p()],oe.prototype,"_navigationTask",void 0),e([p()],oe.prototype,"_measurementToggle",null),e([p()],oe.prototype,"_renderRoot",null),e([p()],oe.prototype,"_imageEnhancementTools",null),e([p()],oe.prototype,"_videoEnhancementTools",null),e([p()],oe.prototype,"_imageGalleryPanel",null),e([p()],oe.prototype,"_imageGalleryContext",null),e([p()],oe.prototype,"_imageOverlaysComponent",null),e([p()],oe.prototype,"_navigationUI",null),e([p()],oe.prototype,"_imageOverlayMessages",null),e([p()],oe.prototype,"_imageSketchToolsMessages",null),e([p()],oe.prototype,"_imageViewer",null),e([p()],oe.prototype,"_imageViewerTriangular",null),e([p()],oe.prototype,"_videoViewer",null),e([p()],oe.prototype,"_locationToggle",null),e([p()],oe.prototype,"_messageBox",null),e([p()],oe.prototype,"_navigationToolExpanded",void 0),e([p()],oe.prototype,"_navigationTool",void 0),e([p()],oe.prototype,"_panoramicVideoViewer",null),e([p()],oe.prototype,"_panoramicViewer",null),e([p({readOnly:!0})],oe.prototype,"noImageInSequenceError",null),e([p()],oe.prototype,"_renderNavigation",null),e([p()],oe.prototype,"_renderThumbnails",null),e([p()],oe.prototype,"_sketchLoaderTask",void 0),oe=e([y("esri.widgets.OrientedImageryViewer")],oe);const ne=oe;export{ne as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6667],{4360(t,e,n){n.d(e,{Ft:()=>u,hd:()=>p,q:()=>r});var i=n(36889),s=n(35895);const o="ar,bg,bs,ca,cs,da,de,el,en,es,et,fi,fr,he,hr,hu,id,it,ja,ko,lt,lv,nl,nb,no,pl,pt-BR,pt-PT,ro,ru,sk,sl,sr,sv,th,tr,uk,vi,zh-CN,zh-HK,zh-TW".split(","),a=new Set(o),r="en",c={pt:"pt-PT",nb:"no",nn:"no",zh:"zh-CN"},l={},d=async(t,e)=>{const n=`${e}${t}.json`;try{const t=await fetch(n);if(t.ok)return await t.json()}catch(t){return(0,s.Rm)("error","intl",`An unknown error occurred while fetching localization strings at ${n}`,{detail:{error:t}}),{}}return t===r?{}:await d(r,e)},u=t=>{const e=(0,i.Zj)(t,"lang",globalThis.navigator?.language||r);return{lang:e,t9nLocale:h(e)}},h=t=>{const[e,n]=t.split("-"),i=e.toLowerCase();let s=i;return n&&(s=`${i}-${n.toUpperCase()}`),s=c[s]??s,a.has(s)?s:n?h(i):r},p=(t,e,n,o)=>{let a;const r=()=>v(t,e(),o).then(t=>{a?.lang===t.lang&&a.t9nLocale===t.t9nLocale&&a.t9nStrings===t.t9nStrings||n(t),a=t}).catch(t=>{(0,s.Rm)("error","intl","Error updating component locale state",{detail:{error:t}})});return queueMicrotask(r),(0,i.Yt)(t,["lang"],r)},v=async(t,e,n=t.localName.split("-").slice(1).join("-"))=>{const{lang:i,t9nLocale:s}=u(t),o=`${e}/${n}/t9n`,a=null===n?{}:await(async(t,e,n="")=>{const i=`${e}/${n}`,s=`${i}${t}.json`;return l[s]??(l[s]=d(t,i)),await l[s]})(s,o,"messages.");return{lang:i,t9nLocale:s,t9nStrings:a}}},8545(t,e,n){n.d(e,{u:()=>o});var i=n(81506),s=n(7667);const o=(0,i.yr)(s.g)},21476(t,e,n){n.d(e,{u:()=>a});var i=n(81506),s=n(73476),o=n(54667);const a=()=>(0,i.aK)((t,e)=>{let n;function i(){n?.abort()}return e.onLoad(()=>{t.listen("focus",()=>{n=new AbortController,t.el.addEventListener("focusout",i,{signal:n.signal})})}),e.onDisconnected(()=>{t.el.removeEventListener("focusout",i)}),async(e,a)=>{if(t.disabled)return;const r=function(t){if(t)return function(t){return"target"in t&&("includeContainer"in t||"strategy"in t)}(t)?t:{target:t}}(e());if(!r)return;const{target:c,includeContainer:l,strategy:d}=r,u=(0,o.h)(t.el),h=u.activeElement;return await(0,s.c)(t),h!==u.activeElement||n&&!n?.signal.aborted?void 0:(t.el.removeEventListener("focus",i),(0,o.j)(c,l,d,t.el,a))}})},24110(t,e,n){n.d(e,{u:()=>r});var i=n(81506),s=n(57814),o=n(34857);const a=({children:t,disabled:e})=>o.qy`<div class=${(0,s.CP)("interaction-container")} .inert=${e}>${t}</div>`,r=(0,i.aK)((t,e)=>(e.onUpdated(()=>function(t){if(t.disabled)return t.el.setAttribute("aria-disabled","true"),t.el.contains(document.activeElement)&&document.activeElement.blur(),void function(t){var e;t.el.click=c,(e=t.el).addEventListener("pointerdown",l,h),d.forEach(t=>e.addEventListener(t,u,h))}(t);(function(t){var e;delete t.el.click,(e=t.el).removeEventListener("pointerdown",l,h),d.forEach(t=>e.removeEventListener(t,u,h))})(t),t.el.removeAttribute("aria-disabled")}(t)),a));function c(){const{disabled:t}=this;t||HTMLElement.prototype.click.call(this)}function l(t){t.target.disabled&&t.preventDefault()}const d=["mousedown","mouseup","click"];function u(t){t.target.disabled&&(t.stopImmediatePropagation(),t.preventDefault())}const h={capture:!0}},57073(t,e,n){n.d(e,{H:()=>x,c:()=>f,d:()=>g,f:()=>b,i:()=>y,r:()=>v,s:()=>p});var i=n(34857),s=n(54667);const o=["calcite-input","calcite-input-number","calcite-input-text","calcite-text-area"],a="hidden-form-input";function r(t){return"checked"in t}const c=new WeakMap,l=new WeakSet;function d(t){return"CALCITE-RADIO-BUTTON"===t.nodeName?(0,s.c)(t,"calcite-radio-button-group"):t}const u=new CustomEvent("calciteInvalid",{bubbles:!0,composed:!0});function h(t){const e=t?.target,n=e?.validationMessage,i=d(e?.parentElement);if(!i)return;const s=i?.nodeName?.toLowerCase(),a=s?.split("-");if(a.length<2||"calcite"!==a[0])return;t?.preventDefault(),"validity"in i&&(i.validity=e?.validity),i.dispatchEvent(u),function(t,{status:e,message:n,icon:i}){"status"in t&&(t.status=e),"validationIcon"in t&&"string"!=typeof t.validationIcon&&(t.validationIcon=i),"validationMessage"in t&&!t.validationMessage&&(t.validationMessage=n)}(i,{message:n,icon:!0,status:"invalid"});const r=function(t){return`${t.split("-").map((t,e)=>0===e?t:`${t[0].toUpperCase()}${t.slice(1)}`).join("")}${o.includes(t)?"Input":"Change"}`}(s);i.addEventListener(r,()=>{"status"in i&&(i.status="idle"),!("validationIcon"in i)||i.validationIcon&&!0!==i.validationIcon||(i.validationIcon=!1),"validationMessage"in i&&i.validationMessage===n&&(i.validationMessage=""),"validity"in i&&(i.validity=e?.validity)},{once:!0})}function p(t){const{formEl:e}=t;return!!e&&(e.addEventListener("invalid",h,!0),e.requestSubmit(),e.removeEventListener("invalid",h,!0),requestAnimationFrame(()=>{const t=e.querySelectorAll("[status=invalid]");for(const e of t)if(e?.validationMessage){e?.setFocus();break}}),!0)}function v(t){t.formEl?.reset()}function f(t){const{el:e,value:n}=t,i=b(t);if(!i||function(t,e){if((0,s.c)(e.parentElement,"[form]"))return!0;const n="calciteInternalFormComponentRegister";let i=!1;return t.addEventListener(n,t=>{i=t.composedPath().some(t=>l.has(t)),t.stopPropagation()},{once:!0}),e.dispatchEvent(new CustomEvent(n,{bubbles:!0,composed:!0})),i}(i,e))return;t.formEl=i,t.defaultValue=n,r(t)&&(t.defaultChecked=t.checked);const o=m.bind(t);i.addEventListener("reset",o),c.set(t.el,o),l.add(e)}function b(t){const{el:e,form:n}=t;return n?(0,s.q)(e,{id:n}):(0,s.c)(e,"form")}function m(){"status"in this&&(this.status="idle"),"validationIcon"in this&&(this.validationIcon=!1),"validationMessage"in this&&(this.validationMessage=""),r(this)?this.checked=this.defaultChecked:(this.value=this.defaultValue,this.onFormReset?.())}function g(t){const{el:e,formEl:n}=t;if(!n)return;const i=c.get(e);n.removeEventListener("reset",i),c.delete(e),t.formEl=null,l.delete(e)}const y="calciteInternalHiddenInputInput",E=t=>{t.target.dispatchEvent(new CustomEvent(y,{bubbles:!0}))},w=t=>t.removeEventListener("input",E);function k(t,e,n){const{defaultValue:i,disabled:s,form:o,name:a,required:c}=t;e.defaultValue=i,e.disabled=s,e.name=a,e.required=c,e.tabIndex=-1,o?e.setAttribute("form",o):e.removeAttribute("form"),r(t)?(e.checked=t.checked,e.defaultChecked=t.defaultChecked,e.value=t.checked?n||"on":""):e.value=n||"",t.syncHiddenFormInput?.(e);const l=d(t.el);if(l&&"validity"in l)for(const t in{...e?.validity})l.validity[t]=e.validity[t]}const x=({component:t})=>(function(t){const{el:e,formEl:n,name:s,value:o}=t,{ownerDocument:r}=e;if(i.S$)return;const c=e.querySelectorAll(`input[slot="${a}"]`);if(!n||!s)return void c.forEach(t=>{w(t),t.remove()});const l=Array.isArray(o)?o:[o],d=[],u=new Set;let h;c.forEach(e=>{const n=l.find(t=>t==e.value);null!=n?(u.add(n),k(t,e,n)):d.push(e)}),l.forEach(e=>{if(u.has(e))return;let n=d.pop();n||(n=r.createElement("input"),n.ariaHidden="true",n.slot=a),h||(h=r.createDocumentFragment()),h.append(n),n.addEventListener("input",E),k(t,n,e)}),h&&e.append(h),d.forEach(t=>{w(t),t.remove()})}(t),i.qy`<slot name=${a}></slot>`)},73476(t,e,n){function i(t){return"l"===t?"m":"s"}async function s(t){await t.componentOnReady(),await t.updateComplete}n.d(e,{c:()=>s,g:()=>i}),n(34857)},81506(t,e,n){n.d(e,{Dk:()=>c,aK:()=>l,yr:()=>f,oW:()=>p});var i=n(53660),s=n(99729);var o=n(34857),a=n(4360),r=n(11654);const c=t=>u(void 0,t),l=t=>e=>u(e,t);class d extends i.C{constructor(t,e){super(t);const n=this.exports;try{(0,s.a)(this.component);const t=e(this.component,this),i=this.exports!==n;if((0,s.i)(t)){i||this.setProvisionalExports(t);const e=t.then(t=>{this.exports=t,super.catchUpLifecycle()}).catch(t=>{this.P.reject(t)});this.onLoad(async()=>await e)}else i&&void 0===t||(this.exports=t),queueMicrotask(()=>super.catchUpLifecycle())}catch(t){this.P.reject(t)}}catchUpLifecycle(){}}const u=(h=d,(...t)=>{const e=(0,s.d)(),n=new h(...t),o=n.exports;(0,s.b)(e.at(-1));const a=n.component.manager;a.W(n,o),n.watchExports(a.W.bind(a,n)),(0,s.j)(n);const r=[n.component,...e].reverse();return(0,i.t)(r,t=>void 0===t?void 0:((t,{host:e,key:n,isReactive:i},o)=>{const a=e,r=a[n]!==t.exports,c=a[n]!==o,l=o!==t.exports;if(r&&!c&&l&&(a[n]=t.exports),e===t.component){if(i){const e=t.component.manager;c&&e.W(t,a[n]),t.onUpdate(i=>{if(i.has(n)){const i=a[n];i!==t.exports&&e.W(t,i)}})}t.O=i?void 0:n}const d=t.component.constructor.elementProperties.get(n)?.readOnly;t.watchExports(()=>{a[n]!==t.exports&&(d?(0,s.f)(()=>{a[n]=t.exports}):a[n]=t.exports)})})(n,t,o),o)});var h;const p=(t,e)=>new v(t,e);class v extends i.C{#t;#e;#n;constructor(t,e){super(),o.S$||(this.#e=t,this.#n=e,this.#t=new MutationObserver(n=>{n.forEach(n=>{t.includes(n.attributeName)&&e.call(this.component,this.component.el.getAttribute(n.attributeName),n.oldValue,n.attributeName)})}))}hostConnected(){this.#e.forEach(t=>{this.component.el.hasAttribute(t)&&this.#n.call(this.component,null,this.component.el.getAttribute(t),t)}),this.#t.observe(this.component.el,{attributes:!0,attributeOldValue:!0,attributeFilter:this.#e})}hostDisconnected(){this.#t.disconnect()}}const f=t=>(e={})=>c((n,i)=>{const s=(0,a.Ft)(n.el),o={_lang:s.lang,_t9nLocale:s.t9nLocale,_loading:!0},r=n;i.onLifecycle(()=>(0,a.hd)(n.el,()=>t("./assets"),({t9nLocale:t,t9nStrings:e,lang:s})=>{const o={...e,_lang:s,_t9nLocale:t,_loading:!1};i.exports=o;const a=e.componentLabel;"string"==typeof a&&"label"in n&&null==n.label&&(n.label??=a),c(r.messageOverrides)},e.name));const c=t=>{const e=i.exports,n=e._original??e,s=b(n,t);t&&(s._original=n),i.exports=s};return"messageOverrides"in r&&i.onUpdate(t=>{t.has("messageOverrides")&&c(r.messageOverrides)}),e.blocking?(i.setProvisionalExports(o,!1),i.ready):o}),b=(t,e)=>{if(!e)return t;const n={...t};return Object.entries(e).forEach(([e,i])=>{void 0!==t[e]&&(n[e]="object"==typeof i?b(t[e],i):i??t[e])}),n};s.a,r.b,r.s},95969(t,e,n){var i=n(7667),s=n(34857),o=n(57814),a=n(54667),r=n(96336);const c={trace:0,debug:1,info:2,warn:4,error:8,off:10};const l=t=>function(t,...e){(function(t){return c[t]>=c[(0,i.a)().logLevel]})(t)&&console[t]("%ccalcite","background: #007AC2; color: #fff; border-radius: 4px; padding: 2px 4px;",...e)}("error",t),d="flip-rtl",u="svg",h={},p={},v={s:16,m:24,l:32};function f({icon:t,scale:e}){const n=v[e],i=function(t){const e=!isNaN(Number(t.charAt(0))),n=t.split("-");if(n.length>0){const e=/[a-z]/i;t=n.map((t,n)=>t.replace(e,function(t,e){return 0===n&&0===e?t:t.toUpperCase()})).join("")}return e?`i${t}`:t}(t),s="F"===i.charAt(i.length-1);return`${s?i.substring(0,i.length-1):i}${n}${s?"F":""}`}function b(t){return h[t]}const m=s.AH`:host{display:inline-flex;color:var(--calcite-icon-color, var(--calcite-ui-icon-color, currentColor))}:host([scale=s]){inline-size:16px;block-size:16px;min-inline-size:16px;min-block-size:16px}:host([scale=m]){inline-size:24px;block-size:24px;min-inline-size:24px;min-block-size:24px}:host([scale=l]){inline-size:32px;block-size:32px;min-inline-size:32px;min-block-size:32px}.flip-rtl{transform:scaleX(-1)}.svg{display:block}:host([hidden]){display:none}[hidden]{display:none}`;class g extends o.WF{constructor(){super(...arguments),this.visible=!1,this.flipRtl=!1,this.icon=null,this.preload=!1,this.scale="m"}static{this.properties={pathData:[16,{},{state:!0}],visible:[16,{},{state:!0}],flipRtl:[7,{},{reflect:!0,type:Boolean}],icon:[3,{type:String},{reflect:!0}],preload:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],textLabel:1}}static{this.styles=m}connectedCallback(){if(super.connectedCallback(),this.preload)return this.visible=!0,void this.loadIconPathData();this.visible||this.waitUntilVisible(()=>{this.visible=!0,this.loadIconPathData()})}willUpdate(t){(t.has("icon")&&(this.hasUpdated||null!==this.icon)||t.has("scale")&&(this.hasUpdated||"m"!==this.scale))&&this.loadIconPathData()}disconnectedCallback(){super.disconnectedCallback(),this.intersectionObserver?.disconnect(),this.intersectionObserver=null}async loadIconPathData(){const{icon:t,scale:e,visible:n}=this;if(s.S$||!t||!n)return;const o={icon:t,scale:e},a=b(f(o))||await async function(t){const e=f(t),n=b(e);if(n)return n;p[e]||(p[e]=fetch((0,i.g)(`./assets/icon/${e}.json`)).then(t=>t.json()).catch(()=>(l(`${t.icon} (${t.scale}) icon failed to load`),"")));const s=await p[e];return h[e]=s,s}(o);t===this.icon&&(this.pathData=a)}waitUntilVisible(t){this.intersectionObserver=(0,r.c)("intersection",e=>{e.forEach(e=>{e.isIntersecting&&(this.intersectionObserver.disconnect(),this.intersectionObserver=null,t())})},{rootMargin:"50px"}),this.intersectionObserver?this.intersectionObserver.observe(this.el):t()}render(){const{el:t,flipRtl:e,pathData:n,scale:i,textLabel:r}=this,c=(0,a.g)(t),l=v[i],h=!!r,p=[].concat(n||"");return this.el.ariaHidden=(0,a.t)(!h),this.el.ariaLabel=h?r:null,this.el.role=h?"img":null,s.qy`<svg aria-hidden=true class=${(0,o.CP)({[d]:"rtl"===c&&e,[u]:!0})} fill=currentColor height=100% viewBox=${`0 0 ${l} ${l}`} width=100% xmlns=http://www.w3.org/2000/svg>${p.map(t=>"string"==typeof t?s.JW`<path d=${t??s.s6} />`:s.JW`<path d=${t.d??s.s6} opacity=${("opacity"in t?t.opacity:1)??s.s6} />`)}</svg>`}}(0,i.c)("calcite-icon",g)},96336(t,e,n){n.d(e,{c:()=>s,u:()=>o});var i=n(34857);function s(t,e,n){if(i.S$)return;const s=function(t){class e extends window.MutationObserver{constructor(t){super(t),this.observedEntry=[],this.callback=t}observe(t,e){return this.observedEntry.push({target:t,options:e}),super.observe(t,e)}unobserve(t){const e=this.observedEntry.filter(e=>e.target!==t);this.observedEntry=[],this.callback(super.takeRecords(),this),this.disconnect(),e.forEach(t=>this.observe(t.target,t.options))}}return"intersection"===t?window.IntersectionObserver:"mutation"===t?e:window.ResizeObserver}(t);return new s(e,n)}function o(t,e,n,i){t&&(e&&t.unobserve(e),n&&(t instanceof MutationObserver?t.observe(n,i):t.observe(n)))}}}]);
|