@arcgis/core 5.2.0-next.155 → 5.2.0-next.156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{d994bcf0a65d1c07160f.js → 0320cbd825f9a4222042.js} +1 -1
- package/assets/esri/core/workers/chunks/0590857215c547e63b51.js +1 -0
- package/assets/esri/core/workers/chunks/08fe248e412bb170210d.js +1 -0
- package/assets/esri/core/workers/chunks/0cb50bc2b2125c5fedf2.js +1 -0
- package/assets/esri/core/workers/chunks/1201b8c5852830836eac.js +1 -0
- package/assets/esri/core/workers/chunks/129e04d24ced77c9bb6d.js +1 -0
- package/assets/esri/core/workers/chunks/15e1117a706a98b17ad5.js +1 -0
- package/assets/esri/core/workers/chunks/164e74d586297946a717.js +1 -0
- package/assets/esri/core/workers/chunks/168a523bdc3653081f8a.js +1 -0
- package/assets/esri/core/workers/chunks/{6f4e6022a52de0c54aab.js → 172cfeb5f415e4662432.js} +1 -1
- package/assets/esri/core/workers/chunks/1aa4f5394a596e544aeb.js +1 -0
- package/assets/esri/core/workers/chunks/22b01fe31bbf0bdc48db.js +1 -0
- package/assets/esri/core/workers/chunks/27c2da2e779def2ee08b.js +1 -0
- package/assets/esri/core/workers/chunks/{481589c3eddad6e026ad.js → 369780276b2755361f7d.js} +1 -1
- package/assets/esri/core/workers/chunks/{2a226b69d38c72a47a08.js → 3914d96147642a9d4b01.js} +1 -1
- package/assets/esri/core/workers/chunks/{731018c0deffc41ffc97.js → 3e3e076fa5e8d5d5f33f.js} +1 -1
- package/assets/esri/core/workers/chunks/{96b6ea199ad949fef17c.js → 43cf862577bf37344ff4.js} +1 -1
- package/assets/esri/core/workers/chunks/4932773663469919d10a.js +1 -0
- package/assets/esri/core/workers/chunks/4996869b9cbd8c8ddcfa.js +1 -0
- package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +1 -0
- package/assets/esri/core/workers/chunks/4e4f747de424941a0bfa.js +1 -0
- package/assets/esri/core/workers/chunks/{eb815148ae65388dd733.js → 544070198d2ca556103a.js} +1 -1
- package/assets/esri/core/workers/chunks/5736feefa261589b6273.js +1 -0
- package/assets/esri/core/workers/chunks/{aeaaff7a4b1a99540f52.js → 5cb26bbaa08114aec5ce.js} +1 -1
- package/assets/esri/core/workers/chunks/6f73e41e14817acfaead.js +1 -0
- package/assets/esri/core/workers/chunks/{320e5942a098dd104366.js → 74137ffec5265628c33b.js} +1 -1
- package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +1 -0
- package/assets/esri/core/workers/chunks/{688f2dbf784e66082308.js → 74c866e0b66e61751861.js} +1 -1
- package/assets/esri/core/workers/chunks/7711ae5612f685078fc8.js +1 -0
- package/assets/esri/core/workers/chunks/{5116b569a8dbda4910c8.js → 784a2fba3e18286958d1.js} +1 -1
- package/assets/esri/core/workers/chunks/{f6e62d2d279a328cbed7.js → 7bcedf479b07a4b4a234.js} +1 -1
- package/assets/esri/core/workers/chunks/842893e75696428d536f.js +1 -0
- package/assets/esri/core/workers/chunks/8e19629899a5becf8e19.js +1 -0
- package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +1 -0
- package/assets/esri/core/workers/chunks/{68be3fb88ca61f82fb90.js → 95dbbddac6581b9d671f.js} +1 -1
- package/assets/esri/core/workers/chunks/{900181f68449d8f82eeb.js → aa1ac7954e4f0fefe15b.js} +1 -1
- package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +1 -0
- package/assets/esri/core/workers/chunks/ace2e0a9d9013edd8624.js +1 -0
- package/assets/esri/core/workers/chunks/b1d5d236d5268fcbc74b.js +1 -0
- package/assets/esri/core/workers/chunks/{49ff0985fb307ac193ab.js → b573df59391ca41ee5a7.js} +1 -1
- package/assets/esri/core/workers/chunks/bac8c32665e982896ecc.js +1 -0
- package/assets/esri/core/workers/chunks/{f3da30d7300b92bd8bb0.js → befa32b9e7b3fbdd431e.js} +1 -1
- package/assets/esri/core/workers/chunks/{6c469b43089767176ced.js → c5ed67fdf261cbb1624b.js} +1 -1
- package/assets/esri/core/workers/chunks/d9b1aed88b205689cec6.js +1 -0
- package/assets/esri/core/workers/chunks/{c598b22f78ccc57f9d6d.js → dfd2dc5cdc97ffba8926.js} +1 -1
- package/assets/esri/core/workers/chunks/e1b7806ab3e1967b15f0.js +1 -0
- package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +1 -0
- package/assets/esri/core/workers/chunks/eb2652ec48faa78de3c5.js +1 -0
- package/assets/esri/core/workers/chunks/{c62738f84c914671b143.js → f4a7aa3cdbc0c429c359.js} +1 -1
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +4 -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/config.d.ts +2 -0
- package/config.js +1 -1
- package/core/ObjectPool.js +1 -1
- package/core/PooledArray.js +1 -1
- package/core/accessorSupport/tracking/SimpleTrackingTarget.js +1 -1
- package/geometry/support/buffer/BufferPool.js +1 -1
- package/geometry/support/coordsUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +2 -2
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/CatalogLayer.d.ts +2 -2
- package/layers/CatalogLayer.js +1 -1
- package/layers/DimensionFeatureLayer.d.ts +2 -2
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +2 -2
- package/layers/FeatureLayer.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +2 -2
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
- package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +9 -9
- package/layers/geospatialPDF/GeospatialPDFWorkerClient.js +1 -1
- package/layers/geospatialPDF/LGIDictMapFrame.js +1 -1
- package/layers/geospatialPDF/ViewportMeasureFrame.js +1 -1
- package/layers/geospatialPDF/geospatialPDFParserUtils.js +1 -1
- package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
- package/layers/graphics/sources/parquet/FileProvider.js +1 -1
- package/layers/mixins/{FeatureLayerReload.d.ts → ReloadableLayer.d.ts} +5 -3
- package/layers/mixins/ReloadableLayer.js +2 -0
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/raster/datasets/BaseRaster.js +1 -1
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/ImageAuxRaster.js +1 -1
- package/layers/raster/datasets/ImageServerRaster.js +1 -1
- package/layers/raster/datasets/MRFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/datasets/WCSRaster.js +1 -1
- package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
- package/layers/raster/formats/RasterCodec.js +1 -1
- package/layers/raster/formats/TiffDecoder.js +1 -1
- package/layers/raster/formats/Zlib.js +1 -1
- package/layers/support/RasterWorker.js +1 -1
- package/package.json +2 -2
- package/popup/FeatureModel.js +1 -1
- package/popup/FeaturesModel.js +1 -1
- package/request/process.js +1 -1
- package/request/types.d.ts +7 -0
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/{LineOfSightRootPlugin.js → LineOfSightPlacementRootPlugin.js} +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
- package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
- package/views/3d/support/MemoryController.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/effects/geometry/RenderOccluded.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
- package/widgets/HistogramRangeSlider.d.ts +2 -2
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +2 -2
- package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +5 -2
- package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerCollection.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerCombobox.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerLabel.d.ts +7 -1
- package/widgets/ValuePicker/ValuePickerSlider.d.ts +2 -0
- package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +5 -1
- package/widgets/ValuePicker/types.d.ts +2 -0
- package/assets/esri/core/workers/chunks/03261b9451e293a0fac8.js +0 -1
- package/assets/esri/core/workers/chunks/0ad0484ffcbe4ad21bd3.js +0 -1
- package/assets/esri/core/workers/chunks/19743dedaa40446259ec.js +0 -1
- package/assets/esri/core/workers/chunks/1c65ab9ed611c322ce27.js +0 -1
- package/assets/esri/core/workers/chunks/1f339247b68b061ab0a4.js +0 -1
- package/assets/esri/core/workers/chunks/251921cd10ecfbc89451.js +0 -1
- package/assets/esri/core/workers/chunks/3252b1fae363bb0129a0.js +0 -1
- package/assets/esri/core/workers/chunks/408e81c8f1eff8a7b379.js +0 -1
- package/assets/esri/core/workers/chunks/50036a323c2e7f155311.js +0 -1
- package/assets/esri/core/workers/chunks/55dcbf296d8d0092e473.js +0 -1
- package/assets/esri/core/workers/chunks/59b216b60464611742d4.js +0 -1
- package/assets/esri/core/workers/chunks/5bfea0c55aca826de536.js +0 -1
- package/assets/esri/core/workers/chunks/60d3056a31d982c9cad0.js +0 -1
- package/assets/esri/core/workers/chunks/6558488ea96620439f34.js +0 -1
- package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
- package/assets/esri/core/workers/chunks/6b43bb78f9839ed43135.js +0 -1
- package/assets/esri/core/workers/chunks/6c83398cf586ecea0eb1.js +0 -1
- package/assets/esri/core/workers/chunks/7267b17de212207142c9.js +0 -1
- package/assets/esri/core/workers/chunks/88c74f3316f1fc253207.js +0 -1
- package/assets/esri/core/workers/chunks/912080c90b5cc2e817cf.js +0 -1
- package/assets/esri/core/workers/chunks/a97d85774f9a417202df.js +0 -1
- package/assets/esri/core/workers/chunks/aff32980d91dab07dfb7.js +0 -1
- package/assets/esri/core/workers/chunks/b1b4066e8d1c0c9656e5.js +0 -1
- package/assets/esri/core/workers/chunks/b6ba66a05030d3815dfd.js +0 -1
- package/assets/esri/core/workers/chunks/bbec9d2e3b75a5c59681.js +0 -1
- package/assets/esri/core/workers/chunks/bf69024804ac51c8f733.js +0 -1
- package/assets/esri/core/workers/chunks/c1254cd131a62750ff6f.js +0 -1
- package/assets/esri/core/workers/chunks/d938987344bce83cc660.js +0 -1
- package/assets/esri/core/workers/chunks/db1ab9b9c8bf5c7635d3.js +0 -1
- package/assets/esri/core/workers/chunks/fd9663952d5a94f3a83f.js +0 -1
- package/layers/mixins/FeatureLayerReload.js +0 -2
- /package/views/3d/analysis/LineOfSight/{lineOfSightPlacementUtils.js → placementUtils.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{prefersRTL as t,substitute as n}from"../intl.js";import{prefersReducedMotion as r}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecateWidget as o,deprecatedProperty as s}from"../core/deprecate.js";import c from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{watch as u,initial as d,syncAndInitial as f,on as p,sync as m}from"../core/reactiveUtils.js";import{throttle as h}from"../core/throttle.js";import{property as g,subclass as ee}from"../core/accessorSupport/decorators.js";import{or as te}from"../layers/orientedImagery/transformations/utils.js";import ne from"./Expand.js";import re from"./PanoramicVideoViewer.js";import _ from"./PanoramicViewer.js";import v from"./Widget.js";import{getAllArcPath as y}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as b,defaultImageGeometryField as x,defaultOIObjectIDField as ie,segmentArcs as S,featureCircleRadius as ae,navigationToolDimensionLength as C,sectorsRadii as w}from"./OrientedImageryViewer/constants.js";import{css as T,navigation as oe,navigationToolRotationFrom as E,navigationToolRotationTo as D,root as O}from"./OrientedImageryViewer/css.js";import{isFeatureAttachment as k,loadImageForAttachment as A,getThumbnailPixelBlock as j,renderImageWithRotation as M}from"./OrientedImageryViewer/galleryUtils.js";import N from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import P from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import{loadAlertComponents as F,Alert as I}from"./OrientedImageryViewer/components/Alert.js";import L from"./OrientedImageryViewer/components/ImageLocationWidget.js";import R from"./OrientedImageryViewer/components/ImageViewer.js";import z from"./OrientedImageryViewer/components/NavigationUI.js";import B from"./OrientedImageryViewer/components/NavigationUI360.js";import{loadSequentialNavigationUIComponents as V,SequentialNavigationUI as H}from"./OrientedImageryViewer/components/SequentialNavigationUI.js";import{loadVideoEnhancementComponents as U,renderEnhancementSlider as W,VideoEnhancementTools as G}from"./OrientedImageryViewer/components/VideoEnhancementTools.js";import{NoImageLoadedError as K}from"./OrientedImageryViewer/navigation/errors.js";import{loadCalciteComponents as se}from"./support/componentsUtils.js";import{globalCss as q}from"./support/globalCss.js";import{iconByKind as ce}from"./support/iconUtils.js";import{vmEvent as J,messageBundle as Y,tsx as X}from"./support/widget.js";import{setFocus as Z}from"./support/widgetUtils.js";const Q={overlayed:`overlayed`};let $=class extends v{constructor(e,t){super(e,t),this.actionBarPosition=`top`,this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.videoEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new N,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 P,this._defaultSuperimposeZOffsetPercentage=100,this._panoramicSuperimposeRadiusOffsetPercentage=100,this._exploreImages3DMenuOpen=!1,this._exploreImages3DReferenceElement=null,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._navigationSettingsLoaderTask=null,this._navigationTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.triangularMeasurementActive=!1,this.viewModel.displayNewMeasurementButton=!0,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1,this.triangularMeasurementActive=!1},this._createNavigationTask=async e=>(this._navigationTask?.abort(),this._navigationTask=i(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 a,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=>{let t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{let t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(u(()=>t.visible,()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible,this.showMapFeatures)}),`${Q.overlayed}-${t.id}`)},this._highlight=e=>{let t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{let{target:t}=e,{dataset:{action:n}}=t,{_previousAction:r}=this,i=r?.dataset.action,a=i?.includes(`draw`)??!1,o=i===`select-feature`,s=i!==n;switch(n){case`draw-point`:case`draw-polygon`:case`draw-polyline`:{r&&te(o,a&&s)&&(r.active=!1),t.active=!t.active;let e=n.replace(`draw-`,``);this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case`save`:this.viewModel.saveDrawing();break;case`select-feature`:a&&(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._handleExploreImages3DListChange=e=>{let{currentTarget:t}=e,n=t.selectedItems.map(({value:e})=>e);if(!n.length){let e=[...t.querySelectorAll(`calcite-list-item`)].find(({value:e})=>e===`3d`);e&&(e.selected=!0),this._setExploreImages3DSearchMode(`3d`);return}if(n.length===2){this._setExploreImages3DSearchMode(`both`);return}this._setExploreImages3DSearchMode(n[0])},this._closeExploreImages3DMenu=()=>{this._exploreImages3DMenuOpen=!1},this._settingsToggle=null,this._toggleImageNavigation=async e=>{let t=this.navigationMode;this._closeAllImageTools(),this.navigationMode=t===e?null:e;let{activeViewer:n}=this.viewModel;if(!n)return;let{mode:r,preserveAngle:i}=this.viewModel;if(r==="default"){if(this.navigationMode===`directional`){let e=await this._loadNavigationSettings(),t=i===`heading`||i===`both`,n=i===`pitch`||i===`both`,{messages:r,messagesCommon:a}=this,o=new e({cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,uiStrings:{configureNavigation:r.configureNavigation,preserveHeading:r.preserveHeading,preserveHeadingDescription:r.preserveHeadingDescription,preservePitch:r.preservePitch,preservePitchDescription:r.preservePitchDescription,settings:a.settings,thresholdLabel:r.thresholdLabel},onInputChange:this._handleNavigationSettingsInputChange,onToggle:this._handleNavigationSettingsToggle,preserveHeading:t,preservePitch:n});this._settingsToggle=new ne({content:o,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=h(this.viewModel.toggleImageAttributes.bind(this.viewModel)),this._rootActionTitleToFocus=null,this._actionTitleToFocus=null,this._focusPendingAction=e=>{let t=this._actionTitleToFocus;if(!t)return;let n=[...e.querySelectorAll(`calcite-action`)].find(e=>e.getAttribute(`title`)===t);n&&(this._actionTitleToFocus=null,Z(n))},this.navigate=async e=>{let t=null;try{let{currentNode:n}=this.viewModel;if(!n)throw new K;t=await this.viewModel.navigate(n,e)}catch(e){l(e)||c.getLogger(this).error(`Error occurred while navigating`,e),[`NoImageInSequenceError`,`NoSequenceFoundError`].includes(e.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._handleSuperimposeZOffsetChange=this._handleSuperimposeZOffsetChange.bind(this),this._toggleSuperimposeCameraLock=this._toggleSuperimposeCameraLock.bind(this),this._resetSuperimposeOffset=this._resetSuperimposeOffset.bind(this),this._resetVideoTools=this._resetVideoTools.bind(this),this._toggleEnhancementToolState=this._toggleEnhancementToolState.bind(this),this.announceDeprecation=()=>{o(c.getLogger(this),`Oriented Imagery Viewer`,`arcgis-oriented-imagery-viewer`,{version:`5.0`})}}initialize(){this.addHandles([u(()=>[this.viewModel?.bestFeatureAngle,this._navigationTool],([e,t])=>{t&&this._updateNavigationTool(t)},d),u(()=>this.currentCoverageVisible,e=>this._onCurrentCoverageVisibilityChange(e)),u(()=>this.isAdditionalCoverageVisible,e=>this._onAdditionalCoverageVisibilityChange(e)),u(()=>this.isAdditionalPointSourcesVisible,e=>this._onAdditionalCameraLocationsVisibility(e)),u(()=>this.superimposeViewEnabled,e=>{e?(this._closeAllImageTools(),this.selectedGroup=null,this.shouldShowSelectedImage=!1,this._disableExploreImages3D()):this._resetSuperimposeOffset()}),u(()=>({features:this.currentBestFeature,overlaysEnabled:this._imageOverlaysEnabled,showCameraLocations:this.showCameraLocations}),({overlaysEnabled:e,showCameraLocations:t})=>{e&&this.viewModel.overlayCameraLocations(t)},f),u(()=>({feature:this.currentBestFeature,overlaysEnabled:this._imageOverlaysEnabled,showMapFeatures:this.showMapFeatures}),async(e,t)=>{e.showMapFeatures!==t?.showMapFeatures&&await this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures);let n=e.feature&&e.feature!==t?.feature,r=!e.overlaysEnabled&&!!t?.overlaysEnabled,i=e.overlaysEnabled&&!t?.overlaysEnabled,a=this.viewModel.mode===`video`||this.viewModel.mode===`panoramic-video`;if(r&&a){this.viewModel.removeAllOverlayMapFeatures(),this.viewModel.mode===`video`&&this.viewModel.videoViewModel?.clearOverlayGraphics();return}(n||i)&&(n&&(this._resetSuperimposeOffset(),this.viewModel.removeAllOverlayMapFeatures()),e.overlaysEnabled&&(this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),this.dataCaptureLayer&&(await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null))))},d),p(()=>this.viewModel,`popup-open`,async e=>{await this.view?.openPopup(e)},m),p(()=>this.viewModel,`popup-close`,()=>{this.view?.closePopup()},m),this._toggleImageAttributes])}loadDependencies(){return Promise.all([U(),V(),se({"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`),block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),"list-item":()=>import(`@esri/calcite-components/dist/components/calcite-list-item`),panel:()=>import(`@esri/calcite-components/dist/components/calcite-panel`),popover:()=>import(`@esri/calcite-components/dist/components/calcite-popover`),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`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),"shell-panel":()=>import(`@esri/calcite-components/dist/components/calcite-shell-panel`)}),F()])}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect(),this.currentBestFeature=null}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(c.getLogger(this),`activeLayer`,{replacement:`layer`}),this.layer}set activeLayer(e){s(c.getLogger(this),`activeLayer`,{replacement:`layer`}),this.layer=e}get activeVideoIcon(){let{videoElement:e,videoViewModel:t}=this.viewModel;return!e?.loaded||!t||t.videoPaused?`play`:`pause`}get activeAudioIcon(){let{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(){return!!this.layer?.effectiveSequenceOrderField?.length}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 this.viewModel.mode===`video`?this.videoEnhancementToolActive:this.imageEnhancementToolActive}set enhancementToolActive(e){this.viewModel.mode===`video`?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.setMapImageConversionToolState(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(){let{popupEnabled:e,state:t}=this.viewModel;return(t===`image-loaded`||this.videoLoaded)&&e}get preloadMedia(){return this.viewModel.preloadMedia}set preloadMedia(e){this.viewModel.preloadMedia=e}get referencePoint(){return this.viewModel.referencePoint??null}get selectedFeatureObjectId(){return this.currentBestFeature?.attributes?.objectId??null}get selectedPoint(){return this.viewModel.selectedPoint}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get videoLoaded(){let{mode:e,videoElement:t,panoramicVideoLoaded:n}=this.viewModel;return(e===`video`&&t?.loaded===!0||n)??!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}get superimposeViewEnabled(){return this.viewModel.superimposeViewEnabled}set superimposeViewEnabled(e){this.viewModel.superimposeViewEnabled=e}get defaultSuperimposeCameraLockEnabled(){return this.viewModel.defaultSuperimposeCameraLockEnabled}set defaultSuperimposeCameraLockEnabled(e){this.viewModel.defaultSuperimposeCameraLockEnabled=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}get _exploreImages3DSearchMode(){return this.verticalFilterEnabled&&this.viewModel.frustumSearchEnabled?`both`:this.viewModel.frustumSearchEnabled?`frustum`:`3d`}get _actionBarLayout(){return this.actionBarPosition===`start`||this.actionBarPosition===`end`?`vertical`:`horizontal`}_renderActionBar(){let{selectedGroup:e,superimposeViewEnabled:n}=this,r=this._actionBarLayout;if(n)return X(`calcite-action-bar`,{"data-testid":`action-bar--superimpose`,expandToggleDisabled:!0,layout:r,slot:`action-bar`},X(`calcite-action-group`,{overlayPositioning:`fixed`},this._superimposeViewToggle()));let i=t();return X(`calcite-action-bar`,{afterUpdate:this._focusPendingAction,"data-testid":`action-bar`,expandToggleDisabled:!0,layout:r,slot:`action-bar`},!e&&X(`calcite-action-group`,{key:`main`,overlayPositioning:`fixed`},this._searchGroupToggle(),this._overlaysGroupToggle(),this._navigationGroupToggle(),this._measurementsGroupToggle(),this._utilitiesGroupToggle()),this._renderGroupBackAction(i),e===`overlays`&&X(`calcite-action-group`,{key:`overlays`,overlayPositioning:`fixed`},this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle(),this._mapImageConversionToggle(),this._imageOverlaysToggle()),e===`navigation`?this._directionToolsToggle():null,e===`navigation`&&X(`calcite-action-group`,{key:`context-navigation`,overlayPositioning:`fixed`},this._navigationToolToggle(),this._imageGalleryToggle()),e===`measurements`&&this._measurementToolToggle(),e===`utilities`&&X(`calcite-action-group`,{overlayPositioning:`fixed`},this._imageEnhancementsToggle(),this._videoEnhancementsToggle(),this._superimposeViewToggle(),this._openPopupAction()),e===`search`&&X(`calcite-action-group`,{key:`search`,overlayPositioning:`fixed`},this._exploreImagesToggle(),this._exploreImages3DToggle(),this._showSelectedImageToggle()))}_renderGroupBackAction(e){return this.selectedGroup?X(`calcite-action`,{bind:this,icon:e?`arrow-right`:`arrow-left`,key:`back-arrow`,text:this.messages.previous,title:this.messages.previous,onclick:()=>this._toggleGroupSelection(null)}):null}get _activeMeasurementHeading(){let{measureType:e,messages:t,triangularMeasurementActive:n}=this,{groundArea:r,heightAboveGround:i,groundDistance:a,triangulatedAreaHeading:o,triangulatedDistanceHeading:s}=t;if(n)return e===`area`?o:s;switch(e){case`area`:return r;case`height`:return i;default:return a}}_additionalFootprintToggle(){let{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,class:T.addCoverage,disabled:t,icon:`trapezoid-area`,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints,onclick:this._toggleAdditionalCoverage}):null}_additionalPointSourcesToggle(){let{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,class:T.addExpPoints,disabled:t,icon:`circle-area`,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations,onclick:this._toggleAdditionalCameraLocations}):null}get _measurementToggle(){let{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:n},triangularMeasurementActive:r,id:i}=this;if(e!==`image-loaded`||!t||r&&!n)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();let a=this._imageMeasurementToolsLoaderTask?.value;return a?X(`calcite-dialog`,{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${i}-${t}-measurement`,open:!0,placement:`bottom-start`,resizable:!0,scale:`s`,slot:`dialogs`,width:`s`,onCalciteDialogBeforeClose:this._clearMeasurements},X(a,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){let{viewModel:{state:e},triangularMeasurementActive:t}=this;return X(`calcite-panel`,{bind:this,class:t?T.viewerContainerMeasurement:T.viewerContainer,heading:this.visibleElements.header?this.messages.title:void 0,loading:e.includes(`loading`)&&!t},X(`calcite-shell`,null,this.visibleElements.menu?X(`calcite-shell-panel`,{actionBarPosition:this.actionBarPosition,collapsed:!0,displayMode:`dock`,slot:`panel-${this.actionBarPosition}`},this._renderActionBar()):null,X(`calcite-panel`,null,this._imageViewer,this._panoramicViewer,this._panoramicVideoViewer,this._videoViewer,this._messageBox,this.invalidCameraHeading?null:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._exploreImages3DTools,this._imageEnhancementTools,this._videoEnhancementTools,this._superimposeTools,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(){let{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:n}=this.visibleElements;return n?X(`calcite-action`,{active:e,bind:this,class:T.currentCoverage,disabled:t,icon:`trapezoid-area`,text:this.messages.currentFootprint,title:this.messages.currentFootprint,onclick:this._toggleCurrentCoverage}):null}_exploreImagesToggle(){let{exploreImages:e}=this.messages;return this.visibleElements.exploreImages?X(`calcite-action`,{active:!this.disabled,bind:this,icon:`oriented-imagery-widget`,text:e,title:e,onclick:this._toggleExploreImages}):null}get _imageEnhancementTools(){let{enhancementToolActive:e,viewModel:{brightness:t,contrast:n,sharpness:r,state:i}}=this;return e&&i===`image-loaded`?X(`calcite-panel`,{bind:this,class:T.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleEnhancementToolState},X(`div`,{class:T.imageEnhancementTools},W({title:this.messages.brightness,value:t,handleChange:this._handleBrightnessChange}),W({title:this.messages.contrast,value:n,handleChange:this._handleContrastChange}),W({title:this.messages.sharpness,value:r,max:1,min:0,ticks:.5,step:.1,handleChange:this._handleSharpnessChange})),X(`calcite-action`,{bind:this,icon:`reset`,slot:`header-actions-end`,text:this.messagesCommon.reset,title:this.messagesCommon.reset,onclick:this._resetImageTools})):null}get _videoEnhancementTools(){let{enhancementToolActive:e,viewModel:{videoViewModel:t,mode:n},messages:{videoEnhancement:r,brightness:i,contrast:a},messagesCommon:{reset:o}}=this;return!e||n!==`video`||!t?null:X(G,{brightness:t.videoBrightness,contrast:t.videoContrast,handleBrightnessChange:this._handleVideoBrightnessChange,handleContrastChange:this._handleVideoContrastChange,resetTools:this._resetVideoTools,uiStrings:{videoEnhancement:r,brightness:i,contrast:a,reset:o},videoEnhancementToolActive:e,onClose:this._toggleEnhancementToolState})}get _superimposeTools(){let{superimposeViewEnabled:e,view:t,viewModel:{state:n,mode:r},messages:{superimposeSettings:i,superimposeSliderTitle:a,superimposeSliderTooltip:o}}=this,s=r===`panoramic`;return!e||t?.type!==`3d`||n!==`image-loaded`?null:X(`calcite-panel`,{bind:this,class:this.classes(T.imageEnhancementWrapper,T.superimposeTools),heading:i,key:`superimpose-settings`},X(`div`,{class:T.imageEnhancementTools},W({title:a,tooltip:o,value:s?this._panoramicSuperimposeRadiusOffsetPercentage:this._defaultSuperimposeZOffsetPercentage,max:100,min:0,ticks:10,step:1,handleChange:this._handleSuperimposeZOffsetChange})),X(`calcite-action`,{bind:this,icon:`reset`,slot:`header-actions-end`,text:this.messagesCommon.reset,title:this.messagesCommon.reset,onclick:this._resetSuperimposeOffset}))}_imageEnhancementsToggle(){let{state:e,mode:t}=this.viewModel,{enhancementTool:n}=this.visibleElements;return!n||t===`video`?null:X(`calcite-action`,{active:this.enhancementToolActive,bind:this,disabled:t!=="default"||e!==`image-loaded`,icon:`sliders-horizontal`,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement,onclick:this._toggleEnhancementToolState})}_exploreImages3DToggle(){let{exploreImages3D:e}=this.messages,t=this.view?.type!==`3d`||!this.layer?.hasZ;return this.visibleElements.exploreImages3D?X(`calcite-action`,{active:this._isExploreImages3DEnabled,afterCreate:e=>{this._exploreImages3DReferenceElement=e},bind:this,disabled:t,icon:`3d-search`,text:e,title:e,onclick:this._toggleExploreImages3DMenu}):null}get _exploreImages3DTools(){let{frustumRange:e,search3DFilters:t,verticalRange:n}=this.messages,r=this._exploreImages3DSearchMode;return!this.visibleElements.exploreImages3D||!this._exploreImages3DReferenceElement?null:X(`calcite-popover`,{closable:!0,heading:t,key:`explore-images-3d-tools`,label:t,open:this._exploreImages3DMenuOpen,overlayPositioning:`fixed`,placement:`bottom-start`,referenceElement:this._exploreImages3DReferenceElement,scale:`s`,onCalcitePopoverClose:this._closeExploreImages3DMenu},X(`calcite-list`,{label:t,scale:`s`,selectionMode:`multiple`,onCalciteListChange:this._handleExploreImages3DListChange},X(`calcite-list-item`,{label:n,selected:r===`3d`||r===`both`,value:`3d`}),X(`calcite-list-item`,{label:e,selected:r===`frustum`||r===`both`,value:`frustum`})))}_showSelectedImageToggle(){let{displayImages:e}=this.messages,t=this.viewModel.mode.includes(`video`);return this.visibleElements.showSelectedImage?X(`calcite-action`,{active:this.shouldShowSelectedImage,bind:this,disabled:t,icon:`show-oriented-imagery`,text:e,title:e,onclick:this._toggleShowSelectedImage}):null}_superimposeViewToggle(){let{superimposeView:e}=this.messages,{mode:t,accuracyParametersMissing:n}=this.viewModel,r=!this.superimposeViewEnabled&&(this.view?.type!==`3d`||t.includes(`video`)||n);return this.visibleElements.superimpose?X(`calcite-action`,{active:this.superimposeViewEnabled,bind:this,disabled:r,icon:`superimpose`,text:e,title:e,onclick:this._toggleSuperimposeView}):null}_videoEnhancementsToggle(){let{mode:e}=this.viewModel,{videoEnhancement:t}=this.messages,{enhancementTool:n}=this.visibleElements;return!n||e!==`video`?null:X(`calcite-action`,{active:this.enhancementToolActive,bind:this,disabled:e!==`video`,icon:`sliders-horizontal`,text:t,title:t,onclick:this._toggleEnhancementToolState})}get _imageGalleryPanel(){let{container:e,galleryOpened:t,imageGalleryEnabled:n}=this;return n&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){let{galleryOpened:e,invalidCameraHeading:t}=this;return X(`calcite-panel`,{bind:this,class:T.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},X(`div`,{class:T.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){let{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:n}}=this;return n?X(`calcite-action`,{active:this.galleryOpened,bind:this,disabled:!e||t,icon:`images`,text:this.messages.imageGallery,title:this.messages.imageGallery,onclick:this._toggleImageGallery}):null}get _imageOverlaysComponent(){let{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:n,dataCaptureEnabled:r,dataCaptureLayer:a,imageOverlaysOpened:o,showCameraLocations:s,showMapFeatures:c,view:l,layer:u}=this,d=r&&!this.viewModel.mode.includes(`video`);if(!u)return null;let f=u.imageGeometryField?.length?u.imageGeometryField:x,p=u.imageReferenceField?.length?u.imageReferenceField:ie;t||(this._imageOverlaysLoaderTask=i(async()=>(await import(`./OrientedImageryViewer/components/ImageOverlays.js`)).default));let m=this._imageOverlaysLoaderTask?.value;return m?X(m,{closed:!o,dataCaptureEnabled:d,dataCaptureLayer:a,imageGeometryField:f,imageReferenceField:p,messages:e,overlayedLayers:n,showCameraLocations:s,showMapFeatures:c,view:l,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(){let{navigationMode:e,viewModel:t}=this,{mode:n,state:r}=t;if(!(!e||n!=="default"&&n!==`panoramic`||r!==`image-loaded`))return e===`directional`?n==="default"?X(z,{cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes,preserveAngle:this.viewModel.preserveAngle}):X(B,{currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes}):X(H,{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.messagesCommon,...this.messagesSketch}}_imageOverlaysPanel(){let{imageOverlaysOpened:e}=this,t=this.classes({[T.imageOverlaysContainer]:!0,[q.hidden]:!e||!this._imageOverlaysEnabled});return X(`div`,{class:t,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){let{imageOverlaysOpened:e,invalidCameraHeading:t,visibleElements:{imageOverlays:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,disabled:!this._imageOverlaysEnabled||t,icon:`layers`,text:this.messages.imageOverlays,title:this.messages.imageOverlays,onclick:this._toggleImageOverlays}):null}get _imageOverlaysEnabled(){return this.viewModel.overlayGraphicsEnabled}get _imageViewer(){let{displayMessage:e,loadImageViewer:t,mode:n,clickAction:r,state:i}=this.viewModel,a=e!=null||n!=="default"||i.includes(`loading`);return X(R,{afterCreate:t,clickAction:r,visible:!a})}get _imageViewerTriangular(){let{messages:e,triangularMeasurementActive:t}=this,{displayMessage:n,storeImageMeasurementViewer:r,storePanoramicMeasurementViewer:i,mode:a,state:o,clickAction:s}=this.viewModel,c=n!=null||a===`none`||a===`video`,l=this.classes({[T.viewer]:!c,[T.viewerHidden]:c});return t?X(`calcite-panel`,{class:T.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:o.includes(`loading`)},X(`calcite-panel`,{bind:this,class:l},a==="default"?X(R,{afterCreate:r,clickAction:s,uiStrings:e}):X(_,{afterCreate:i,clickAction:s,uiStrings:e}))):null}_utilitiesGroupToggle(){let{utilityTools:e}=this.messages;return this.visibleElements.utilityTools?X(`calcite-action`,{bind:this,icon:`tools`,key:`utilities-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`utilities`,e)}):null}_searchGroupToggle(){let{searchTools:e}=this.messages;return this.visibleElements.searchTools?X(`calcite-action`,{bind:this,icon:`search`,key:`search-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`search`,e)}):null}get _videoViewer(){let{mode:e,loadVideoViewer:t,videoViewModel:n}=this.viewModel,{control:r,reset:i}=this.messagesCommon,{mute:a,unmute:o}=this.messages,s=e!==`video`,c=this.classes({[T.viewer]:!s,[T.viewerHidden]:s}),l=`esri-image-viewer`,u=`${l}__slider-container`;return X(`calcite-panel`,{bind:this,class:c},X(`calcite-panel`,{afterCreate:t,class:this.classes(q.widget,l)}),X(`calcite-block`,{class:u,expanded:!0},X(`calcite-slider`,{bind:this,labelHandles:!0,labelTicks:!0,max:n?.videoDuration,minLabel:`0`,value:n?.currentTime??0,onCalciteSliderChange:this._handleVideoSeek})),X(`calcite-action-bar`,{"data-testid":`action-bar--video-controls`,expandToggleDisabled:!0,layout:`horizontal`},X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:this.activeVideoIcon,text:`Play`,title:n?.videoPaused?r.play:r.pause,onclick:()=>n?.playVideoHandler()})),X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:`refresh`,text:`Rewind`,title:i,onclick:()=>n?.rewindVideoHandler()})),X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:this.activeAudioIcon,text:`Audio`,title:n?.videoMuted?a:o,onclick:()=>n?.toggleAudio()}))))}get _locationToggle(){let{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:n,groundCoordinatesAccuracyLoading:r,triangulatedPoint:i},imageLocationToolActive:a,triangularMeasurementActive:o,messages:{groundLocation:s,triangulatedLocationHeading:c}}=this;if(e!==`image-loaded`||!t||!a)return;let l=t;if(o){if(!i)return;l=i}return X(`calcite-dialog`,{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?c:s,id:s,open:!0,placement:`bottom-start`,resizable:!0,scale:`s`,slot:`dialogs`,width:`s`,onCalciteDialogBeforeClose:this._clearImageLocation},X(L,{accuracy:n,accuracyLoading:r,groundCoordinates:l,messages:this.messages}))}_mapImageConversionToggle(){let{mapImageConversionToolState:e,viewModel:{state:t,disabled:n},videoLoaded:r,invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this,o=!!(this.viewModel.mode===`video`&&r&&this.viewModel.videoViewModel?.videoPaused),s=this.viewModel.mode===`panoramic-video`&&this.viewModel.panoramicVideoLoaded&&this.viewModel.panoramicVideoPaused,c=t!==`image-loaded`&&!o&&!s||i||n;return a?X(`calcite-action`,{active:e,bind:this,disabled:c,icon:`image-pin`,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool,onclick:this._toggleMapImageConversionToolState}):null}_measurementToolToggle(){let{measureType:e,viewModel:t,accuracyParametersMissing:n,messages:r,triangularMeasurementActive:i}=this,{state:a}=t,{groundDistance:o,groundArea:s,heightAboveGround:c,groundLocation:l,triangulatedDistanceHeading:u,triangulatedAreaHeading:d,triangulatedLocationHeading:f}=r,p=a!==`image-loaded`||n,m=this._actionBarLayout;return X(`calcite-action-group`,{key:`measurement-tools`,layout:m,overlayPositioning:`fixed`,scale:`m`},X(`calcite-action`,{active:e===`distance`&&!i,bind:this,disabled:p,icon:`measure-line`,key:`distance-measurement`,text:o,title:o,onclick:e=>this._toggleMeasurementSketch(e,`distance`)}),X(`calcite-action`,{active:e===`area`&&!i,bind:this,disabled:p,icon:`measure-area`,key:`area-measurement`,text:s,title:s,onclick:e=>this._toggleMeasurementSketch(e,`area`)}),X(`calcite-action`,{active:e===`height`,bind:this,disabled:p,icon:`measure-building-height-top-base`,key:`height-measurement`,text:c,title:c,onclick:e=>this._toggleMeasurementSketch(e,`height`)}),X(`calcite-action`,{active:this.imageLocationToolActive?!i:!1,bind:this,disabled:p,icon:`pin-tear`,key:`surface-location`,text:l,title:l,onclick:this._toggleLocationTool}),X(`calcite-action`,{active:i?this.imageLocationToolActive:!1,bind:this,disabled:p,icon:`dual-image-location`,key:`triangular-location`,text:f,title:f,onclick:this._toggleTriangularLocation}),X(`calcite-action`,{active:i?this.measureType===`distance`:!1,bind:this,disabled:p,icon:`dual-image-distance`,key:`triangular-distance`,text:u,title:u,onclick:this._toggleTriangularDistanceMeasurements}),X(`calcite-action`,{active:i?this.measureType===`area`:!1,bind:this,disabled:p,icon:`dual-image-area`,key:`triangular-area`,text:d,title:d,onclick:this._toggleTriangularAreaMeasurements}))}get _messageBox(){let{messages:e,viewModel:{displayMessage:t,mode:r}}=this;if(!t||r===`video`)return null;let{key:i,map:a,type:o}=t,s=`${a?n(e[i],a):e[i]}`,c=o===`error`?`danger`:o===`warn`?`warning`:`info`;return X(`calcite-notice`,{appearance:`transparent`,class:T.notice,icon:ce[c],kind:c,open:!0},X(`div`,{slot:`message`},s))}async _loadNavigationSettings(){return this._navigationSettingsLoaderTask||=i(async()=>(await import(`./OrientedImageryViewer/components/NavigationSettings.js`)).default),await this._navigationSettingsLoaderTask.promise}_measurementsGroupToggle(){let{measurementTools:e}=this.messages,{state:t,accuracyParametersMissing:n}=this.viewModel,r=t!==`image-loaded`||n;return this.visibleElements.measurementTools?X(`calcite-action`,{bind:this,disabled:r,icon:`measure-line`,key:`measurements-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`measurements`,e)}):null}_navigationGroupToggle(){let{imageNavigation:e}=this.messages;return this.visibleElements.imageNavigationTools?X(`calcite-action`,{bind:this,icon:`absolute-direction`,key:`navigation-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`navigation`,e)}):null}_navigationToolToggle(){let{state:e}=this.viewModel,{visibleElements:{navigationTool:t},videoLoaded:n}=this;return t?X(`calcite-action`,{active:this.navigationToolActive,bind:this,disabled:e!==`image-loaded`&&!n||this.invalidCameraHeading,icon:`explore`,text:this.messages.navigationTool,title:this.messages.navigationTool,onclick:this._toggleNavigationTool}):null}_directionToolsToggle(){let{messages:e,viewModel:t,visibleElements:n}=this,{directionalNavigation:r,sequentialNavigation:i}=n,{state:a}=t,{directionalNavigation:o,directionalNavigationDescription:s,sequentialNavigation:c,sequentialNavigationDescription:l}=e,u=this._actionBarLayout;return X(`calcite-action-group`,{key:`navigation-tools`,layout:u,overlayPositioning:`fixed`,scale:`m`},r?X(`calcite-action`,{active:this.navigationMode===`directional`,bind:this,disabled:a!==`image-loaded`||this.invalidCameraHeading,icon:`directional-navigation`,text:o,title:o+`
|
|
2
|
+
import{__decorate as e}from"tslib";import{prefersRTL as t,substitute as n}from"../intl.js";import{prefersReducedMotion as r}from"../core/a11yUtils.js";import{createTask as i}from"../core/asyncUtils.js";import a from"../core/Collection.js";import{deprecateWidget as o,deprecatedProperty as s}from"../core/deprecate.js";import c from"../core/Logger.js";import{isAbortError as l}from"../core/promiseUtils.js";import{watch as u,initial as d,syncAndInitial as f,on as p,sync as m}from"../core/reactiveUtils.js";import{throttle as h}from"../core/throttle.js";import{property as g,subclass as ee}from"../core/accessorSupport/decorators.js";import{or as te}from"../layers/orientedImagery/transformations/utils.js";import ne from"./Expand.js";import re from"./PanoramicVideoViewer.js";import _ from"./PanoramicViewer.js";import v from"./Widget.js";import{getAllArcPath as y}from"./OrientedImageryViewer/arcUtils.js";import{getDelegatedEvents as b,defaultImageGeometryField as x,defaultOIObjectIDField as ie,segmentArcs as S,featureCircleRadius as ae,navigationToolDimensionLength as C,sectorsRadii as w}from"./OrientedImageryViewer/constants.js";import{css as T,navigation as oe,navigationToolRotationFrom as E,navigationToolRotationTo as D,root as O}from"./OrientedImageryViewer/css.js";import{isFeatureAttachment as k,loadImageForAttachment as A,getThumbnailPixelBlock as j,renderImageWithRotation as M}from"./OrientedImageryViewer/galleryUtils.js";import N from"./OrientedImageryViewer/OrientedImageryViewerViewModel.js";import P from"./OrientedImageryViewer/OrientedImageryViewerVisibleElements.js";import{loadAlertComponents as F,Alert as I}from"./OrientedImageryViewer/components/Alert.js";import L from"./OrientedImageryViewer/components/ImageLocationWidget.js";import R from"./OrientedImageryViewer/components/ImageViewer.js";import z from"./OrientedImageryViewer/components/NavigationUI.js";import B from"./OrientedImageryViewer/components/NavigationUI360.js";import{loadSequentialNavigationUIComponents as V,SequentialNavigationUI as H}from"./OrientedImageryViewer/components/SequentialNavigationUI.js";import{loadVideoEnhancementComponents as U,renderEnhancementSlider as W,VideoEnhancementTools as G}from"./OrientedImageryViewer/components/VideoEnhancementTools.js";import{NoImageLoadedError as K}from"./OrientedImageryViewer/navigation/errors.js";import{loadCalciteComponents as se}from"./support/componentsUtils.js";import{globalCss as q}from"./support/globalCss.js";import{iconByKind as ce}from"./support/iconUtils.js";import{vmEvent as J,messageBundle as Y,tsx as X}from"./support/widget.js";import{setFocus as Z}from"./support/widgetUtils.js";const Q={overlayed:`overlayed`};let $=class extends v{constructor(e,t){super(e,t),this.actionBarPosition=`top`,this.dataCaptureEnabled=!1,this.galleryOpened=!1,this.imageEnhancementToolActive=!1,this.videoEnhancementToolActive=!1,this.imageOverlaysOpened=!1,this.navigationToolActive=!1,this.viewModel=new N,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 P,this._defaultSuperimposeZOffsetPercentage=100,this._panoramicSuperimposeRadiusOffsetPercentage=100,this._exploreImages3DMenuOpen=!1,this._exploreImages3DCollapsed=!1,this._imageOverlaysLoaderTask=null,this._imageMeasurementToolsLoaderTask=null,this._navigationSettingsLoaderTask=null,this._navigationTask=null,this._clearMeasurements=()=>{this.viewModel.measureType=null,this.viewModel.triangularMeasurementActive=!1,this.viewModel.displayNewMeasurementButton=!0,this.viewModel.clearPreviousMeasurements()},this._clearImageLocation=()=>{this.imageLocationToolActive=!1,this.triangularMeasurementActive=!1},this._createNavigationTask=async e=>(this._navigationTask?.abort(),this._navigationTask=i(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 a,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=>{let t=e.layer;t===this.dataCaptureLayer&&(this.stopDataCapture(),this.dataCaptureLayer=null),this.removeOverlayedGraphicsOnImage(`${t.id}`)},this._handleOverlayLayerSelect=e=>{let t=e.layer;this.viewModel.overlayMapFeatures(t,this.showMapFeatures),this.addHandles(u(()=>t.visible,()=>{this.viewModel.toggleOverlayMapFeatures(t.id,t.visible,this.showMapFeatures)}),`${Q.overlayed}-${t.id}`)},this._highlight=e=>{let t=e.target?.dataset.objectid;t&&this.viewModel.highlight(t)},this._onAction=e=>{let{target:t}=e,{dataset:{action:n}}=t,{_previousAction:r}=this,i=r?.dataset.action,a=i?.includes(`draw`)??!1,o=i===`select-feature`,s=i!==n;switch(n){case`draw-point`:case`draw-polygon`:case`draw-polyline`:{r&&te(o,a&&s)&&(r.active=!1),t.active=!t.active;let e=n.replace(`draw-`,``);this.viewModel.digitizeCreate(e),this._previousAction=t.active?t:null;break}case`save`:this.viewModel.saveDrawing();break;case`select-feature`:a&&(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._toggleExploreImages3DPanel=e=>{this._exploreImages3DCollapsed=e.target.collapsed},this._settingsToggle=null,this._toggleImageNavigation=async e=>{let t=this.navigationMode;this._closeAllImageTools(),this.navigationMode=t===e?null:e;let{activeViewer:n}=this.viewModel;if(!n)return;let{mode:r,preserveAngle:i}=this.viewModel;if(r==="default"){if(this.navigationMode===`directional`){let e=await this._loadNavigationSettings(),t=i===`heading`||i===`both`,n=i===`pitch`||i===`both`,{messages:r,messagesCommon:a}=this,o=new e({cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,uiStrings:{configureNavigation:r.configureNavigation,preserveHeading:r.preserveHeading,preserveHeadingDescription:r.preserveHeadingDescription,preservePitch:r.preservePitch,preservePitchDescription:r.preservePitchDescription,settings:a.settings,thresholdLabel:r.thresholdLabel},onInputChange:this._handleNavigationSettingsInputChange,onToggle:this._handleNavigationSettingsToggle,preserveHeading:t,preservePitch:n});this._settingsToggle=new ne({content:o,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=h(this.viewModel.toggleImageAttributes.bind(this.viewModel)),this._rootActionTitleToFocus=null,this._actionTitleToFocus=null,this._focusPendingAction=e=>{let t=this._actionTitleToFocus;if(!t)return;let n=[...e.querySelectorAll(`calcite-action`)].find(e=>e.getAttribute(`title`)===t);n&&(this._actionTitleToFocus=null,Z(n))},this.navigate=async e=>{let t=null;try{let{currentNode:n}=this.viewModel;if(!n)throw new K;t=await this.viewModel.navigate(n,e)}catch(e){l(e)||c.getLogger(this).error(`Error occurred while navigating`,e),[`NoImageInSequenceError`,`NoSequenceFoundError`].includes(e.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._handleSuperimposeZOffsetChange=this._handleSuperimposeZOffsetChange.bind(this),this._toggleSuperimposeCameraLock=this._toggleSuperimposeCameraLock.bind(this),this._resetSuperimposeOffset=this._resetSuperimposeOffset.bind(this),this._resetVideoTools=this._resetVideoTools.bind(this),this._toggleEnhancementToolState=this._toggleEnhancementToolState.bind(this),this.announceDeprecation=()=>{o(c.getLogger(this),`Oriented Imagery Viewer`,`arcgis-oriented-imagery-viewer`,{version:`5.0`})}}initialize(){this.addHandles([u(()=>[this.viewModel?.bestFeatureAngle,this._navigationTool],([e,t])=>{t&&this._updateNavigationTool(t)},d),u(()=>this.currentCoverageVisible,e=>this._onCurrentCoverageVisibilityChange(e)),u(()=>this.isAdditionalCoverageVisible,e=>this._onAdditionalCoverageVisibilityChange(e)),u(()=>this.isAdditionalPointSourcesVisible,e=>this._onAdditionalCameraLocationsVisibility(e)),u(()=>this.superimposeViewEnabled,e=>{e?(this._closeAllImageTools(),this.selectedGroup=null,this.shouldShowSelectedImage=!1,this._disableExploreImages3D()):this._resetSuperimposeOffset()}),u(()=>({features:this.currentBestFeature,overlaysEnabled:this._imageOverlaysEnabled,showCameraLocations:this.showCameraLocations}),({overlaysEnabled:e,showCameraLocations:t})=>{e&&this.viewModel.overlayCameraLocations(t)},f),u(()=>({feature:this.currentBestFeature,overlaysEnabled:this._imageOverlaysEnabled,showMapFeatures:this.showMapFeatures}),async(e,t)=>{e.showMapFeatures!==t?.showMapFeatures&&await this.viewModel.toggleAllOverlayMapFeatures(e.showMapFeatures);let n=e.feature&&e.feature!==t?.feature,r=!e.overlaysEnabled&&!!t?.overlaysEnabled,i=e.overlaysEnabled&&!t?.overlaysEnabled,a=this.viewModel.mode===`video`||this.viewModel.mode===`panoramic-video`;if(r&&a){this.viewModel.removeAllOverlayMapFeatures(),this.viewModel.mode===`video`&&this.viewModel.videoViewModel?.clearOverlayGraphics();return}(n||i)&&(n&&(this._resetSuperimposeOffset(),this.viewModel.removeAllOverlayMapFeatures()),e.overlaysEnabled&&(this.dataCaptureLayer&&this.stopDataCapture(),await this._restoreOverlays(),this.dataCaptureLayer&&(await this.startDataCapture(this.dataCaptureLayer),this._previousAction?.active&&(this._previousAction.active=!1,this._previousAction=null))))},d),p(()=>this.viewModel,`popup-open`,async e=>{await this.view?.openPopup(e)},m),p(()=>this.viewModel,`popup-close`,()=>{this.view?.closePopup()},m),this._toggleImageAttributes])}loadDependencies(){return Promise.all([U(),V(),se({"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`),block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),"list-item":()=>import(`@esri/calcite-components/dist/components/calcite-list-item`),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`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),"shell-panel":()=>import(`@esri/calcite-components/dist/components/calcite-shell-panel`),switch:()=>import(`@esri/calcite-components/dist/components/calcite-switch`)}),F()])}destroy(){this._galleryController.abort(),this._galleryObserver.disconnect(),this.currentBestFeature=null}get accuracyParametersMissing(){return this.viewModel.accuracyParametersMissing}get activeLayer(){return s(c.getLogger(this),`activeLayer`,{replacement:`layer`}),this.layer}set activeLayer(e){s(c.getLogger(this),`activeLayer`,{replacement:`layer`}),this.layer=e}get activeVideoIcon(){let{videoElement:e,videoViewModel:t}=this.viewModel;return!e?.loaded||!t||t.videoPaused?`play`:`pause`}get activeAudioIcon(){let{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(){return!!this.layer?.effectiveSequenceOrderField?.length}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 this.viewModel.mode===`video`?this.videoEnhancementToolActive:this.imageEnhancementToolActive}set enhancementToolActive(e){this.viewModel.mode===`video`?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.setMapImageConversionToolState(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(){let{popupEnabled:e,state:t}=this.viewModel;return(t===`image-loaded`||this.videoLoaded)&&e}get preloadMedia(){return this.viewModel.preloadMedia}set preloadMedia(e){this.viewModel.preloadMedia=e}get referencePoint(){return this.viewModel.referencePoint??null}get selectedFeatureObjectId(){return this.currentBestFeature?.attributes?.objectId??null}get selectedPoint(){return this.viewModel.selectedPoint}get sketchViewModel(){return this.viewModel.sketch}get triangularMeasurementActive(){return this.viewModel.triangularMeasurementActive}set triangularMeasurementActive(e){this.viewModel.triangularMeasurementActive=e}get videoLoaded(){let{mode:e,videoElement:t,panoramicVideoLoaded:n}=this.viewModel;return(e===`video`&&t?.loaded===!0||n)??!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}get superimposeViewEnabled(){return this.viewModel.superimposeViewEnabled}set superimposeViewEnabled(e){this.viewModel.superimposeViewEnabled=e}get defaultSuperimposeCameraLockEnabled(){return this.viewModel.defaultSuperimposeCameraLockEnabled}set defaultSuperimposeCameraLockEnabled(e){this.viewModel.defaultSuperimposeCameraLockEnabled=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}get _actionBarLayout(){return this.actionBarPosition===`start`||this.actionBarPosition===`end`?`vertical`:`horizontal`}_renderActionBar(){let{selectedGroup:e,superimposeViewEnabled:n}=this,r=this._actionBarLayout;if(n)return X(`calcite-action-bar`,{"data-testid":`action-bar--superimpose`,expandToggleDisabled:!0,layout:r,slot:`action-bar`},X(`calcite-action-group`,{overlayPositioning:`fixed`},this._superimposeViewToggle()));let i=t();return X(`calcite-action-bar`,{afterUpdate:this._focusPendingAction,"data-testid":`action-bar`,expandToggleDisabled:!0,layout:r,slot:`action-bar`},!e&&X(`calcite-action-group`,{key:`main`,overlayPositioning:`fixed`},this._searchGroupToggle(),this._overlaysGroupToggle(),this._navigationGroupToggle(),this._measurementsGroupToggle(),this._utilitiesGroupToggle()),this._renderGroupBackAction(i),e===`overlays`&&X(`calcite-action-group`,{key:`overlays`,overlayPositioning:`fixed`},this._currentFootprintToggle(),this._additionalFootprintToggle(),this._additionalPointSourcesToggle(),this._mapImageConversionToggle(),this._imageOverlaysToggle()),e===`navigation`?this._directionToolsToggle():null,e===`navigation`&&X(`calcite-action-group`,{key:`context-navigation`,overlayPositioning:`fixed`},this._navigationToolToggle(),this._imageGalleryToggle()),e===`measurements`&&this._measurementToolToggle(),e===`utilities`&&X(`calcite-action-group`,{overlayPositioning:`fixed`},this._imageEnhancementsToggle(),this._videoEnhancementsToggle(),this._superimposeViewToggle(),this._openPopupAction()),e===`search`&&X(`calcite-action-group`,{key:`search`,overlayPositioning:`fixed`},this._exploreImagesToggle(),this._exploreImages3DToggle(),this._showSelectedImageToggle()))}_renderGroupBackAction(e){return this.selectedGroup?X(`calcite-action`,{bind:this,icon:e?`arrow-right`:`arrow-left`,key:`back-arrow`,text:this.messages.previous,title:this.messages.previous,onclick:()=>this._toggleGroupSelection(null)}):null}get _activeMeasurementHeading(){let{measureType:e,messages:t,triangularMeasurementActive:n}=this,{groundArea:r,heightAboveGround:i,groundDistance:a,triangulatedAreaHeading:o,triangulatedDistanceHeading:s}=t;if(n)return e===`area`?o:s;switch(e){case`area`:return r;case`height`:return i;default:return a}}_additionalFootprintToggle(){let{isAdditionalCoverageVisible:e,invalidCameraHeading:t,visibleElements:{additionalFootprintToggle:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,class:T.addCoverage,disabled:t,icon:`trapezoid-area`,text:this.messages.additionalFootprints,title:this.messages.additionalFootprints,onclick:this._toggleAdditionalCoverage}):null}_additionalPointSourcesToggle(){let{isAdditionalPointSourcesVisible:e,invalidCameraHeading:t,visibleElements:{additionalCameraLocationsToggle:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,class:T.addExpPoints,disabled:t,icon:`circle-area`,text:this.messages.additionalCameraLocations,title:this.messages.additionalCameraLocations,onclick:this._toggleAdditionalCameraLocations}):null}get _measurementToggle(){let{viewModel:{state:e,measureType:t,currentBestFeatureMeasurementImage:n},triangularMeasurementActive:r,id:i}=this;if(e!==`image-loaded`||!t||r&&!n)return;this._imageMeasurementToolsLoaderTask||this._loadImageMeasurementResources();let a=this._imageMeasurementToolsLoaderTask?.value;return a?X(`calcite-dialog`,{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:this._activeMeasurementHeading,id:`${i}-${t}-measurement`,open:!0,placement:`bottom-start`,resizable:!0,scale:`s`,slot:`dialogs`,width:`s`,onCalciteDialogBeforeClose:this._clearMeasurements},X(a,{measurementType:t,measurementUnitMessages:this.measurementUnitMessages,messages:this.messages,oiViewModel:this.viewModel})):null}get _renderRoot(){let{viewModel:{state:e},triangularMeasurementActive:t}=this;return X(`calcite-panel`,{bind:this,class:t?T.viewerContainerMeasurement:T.viewerContainer,heading:this.visibleElements.header?this.messages.title:void 0,loading:e.includes(`loading`)&&!t},X(`calcite-shell`,null,this.visibleElements.menu?X(`calcite-shell-panel`,{collapsed:!0,displayMode:`dock`,slot:`panel-${this.actionBarPosition}`},this._renderActionBar()):null,X(`calcite-panel`,null,this._imageViewer,this._panoramicViewer,this._panoramicVideoViewer,this._videoViewer,this._messageBox,this.invalidCameraHeading?null:[this._imageGalleryPanel,this._renderNavigation,this._imageOverlaysPanel()],this._exploreImages3DTools,this._imageEnhancementTools,this._videoEnhancementTools,this._superimposeTools,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(){let{currentCoverageVisible:e,invalidCameraHeading:t}=this,{currentFootprintToggle:n}=this.visibleElements;return n?X(`calcite-action`,{active:e,bind:this,class:T.currentCoverage,disabled:t,icon:`trapezoid-area`,text:this.messages.currentFootprint,title:this.messages.currentFootprint,onclick:this._toggleCurrentCoverage}):null}_exploreImagesToggle(){let{exploreImages:e}=this.messages;return this.visibleElements.exploreImages?X(`calcite-action`,{active:!this.disabled,bind:this,icon:`oriented-imagery-widget`,text:e,title:e,onclick:this._toggleExploreImages}):null}get _imageEnhancementTools(){let{enhancementToolActive:e,viewModel:{brightness:t,contrast:n,sharpness:r,state:i}}=this;return e&&i===`image-loaded`?X(`calcite-panel`,{bind:this,class:T.imageEnhancementWrapper,closable:!0,closed:!e,heading:this.messages.imageEnhancement,key:this.messages.imageEnhancement,onCalcitePanelClose:this._toggleEnhancementToolState},X(`div`,{class:T.imageEnhancementTools},W({title:this.messages.brightness,value:t,handleChange:this._handleBrightnessChange}),W({title:this.messages.contrast,value:n,handleChange:this._handleContrastChange}),W({title:this.messages.sharpness,value:r,max:1,min:0,ticks:.5,step:.1,handleChange:this._handleSharpnessChange})),X(`calcite-action`,{bind:this,icon:`reset`,slot:`header-actions-end`,text:this.messagesCommon.reset,title:this.messagesCommon.reset,onclick:this._resetImageTools})):null}get _videoEnhancementTools(){let{enhancementToolActive:e,viewModel:{videoViewModel:t,mode:n},messages:{videoEnhancement:r,brightness:i,contrast:a},messagesCommon:{reset:o}}=this;return!e||n!==`video`||!t?null:X(G,{brightness:t.videoBrightness,contrast:t.videoContrast,handleBrightnessChange:this._handleVideoBrightnessChange,handleContrastChange:this._handleVideoContrastChange,resetTools:this._resetVideoTools,uiStrings:{videoEnhancement:r,brightness:i,contrast:a,reset:o},videoEnhancementToolActive:e,onClose:this._toggleEnhancementToolState})}get _superimposeTools(){let{superimposeViewEnabled:e,view:t,viewModel:{state:n,mode:r},messages:{superimposeSettings:i,superimposeSliderTitle:a,superimposeSliderTooltip:o}}=this,s=r===`panoramic`;return!e||t?.type!==`3d`||n!==`image-loaded`?null:X(`calcite-panel`,{bind:this,class:this.classes(T.imageEnhancementWrapper,T.superimposeTools),heading:i,key:`superimpose-settings`},X(`div`,{class:T.imageEnhancementTools},W({title:a,tooltip:o,value:s?this._panoramicSuperimposeRadiusOffsetPercentage:this._defaultSuperimposeZOffsetPercentage,max:100,min:0,ticks:10,step:1,handleChange:this._handleSuperimposeZOffsetChange})),X(`calcite-action`,{bind:this,icon:`reset`,slot:`header-actions-end`,text:this.messagesCommon.reset,title:this.messagesCommon.reset,onclick:this._resetSuperimposeOffset}))}_imageEnhancementsToggle(){let{state:e,mode:t}=this.viewModel,{enhancementTool:n}=this.visibleElements;return!n||t===`video`?null:X(`calcite-action`,{active:this.enhancementToolActive,bind:this,disabled:t!=="default"||e!==`image-loaded`,icon:`sliders-horizontal`,text:this.messages.imageEnhancement,title:this.messages.imageEnhancement,onclick:this._toggleEnhancementToolState})}_exploreImages3DToggle(){let{exploreImages3D:e}=this.messages,t=this.view?.type!==`3d`||!this.layer?.hasZ,n=this.verticalFilterEnabled||this.viewModel.frustumSearchEnabled;return this.visibleElements.exploreImages3D?X(`calcite-action`,{active:n,bind:this,disabled:t,icon:`3d-search`,text:e,title:e,onclick:this._toggleExploreImages3DMenu}):null}get _exploreImages3DTools(){let{frustumRange:e,search3DFilters:t,verticalRange:n}=this.messages,r=this.verticalFilterEnabled,i=this.viewModel.frustumSearchEnabled;return!this.visibleElements.exploreImages3D||!this._exploreImages3DMenuOpen?null:X(`calcite-panel`,{bind:this,class:T.submenu,closed:!this._exploreImages3DMenuOpen,collapsed:this._exploreImages3DCollapsed,collapseDirection:`up`,collapsible:!0,heading:t,key:`explore-images-3d-tools`,onCalcitePanelToggle:this._toggleExploreImages3DPanel},X(`calcite-list`,{label:t,scale:`s`},X(`calcite-list-item`,{bind:this,label:n},X(`calcite-switch`,{checked:r,scale:`s`,slot:`content-start`,onCalciteSwitchChange:e=>this._toggleExploreImages3DSelection(`3d`,e)})),X(`calcite-list-item`,{bind:this,label:e},X(`calcite-switch`,{checked:i,scale:`s`,slot:`content-start`,onCalciteSwitchChange:e=>this._toggleExploreImages3DSelection(`frustum`,e)}))))}_showSelectedImageToggle(){let{displayImages:e}=this.messages,t=this.viewModel.mode.includes(`video`);return this.visibleElements.showSelectedImage?X(`calcite-action`,{active:this.shouldShowSelectedImage,bind:this,disabled:t,icon:`show-oriented-imagery`,text:e,title:e,onclick:this._toggleShowSelectedImage}):null}_superimposeViewToggle(){let{superimposeView:e}=this.messages,{mode:t,accuracyParametersMissing:n}=this.viewModel,r=!this.superimposeViewEnabled&&(this.view?.type!==`3d`||t.includes(`video`)||n);return this.visibleElements.superimpose?X(`calcite-action`,{active:this.superimposeViewEnabled,bind:this,disabled:r,icon:`superimpose`,text:e,title:e,onclick:this._toggleSuperimposeView}):null}_videoEnhancementsToggle(){let{mode:e}=this.viewModel,{videoEnhancement:t}=this.messages,{enhancementTool:n}=this.visibleElements;return!n||e!==`video`?null:X(`calcite-action`,{active:this.enhancementToolActive,bind:this,disabled:e!==`video`,icon:`sliders-horizontal`,text:t,title:t,onclick:this._toggleEnhancementToolState})}get _imageGalleryPanel(){let{container:e,galleryOpened:t,imageGalleryEnabled:n}=this;return n&&t&&e?this._imageGalleryContext:null}get _imageGalleryContext(){let{galleryOpened:e,invalidCameraHeading:t}=this;return X(`calcite-panel`,{bind:this,class:T.carousel,closable:!0,closed:!e,disabled:t,heading:this.messages.imageGallery,key:this.messages.imageGallery,onCalcitePanelClose:this._toggleImageGallery},X(`div`,{class:T.carouselContainer},this._renderThumbnails))}_imageGalleryToggle(){let{imageGalleryEnabled:e,invalidCameraHeading:t,visibleElements:{imageGallery:n}}=this;return n?X(`calcite-action`,{active:this.galleryOpened,bind:this,disabled:!e||t,icon:`images`,text:this.messages.imageGallery,title:this.messages.imageGallery,onclick:this._toggleImageGallery}):null}get _imageOverlaysComponent(){let{_imageOverlayMessages:e,_imageOverlaysLoaderTask:t,_overlayedLayers:n,dataCaptureEnabled:r,dataCaptureLayer:a,imageOverlaysOpened:o,showCameraLocations:s,showMapFeatures:c,view:l,layer:u}=this,d=r&&!this.viewModel.mode.includes(`video`);if(!u)return null;let f=u.imageGeometryField?.length?u.imageGeometryField:x,p=u.imageReferenceField?.length?u.imageReferenceField:ie;t||(this._imageOverlaysLoaderTask=i(async()=>(await import(`./OrientedImageryViewer/components/ImageOverlays.js`)).default));let m=this._imageOverlaysLoaderTask?.value;return m?X(m,{closed:!o,dataCaptureEnabled:d,dataCaptureLayer:a,imageGeometryField:f,imageReferenceField:p,messages:e,overlayedLayers:n,showCameraLocations:s,showMapFeatures:c,view:l,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(){let{navigationMode:e,viewModel:t}=this,{mode:n,state:r}=t;if(!(!e||n!=="default"&&n!==`panoramic`||r!==`image-loaded`))return e===`directional`?n==="default"?X(z,{cameraHeadingThreshold:this.cameraHeadingThreshold,cameraPitchThreshold:this.cameraPitchThreshold,currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes,preserveAngle:this.viewModel.preserveAngle}):X(B,{currentNode:this.viewModel.currentNode,navigate:this._createNavigationTask,nodes:this.viewModel.navigationNodes}):X(H,{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.messagesCommon,...this.messagesSketch}}_imageOverlaysPanel(){let{imageOverlaysOpened:e}=this,t=this.classes({[T.imageOverlaysContainer]:!0,[q.hidden]:!e||!this._imageOverlaysEnabled});return X(`div`,{class:t,key:this.messages.imageOverlays},this._imageOverlaysComponent)}_imageOverlaysToggle(){let{imageOverlaysOpened:e,invalidCameraHeading:t,visibleElements:{imageOverlays:n}}=this;return n?X(`calcite-action`,{active:e,bind:this,disabled:!this._imageOverlaysEnabled||t,icon:`layers`,text:this.messages.imageOverlays,title:this.messages.imageOverlays,onclick:this._toggleImageOverlays}):null}get _imageOverlaysEnabled(){return this.viewModel.overlayGraphicsEnabled}get _imageViewer(){let{displayMessage:e,loadImageViewer:t,mode:n,clickAction:r,state:i}=this.viewModel,a=e!=null||n!=="default"||i.includes(`loading`);return X(R,{afterCreate:t,clickAction:r,visible:!a})}get _imageViewerTriangular(){let{messages:e,triangularMeasurementActive:t}=this,{displayMessage:n,storeImageMeasurementViewer:r,storePanoramicMeasurementViewer:i,mode:a,state:o,clickAction:s}=this.viewModel,c=n!=null||a===`none`||a===`video`,l=this.classes({[T.viewer]:!c,[T.viewerHidden]:c});return t?X(`calcite-panel`,{class:T.viewerContainerMeasurement,heading:e.measurementViewerHeading,loading:o.includes(`loading`)},X(`calcite-panel`,{bind:this,class:l},a==="default"?X(R,{afterCreate:r,clickAction:s,uiStrings:e}):X(_,{afterCreate:i,clickAction:s,uiStrings:e}))):null}_utilitiesGroupToggle(){let{utilityTools:e}=this.messages;return this.visibleElements.utilityTools?X(`calcite-action`,{bind:this,icon:`tools`,key:`utilities-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`utilities`,e)}):null}_searchGroupToggle(){let{searchTools:e}=this.messages;return this.visibleElements.searchTools?X(`calcite-action`,{bind:this,icon:`search`,key:`search-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`search`,e)}):null}get _videoViewer(){let{mode:e,loadVideoViewer:t,videoViewModel:n}=this.viewModel,{control:r,reset:i}=this.messagesCommon,{mute:a,unmute:o}=this.messages,s=e!==`video`,c=this.classes({[T.viewer]:!s,[T.viewerHidden]:s}),l=`esri-image-viewer`,u=`${l}__slider-container`;return X(`calcite-panel`,{bind:this,class:c},X(`calcite-panel`,{afterCreate:t,class:this.classes(q.widget,l)}),X(`calcite-block`,{class:u,expanded:!0},X(`calcite-slider`,{bind:this,labelHandles:!0,labelTicks:!0,max:n?.videoDuration,minLabel:`0`,value:n?.currentTime??0,onCalciteSliderChange:this._handleVideoSeek})),X(`calcite-action-bar`,{"data-testid":`action-bar--video-controls`,expandToggleDisabled:!0,layout:`horizontal`},X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:this.activeVideoIcon,text:`Play`,title:n?.videoPaused?r.play:r.pause,onclick:()=>n?.playVideoHandler()})),X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:`refresh`,text:`Rewind`,title:i,onclick:()=>n?.rewindVideoHandler()})),X(`calcite-action-group`,{overlayPositioning:`fixed`},X(`calcite-action`,{bind:this,icon:this.activeAudioIcon,text:`Audio`,title:n?.videoMuted?a:o,onclick:()=>n?.toggleAudio()}))))}get _locationToggle(){let{viewModel:{state:e,groundCoordinates:t,groundCoordinatesAccuracy:n,groundCoordinatesAccuracyLoading:r,triangulatedPoint:i},imageLocationToolActive:a,triangularMeasurementActive:o,messages:{groundLocation:s,triangulatedLocationHeading:c}}=this;if(e!==`image-loaded`||!t||!a)return;let l=t;if(o){if(!i)return;l=i}return X(`calcite-dialog`,{bind:this,dragEnabled:!0,escapeDisabled:!0,heading:o?c:s,id:s,open:!0,placement:`bottom-start`,resizable:!0,scale:`s`,slot:`dialogs`,width:`s`,onCalciteDialogBeforeClose:this._clearImageLocation},X(L,{accuracy:n,accuracyLoading:r,groundCoordinates:l,messages:this.messages}))}_mapImageConversionToggle(){let{mapImageConversionToolState:e,viewModel:{state:t,disabled:n},videoLoaded:r,invalidCameraHeading:i,visibleElements:{mapImageConversionTool:a}}=this,o=!!(this.viewModel.mode===`video`&&r&&this.viewModel.videoViewModel?.videoPaused),s=this.viewModel.mode===`panoramic-video`&&this.viewModel.panoramicVideoLoaded&&this.viewModel.panoramicVideoPaused,c=t!==`image-loaded`&&!o&&!s||i||n;return a?X(`calcite-action`,{active:e,bind:this,disabled:c,icon:`image-pin`,text:this.messages.mapImageConversionTool,title:this.messages.mapImageConversionTool,onclick:this._toggleMapImageConversionToolState}):null}_measurementToolToggle(){let{measureType:e,viewModel:t,accuracyParametersMissing:n,messages:r,triangularMeasurementActive:i}=this,{state:a}=t,{groundDistance:o,groundArea:s,heightAboveGround:c,groundLocation:l,triangulatedDistanceHeading:u,triangulatedAreaHeading:d,triangulatedLocationHeading:f}=r,p=a!==`image-loaded`||n,m=this._actionBarLayout;return X(`calcite-action-group`,{key:`measurement-tools`,layout:m,overlayPositioning:`fixed`,scale:`m`},X(`calcite-action`,{active:e===`distance`&&!i,bind:this,disabled:p,icon:`measure-line`,key:`distance-measurement`,text:o,title:o,onclick:e=>this._toggleMeasurementSketch(e,`distance`)}),X(`calcite-action`,{active:e===`area`&&!i,bind:this,disabled:p,icon:`measure-area`,key:`area-measurement`,text:s,title:s,onclick:e=>this._toggleMeasurementSketch(e,`area`)}),X(`calcite-action`,{active:e===`height`,bind:this,disabled:p,icon:`measure-building-height-top-base`,key:`height-measurement`,text:c,title:c,onclick:e=>this._toggleMeasurementSketch(e,`height`)}),X(`calcite-action`,{active:this.imageLocationToolActive?!i:!1,bind:this,disabled:p,icon:`pin-tear`,key:`surface-location`,text:l,title:l,onclick:this._toggleLocationTool}),X(`calcite-action`,{active:i?this.imageLocationToolActive:!1,bind:this,disabled:p,icon:`dual-image-location`,key:`triangular-location`,text:f,title:f,onclick:this._toggleTriangularLocation}),X(`calcite-action`,{active:i?this.measureType===`distance`:!1,bind:this,disabled:p,icon:`dual-image-distance`,key:`triangular-distance`,text:u,title:u,onclick:this._toggleTriangularDistanceMeasurements}),X(`calcite-action`,{active:i?this.measureType===`area`:!1,bind:this,disabled:p,icon:`dual-image-area`,key:`triangular-area`,text:d,title:d,onclick:this._toggleTriangularAreaMeasurements}))}get _messageBox(){let{messages:e,viewModel:{displayMessage:t,mode:r}}=this;if(!t||r===`video`)return null;let{key:i,map:a,type:o}=t,s=`${a?n(e[i],a):e[i]}`,c=o===`error`?`danger`:o===`warn`?`warning`:`info`;return X(`calcite-notice`,{appearance:`transparent`,class:T.notice,icon:ce[c],kind:c,open:!0},X(`div`,{slot:`message`},s))}async _loadNavigationSettings(){return this._navigationSettingsLoaderTask||=i(async()=>(await import(`./OrientedImageryViewer/components/NavigationSettings.js`)).default),await this._navigationSettingsLoaderTask.promise}_measurementsGroupToggle(){let{measurementTools:e}=this.messages,{state:t,accuracyParametersMissing:n}=this.viewModel,r=t!==`image-loaded`||n;return this.visibleElements.measurementTools?X(`calcite-action`,{bind:this,disabled:r,icon:`measure-line`,key:`measurements-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`measurements`,e)}):null}_navigationGroupToggle(){let{imageNavigation:e}=this.messages;return this.visibleElements.imageNavigationTools?X(`calcite-action`,{bind:this,icon:`absolute-direction`,key:`navigation-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`navigation`,e)}):null}_navigationToolToggle(){let{state:e}=this.viewModel,{visibleElements:{navigationTool:t},videoLoaded:n}=this;return t?X(`calcite-action`,{active:this.navigationToolActive,bind:this,disabled:e!==`image-loaded`&&!n||this.invalidCameraHeading,icon:`explore`,text:this.messages.navigationTool,title:this.messages.navigationTool,onclick:this._toggleNavigationTool}):null}_directionToolsToggle(){let{messages:e,viewModel:t,visibleElements:n}=this,{directionalNavigation:r,sequentialNavigation:i}=n,{state:a}=t,{directionalNavigation:o,directionalNavigationDescription:s,sequentialNavigation:c,sequentialNavigationDescription:l}=e,u=this._actionBarLayout;return X(`calcite-action-group`,{key:`navigation-tools`,layout:u,overlayPositioning:`fixed`,scale:`m`},r?X(`calcite-action`,{active:this.navigationMode===`directional`,bind:this,disabled:a!==`image-loaded`||this.invalidCameraHeading,icon:`directional-navigation`,text:o,title:o+`
|
|
3
3
|
`+s,onclick:()=>void this._toggleImageNavigation(`directional`)}):null,i?X(`calcite-action`,{active:this.navigationMode===`sequential`,bind:this,disabled:a!==`image-loaded`||this.invalidCameraHeading||!this.canNavigateSequentially,icon:`sequential-navigation`,text:c,title:c+`
|
|
4
|
-
`+l,onclick:()=>void this._toggleImageNavigation(`sequential`)}):null)}_overlaysGroupToggle(){let{overlays:e}=this.messages;return this.visibleElements.overlays?X(`calcite-action`,{bind:this,icon:`oriented-imagery-overlays`,key:`overlays-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`overlays`,e)}):null}_openPopupAction(){let{showPopupsAction:e}=this.visibleElements;return e?X(`calcite-action`,{bind:this,disabled:!this.popupEnabled,icon:`popup`,text:this.messages.showPopups,title:this.messages.showPopups,onclick:this._toggleImageAttributes}):null}get _panoramicVideoViewer(){let{displayMessage:e,loadPanoramicVideoViewer:t,mode:n,clickAction:r,state:i,currentBestFeature:a}=this.viewModel,o=a?.attributes.imagePath,s=e!=null||n!==`panoramic-video`||i.includes(`loading`)||!o;return X(re,{afterCreate:t,clickAction:r,oiViewModel:this.viewModel,videoSource:o,visible:!s})}get _panoramicViewer(){let{displayMessage:e,loadPanoramicViewer:t,mode:n,clickAction:r,state:i}=this.viewModel,a=e!=null||n!==`panoramic`||i.includes(`loading`);return X(_,{afterCreate:t,clickAction:r,visible:!a})}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?!0:!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._exploreImages3DMenuOpen=!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){let t=this.viewModel?.videoElement?.content;t&&(t.currentTime=e.target.value,t.play())}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_handleSuperimposeZOffsetChange(e){let t=e.currentTarget.value??0;if(this.viewModel.mode==="default"){this._defaultSuperimposeZOffsetPercentage=t,this.viewModel.setDefaultSuperimposeZOffsetPercentage(100-t);return}this._panoramicSuperimposeRadiusOffsetPercentage=t,this.viewModel.setPanoramicSuperimposeRadiusPercentage(100-t)}_lazyLoadImage(e,t){e.forEach(async e=>{if(e.isIntersecting){let n=e.target,r=n.getAttribute(`data-src`),i=n.getAttribute(`data-rotation`),a=n.getAttribute(`data-objectid`),o=i?parseFloat(i)%360:0,{layer:s,_galleryController:{signal:u}}=this;if(!r||!a)return;let d;try{d=k(r)?await A(s,a,{signal:u}):await j(r,{signal:u})}catch(e){l(e)||c.getLogger(`esri.widgets.OrientedImageryViewer`).error(`#lazyLoadImage()`,e)}finally{t.unobserve(n)}if(!d)return;M(d,n,o)}})}_loadImageFromGallery(e){let{target:t}=e;if(!t)return;let n=t.getAttribute(`data-objectid`);n&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(n)&&this.viewModel.selectBestFeature(n)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i(async()=>{let{default:e}=await import(`./OrientedImageryViewer/components/ImageMeasurementWidget.js`);return e})}_loadSketchResources(){this._sketchLoaderTask=i(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,n){let{viewModel:{state:r}}=this;return r===`image-loaded`?X(I,{class:T.alert,icon:`exclamation-mark-triangle-f`,kind:`warning`,message:t,open:!0,title:e,tooltip:t,topLayerDisabled:this.topLayerDisabled,onClose:n}):null}get _renderNavigation(){let{viewModel:{sectorData:e,navigatorCurrentBestFeature:t,currentBestFeature:n,state:i}}=this;if(!this.container||!n)return null;let a,o,s,c,l;if(t){let{x:e,y:n,direction:r}=t,[i,u,d,f]=S[r];a=`M ${e} ${n} L ${i} ${u} A ${w[2]} ${w[2]} 0 0 1 ${d} ${f} Z`,o=e,c=n,s=S[r][4],l=S[r][5]}let u=e=>{let t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},d=e=>{let t=e.target.dataset;if(!t)return;let{featureIndexInSector:n,sector:r}=t;n&&r&&this.viewModel.handleFeatureClick({sector:r,featureIndexInSector:+n})},f=e=>{e.removeEventListener(`click`,d)},p=n.attributes.objectId,m=e?.map(e=>e?.items).filter(Boolean).flatMap(e=>e?.map(({x:e,y:t,objectID:n,featureIndexInSector:r,sector:i})=>X(`circle`,{afterRemoved:f,class:this.classes(T.feature,{selected:p===n}),cx:e,cy:t,"data-feature-index-in-sector":r,"data-sector":i,key:`${T.feature}-${n}`,r:ae,onclick:d}))),h=e=>{e.removeEventListener(`click`,u)},g=this.classes({[T.navigationWrapper]:!0,[T.navigationWrapperVideo]:this.viewModel.mode.includes(`video`),[T.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&(i===`image-loaded`||this.videoLoaded)?X(`div`,{bind:this,class:g,key:this.messages.navigationTool},X(`svg`,{afterCreate:e=>this._storeNavigationToolReference(e),class:r()?oe:T.rotateWithAnimation,focusable:`false`,height:C,role:`img`,width:C,xmlns:`http://www.w3.org/2000/svg`},X(`defs`,null,X(`linearGradient`,{gradientUnits:`userSpaceOnUse`,id:`${this.id}-coverage-fill`,x1:o,x2:s,y1:c,y2:l},X(`stop`,{class:T.navigationPathOffset0,offset:0}),X(`stop`,{class:T.navigationPathOffset1,offset:1}))),X(`g`,null,X(`circle`,{class:this.classes(T.sector,T.outerSector),cx:w[3],cy:w[3],r:w[3],onclick:this._scaleNavigationTool}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[2]}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[1]}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[0]}),X(`path`,{class:T.pointer,d:`M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z`,key:`${T.pointer}-west`}),X(`path`,{class:this.classes(T.pointer,T.north),d:`M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z`,key:`${T.pointer}-north`}),X(`path`,{class:T.pointer,d:`M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z`,key:`${T.pointer}-east`}),X(`path`,{class:T.pointer,d:`M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z`,key:`${T.pointer}-south`}),X(`path`,{class:this.classes(T.sector,T.sectorSeparator),d:`M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076`,key:T.sectorSeparator}),y([w[2],w[1],w[0]],w[3],w[3]).map((t,n)=>X(`path`,{afterRemoved:h,class:this.classes(T.sector,e?.[n]?.length?T.sectorEnabled:T.sectorDisabled),d:t,"data-sector":`${n}`,key:`${T.sector}-${n}`,onclick:u})),X(`path`,{class:this.classes(T.sector,T.sectorCross),d:`M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53`,key:T.sectorCross}),m,n.attributes.cameraPitch>=5&&a?X(`path`,{class:T.selectedFeaturePath,d:a,fill:`url(#${this.id}-coverage-fill)`,key:T.selectedFeaturePath}):null))):null}_renderSketch(){let{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t||(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value))return null;let{geometryType:n}=e,r=n===`point`?`pin`:n===`polyline`?`line`:`polygon`,i=this._sketchLoaderTask.value;return X(`div`,{class:T.sketchTools},X(i,{icon:r,messages:this._imageSketchToolsMessages,type:n,onAction:this._onAction}))}get _renderThumbnails(){let{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?X(`div`,{class:T.carouselContent},t?.items.map(({url:t,objectId:n,rotation:r},i)=>X(`div`,{class:`${T.carouselItemWrapper}${e.attributes.objectId===n?`--selected`:``}`,key:`${T.carouselItemWrapper}-${i}`},X(`canvas`,{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${n}`,class:T.carouselItem,"data-objectid":`${n}`,"data-rotation":`${r}`,"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(){let e=!this.shouldShowSelectedImage;e&&this._disableExploreImages3D(),this.shouldShowSelectedImage=e,this._toggleDisabledViewer(this.shouldShowSelectedImage)}_resetSuperimposeOffset(){if(this.viewModel.mode==="default"){this._defaultSuperimposeZOffsetPercentage=100,this.viewModel.setDefaultSuperimposeZOffsetPercentage(0);return}this._panoramicSuperimposeRadiusOffsetPercentage=100,this.viewModel.setPanoramicSuperimposeRadiusPercentage(0)}_toggleSuperimposeCameraLock(){this.viewModel.updateDefaultSuperimposeCameraLock(!this.defaultSuperimposeCameraLockEnabled)}_toggleSuperimposeView(){this.superimposeViewEnabled=!this.superimposeViewEnabled}_disableExploreImages3D(){this._exploreImages3DMenuOpen=!1,this.verticalFilterEnabled=!1,this.viewModel.setFrustumSearchEnabled(!1)}_setExploreImages3DSearchMode(e){let t=e===`3d`||e===`both`,n=e===`frustum`||e===`both`,r=this.verticalFilterEnabled===t&&this.viewModel.frustumSearchEnabled===n;this.shouldShowSelectedImage=!1,this.verticalFilterEnabled=t,this.viewModel.setFrustumSearchEnabled(n),this._toggleDisabledViewer(!0),r&&this.scheduleRender()}_toggleExploreImages3DMenu(e){if(e.stopPropagation(),this._isExploreImages3DEnabled){this._disableExploreImages3D();return}this._setExploreImages3DSearchMode(`3d`),this._exploreImages3DMenuOpen=!0}_toggleDisabledViewer(e){e&&(this.disabled=!1)}_toggleEnhancementToolState(e){e.stopPropagation();let t=this.enhancementToolActive;this._closeAllImageTools(),this.enhancementToolActive=!t}_toggleExploreImages(){this.disabled=!this.disabled,this.disabled&&(this.shouldShowSelectedImage=!1,this._disableExploreImages3D())}_toggleGroupSelection(e,t){let n=this._rootActionTitleToFocus;e&&(this._rootActionTitleToFocus=t?.currentTarget?.getAttribute(`title`)),e!==`search`&&(this._exploreImages3DMenuOpen=!1),this.selectedGroup=e,this._actionTitleToFocus=e?this.messages.previous:n}_toggleImageOverlays(e){e.stopPropagation();let t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();let t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=this.imageGalleryEnabled?!t:!1}_toggleLocationTool(e){let t=this.imageLocationToolActive,n=this.triangularMeasurementActive&&t;this._closeAllImageTools(),this.imageLocationToolActive=n||!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();let n=this.measureType,r=this.triangularMeasurementActive;this._closeAllImageTools(),this.measureType=n===t&&!r?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){let e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements(`area`)}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements(`distance`)}_toggleTriangularLocation(){let e=this.triangularMeasurementActive,t=this.navigationToolActive;if(!e){this._activateTriangulatedImageLocationWorkflow(e,t);return}if(this.measureType!==null){this._resetMeasureTypeAndActivateImageLocationTool();return}this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool()}_toggleTriangularMeasurements(e){let t=this.triangularMeasurementActive,n=this.viewModel.measureType,r=this.navigationToolActive;t?e===n?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!r):(this.imageLocationToolActive=!1,this.measureType=e,this.viewModel.displayNewMeasurementButton=!0):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=r?!0:!r,this.viewModel.displayNewMeasurementButton=!0)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}get _isExploreImages3DEnabled(){return this.verticalFilterEnabled||this.viewModel.frustumSearchEnabled}_updateNavigationTool(e){let{previousFeatureAngle:t,bestFeatureAngle:n}=this.viewModel,r=(n-t+540)%360-180;e.style.setProperty(E,`${t}deg`),e.style.setProperty(D,`${t+r}deg`)}async loadBestImage(e,t){return this.viewModel.loadBestImage(e,t)}loadImageFromSource(e,t,n){return e==="default"?this.viewModel.loadMediaSource(t,n):this.viewModel.loadPanoramicMediaSource(t,n)}async overlayMapFeatures(e,t){return this.removeHandles(`${Q.overlayed}-${e.id}`),this.addHandles(u(()=>e.visible,()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible,this.showMapFeatures)}),`${Q.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(`${Q.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find(t=>t.id===e)),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return X(`div`,{class:this.classes(q.widget,O)},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([g({readOnly:!0})],$.prototype,`accuracyParametersMissing`,null),e([g()],$.prototype,`actionBarPosition`,void 0),e([g()],$.prototype,`activeLayer`,null),e([g()],$.prototype,`activeVideoIcon`,null),e([g()],$.prototype,`activeAudioIcon`,null),e([g()],$.prototype,`cameraHeadingThreshold`,null),e([g()],$.prototype,`cameraPitchThreshold`,null),e([g()],$.prototype,`canNavigateSequentially`,null),e([g()],$.prototype,`currentBestFeature`,null),e([g()],$.prototype,`currentCoverageVisible`,null),e([g()],$.prototype,`dataCaptureEnabled`,void 0),e([g()],$.prototype,`dataCaptureLayer`,null),e([g()],$.prototype,`depthImageNotSupported`,null),e([g()],$.prototype,`disabled`,null),e([g()],$.prototype,`enhancementToolActive`,null),e([g()],$.prototype,`features`,null),e([g()],$.prototype,`imagePointsInView`,null),e([g()],$.prototype,`galleryOpened`,void 0),e([g()],$.prototype,`icon`,null),e([g()],$.prototype,`imageEnhancementToolActive`,void 0),e([g()],$.prototype,`videoEnhancementToolActive`,void 0),e([g({readOnly:!0})],$.prototype,`imageGalleryEnabled`,null),e([g()],$.prototype,`imageLocationToolActive`,null),e([g()],$.prototype,`imageOverlaysOpened`,void 0),e([g({readOnly:!0})],$.prototype,`invalidCameraHeading`,null),e([g()],$.prototype,`isAdditionalCoverageVisible`,null),e([g()],$.prototype,`isAdditionalPointSourcesVisible`,null),e([g()],$.prototype,`mapImageConversionToolState`,null),e([g()],$.prototype,`measureType`,null),e([g()],$.prototype,`layer`,null),e([g()],$.prototype,`navigationToolActive`,void 0),e([g()],$.prototype,`navigationMode`,null),e([J(b()),g({type:N})],$.prototype,`viewModel`,void 0),e([g(),Y(`esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer`)],$.prototype,`messages`,void 0),e([g(),Y(`esri/core/t9n/Units`)],$.prototype,`measurementUnitMessages`,void 0),e([g(),Y(`esri/t9n/common`)],$.prototype,`messagesCommon`,void 0),e([g(),Y(`esri/widgets/Sketch/t9n/Sketch`)],$.prototype,`messagesSketch`,void 0),e([g()],$.prototype,`pixelMeasurementUnit`,void 0),e([g()],$.prototype,`pixelAreaMeasurementUnit`,void 0),e([g({readOnly:!0})],$.prototype,`popupEnabled`,null),e([g()],$.prototype,`preloadMedia`,null),e([g()],$.prototype,`referencePoint`,null),e([g()],$.prototype,`selectedFeatureObjectId`,null),e([g()],$.prototype,`selectedPoint`,null),e([g()],$.prototype,`selectedGroup`,void 0),e([g()],$.prototype,`showCameraLocations`,void 0),e([g()],$.prototype,`showMapFeatures`,void 0),e([J([`create`,`delete`,`redo`,`undo`,`update`]),g({readOnly:!0})],$.prototype,`sketchViewModel`,null),e([g()],$.prototype,`triangularMeasurementActive`,null),e([g()],$.prototype,`videoLoaded`,null),e([g()],$.prototype,`view`,null),e([g({type:P,nonNullable:!0})],$.prototype,`visibleElements`,void 0),e([g()],$.prototype,`determineWorkflowForFeature`,null),e([g()],$.prototype,`shouldShowSelectedImage`,null),e([g()],$.prototype,`superimposeViewEnabled`,null),e([g()],$.prototype,`defaultSuperimposeCameraLockEnabled`,null),e([g()],$.prototype,`updateFootprint`,null),e([g()],$.prototype,`verticalFilterEnabled`,null),e([g()],$.prototype,`_exploreImages3DSearchMode`,null),e([g()],$.prototype,`_defaultSuperimposeZOffsetPercentage`,void 0),e([g()],$.prototype,`_panoramicSuperimposeRadiusOffsetPercentage`,void 0),e([g()],$.prototype,`_exploreImages3DMenuOpen`,void 0),e([g()],$.prototype,`_actionBarLayout`,null),e([g()],$.prototype,`_activeMeasurementHeading`,null),e([g()],$.prototype,`_imageOverlaysLoaderTask`,void 0),e([g()],$.prototype,`_imageMeasurementToolsLoaderTask`,void 0),e([g()],$.prototype,`_navigationSettingsLoaderTask`,void 0),e([g()],$.prototype,`_navigationTask`,void 0),e([g()],$.prototype,`_measurementToggle`,null),e([g()],$.prototype,`_renderRoot`,null),e([g()],$.prototype,`_imageEnhancementTools`,null),e([g()],$.prototype,`_videoEnhancementTools`,null),e([g()],$.prototype,`_superimposeTools`,null),e([g()],$.prototype,`_exploreImages3DTools`,null),e([g()],$.prototype,`_imageGalleryPanel`,null),e([g()],$.prototype,`_imageGalleryContext`,null),e([g()],$.prototype,`_imageOverlaysComponent`,null),e([g()],$.prototype,`_navigationUI`,null),e([g()],$.prototype,`_imageOverlayMessages`,null),e([g()],$.prototype,`_imageSketchToolsMessages`,null),e([g()],$.prototype,`_imageOverlaysEnabled`,null),e([g()],$.prototype,`_imageViewer`,null),e([g()],$.prototype,`_imageViewerTriangular`,null),e([g()],$.prototype,`_videoViewer`,null),e([g()],$.prototype,`_locationToggle`,null),e([g()],$.prototype,`_messageBox`,null),e([g()],$.prototype,`_navigationToolExpanded`,void 0),e([g()],$.prototype,`_navigationTool`,void 0),e([g()],$.prototype,`_panoramicVideoViewer`,null),e([g()],$.prototype,`_panoramicViewer`,null),e([g({readOnly:!0})],$.prototype,`noImageInSequenceError`,null),e([g()],$.prototype,`_renderNavigation`,null),e([g()],$.prototype,`_renderThumbnails`,null),e([g()],$.prototype,`_sketchLoaderTask`,void 0),e([g()],$.prototype,`_isExploreImages3DEnabled`,null),$=e([ee(`esri.widgets.OrientedImageryViewer`)],$);const le=$;export{le as default};
|
|
4
|
+
`+l,onclick:()=>void this._toggleImageNavigation(`sequential`)}):null)}_overlaysGroupToggle(){let{overlays:e}=this.messages;return this.visibleElements.overlays?X(`calcite-action`,{bind:this,icon:`oriented-imagery-overlays`,key:`overlays-group-toggle`,text:e,title:e,onclick:e=>this._toggleGroupSelection(`overlays`,e)}):null}_openPopupAction(){let{showPopupsAction:e}=this.visibleElements;return e?X(`calcite-action`,{bind:this,disabled:!this.popupEnabled,icon:`popup`,text:this.messages.showPopups,title:this.messages.showPopups,onclick:this._toggleImageAttributes}):null}get _panoramicVideoViewer(){let{displayMessage:e,loadPanoramicVideoViewer:t,mode:n,clickAction:r,state:i,currentBestFeature:a}=this.viewModel,o=a?.attributes.imagePath,s=e!=null||n!==`panoramic-video`||i.includes(`loading`)||!o;return X(re,{afterCreate:t,clickAction:r,oiViewModel:this.viewModel,videoSource:o,visible:!s})}get _panoramicViewer(){let{displayMessage:e,loadPanoramicViewer:t,mode:n,clickAction:r,state:i}=this.viewModel,a=e!=null||n!==`panoramic`||i.includes(`loading`);return X(_,{afterCreate:t,clickAction:r,visible:!a})}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?!0:!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._exploreImages3DMenuOpen=!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){let t=this.viewModel?.videoElement?.content;t&&(t.currentTime=e.target.value,t.play())}_handleSharpnessChange(e){this.viewModel.sharpness=e.currentTarget.value??0}_handleSuperimposeZOffsetChange(e){let t=e.currentTarget.value??0;if(this.viewModel.mode==="default"){this._defaultSuperimposeZOffsetPercentage=t,this.viewModel.setDefaultSuperimposeZOffsetPercentage(100-t);return}this._panoramicSuperimposeRadiusOffsetPercentage=t,this.viewModel.setPanoramicSuperimposeRadiusPercentage(100-t)}_lazyLoadImage(e,t){e.forEach(async e=>{if(e.isIntersecting){let n=e.target,r=n.getAttribute(`data-src`),i=n.getAttribute(`data-rotation`),a=n.getAttribute(`data-objectid`),o=i?parseFloat(i)%360:0,{layer:s,_galleryController:{signal:u}}=this;if(!r||!a)return;let d;try{d=k(r)?await A(s,a,{signal:u}):await j(r,{signal:u})}catch(e){l(e)||c.getLogger(`esri.widgets.OrientedImageryViewer`).error(`#lazyLoadImage()`,e)}finally{t.unobserve(n)}if(!d)return;M(d,n,o)}})}_loadImageFromGallery(e){let{target:t}=e;if(!t)return;let n=t.getAttribute(`data-objectid`);n&&this.viewModel.currentBestFeature?.attributes.objectId!==Number(n)&&this.viewModel.selectBestFeature(n)}_loadImageMeasurementResources(){this._imageMeasurementToolsLoaderTask=i(async()=>{let{default:e}=await import(`./OrientedImageryViewer/components/ImageMeasurementWidget.js`);return e})}_loadSketchResources(){this._sketchLoaderTask=i(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,n){let{viewModel:{state:r}}=this;return r===`image-loaded`?X(I,{class:T.alert,icon:`exclamation-mark-triangle-f`,kind:`warning`,message:t,open:!0,title:e,tooltip:t,topLayerDisabled:this.topLayerDisabled,onClose:n}):null}get _renderNavigation(){let{viewModel:{sectorData:e,navigatorCurrentBestFeature:t,currentBestFeature:n,state:i}}=this;if(!this.container||!n)return null;let a,o,s,c,l;if(t){let{x:e,y:n,direction:r}=t,[i,u,d,f]=S[r];a=`M ${e} ${n} L ${i} ${u} A ${w[2]} ${w[2]} 0 0 1 ${d} ${f} Z`,o=e,c=n,s=S[r][4],l=S[r][5]}let u=e=>{let t=e.target.dataset?.sector;t&&this.viewModel.handleSectorClick(+t)},d=e=>{let t=e.target.dataset;if(!t)return;let{featureIndexInSector:n,sector:r}=t;n&&r&&this.viewModel.handleFeatureClick({sector:r,featureIndexInSector:+n})},f=e=>{e.removeEventListener(`click`,d)},p=n.attributes.objectId,m=e?.map(e=>e?.items).filter(Boolean).flatMap(e=>e?.map(({x:e,y:t,objectID:n,featureIndexInSector:r,sector:i})=>X(`circle`,{afterRemoved:f,class:this.classes(T.feature,{selected:p===n}),cx:e,cy:t,"data-feature-index-in-sector":r,"data-sector":i,key:`${T.feature}-${n}`,r:ae,onclick:d}))),h=e=>{e.removeEventListener(`click`,u)},g=this.classes({[T.navigationWrapper]:!0,[T.navigationWrapperVideo]:this.viewModel.mode.includes(`video`),[T.navigationZoomed]:this._navigationToolExpanded});return this.navigationToolActive&&(i===`image-loaded`||this.videoLoaded)?X(`div`,{bind:this,class:g,key:this.messages.navigationTool},X(`svg`,{afterCreate:e=>this._storeNavigationToolReference(e),class:r()?oe:T.rotateWithAnimation,focusable:`false`,height:C,role:`img`,width:C,xmlns:`http://www.w3.org/2000/svg`},X(`defs`,null,X(`linearGradient`,{gradientUnits:`userSpaceOnUse`,id:`${this.id}-coverage-fill`,x1:o,x2:s,y1:c,y2:l},X(`stop`,{class:T.navigationPathOffset0,offset:0}),X(`stop`,{class:T.navigationPathOffset1,offset:1}))),X(`g`,null,X(`circle`,{class:this.classes(T.sector,T.outerSector),cx:w[3],cy:w[3],r:w[3],onclick:this._scaleNavigationTool}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[2]}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[1]}),X(`circle`,{class:T.sector,cx:w[3],cy:w[3],r:w[0]}),X(`path`,{class:T.pointer,d:`M 56.5 6.06217782649107 L 60 0 L 63.5 6.06217782649107 Z`,key:`${T.pointer}-west`}),X(`path`,{class:this.classes(T.pointer,T.north),d:`M 113.93782217350893 56.5 L 120 60 L 113.93782217350893 63.5 Z`,key:`${T.pointer}-north`}),X(`path`,{class:T.pointer,d:`M 56.5 113.93782217350893 L 60 120 L 63.5 113.93782217350893 Z`,key:`${T.pointer}-east`}),X(`path`,{class:T.pointer,d:`M 6.06217782649107 56.5 L 0 60 L 6.06217782649107 63.5 Z`,key:`${T.pointer}-south`}),X(`path`,{class:this.classes(T.sector,T.sectorSeparator),d:`M 23.937554159486076 23.937554159486076 L 96.06244584051393 96.06244584051393 M 23.937554159486076 96.06244584051393 L 96.06244584051393 23.937554159486076`,key:T.sectorSeparator}),y([w[2],w[1],w[0]],w[3],w[3]).map((t,n)=>X(`path`,{afterRemoved:h,class:this.classes(T.sector,e?.[n]?.length?T.sectorEnabled:T.sectorDisabled),d:t,"data-sector":`${n}`,key:`${T.sector}-${n}`,onclick:u})),X(`path`,{class:this.classes(T.sector,T.sectorCross),d:`M 56.4 56.4 L 63.53 63.53 M 63.53 56.4 L 56.4 63.53`,key:T.sectorCross}),m,n.attributes.cameraPitch>=5&&a?X(`path`,{class:T.selectedFeaturePath,d:a,fill:`url(#${this.id}-coverage-fill)`,key:T.selectedFeaturePath}):null))):null}_renderSketch(){let{dataCaptureLayer:e,imageOverlaysOpened:t}=this;if(!e||t||(this._sketchLoaderTask||this._loadSketchResources(),!this._sketchLoaderTask?.value))return null;let{geometryType:n}=e,r=n===`point`?`pin`:n===`polyline`?`line`:`polygon`,i=this._sketchLoaderTask.value;return X(`div`,{class:T.sketchTools},X(i,{icon:r,messages:this._imageSketchToolsMessages,type:n,onAction:this._onAction}))}get _renderThumbnails(){let{currentBestFeature:e,thumbnails:t}=this.viewModel;return e?X(`div`,{class:T.carouselContent},t?.items.map(({url:t,objectId:n,rotation:r},i)=>X(`div`,{class:`${T.carouselItemWrapper}${e.attributes.objectId===n?`--selected`:``}`,key:`${T.carouselItemWrapper}-${i}`},X(`canvas`,{afterCreate:this._registerGalleryItem,afterRemoved:this._unregisterGalleryItem,alt:`thumbnail-${n}`,class:T.carouselItem,"data-objectid":`${n}`,"data-rotation":`${r}`,"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(){let e=!this.shouldShowSelectedImage;e&&this._disableExploreImages3D(),this.shouldShowSelectedImage=e,this._toggleDisabledViewer(this.shouldShowSelectedImage)}_resetSuperimposeOffset(){if(this.viewModel.mode==="default"){this._defaultSuperimposeZOffsetPercentage=100,this.viewModel.setDefaultSuperimposeZOffsetPercentage(0);return}this._panoramicSuperimposeRadiusOffsetPercentage=100,this.viewModel.setPanoramicSuperimposeRadiusPercentage(0)}_toggleSuperimposeCameraLock(){this.viewModel.updateDefaultSuperimposeCameraLock(!this.defaultSuperimposeCameraLockEnabled)}_toggleSuperimposeView(){this.superimposeViewEnabled=!this.superimposeViewEnabled}_disableExploreImages3D(){this._exploreImages3DMenuOpen=!1,this._exploreImages3DCollapsed=!1,this.verticalFilterEnabled=!1,this.viewModel.setFrustumSearchEnabled(!1)}_setExploreImages3DSearchMode(e){let t=e===`3d`||e===`both`,n=e===`frustum`||e===`both`,r=this.verticalFilterEnabled===t&&this.viewModel.frustumSearchEnabled===n;this.shouldShowSelectedImage=!1,this.verticalFilterEnabled=t,this.viewModel.setFrustumSearchEnabled(n),this._toggleDisabledViewer(!0),r&&this.scheduleRender()}_toggleExploreImages3DMenu(e){if(e.stopPropagation(),this._exploreImages3DMenuOpen){this._disableExploreImages3D();return}this.shouldShowSelectedImage=!1,this._exploreImages3DCollapsed=!1,!this.verticalFilterEnabled&&!this.viewModel.frustumSearchEnabled&&this._setExploreImages3DSearchMode(`3d`),this._exploreImages3DMenuOpen=!0}_toggleExploreImages3DSelection(e,{currentTarget:t}){this._setExploreImages3DSearchMode(this._getNextExploreImages3DSearchMode(e)),t.checked=e===`3d`?this.verticalFilterEnabled:this.viewModel.frustumSearchEnabled}_getNextExploreImages3DSearchMode(e){let t=this.verticalFilterEnabled,n=this.viewModel.frustumSearchEnabled,r=t&&n;return e===`3d`?r?`frustum`:n?`both`:`3d`:r?`3d`:t?`both`:`3d`}_toggleDisabledViewer(e){e&&(this.disabled=!1)}_toggleEnhancementToolState(e){e.stopPropagation();let t=this.enhancementToolActive;this._closeAllImageTools(),this.enhancementToolActive=!t}_toggleExploreImages(){this.disabled=!this.disabled,this.disabled&&(this.shouldShowSelectedImage=!1,this._disableExploreImages3D())}_toggleGroupSelection(e,t){let n=this._rootActionTitleToFocus;e&&(this._rootActionTitleToFocus=t?.currentTarget?.getAttribute(`title`)),e!==`search`&&(this._exploreImages3DMenuOpen=!1),this.selectedGroup=e,this._actionTitleToFocus=e?this.messages.previous:n}_toggleImageOverlays(e){e.stopPropagation();let t=this.imageOverlaysOpened;this._closeAllImageTools(),this.imageOverlaysOpened=!t}_toggleImageGallery(e){e.stopPropagation();let t=this.galleryOpened;this._closeAllImageTools(),this.galleryOpened=this.imageGalleryEnabled?!t:!1}_toggleLocationTool(e){let t=this.imageLocationToolActive,n=this.triangularMeasurementActive&&t;this._closeAllImageTools(),this.imageLocationToolActive=n||!t,e.stopPropagation()}_toggleMeasurementSketch(e,t){e.stopPropagation();let n=this.measureType,r=this.triangularMeasurementActive;this._closeAllImageTools(),this.measureType=n===t&&!r?null:t,this.measureType===t&&(this.viewModel.displayNewMeasurementButton=!0)}_toggleNavigationTool(){let e=this.navigationToolActive;this._closeAllImageTools(),this.navigationToolActive=!e}_toggleMapImageConversionToolState(){this.mapImageConversionToolState=!this.mapImageConversionToolState}_toggleTriangularAreaMeasurements(){this._toggleTriangularMeasurements(`area`)}_toggleTriangularDistanceMeasurements(){this._toggleTriangularMeasurements(`distance`)}_toggleTriangularLocation(){let e=this.triangularMeasurementActive,t=this.navigationToolActive;if(!e){this._activateTriangulatedImageLocationWorkflow(e,t);return}if(this.measureType!==null){this._resetMeasureTypeAndActivateImageLocationTool();return}this.imageLocationToolActive?this._closeImageToolsAndToggleNavigation(e,t):this._activateTriangulatedImageLocationTool()}_toggleTriangularMeasurements(e){let t=this.triangularMeasurementActive,n=this.viewModel.measureType,r=this.navigationToolActive;t?e===n?(this._closeAllImageTools(),this.triangularMeasurementActive=!t,this.navigationToolActive=!r):(this.imageLocationToolActive=!1,this.measureType=e,this.viewModel.displayNewMeasurementButton=!0):(this._closeAllImageTools(),this.measureType=e,this.triangularMeasurementActive=!t,this.navigationToolActive=r?!0:!r,this.viewModel.displayNewMeasurementButton=!0)}_unregisterGalleryItem(e){this._galleryObserver.unobserve(e)}_updateNavigationTool(e){let{previousFeatureAngle:t,bestFeatureAngle:n}=this.viewModel,r=(n-t+540)%360-180;e.style.setProperty(E,`${t}deg`),e.style.setProperty(D,`${t+r}deg`)}async loadBestImage(e,t){return this.viewModel.loadBestImage(e,t)}loadImageFromSource(e,t,n){return e==="default"?this.viewModel.loadMediaSource(t,n):this.viewModel.loadPanoramicMediaSource(t,n)}async overlayMapFeatures(e,t){return this.removeHandles(`${Q.overlayed}-${e.id}`),this.addHandles(u(()=>e.visible,()=>{this.viewModel.toggleOverlayMapFeatures(e.id,e.visible,this.showMapFeatures)}),`${Q.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(`${Q.overlayed}-${e}`),this._overlayedLayers.remove(this._overlayedLayers.find(t=>t.id===e)),this.viewModel.removeOverlayedGraphicsOnImage(e)}resetImage(){this.viewModel.resetImage()}render(){return X(`div`,{class:this.classes(q.widget,O)},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([g({readOnly:!0})],$.prototype,`accuracyParametersMissing`,null),e([g()],$.prototype,`actionBarPosition`,void 0),e([g()],$.prototype,`activeLayer`,null),e([g()],$.prototype,`activeVideoIcon`,null),e([g()],$.prototype,`activeAudioIcon`,null),e([g()],$.prototype,`cameraHeadingThreshold`,null),e([g()],$.prototype,`cameraPitchThreshold`,null),e([g()],$.prototype,`canNavigateSequentially`,null),e([g()],$.prototype,`currentBestFeature`,null),e([g()],$.prototype,`currentCoverageVisible`,null),e([g()],$.prototype,`dataCaptureEnabled`,void 0),e([g()],$.prototype,`dataCaptureLayer`,null),e([g()],$.prototype,`depthImageNotSupported`,null),e([g()],$.prototype,`disabled`,null),e([g()],$.prototype,`enhancementToolActive`,null),e([g()],$.prototype,`features`,null),e([g()],$.prototype,`imagePointsInView`,null),e([g()],$.prototype,`galleryOpened`,void 0),e([g()],$.prototype,`icon`,null),e([g()],$.prototype,`imageEnhancementToolActive`,void 0),e([g()],$.prototype,`videoEnhancementToolActive`,void 0),e([g({readOnly:!0})],$.prototype,`imageGalleryEnabled`,null),e([g()],$.prototype,`imageLocationToolActive`,null),e([g()],$.prototype,`imageOverlaysOpened`,void 0),e([g({readOnly:!0})],$.prototype,`invalidCameraHeading`,null),e([g()],$.prototype,`isAdditionalCoverageVisible`,null),e([g()],$.prototype,`isAdditionalPointSourcesVisible`,null),e([g()],$.prototype,`mapImageConversionToolState`,null),e([g()],$.prototype,`measureType`,null),e([g()],$.prototype,`layer`,null),e([g()],$.prototype,`navigationToolActive`,void 0),e([g()],$.prototype,`navigationMode`,null),e([J(b()),g({type:N})],$.prototype,`viewModel`,void 0),e([g(),Y(`esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer`)],$.prototype,`messages`,void 0),e([g(),Y(`esri/core/t9n/Units`)],$.prototype,`measurementUnitMessages`,void 0),e([g(),Y(`esri/t9n/common`)],$.prototype,`messagesCommon`,void 0),e([g(),Y(`esri/widgets/Sketch/t9n/Sketch`)],$.prototype,`messagesSketch`,void 0),e([g()],$.prototype,`pixelMeasurementUnit`,void 0),e([g()],$.prototype,`pixelAreaMeasurementUnit`,void 0),e([g({readOnly:!0})],$.prototype,`popupEnabled`,null),e([g()],$.prototype,`preloadMedia`,null),e([g()],$.prototype,`referencePoint`,null),e([g()],$.prototype,`selectedFeatureObjectId`,null),e([g()],$.prototype,`selectedPoint`,null),e([g()],$.prototype,`selectedGroup`,void 0),e([g()],$.prototype,`showCameraLocations`,void 0),e([g()],$.prototype,`showMapFeatures`,void 0),e([J([`create`,`delete`,`redo`,`undo`,`update`]),g({readOnly:!0})],$.prototype,`sketchViewModel`,null),e([g()],$.prototype,`triangularMeasurementActive`,null),e([g()],$.prototype,`videoLoaded`,null),e([g()],$.prototype,`view`,null),e([g({type:P,nonNullable:!0})],$.prototype,`visibleElements`,void 0),e([g()],$.prototype,`determineWorkflowForFeature`,null),e([g()],$.prototype,`shouldShowSelectedImage`,null),e([g()],$.prototype,`superimposeViewEnabled`,null),e([g()],$.prototype,`defaultSuperimposeCameraLockEnabled`,null),e([g()],$.prototype,`updateFootprint`,null),e([g()],$.prototype,`verticalFilterEnabled`,null),e([g()],$.prototype,`_defaultSuperimposeZOffsetPercentage`,void 0),e([g()],$.prototype,`_panoramicSuperimposeRadiusOffsetPercentage`,void 0),e([g()],$.prototype,`_exploreImages3DMenuOpen`,void 0),e([g()],$.prototype,`_exploreImages3DCollapsed`,void 0),e([g()],$.prototype,`_actionBarLayout`,null),e([g()],$.prototype,`_activeMeasurementHeading`,null),e([g()],$.prototype,`_imageOverlaysLoaderTask`,void 0),e([g()],$.prototype,`_imageMeasurementToolsLoaderTask`,void 0),e([g()],$.prototype,`_navigationSettingsLoaderTask`,void 0),e([g()],$.prototype,`_navigationTask`,void 0),e([g()],$.prototype,`_measurementToggle`,null),e([g()],$.prototype,`_renderRoot`,null),e([g()],$.prototype,`_imageEnhancementTools`,null),e([g()],$.prototype,`_videoEnhancementTools`,null),e([g()],$.prototype,`_superimposeTools`,null),e([g()],$.prototype,`_exploreImages3DTools`,null),e([g()],$.prototype,`_imageGalleryPanel`,null),e([g()],$.prototype,`_imageGalleryContext`,null),e([g()],$.prototype,`_imageOverlaysComponent`,null),e([g()],$.prototype,`_navigationUI`,null),e([g()],$.prototype,`_imageOverlayMessages`,null),e([g()],$.prototype,`_imageSketchToolsMessages`,null),e([g()],$.prototype,`_imageOverlaysEnabled`,null),e([g()],$.prototype,`_imageViewer`,null),e([g()],$.prototype,`_imageViewerTriangular`,null),e([g()],$.prototype,`_videoViewer`,null),e([g()],$.prototype,`_locationToggle`,null),e([g()],$.prototype,`_messageBox`,null),e([g()],$.prototype,`_navigationToolExpanded`,void 0),e([g()],$.prototype,`_navigationTool`,void 0),e([g()],$.prototype,`_panoramicVideoViewer`,null),e([g()],$.prototype,`_panoramicViewer`,null),e([g({readOnly:!0})],$.prototype,`noImageInSequenceError`,null),e([g()],$.prototype,`_renderNavigation`,null),e([g()],$.prototype,`_renderThumbnails`,null),e([g()],$.prototype,`_sketchLoaderTask`,void 0),$=e([ee(`esri.widgets.OrientedImageryViewer`)],$);const le=$;export{le as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../Camera.js";import n from"../../Ground.js";import r from"../../Map.js";import i from"../../core/Collection.js";import a from"../../core/Error.js";import{EventedAccessor as o}from"../../core/Evented.js";import{addEventListener as s}from"../../core/events.js";import{JSONMap as c}from"../../core/jsonMap.js";import l from"../../core/Logger.js";import{rad2deg as u,deg2rad as d}from"../../core/mathUtils.js";import{destroyMaybe as f}from"../../core/maybe.js";import{waitTick as p}from"../../core/promiseUtils.js";import{watch as m,syncAndInitial as h,when as g,whenOnce as _}from"../../core/reactiveUtils.js";import{property as v,subclass as y}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as b}from"../../core/support/UpdatingHandles.js";import x from"../../geometry/SpatialReference.js";import S from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as C}from"../../layers/orientedImagery/transformations/utils.js";import w from"../../views/SceneView.js";import{createScreenPointFromEvent as T}from"../../views/support/screenUtils.js";import{fixedImageSize as E}from"../OrientedImageryViewer/constants.js";import{createPanoramicMedia as D,extractHorizonAnglesFromMedia as O,logAndThrow as k,getMissingPropertyErrorName as A,getMissingPropertyErrorMessage as j}from"../OrientedImageryViewer/utils.js";import{normalizeVideoSource as M}from"../OrientedImageryViewer/videoViewerUtils.js";import{defaultImageSphereCenter as N,maxPanoramicViewerHFOV as P,minPanoramicViewerHFOV as F,humanBinocularHFOV as I}from"./constants.js";import L from"./PanoramicZoomConditions.js";import R from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as z,meshToGraphic as B,createImageSphere as V}from"./utils.js";import{enumeration as H}from"../../core/accessorSupport/decorators/enumeration.js";const U={default:`default`,navigation:`navigation`,fovConstraint:`fov-constraint`,clickAction:`image-click-action`,videoHandles:`video-handles`};let W=class extends o{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new S({elevationInfo:{mode:`relative-to-ground`}}),this._imageGraphic=null,this._loadController=null,this._map=new r({ground:new n({opacity:0,navigationConstraint:null}),layers:new i([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction=`none`,this.closestFeature=null,this.currentTime=0,this.imageSize=null,this.media=null,this.oiViewModel=null,this.videoSource=null,this.videoDuration=void 0,this.videoLoaded=!1,this.videoPaused=null,this.videoMuted=null,this.pitch=90,this.state=`ready`,this.updatingHandles=new b,this.video=null,this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.freeze=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(U.navigation),this.addHandles([this.imageRenderer.on(`mouse-wheel`,this._handleWheel),this.imageRenderer.on(`double-click`,this._handleDoubleClick),this.imageRenderer.on(`drag`,this._handleDrag),this.imageRenderer.on(`key-down`,e=>{let t=[`+`,`-`,`Shift`,`_`,`=`,`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`],n=e.key;t.includes(n)&&e.stopPropagation()})],U.navigation)},this._addHFOVHandles=()=>{this.removeHandles(U.fovConstraint),this.addHandles(m(()=>[this.maxHFOV,this.minHFOV],()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new L({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))},h),U.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new R({view:this.imageRenderer,panoramicZoomConditions:new L({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});let e=this.imageRenderer.ui.find(`zoom`);e&&(e.viewModel=this._zoomViewModel),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._createMedia=(e,t)=>{this.media=D({type:`video`,url:e,matrix:t.attributes.matrix,cameraHeading:t.attributes.cameraHeading})},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();let{action:t,x:n,y:r}=e;switch(t){case`start`:this._startPosition=this._targetPosition={x:n,y:r};break;case`update`:this._targetPosition={x:n,y:r},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if(this.state===`image-loaded`&&this.imageRenderer.ready)switch(this.clickAction){case`emit`:e.stopPropagation(),this.emit(`click`,e);break;case`hittest`:e.stopPropagation(),e.defer(async()=>{let t=await this.imageRenderer.hitTest(T(e),{include:this._graphics});t.results=t.results.filter(e=>e.type===`graphic`&&e.graphic!==this._imageGraphic),this.emit(`hittest-response`,t)});break;case`pixel-location`:{if(e.stopPropagation(),!this.imageSize||!e.mapPoint){this.emit(`pixel-location`,null);return}let t=this.horizonAngles,n=C(e.mapPoint,this.imageSize[0],this.imageSize[1],t);this.emit(`pixel-location`,{...n,spatialReference:x.WebMercator});break}}},this._handleWheel=e=>{let t=e.deltaX??e.native.deltaX;e.stopPropagation(),t>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadVideo(this._loadController)},this._updateMedia=(e,t,n)=>{n.url=e,n.matrix=t.attributes.matrix,n.cameraHeading=t.attributes.cameraHeading},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,t)=>this.state!==`image-loaded`||this._graphics.graphics.includes(e)?!1:(this._graphics.graphics.add(e,t),!0),this.addManyGraphics=e=>{if(this.state!==`image-loaded`)return!1;let t=e.filter(e=>!this._graphics.graphics.includes(e));return this._graphics.graphics.addMany(t),!0},this.clearOverlayGraphics=()=>{let e=Array.from(this.oiViewModel.overlayedMapFeatures.values()).flatMap(e=>e.toArray()),t=[...this.oiViewModel.overlayedCameraLocations.toArray(),...e];t.length&&this.removeManyGraphics(t)},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.enableAudio=()=>{let{video:e}=this;e&&(e.muted=!1,this.videoMuted=!1)},this.removeGraphic=e=>this.state!==`image-loaded`||!this._graphics.graphics.includes(e)?!1:(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if(this.state!==`image-loaded`)return!1;let t=e.filter(e=>this._graphics.graphics.includes(e));return this._graphics.removeMany(t),!0},this.togglePanoramicAudio=()=>{if(this.video){let e=this.video.muted;this.video.muted=!e,this.videoMuted=!e}},this._imageRenderer=new w({map:this._map,viewingMode:`local`,camera:{position:N},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:`virtual`}},popupEnabled:!1,spatialReference:x.WebMercator,attributionVisible:!1,ui:{components:[`zoom`]}})}destroy(){this._imageRenderer.destroy()}initialize(){this.state=`initialized`,this.addHandles([m(()=>this.videoSource,(e,t)=>{e!==t&&(this.closestFeature=null),this.videoSource&&this.autoLoad&&this._loadWithController()},h),m(()=>this.fov,()=>{this._reloadCamera()},h),m(()=>this.yaw,e=>{this.camera&&(this.camera.heading=e,this._reloadCamera())},h),m(()=>this.pitch,e=>{this.camera&&(this.camera.tilt=e,this._reloadCamera())},h),g(()=>this.imageRenderer.ready,()=>{this._addNavigationHandles(),this._addZoomHandles()},h),m(()=>this.clickAction,e=>{this.removeHandles(U.clickAction),e!==`none`&&this.addHandles(this.imageRenderer.on(`click`,this._handleImageClick))},h),m(()=>this.video,e=>{if(e instanceof HTMLVideoElement){this._startVideo();let t=async()=>{this.currentTime=Number(e.currentTime.toFixed(2)),e.currentTime&&await this._updateVidFootprint(e.currentTime)};this.removeHandles(U.videoHandles);let n=s(e,`timeupdate`,t),r=s(e,`play`,()=>this._updateVideoIcon(e.paused)),i=s(e,`pause`,()=>this._pauseVideoHandler(e));this.addHandles([n,r,i],U.videoHandles)}},h),m(()=>[this.videoSource,this.oiViewModel?.currentBestFeature,this.closestFeature],()=>{if(!this.videoSource||!this.oiViewModel.currentBestFeature)return;let e=this.closestFeature??this.oiViewModel.currentBestFeature;this.media?this._updateMedia(this.videoSource,e,this.media):this._createMedia(this.videoSource,e)},h)],U.default)}get camera(){return this.imageRenderer.destroying||this.imageRenderer.destroyed?null:this.imageRenderer.camera}set camera(e){!e||this.imageRenderer.destroying||this.imageRenderer.destroyed||(this.imageRenderer.camera=e.clone())}get fov(){return this.camera?.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get horizonAngles(){return O(this.media)}get hfov(){if(!this.camera||!this.imageRenderer?.ready)return null;let{fov:e}=this.camera,{size:[t,n]}=this.imageRenderer,r=t/n,i=Math.atan(r);return 2*u(Math.atan(Math.tan(d(e/2))*Math.sin(i)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){let{size:[e,t]}=this.imageRenderer;return this.imageRenderer.ready?z(P,e/t):P}get minHFOV(){let{size:[e,t]}=this.imageRenderer;return this.imageRenderer.ready?z(F,e/t):F}get updating(){return this.updatingHandles.updating}get vfov(){if(!this.camera||!this.imageRenderer?.ready)return null;let{fov:e}=this.camera,{size:[t,n]}=this.imageRenderer,r=t/n,i=Math.atan(r);return 2*u(Math.atan(Math.tan(d(e/2))*Math.cos(i)))}async _loadVideoInternal(e,t){return this.state=`image-loading`,this.video=document.createElement(`video`),this.video.src=e,this.video.addEventListener(`loadedmetadata`,()=>{this._setVideoDuration(),this.videoLoaded=!0}),this._updateImageSphere(this.video,t)}_pauseVideoHandler(e){this._updateVideoIcon(e.paused)}_setVideoDuration(){let{video:e}=this;e?.duration&&(this.videoDuration=e.duration)}_startVideo(){try{this.enableAudio();let e=this.oiViewModel.currentBestFeature;e&&this.playPanoramicVideoFromSelectedLocation(e)}catch(e){l.getLogger(this).error(`oriented-imagery-viewer:video-load`,e)}}_reloadCamera(){this.camera=this.camera?.clone()}_removeImageSphere(){this._imageGraphic&&=(this._graphics.remove(this._imageGraphic),f(this._imageGraphic)),this.state=`ready`,this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition||!this.camera)return;let e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;let t=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,t)),this._startPosition=this._targetPosition}async _updateImageSphere(e,t){await p(t);let[n,r,i]=this.horizonAngles??[0,0,0];return this._imageGraphic=B(V({data:e,horizonPitch:n,horizonRoll:r,horizonYaw:i})),this._graphics.add(this._imageGraphic),this.state=`image-loaded`,_(()=>this.imageRenderer.ready,t).then(()=>{let{size:[e,t]}=this.imageRenderer;this.fov=z(I,e/t)}),this.imageSize=E,this._imageGraphic.geometry}async _updateVidFootprint(e){let t=Math.floor(e),n=M(this.videoSource??this.oiViewModel?.currentBestFeature?.attributes.imagePath),r=this.oiViewModel?.getCachedVideoFeatureByOffset(t,n)??await this.oiViewModel?.getVideoFeatureByOffset(t,n),{yaw:i,pitch:a,vfov:o,hfov:s}=this,c=!r?.attributes.offsetFromStart||!o||!s||!i||!a,l=r?.attributes.objectId===this.closestFeature?.attributes.objectId;c||l||(this.closestFeature=r)}_updateVideoIcon(e){this.videoPaused=e,e||(this.clearOverlayGraphics(),this.oiViewModel.mapImageConversionToolState&&this.oiViewModel.setMapImageConversionToolState(!1))}resetVideo(){this._cancelLoadWithController(),this.removeHandles(U.videoHandles);let{video:e}=this;e&&(e.pause(),e.removeAttribute(`src`),e.load()),this.video=null,this.videoSource=null,this.videoLoaded=!1,this.videoPaused=null,this.videoMuted=null,this.videoDuration=void 0,this.currentTime=0,this.media=null,this.clearImage(),this.clearGraphics()}async loadVideo(e){return this._removeImageSphere(),this.videoSource?this._loadVideoInternal(this.videoSource,e):k(this.declaredClass,new a(A(`panoramic-viewer`),j(`PanoramicViewerViewModel`,`videoSource`)))}playPanoramicVideoHandler(){let{video:e}=this;e&&(e.paused?e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}):e.pause())}playPanoramicVideoFromSelectedLocation(e){let t=e.attributes.offsetFromStart;if(t){let e=this.video;e&&(e.currentTime=t,e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}))}}rewindPanoramicVideoHandler(){let{video:e}=this;e&&(e.currentTime=0,e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}))}};e([v()],W.prototype,`_graphics`,void 0),e([v()],W.prototype,`_imageGraphic`,void 0),e([v()],W.prototype,`_imageRenderer`,void 0),e([v()],W.prototype,`_loadController`,void 0),e([v()],W.prototype,`_map`,void 0),e([v()],W.prototype,`_zoomViewModel`,void 0),e([v({type:Boolean})],W.prototype,`autoLoad`,void 0),e([v({type:t})],W.prototype,`camera`,null),e([H(new c({emit:`emit`,hittest:`hittest`,none:`none`,"pixel-location":`pixel-location`}))],W.prototype,`clickAction`,void 0),e([v()],W.prototype,`closestFeature`,void 0),e([v()],W.prototype,`currentTime`,void 0),e([v({type:Number})],W.prototype,`fov`,null),e([v()],W.prototype,`horizonAngles`,null),e([v({readOnly:!0})],W.prototype,`hfov`,null),e([v({readOnly:!0})],W.prototype,`imageRenderer`,null),e([v()],W.prototype,`imageSize`,void 0),e([v()],W.prototype,`media`,void 0),e([v()],W.prototype,`oiViewModel`,void 0),e([v()],W.prototype,`videoSource`,void 0),e([v()],W.prototype,`videoDuration`,void 0),e([v()],W.prototype,`videoLoaded`,void 0),e([v()],W.prototype,`videoPaused`,void 0),e([v()],W.prototype,`videoMuted`,void 0),e([v({readOnly:!0})],W.prototype,`maxHFOV`,null),e([v({readOnly:!0})],W.prototype,`minHFOV`,null),e([v({type:Number})],W.prototype,`pitch`,void 0),e([v()],W.prototype,`state`,void 0),e([v()],W.prototype,`updatingHandles`,void 0),e([v()],W.prototype,`updating`,null),e([v({readOnly:!0})],W.prototype,`vfov`,null),e([v()],W.prototype,`video`,void 0),e([v({type:Number})],W.prototype,`yaw`,void 0),W=e([y(`esri.widgets.PanoramicViewer.PanoramicVideoViewerViewModel`)],W);const G=W;export{G as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../Camera.js";import n from"../../Ground.js";import r from"../../Map.js";import i from"../../core/Collection.js";import a from"../../core/Error.js";import{EventedAccessor as o}from"../../core/Evented.js";import{addEventListener as s}from"../../core/events.js";import{JSONMap as c}from"../../core/jsonMap.js";import l from"../../core/Logger.js";import{rad2deg as u,deg2rad as d}from"../../core/mathUtils.js";import{destroyMaybe as f}from"../../core/maybe.js";import{waitTick as p}from"../../core/promiseUtils.js";import{watch as m,syncAndInitial as h,when as g,whenOnce as _}from"../../core/reactiveUtils.js";import{property as v,subclass as y}from"../../core/accessorSupport/decorators.js";import{UpdatingHandles as b}from"../../core/support/UpdatingHandles.js";import x from"../../geometry/SpatialReference.js";import S from"../../layers/GraphicsLayer.js";import{convertSphereVertexToPixelLocation as C}from"../../layers/orientedImagery/transformations/utils.js";import w from"../../views/SceneView.js";import{createScreenPointFromEvent as T}from"../../views/support/screenUtils.js";import{fixedImageSize as E}from"../OrientedImageryViewer/constants.js";import{createPanoramicMedia as D,extractHorizonAnglesFromMedia as O,logAndThrow as k,getMissingPropertyErrorName as A,getMissingPropertyErrorMessage as j}from"../OrientedImageryViewer/utils.js";import{normalizeVideoSource as M}from"../OrientedImageryViewer/videoViewerUtils.js";import{defaultImageSphereCenter as N,maxPanoramicViewerHFOV as P,minPanoramicViewerHFOV as F,humanBinocularHFOV as I}from"./constants.js";import L from"./PanoramicZoomConditions.js";import R from"./PanoramicZoomViewModel.js";import{findDiagonalFOV as z,meshToGraphic as B,createImageSphere as V}from"./utils.js";import{enumeration as H}from"../../core/accessorSupport/decorators/enumeration.js";const U={default:`default`,navigation:`navigation`,fovConstraint:`fov-constraint`,clickAction:`image-click-action`,videoHandles:`video-handles`};let W=class extends o{constructor(e){super(e),this._startPosition=null,this._targetPosition=null,this._graphics=new S({elevationInfo:{mode:`relative-to-ground`}}),this._imageGraphic=null,this._loadController=null,this._map=new r({ground:new n({opacity:0,navigationConstraint:null}),layers:new i([this._graphics])}),this._zoomViewModel=null,this.autoLoad=!1,this.clickAction=`none`,this.closestFeature=null,this.currentTime=0,this.imageSize=null,this.media=null,this.oiViewModel=null,this.videoSource=null,this.videoDuration=void 0,this.videoLoaded=!1,this.videoPaused=null,this.videoMuted=null,this.pitch=90,this.state=`ready`,this.updatingHandles=new b,this.video=null,this.yaw=0,this._addNavigationHandles=()=>{this.imageRenderer.basemapTerrain.freeze=!0,this.imageRenderer.constraints.tilt.max=180,this.removeHandles(U.navigation),this.addHandles([this.imageRenderer.on(`mouse-wheel`,this._handleWheel),this.imageRenderer.on(`double-click`,this._handleDoubleClick),this.imageRenderer.on(`drag`,this._handleDrag),this.imageRenderer.on(`key-down`,e=>{let t=[`+`,`-`,`Shift`,`_`,`=`,`ArrowUp`,`ArrowDown`,`ArrowRight`,`ArrowLeft`],n=e.key;t.includes(n)&&e.stopPropagation()})],U.navigation)},this._addHFOVHandles=()=>{this.removeHandles(U.fovConstraint),this.addHandles(m(()=>[this.maxHFOV,this.minHFOV],()=>{this._zoomViewModel&&(this._zoomViewModel.panoramicZoomConditions=new L({view:this.imageRenderer,maxFOV:this.maxHFOV,minFOV:this.minHFOV}))},h),U.fovConstraint)},this._addZoomHandles=()=>{this._zoomViewModel=new R({view:this.imageRenderer,panoramicZoomConditions:new L({maxFOV:this.maxHFOV,minFOV:this.minHFOV})});let e=this.imageRenderer.ui.find(`zoom`);e&&(e.viewModel=this._zoomViewModel),this._addHFOVHandles()},this._cancelLoadWithController=()=>{this._loadController?.abort(),this._loadController=null},this._createMedia=(e,t)=>{this.media=D({type:`video`,url:e,matrix:t.attributes.matrix,cameraHeading:t.attributes.cameraHeading})},this._handleDoubleClick=e=>{e.stopPropagation(),e.native.ctrlKey?this._zoomOut():this._zoomIn()},this._handleDrag=e=>{e.stopPropagation();let{action:t,x:n,y:r}=e;switch(t){case`start`:this._startPosition=this._targetPosition={x:n,y:r};break;case`update`:this._targetPosition={x:n,y:r},this._updateCameraHeadingAndTilt()}},this._handleImageClick=e=>{if(this.state===`image-loaded`&&this.imageRenderer.ready)switch(this.clickAction){case`emit`:e.stopPropagation(),this.emit(`click`,e);break;case`hittest`:e.stopPropagation(),e.defer(async()=>{let t=await this.imageRenderer.hitTest(T(e),{include:this._graphics});t.results=t.results.filter(e=>e.type===`graphic`&&e.graphic!==this._imageGraphic),this.emit(`hittest-response`,t)});break;case`pixel-location`:{if(e.stopPropagation(),!this.imageSize||!e.mapPoint){this.emit(`pixel-location`,null);return}let t=this.horizonAngles,n=C(e.mapPoint,this.imageSize[0],this.imageSize[1],t);this.emit(`pixel-location`,{...n,spatialReference:x.WebMercator});break}}},this._handleWheel=e=>{let t=e.deltaX??e.native.deltaX;e.stopPropagation(),t>0||e.deltaY>0?this._zoomOut():this._zoomIn()},this._loadWithController=()=>{this._cancelLoadWithController(),this._loadController=new AbortController,this.loadVideo(this._loadController)},this._updateMedia=(e,t,n)=>{n.url=e,n.matrix=t.attributes.matrix,n.cameraHeading=t.attributes.cameraHeading},this._zoomIn=()=>this._zoomViewModel?.zoomIn(),this._zoomOut=()=>this._zoomViewModel?.zoomOut(),this.addGraphic=(e,t)=>this.state!==`image-loaded`||this._graphics.graphics.includes(e)?!1:(this._graphics.graphics.add(e,t),!0),this.addManyGraphics=e=>{if(this.state!==`image-loaded`)return!1;let t=e.filter(e=>!this._graphics.graphics.includes(e));return this._graphics.graphics.addMany(t),!0},this.clearOverlayGraphics=()=>{let e=Array.from(this.oiViewModel.overlayedMapFeatures.values()).flatMap(e=>e.toArray()),t=[...this.oiViewModel.overlayedCameraLocations.toArray(),...e];t.length&&this.removeManyGraphics(t)},this.clearGraphics=()=>{this._graphics.graphics.removeAll()},this.clearImage=()=>{this.imageSize=null,this._removeImageSphere()},this.enableAudio=()=>{let{video:e}=this;e&&(e.muted=!1,this.videoMuted=!1)},this.removeGraphic=e=>this.state!==`image-loaded`||!this._graphics.graphics.includes(e)?!1:(this._graphics.remove(e),!0),this.removeManyGraphics=e=>{if(this.state!==`image-loaded`)return!1;let t=e.filter(e=>this._graphics.graphics.includes(e));return this._graphics.removeMany(t),!0},this.togglePanoramicAudio=()=>{if(this.video){let e=this.video.muted;this.video.muted=!e,this.videoMuted=!e}},this._imageRenderer=new w({map:this._map,viewingMode:`local`,camera:{position:N},environment:{atmosphereEnabled:!1,starsEnabled:!1,lighting:{type:`virtual`}},popupEnabled:!1,spatialReference:x.WebMercator,attributionVisible:!1,ui:{components:[`zoom`]}})}destroy(){this.resetVideo(),this._imageRenderer.destroy()}initialize(){this.state=`initialized`,this.addHandles([m(()=>this.videoSource,(e,t)=>{e!==t&&(this.closestFeature=null),this.videoSource&&this.autoLoad&&this._loadWithController()},h),m(()=>this.fov,()=>{this._reloadCamera()},h),m(()=>this.yaw,e=>{this.camera&&(this.camera.heading=e,this._reloadCamera())},h),m(()=>this.pitch,e=>{this.camera&&(this.camera.tilt=e,this._reloadCamera())},h),g(()=>this.imageRenderer.ready,()=>{this._addNavigationHandles(),this._addZoomHandles()},h),m(()=>this.clickAction,e=>{this.removeHandles(U.clickAction),e!==`none`&&this.addHandles(this.imageRenderer.on(`click`,this._handleImageClick))},h),m(()=>this.video,e=>{if(e instanceof HTMLVideoElement){this._startVideo();let t=async()=>{this.currentTime=Number(e.currentTime.toFixed(2)),e.currentTime&&await this._updateVidFootprint(e.currentTime)};this.removeHandles(U.videoHandles);let n=s(e,`timeupdate`,t),r=s(e,`play`,()=>this._updateVideoIcon(e.paused)),i=s(e,`pause`,()=>this._pauseVideoHandler(e));this.addHandles([n,r,i],U.videoHandles)}},h),m(()=>[this.videoSource,this.oiViewModel?.currentBestFeature,this.closestFeature],()=>{if(!this.videoSource||!this.oiViewModel.currentBestFeature)return;let e=this.closestFeature??this.oiViewModel.currentBestFeature;this.media?this._updateMedia(this.videoSource,e,this.media):this._createMedia(this.videoSource,e)},h)],U.default)}get camera(){return this.imageRenderer.destroying||this.imageRenderer.destroyed?null:this.imageRenderer.camera}set camera(e){!e||this.imageRenderer.destroying||this.imageRenderer.destroyed||(this.imageRenderer.camera=e.clone())}get fov(){return this.camera?.fov}set fov(e){Number.isFinite(e)&&this._zoomViewModel?.zoomTo(e)}get horizonAngles(){return O(this.media)}get hfov(){if(!this.camera||!this.imageRenderer?.ready)return null;let{fov:e}=this.camera,{size:[t,n]}=this.imageRenderer,r=t/n,i=Math.atan(r);return 2*u(Math.atan(Math.tan(d(e/2))*Math.sin(i)))}get imageRenderer(){return this._imageRenderer}get maxHFOV(){let{size:[e,t]}=this.imageRenderer;return this.imageRenderer.ready?z(P,e/t):P}get minHFOV(){let{size:[e,t]}=this.imageRenderer;return this.imageRenderer.ready?z(F,e/t):F}get updating(){return this.updatingHandles.updating}get vfov(){if(!this.camera||!this.imageRenderer?.ready)return null;let{fov:e}=this.camera,{size:[t,n]}=this.imageRenderer,r=t/n,i=Math.atan(r);return 2*u(Math.atan(Math.tan(d(e/2))*Math.cos(i)))}async _loadVideoInternal(e,t){return this.state=`image-loading`,this.video=document.createElement(`video`),this.video.src=e,this.video.addEventListener(`loadedmetadata`,()=>{this._setVideoDuration(),this.videoLoaded=!0}),this._updateImageSphere(this.video,t)}_pauseVideoHandler(e){this._updateVideoIcon(e.paused)}_setVideoDuration(){let{video:e}=this;e?.duration&&(this.videoDuration=e.duration)}_startVideo(){try{this.enableAudio();let e=this.oiViewModel.currentBestFeature;e&&this.playPanoramicVideoFromSelectedLocation(e)}catch(e){l.getLogger(this).error(`oriented-imagery-viewer:video-load`,e)}}_reloadCamera(){this.camera=this.camera?.clone()}_removeImageSphere(){this._imageGraphic&&=(this._graphics.remove(this._imageGraphic),f(this._imageGraphic)),this.state=`ready`,this.imageSize=null}_updateCameraHeadingAndTilt(){if(!this._startPosition||!this._targetPosition||!this.camera)return;let e=this.camera.heading+(this._startPosition.x-this._targetPosition.x)/this.imageRenderer.width*this.camera.fov;this.yaw=(e+360)%360;let t=this.camera.tilt-(this._startPosition.y-this._targetPosition.y)/this.imageRenderer.height*this.imageRenderer.camera.tilt;this.pitch=Math.min(179.5,Math.max(.5,t)),this._startPosition=this._targetPosition}async _updateImageSphere(e,t){await p(t);let[n,r,i]=this.horizonAngles??[0,0,0];return this._imageGraphic=B(V({data:e,horizonPitch:n,horizonRoll:r,horizonYaw:i})),this._graphics.add(this._imageGraphic),this.state=`image-loaded`,_(()=>this.imageRenderer.ready,t).then(()=>{let{size:[e,t]}=this.imageRenderer;this.fov=z(I,e/t)}),this.imageSize=E,this._imageGraphic.geometry}async _updateVidFootprint(e){let t=Math.floor(e),n=M(this.videoSource??this.oiViewModel?.currentBestFeature?.attributes.imagePath),r=this.oiViewModel?.getCachedVideoFeatureByOffset(t,n)??await this.oiViewModel?.getVideoFeatureByOffset(t,n),{yaw:i,pitch:a,vfov:o,hfov:s}=this,c=!r?.attributes.offsetFromStart||!o||!s||!i||!a,l=r?.attributes.objectId===this.closestFeature?.attributes.objectId;c||l||(this.closestFeature=r)}_updateVideoIcon(e){this.videoPaused=e,e||(this.clearOverlayGraphics(),this.oiViewModel.mapImageConversionToolState&&this.oiViewModel.setMapImageConversionToolState(!1))}resetVideo(){this._cancelLoadWithController(),this.removeHandles(U.videoHandles);let{video:e}=this;e&&(e.pause(),e.removeAttribute(`src`),e.load()),this.video=null,this.videoSource=null,this.videoLoaded=!1,this.videoPaused=null,this.videoMuted=null,this.videoDuration=void 0,this.currentTime=0,this.media=null,this.clearImage(),this.clearGraphics()}async loadVideo(e){return this._removeImageSphere(),this.videoSource?this._loadVideoInternal(this.videoSource,e):k(this.declaredClass,new a(A(`panoramic-viewer`),j(`PanoramicViewerViewModel`,`videoSource`)))}playPanoramicVideoHandler(){let{video:e}=this;e&&(e.paused?e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}):e.pause())}playPanoramicVideoFromSelectedLocation(e){let t=e.attributes.offsetFromStart;if(t){let e=this.video;e&&(e.currentTime=t,e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}))}}rewindPanoramicVideoHandler(){let{video:e}=this;e&&(e.currentTime=0,e.play().catch(e=>{l.getLogger(this).error(`error playing video`,e)}))}};e([v()],W.prototype,`_graphics`,void 0),e([v()],W.prototype,`_imageGraphic`,void 0),e([v()],W.prototype,`_imageRenderer`,void 0),e([v()],W.prototype,`_loadController`,void 0),e([v()],W.prototype,`_map`,void 0),e([v()],W.prototype,`_zoomViewModel`,void 0),e([v({type:Boolean})],W.prototype,`autoLoad`,void 0),e([v({type:t})],W.prototype,`camera`,null),e([H(new c({emit:`emit`,hittest:`hittest`,none:`none`,"pixel-location":`pixel-location`}))],W.prototype,`clickAction`,void 0),e([v()],W.prototype,`closestFeature`,void 0),e([v()],W.prototype,`currentTime`,void 0),e([v({type:Number})],W.prototype,`fov`,null),e([v()],W.prototype,`horizonAngles`,null),e([v({readOnly:!0})],W.prototype,`hfov`,null),e([v({readOnly:!0})],W.prototype,`imageRenderer`,null),e([v()],W.prototype,`imageSize`,void 0),e([v()],W.prototype,`media`,void 0),e([v()],W.prototype,`oiViewModel`,void 0),e([v()],W.prototype,`videoSource`,void 0),e([v()],W.prototype,`videoDuration`,void 0),e([v()],W.prototype,`videoLoaded`,void 0),e([v()],W.prototype,`videoPaused`,void 0),e([v()],W.prototype,`videoMuted`,void 0),e([v({readOnly:!0})],W.prototype,`maxHFOV`,null),e([v({readOnly:!0})],W.prototype,`minHFOV`,null),e([v({type:Number})],W.prototype,`pitch`,void 0),e([v()],W.prototype,`state`,void 0),e([v()],W.prototype,`updatingHandles`,void 0),e([v()],W.prototype,`updating`,null),e([v({readOnly:!0})],W.prototype,`vfov`,null),e([v()],W.prototype,`video`,void 0),e([v({type:Number})],W.prototype,`yaw`,void 0),W=e([y(`esri.widgets.PanoramicViewer.PanoramicVideoViewerViewModel`)],W);const G=W;export{G as default};
|
|
@@ -6,6 +6,7 @@ import type SliderViewModel from "../Slider/SliderViewModel.js";
|
|
|
6
6
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
7
7
|
import type { SliderViewModelProperties } from "../Slider/SliderViewModel.js";
|
|
8
8
|
|
|
9
|
+
/** @deprecated since 5.2. Use the [arcgis-slider-scale-range](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slider-scale-range/) component instead. */
|
|
9
10
|
export interface ScaleRangeSliderViewModelProperties extends Partial<Pick<ScaleRangeSliderViewModel, "layer" | "maxScaleLimit" | "minScaleLimit" | "view">> {
|
|
10
11
|
/**
|
|
11
12
|
* The maximum scale of the active scale range. When the maxScale
|
|
@@ -26,14 +27,16 @@ export interface ScaleRangeSliderViewModelProperties extends Partial<Pick<ScaleR
|
|
|
26
27
|
sliderViewModel?: SliderViewModelProperties;
|
|
27
28
|
}
|
|
28
29
|
|
|
30
|
+
/** @deprecated since 5.2. Use the [state](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slider-scale-range/#state) property instead. */
|
|
29
31
|
export type ScaleRangeSliderViewModelState = "disabled" | "ready";
|
|
30
32
|
|
|
31
33
|
/**
|
|
32
|
-
* Provides the logic for the [ScaleRangeSlider](https://developers.arcgis.com/javascript/latest/references/core/widgets/ScaleRangeSlider/) widget
|
|
34
|
+
* Provides the logic for the [ScaleRangeSlider](https://developers.arcgis.com/javascript/latest/references/core/widgets/ScaleRangeSlider/) widget.
|
|
33
35
|
*
|
|
36
|
+
* @deprecated since version 5.2. Use the [arcgis-slider-scale-range](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slider-scale-range/) component instead.
|
|
34
37
|
* @since 4.13
|
|
35
38
|
* @see [ScaleRangeSlider](https://developers.arcgis.com/javascript/latest/references/core/widgets/ScaleRangeSlider/) widget
|
|
36
|
-
* @see [Scale Range Slider component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scale-range
|
|
39
|
+
* @see [Scale Range Slider component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slider-scale-range/)
|
|
37
40
|
* @see [ScaleRanges](https://developers.arcgis.com/javascript/latest/references/core/widgets/ScaleRangeSlider/ScaleRanges/)
|
|
38
41
|
* @see [Programming patterns: Widget viewModel pattern](https://developers.arcgis.com/javascript/latest/programming-patterns/#widget-viewmodel-pattern)
|
|
39
42
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{watch as
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../core/Accessor.js";import{deprecateUnnecessaryViewModel as n}from"../../core/deprecate.js";import r from"../../core/Logger.js";import{watch as i,initial as a}from"../../core/reactiveUtils.js";import{property as o,subclass as s}from"../../core/accessorSupport/decorators.js";import c from"./ScaleRanges.js";import l from"../Slider/SliderViewModel.js";let u=class extends t{constructor(e){super(e),this.layer=null,this.mode=`range`,this.scaleRanges=c.fromScaleRange({minScale:0,maxScale:0}),this.sliderViewModel=(()=>{let{max:e}=this._getSliderIndexRange(this.scaleRanges.length-1);return new l({suppressDeprecationWarning:!0,precision:10,min:0,max:e,values:[0,e]})})(),e?.suppressDeprecationWarning||n(r.getLogger(this),`Scale Range Slider`,`arcgis-slider-scale-range`,{version:`5.2`})}normalizeCtorArgs(e){let{suppressDeprecationWarning:t,...n}=e??{};return n}initialize(){this.addHandles([i(()=>this.layer,e=>e?.load().catch(()=>{})),i(()=>this.mode,e=>{e===`range`&&this.sliderViewModel.values?.length===1?this.sliderViewModel.values=[this.sliderViewModel.min,this.sliderViewModel.values[0]]:this.sliderViewModel.values?.length===2&&(e===`min-scale-only`?this.sliderViewModel.values=[this.sliderViewModel.values[0]]:e===`max-scale-only`&&(this.sliderViewModel.values=[this.sliderViewModel.values[1]]))}),i(()=>({loaded:this.layer?.loaded,ready:this.view?.ready}),({loaded:e,ready:t})=>{if(!e||!t)return;if(this._hasTiledLayer()){let e=this._getLayerResampling()?void 0:this.mapScaleToSlider(this._getTiledLayerMaxScale()),t=this.mapScaleToSlider(this._getTiledLayerMinScale());this.sliderViewModel.effectiveMax=e,this.sliderViewModel.effectiveMin=t}else{let{minScale:e=0,maxScale:t=0}=(this.layer&&`maxScaleRange`in this.layer?this.layer.maxScaleRange:null)??{};this.sliderViewModel.effectiveMax=t===0?void 0:this.mapScaleToSlider(t),this.sliderViewModel.effectiveMin=e===0?void 0:this.mapScaleToSlider(e)}let n=this.layer;n&&`minScale`in n&&`maxScale`in n?(this.minScale=n.minScale,this.maxScale=n.maxScale):(this.minScale=void 0,this.maxScale=void 0)},a)])}get effectiveMaxScale(){return this.maxScale===0?this.maxScaleLimit:this.maxScale}get effectiveMinScale(){return this.minScale===0?this.minScaleLimit:this.minScale}get effectiveMaxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMax??this.sliderViewModel.max)}get effectiveMinScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.effectiveMin??this.sliderViewModel.min)}get maxScale(){return this._getScale(`max`)}set maxScale(e){this._setMaxScaleOnSlider(e)}get maxScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.max)}set maxScaleLimit(e){this._setSliderRange({maxScale:e,minScale:this.minScaleLimit})}get minScale(){return this._getScale(`min`)}set minScale(e){this._setMinScaleOnSlider(e)}get minScaleLimit(){return this.mapSliderToScale(this.sliderViewModel.min)}set minScaleLimit(e){this._setSliderRange({maxScale:this.maxScaleLimit,minScale:e})}get state(){let{view:e,layer:t}=this;return!e&&!t||!e&&t?.loaded||!t&&e?.ready||e&&e.ready&&t?.loaded?`ready`:`disabled`}set view(e){this._set(`view`,e)}mapScaleToSlider(e){let t=this.scaleRanges.scaleToRangeIndex(e),{maxScale:n,minScale:r}=this.scaleRanges.findScaleRangeByIndex(t),{max:i,min:a}=this._getSliderIndexRange(t);return this._mapToRange(e,r,n,a,i)}mapSliderToScale(e){let{maxScale:t,minScale:n}=this.scaleRanges.findScaleRangeByIndex(e),{max:r,min:i}=this._getSliderIndexRange(e);return this._mapToRange(e,i,r,n,t)}_setSliderRange(e){this.scaleRanges=c.fromScaleRange(e);let{max:t}=this._getSliderIndexRange(this.scaleRanges.length-1);this.sliderViewModel.max=t,this.sliderViewModel.min=0,this._set(`minScaleLimit`,this.mapSliderToScale(this.sliderViewModel.min)),this._set(`maxScaleLimit`,this.mapSliderToScale(this.sliderViewModel.max))}_getSliderIndexRange(e){let t=Math.floor(e);return{min:t,max:t+.99999}}_mapToRange(e,t,n,r,i){return r+(e-t)*(i-r)/(n-t)}_getSliderValue(e){let{min:t,max:n,values:r}=this.sliderViewModel;if(!r)return e===`min`?t:n;let[i,a]=r;switch(this.mode){case`max-scale-only`:return e===`min`?t:i;case`min-scale-only`:return e===`min`?i:n;default:return e===`min`?i??t:a??n}}_getScale(e){let t=this.mapSliderToScale(this._getSliderValue(e));return this._normalizeScale(e,t)}_setMaxScaleOnSlider(e){let{scaleRanges:t,sliderViewModel:n}=this;if(e!==void 0){let r=this.mapScaleToSlider(this._constrainMaxScaleToLayer(t.clampMaxScale(e)));switch(this.mode){case`range`:n.values=[n.values[0],r];break;case`max-scale-only`:n.values=[r]}}}_setMinScaleOnSlider(e){let{scaleRanges:t,sliderViewModel:n}=this;if(e!==void 0){let r=this.mapScaleToSlider(this._constrainMinScaleToLayer(t.clampMinScale(e)));switch(this.mode){case`range`:n.values=[r,n.values[1]];break;case`min-scale-only`:n.values=[r]}}}_constrainMinScaleToLayer(e){let{scaleRanges:t}=this;if(this._hasTiledLayer()){let{firstRange:n}=t,r=this._getTiledLayerMinScale();e=this._mapToRange(e,n.maxScale,n.minScale,0,1)>.85||e>r?r:e}return e}_constrainMaxScaleToLayer(e){if(this._hasTiledLayer()&&!this._getLayerResampling()){let t=this._getTiledLayerMaxScale();e=e<t?t:e}return e}_normalizeScale(e,t){let n=e===`max`?`maxScale`:`minScale`,r=this._hasTiledLayer()?e===`min`?this._getTiledLayerMinScale():this._getTiledLayerMaxScale():this.scaleRanges[n],i=this._hasTiledLayer()?e===`min`?this._getTiledLayerRealMinScale():this._getTiledLayerRealMaxScale():r,a=t===0||i===t||Math.abs(i-t)<=1e-6?0:t;return Number(a.toFixed(6))}_getLayerLODS(){let{layer:e}=this;return!e?.loaded||!(`tileInfo`in e)||e.type===`wcs`||e.type===`imagery-tile`&&e.raster?.tileType===`Raster`?null:e.tileInfo?.lods}_getLayerResampling(){return this.layer?.loaded?`resampling`in this.layer?this.layer.resampling:!0:!1}_getTiledLayerMinScale(){let e=this._getLayerLODS();return this.scaleRanges.clampMinScale(e[0].scale)}_getTiledLayerMaxScale(){let e=this._getLayerLODS();return e[e.length-1].scale}_getTiledLayerRealMinScale(){let e=this._getLayerLODS(),t=this.layer,n=t&&`sourceJSON`in t?t.sourceJSON?.tileInfo?.lods??e:e;return this.scaleRanges.clampMinScale(n[0].scale)}_getTiledLayerRealMaxScale(){let e=this._getLayerLODS(),t=this.layer,n=t&&`sourceJSON`in t?t.sourceJSON?.tileInfo?.lods??e:e;return n[n.length-1].scale}_hasTiledLayer(){return!!this._getLayerLODS()}};e([o({readOnly:!0})],u.prototype,`effectiveMaxScale`,null),e([o({readOnly:!0})],u.prototype,`effectiveMinScale`,null),e([o()],u.prototype,`effectiveMaxScaleLimit`,null),e([o()],u.prototype,`effectiveMinScaleLimit`,null),e([o()],u.prototype,`layer`,void 0),e([o()],u.prototype,`maxScale`,null),e([o()],u.prototype,`maxScaleLimit`,null),e([o()],u.prototype,`mode`,void 0),e([o()],u.prototype,`minScale`,null),e([o()],u.prototype,`minScaleLimit`,null),e([o()],u.prototype,`scaleRanges`,void 0),e([o({type:l})],u.prototype,`sliderViewModel`,void 0),e([o({readOnly:!0})],u.prototype,`state`,null),e([o()],u.prototype,`view`,null),u=e([s(`esri.widgets.ScaleRangeSlider.ScaleRangeSliderViewModel`)],u);const d=u;export{d as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{formatNumber as t,substitute as n}from"../intl.js";import{deprecateWidget as r}from"../core/deprecate.js";import{on as i}from"../core/events.js";import a from"../core/Logger.js";import{destroyMaybe as o}from"../core/maybe.js";import{watch as s,initial as c,when as l}from"../core/reactiveUtils.js";import{property as u,cast as d,subclass as f}from"../core/accessorSupport/decorators.js";import p from"./Slider.js";import m from"./Widget.js";import{css as h}from"./ScaleRangeSlider/css.js";import{getScalePreviewSource as g,getScalePreviewSpriteBackgroundPosition as _}from"./ScaleRangeSlider/scalePreviewUtils.js";import v from"./ScaleRangeSlider/ScaleRanges.js";import y from"./ScaleRangeSlider/ScaleRangeSliderViewModel.js";import{loadCalciteComponents as b}from"./support/componentsUtils.js";import{globalCss as x}from"./support/globalCss.js";import{messageBundle as S,tsx as C}from"./support/widget.js";import{storeNode as w,setFocus as T}from"./support/widgetUtils.js";const E={preview:!0,scaleMenus:{maxScaleMenu:!0,minScaleMenu:!0}},D={maximumFractionDigits:0};let O=class extends m{constructor(e,t){super(e,t),this._activeMenu=null,this._activeThumb=null,this._customInput=null,this._maxThumbNode=null,this._minThumbNode=null,this._lastPreviewReferenceElement=null,this._previewAutoCloseTimeoutId=void 0,this._previewPopover=null,this._slider=new p({suppressDeprecationWarning:!0,thumbCreatedFunction:(e,t,n)=>{e===0?this._minThumbNode=n:e===1&&(this._maxThumbNode=n),this.addHandles([i(n,`mouseenter`,()=>{this._activeThumb=e,this._lastPreviewReferenceElement=n,this.scheduleRender()}),i(n,`mouseleave`,()=>{this._previewAutoCloseTimeoutId||(this._activeThumb=null,this.scheduleRender())})])}}),this.disabled=!1,this.messages=null,this.region=`US`,this.showWorldValue=!1,this.viewModel=new y,this.visibleElements=E,this._repositionPreviewPopover=()=>{let e=this._previewPopover;e&&e.open&&this._activeThumb!=null&&this._getReferenceNode(this._activeThumb)&&requestAnimationFrame(()=>e.reposition())},this._afterInputNumberCreate=e=>{`value`in e&&e.value!=null&&`setNumberValue`in e&&e.setNumberValue({committing:!1,value:e.value,origin:`direct`}),this._customInput=e},this._handleCustomScaleInputChange=(e,t)=>{let{viewModel:{scaleRanges:n}}=this,r=Number.parseFloat(t.value);Number.isNaN(r)?t.value=e:this._setScale(n.clampScale(r))},this.announceDeprecation=()=>{r(a.getLogger(this),`Scale Range Slider`,`arcgis-slider-scale-range`,{version:`5.0`})}}loadDependencies(){return b({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),"input-number":()=>import(`@esri/calcite-components/dist/components/calcite-input-number`),label:()=>import(`@esri/calcite-components/dist/components/calcite-label`),popover:()=>import(`@esri/calcite-components/dist/components/calcite-popover`)})}initialize(){this.addHandles([s(()=>this.viewModel,e=>this._slider.viewModel=e?.sliderViewModel??null,c),s(()=>this._interactive,e=>{this._slider.disabled=!e,e||this._setActiveMenu(null)},c),this._slider.on(`thumb-drag`,({index:e})=>{this._activeThumb=e,this._lastPreviewReferenceElement=this._getReferenceNode(e),clearTimeout(this._previewAutoCloseTimeoutId),this._previewAutoCloseTimeoutId=setTimeout(()=>{this._previewAutoCloseTimeoutId=void 0,this._activeThumb=null},250)}),l(()=>this.view?.stationary===!0,()=>this.scheduleRender())])}destroy(){this._slider=o(this._slider)}get _maxScaleMenuEnabled(){let{scaleMenus:e}=this.visibleElements;return e===!0||typeof e!=`boolean`&&e?.maxScaleMenu===!0}get _minScaleMenuEnabled(){let{scaleMenus:e}=this.visibleElements;return e===!0||typeof e!=`boolean`&&e?.minScaleMenu===!0}get _interactive(){return this.viewModel?.state!==`disabled`&&!this.disabled}get effectiveMaxScale(){return this.viewModel.effectiveMaxScale}get effectiveMinScale(){return this.viewModel.effectiveMinScale}get effectiveMaxScaleLimit(){return this.viewModel.effectiveMaxScaleLimit}get effectiveMinScaleLimit(){return this.viewModel.effectiveMinScaleLimit}get icon(){return`actual-size`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get maxScale(){return this.viewModel.maxScale}set maxScale(e){this.viewModel.maxScale=e}get maxScaleLimit(){return this.viewModel.maxScaleLimit}set maxScaleLimit(e){this.viewModel.maxScaleLimit=e}get mode(){return this.viewModel.mode}set mode(e){this.viewModel.mode=e}get minScale(){return this.viewModel.minScale}set minScale(e){this.viewModel.minScale=e}get minScaleLimit(){return this.viewModel.minScaleLimit}set minScaleLimit(e){this.viewModel.minScaleLimit=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...E,...e,scaleMenus:typeof e?.scaleMenus==`boolean`?e.scaleMenus:{...E.scaleMenus,...e?.scaleMenus}}}formatScale(e){return`1:${t(e,D)}`}render(){let{_interactive:e,_slider:t,label:n,view:r,viewModel:{state:i}}=this,a=this._getLabel(`min`),o=this._getLabel(`max`),{segmentElements:s}=t,c=s.at(this.mode===`min-scale-only`?-1:-2);return c&&c.classList.add(h.segmentElementActive),C(`div`,{"aria-label":n,class:this.classes(h.base,x.widget,e?null:x.disabled)},C(`div`,{class:h.scaleIndicatorWrapper,dir:`ltr`},i===`ready`&&r?this._renderCurrentScaleIndicator():null,t.render(),this._renderPreviewPopover()),C(`div`,{class:h.scaleMenuContainer},this._minScaleMenuEnabled&&a?this._renderScaleMenuToggle(`min`,a):null,C(`div`,{class:h.scaleMenuSeparator}),this._maxScaleMenuEnabled&&o?this._renderScaleMenuToggle(`max`,o):null))}_renderPreviewPopover(){let{_activeThumb:e}=this,t=this._getReferenceNode(e)??this._lastPreviewReferenceElement,n=e!=null&&this.visibleElements.preview&&t!=null;return n?C(`calcite-popover`,{afterCreate:w,afterUpdate:this._repositionPreviewPopover,bind:this,"data-node-ref":`_previewPopover`,label:this.messages.preview,offsetDistance:16,open:n,overlayPositioning:`fixed`,placement:`top`,referenceElement:t??void 0,topLayerDisabled:this.topLayerDisabled,triggerDisabled:!0},this._renderScalePreview()):null}_getReferenceNode(e){return e===0?this._minThumbNode:e===1?this._maxThumbNode:null}_renderScalePreview(){let{_activeThumb:e,_slider:t,region:n,viewModel:{scaleRanges:r}}=this,i=e===0||this.mode!==`range`?t.values[0]:t.values[1],a=Object.keys(v.RecommendedScales).indexOf(r.findScaleRangeByIndex(i).id),o={backgroundImage:g(n),backgroundPosition:_(a)};return C(`div`,{class:h.scalePreview},C(`div`,{class:h.scalePreviewThumbnail,styles:o}))}_getLabel(e){let{_slider:t,messages:n,mode:r,viewModel:{scaleRanges:i}}=this,[a,o]=t.values,s=e===`min`||r!==`range`?a:o,c=n.scaleRangeLabels[i.findScaleRangeByIndex(s).id];switch(r){case`range`:return c;case`max-scale-only`:return e===`min`?null:c;case`min-scale-only`:return e===`min`?c:null}}_renderScaleMenuToggle(e,t){let{_activeMenu:n,_interactive:r}=this,i=n===e;return[C(`calcite-dropdown`,{closeOnSelectDisabled:!0,"data-type":e,open:i,overlayPositioning:`fixed`,placement:e===`max`?`bottom-end`:`bottom-start`,scale:`s`,topLayerDisabled:this.topLayerDisabled,onCalciteDropdownClose:({currentTarget:t})=>{this._activeMenu===e&&this._setActiveMenu(null),T(t.querySelector(`calcite-button`))},onCalciteDropdownOpen:()=>this._setActiveMenu(e)},C(`calcite-button`,{appearance:i?`outline`:`transparent`,"aria-pressed":i.toString(),class:h.scaleMenuToggle,disabled:!r,iconEnd:`chevron-down`,scale:`s`,slot:`trigger`},t),i&&e===`max`?this._renderMaxScaleMenu():null,i&&e===`min`?this._renderMinScaleMenu():null)]}_renderMinScaleMenu(){let{effectiveMaxScale:e,effectiveMinScaleLimit:t,view:n,viewModel:{scaleRanges:r}}=this,i=n?n.scale:void 0;return this._renderScaleMenu({type:`min`,min:t,max:r.findScaleRange(e).minScale,viewScale:i})}_renderMaxScaleMenu(){let{effectiveMinScale:e,effectiveMaxScaleLimit:t,view:n,viewModel:{scaleRanges:r}}=this,i=n?n.scale:void 0;return this._renderScaleMenu({type:`max`,min:r.findScaleRange(e).maxScale,max:t,viewScale:i})}_renderScaleMenu({viewScale:e,min:t,max:n,type:r}){let{effectiveMaxScale:i,effectiveMinScale:a,messages:o,showWorldValue:s}=this,c=r===`max`?i:a,l=v.fromScaleRange({minScale:t,maxScale:n}),u=this.messages.featuredScaleLabels,d=v.RecommendedScales,f=Object.keys(d).filter(e=>l.contains(d[e])).map(e=>this._renderScaleMenuItem({scaleLabel:u[e],scaleValue:d[e],isSelected:c===d[e],valueVisible:e!==`world`||s}));return C(`calcite-dropdown-group`,{key:`${this.id}__scale-menu--${r}`},this._renderCustomScaleValue({currentScale:c}),e==null?null:this._renderScaleMenuItem({scaleValue:e,scaleLabel:o.featuredScaleLabels.current,isSelected:c===e,valueVisible:!0}),f)}_renderCustomScaleValue({currentScale:e}){let{messages:t}=this,n=Math.round(e).toString();return C(`calcite-dropdown-item`,{afterCreate:e=>void T(e),key:`custom-scale`,label:t.featuredScaleLabels.custom,onCalciteDropdownItemSelect:()=>void T(this._customInput)},C(`calcite-label`,{scale:`s`},C(`span`,null,t.featuredScaleLabels.custom),C(`calcite-input-number`,{afterCreate:this._afterInputNumberCreate,groupSeparator:!0,inputMode:`numeric`,max:v.RecommendedScales.world,min:0,numberButtonType:`none`,placeholder:t.customScaleInputTooltip,prefixText:`1:`,scale:`s`,step:1,value:n,onCalciteInputNumberChange:({currentTarget:e})=>this._handleCustomScaleInputChange(n,e)})))}_renderScaleMenuItem(e){let{scaleValue:t,scaleLabel:n,valueVisible:r,isSelected:i}=e;return C(`calcite-dropdown-item`,{key:n,label:n,selected:i,onCalciteDropdownItemSelect:this._setScale.bind(this,t)},n,r?C(`div`,{class:h.scaleMenuSubLabel},this.formatScale(t)):void 0)}_renderCurrentScaleIndicator(){let{_slider:e,messages:t,view:r,viewModel:{scaleRanges:i}}=this,a=i.clampScale(r.scale),o=this.viewModel.mapScaleToSlider(a),s=o/e.max,c=t.scaleRangeLabels[i.findScaleRangeByIndex(o).id],l=n(t.currentScaleTooltip,{scaleLabel:c});return C(`div`,{class:h.scaleIndicatorContainer,key:`scale-indicator`},C(`div`,{"aria-label":l,class:h.scaleIndicator,styles:{left:`${s*100}%`},title:l},this.renderCurrentScaleIndicatorIcon()))}renderCurrentScaleIndicatorIcon(){return C(`calcite-icon`,{class:h.scaleIndicatorIcon,icon:`caret-up`,scale:`s`})}_setScale(e){this._activeMenu===`max`?this.maxScale=Math.min(e,this.effectiveMinScale-1):this.minScale=Math.max(e,this.effectiveMaxScale+1),this._setActiveMenu(null)}_setActiveMenu(e){this._activeMenu=e}};e([u()],O.prototype,`_activeMenu`,void 0),e([u()],O.prototype,`_activeThumb`,void 0),e([u()],O.prototype,`_customInput`,void 0),e([u()],O.prototype,`_maxScaleMenuEnabled`,null),e([u()],O.prototype,`_minScaleMenuEnabled`,null),e([u()],O.prototype,`_slider`,void 0),e([u({readOnly:!0})],O.prototype,`_interactive`,null),e([u()],O.prototype,`disabled`,void 0),e([u()],O.prototype,`effectiveMaxScale`,null),e([u()],O.prototype,`effectiveMinScale`,null),e([u()],O.prototype,`effectiveMaxScaleLimit`,null),e([u()],O.prototype,`effectiveMinScaleLimit`,null),e([u()],O.prototype,`icon`,null),e([u()],O.prototype,`label`,null),e([u()],O.prototype,`layer`,null),e([u()],O.prototype,`maxScale`,null),e([u()],O.prototype,`maxScaleLimit`,null),e([u(),S(`esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider`)],O.prototype,`messages`,void 0),e([u()],O.prototype,`mode`,null),e([u()],O.prototype,`minScale`,null),e([u()],O.prototype,`minScaleLimit`,null),e([u()],O.prototype,`region`,void 0),e([u()],O.prototype,`showWorldValue`,void 0),e([u()],O.prototype,`view`,null),e([u({type:y})],O.prototype,`viewModel`,void 0),e([u()],O.prototype,`visibleElements`,void 0),e([d(`visibleElements`)],O.prototype,`castVisibleElements`,null),O=e([f(`esri.widgets.ScaleRangeSlider`)],O);const k=O;export{k as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{formatNumber as t,substitute as n}from"../intl.js";import{deprecateWidget as r}from"../core/deprecate.js";import{on as i}from"../core/events.js";import a from"../core/Logger.js";import{destroyMaybe as o}from"../core/maybe.js";import{watch as s,initial as c,when as l}from"../core/reactiveUtils.js";import{property as u,cast as d,subclass as f}from"../core/accessorSupport/decorators.js";import p from"./Slider.js";import m from"./Widget.js";import{css as h}from"./ScaleRangeSlider/css.js";import{getScalePreviewSource as g,getScalePreviewSpriteBackgroundPosition as _}from"./ScaleRangeSlider/scalePreviewUtils.js";import v from"./ScaleRangeSlider/ScaleRanges.js";import y from"./ScaleRangeSlider/ScaleRangeSliderViewModel.js";import{loadCalciteComponents as b}from"./support/componentsUtils.js";import{globalCss as x}from"./support/globalCss.js";import{messageBundle as S,tsx as C}from"./support/widget.js";import{storeNode as w,setFocus as T}from"./support/widgetUtils.js";const E={preview:!0,scaleMenus:{maxScaleMenu:!0,minScaleMenu:!0}},D={maximumFractionDigits:0};let O=class extends m{constructor(e,t){super(e,t),this._activeMenu=null,this._activeThumb=null,this._customInput=null,this._maxThumbNode=null,this._minThumbNode=null,this._lastPreviewReferenceElement=null,this._previewAutoCloseTimeoutId=void 0,this._previewPopover=null,this._slider=new p({suppressDeprecationWarning:!0,thumbCreatedFunction:(e,t,n)=>{e===0?this._minThumbNode=n:e===1&&(this._maxThumbNode=n),this.addHandles([i(n,`mouseenter`,()=>{this._activeThumb=e,this._lastPreviewReferenceElement=n,this.scheduleRender()}),i(n,`mouseleave`,()=>{this._previewAutoCloseTimeoutId||(this._activeThumb=null,this.scheduleRender())})])}}),this.disabled=!1,this.messages=null,this.region=`US`,this.showWorldValue=!1,this.viewModel=new y({suppressDeprecationWarning:!0}),this.visibleElements=E,this._repositionPreviewPopover=()=>{let e=this._previewPopover;e&&e.open&&this._activeThumb!=null&&this._getReferenceNode(this._activeThumb)&&requestAnimationFrame(()=>e.reposition())},this._afterInputNumberCreate=e=>{`value`in e&&e.value!=null&&`setNumberValue`in e&&e.setNumberValue({committing:!1,value:e.value,origin:`direct`}),this._customInput=e},this._handleCustomScaleInputChange=(e,t)=>{let{viewModel:{scaleRanges:n}}=this,r=Number.parseFloat(t.value);Number.isNaN(r)?t.value=e:this._setScale(n.clampScale(r))},this.announceDeprecation=()=>{r(a.getLogger(this),`Scale Range Slider`,`arcgis-slider-scale-range`,{version:`5.0`})}}loadDependencies(){return b({button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),dropdown:()=>import(`@esri/calcite-components/dist/components/calcite-dropdown`),"dropdown-group":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-group`),"dropdown-item":()=>import(`@esri/calcite-components/dist/components/calcite-dropdown-item`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),"input-number":()=>import(`@esri/calcite-components/dist/components/calcite-input-number`),label:()=>import(`@esri/calcite-components/dist/components/calcite-label`),popover:()=>import(`@esri/calcite-components/dist/components/calcite-popover`)})}initialize(){this.addHandles([s(()=>this.viewModel,e=>this._slider.viewModel=e?.sliderViewModel??null,c),s(()=>this._interactive,e=>{this._slider.disabled=!e,e||this._setActiveMenu(null)},c),this._slider.on(`thumb-drag`,({index:e})=>{this._activeThumb=e,this._lastPreviewReferenceElement=this._getReferenceNode(e),clearTimeout(this._previewAutoCloseTimeoutId),this._previewAutoCloseTimeoutId=setTimeout(()=>{this._previewAutoCloseTimeoutId=void 0,this._activeThumb=null},250)}),l(()=>this.view?.stationary===!0,()=>this.scheduleRender())])}destroy(){this._slider=o(this._slider)}get _maxScaleMenuEnabled(){let{scaleMenus:e}=this.visibleElements;return e===!0||typeof e!=`boolean`&&e?.maxScaleMenu===!0}get _minScaleMenuEnabled(){let{scaleMenus:e}=this.visibleElements;return e===!0||typeof e!=`boolean`&&e?.minScaleMenu===!0}get _interactive(){return this.viewModel?.state!==`disabled`&&!this.disabled}get effectiveMaxScale(){return this.viewModel.effectiveMaxScale}get effectiveMinScale(){return this.viewModel.effectiveMinScale}get effectiveMaxScaleLimit(){return this.viewModel.effectiveMaxScaleLimit}get effectiveMinScaleLimit(){return this.viewModel.effectiveMinScaleLimit}get icon(){return`actual-size`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get maxScale(){return this.viewModel.maxScale}set maxScale(e){this.viewModel.maxScale=e}get maxScaleLimit(){return this.viewModel.maxScaleLimit}set maxScaleLimit(e){this.viewModel.maxScaleLimit=e}get mode(){return this.viewModel.mode}set mode(e){this.viewModel.mode=e}get minScale(){return this.viewModel.minScale}set minScale(e){this.viewModel.minScale=e}get minScaleLimit(){return this.viewModel.minScaleLimit}set minScaleLimit(e){this.viewModel.minScaleLimit=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}castVisibleElements(e){return{...E,...e,scaleMenus:typeof e?.scaleMenus==`boolean`?e.scaleMenus:{...E.scaleMenus,...e?.scaleMenus}}}formatScale(e){return`1:${t(e,D)}`}render(){let{_interactive:e,_slider:t,label:n,view:r,viewModel:{state:i}}=this,a=this._getLabel(`min`),o=this._getLabel(`max`),{segmentElements:s}=t,c=s.at(this.mode===`min-scale-only`?-1:-2);return c&&c.classList.add(h.segmentElementActive),C(`div`,{"aria-label":n,class:this.classes(h.base,x.widget,e?null:x.disabled)},C(`div`,{class:h.scaleIndicatorWrapper,dir:`ltr`},i===`ready`&&r?this._renderCurrentScaleIndicator():null,t.render(),this._renderPreviewPopover()),C(`div`,{class:h.scaleMenuContainer},this._minScaleMenuEnabled&&a?this._renderScaleMenuToggle(`min`,a):null,C(`div`,{class:h.scaleMenuSeparator}),this._maxScaleMenuEnabled&&o?this._renderScaleMenuToggle(`max`,o):null))}_renderPreviewPopover(){let{_activeThumb:e}=this,t=this._getReferenceNode(e)??this._lastPreviewReferenceElement,n=e!=null&&this.visibleElements.preview&&t!=null;return n?C(`calcite-popover`,{afterCreate:w,afterUpdate:this._repositionPreviewPopover,bind:this,"data-node-ref":`_previewPopover`,label:this.messages.preview,offsetDistance:16,open:n,overlayPositioning:`fixed`,placement:`top`,referenceElement:t??void 0,topLayerDisabled:this.topLayerDisabled,triggerDisabled:!0},this._renderScalePreview()):null}_getReferenceNode(e){return e===0?this._minThumbNode:e===1?this._maxThumbNode:null}_renderScalePreview(){let{_activeThumb:e,_slider:t,region:n,viewModel:{scaleRanges:r}}=this,i=e===0||this.mode!==`range`?t.values[0]:t.values[1],a=Object.keys(v.RecommendedScales).indexOf(r.findScaleRangeByIndex(i).id),o={backgroundImage:g(n),backgroundPosition:_(a)};return C(`div`,{class:h.scalePreview},C(`div`,{class:h.scalePreviewThumbnail,styles:o}))}_getLabel(e){let{_slider:t,messages:n,mode:r,viewModel:{scaleRanges:i}}=this,[a,o]=t.values,s=e===`min`||r!==`range`?a:o,c=n.scaleRangeLabels[i.findScaleRangeByIndex(s).id];switch(r){case`range`:return c;case`max-scale-only`:return e===`min`?null:c;case`min-scale-only`:return e===`min`?c:null}}_renderScaleMenuToggle(e,t){let{_activeMenu:n,_interactive:r}=this,i=n===e;return[C(`calcite-dropdown`,{closeOnSelectDisabled:!0,"data-type":e,open:i,overlayPositioning:`fixed`,placement:e===`max`?`bottom-end`:`bottom-start`,scale:`s`,topLayerDisabled:this.topLayerDisabled,onCalciteDropdownClose:({currentTarget:t})=>{this._activeMenu===e&&this._setActiveMenu(null),T(t.querySelector(`calcite-button`))},onCalciteDropdownOpen:()=>this._setActiveMenu(e)},C(`calcite-button`,{appearance:i?`outline`:`transparent`,"aria-pressed":i.toString(),class:h.scaleMenuToggle,disabled:!r,iconEnd:`chevron-down`,scale:`s`,slot:`trigger`},t),i&&e===`max`?this._renderMaxScaleMenu():null,i&&e===`min`?this._renderMinScaleMenu():null)]}_renderMinScaleMenu(){let{effectiveMaxScale:e,effectiveMinScaleLimit:t,view:n,viewModel:{scaleRanges:r}}=this,i=n?n.scale:void 0;return this._renderScaleMenu({type:`min`,min:t,max:r.findScaleRange(e).minScale,viewScale:i})}_renderMaxScaleMenu(){let{effectiveMinScale:e,effectiveMaxScaleLimit:t,view:n,viewModel:{scaleRanges:r}}=this,i=n?n.scale:void 0;return this._renderScaleMenu({type:`max`,min:r.findScaleRange(e).maxScale,max:t,viewScale:i})}_renderScaleMenu({viewScale:e,min:t,max:n,type:r}){let{effectiveMaxScale:i,effectiveMinScale:a,messages:o,showWorldValue:s}=this,c=r===`max`?i:a,l=v.fromScaleRange({minScale:t,maxScale:n}),u=this.messages.featuredScaleLabels,d=v.RecommendedScales,f=Object.keys(d).filter(e=>l.contains(d[e])).map(e=>this._renderScaleMenuItem({scaleLabel:u[e],scaleValue:d[e],isSelected:c===d[e],valueVisible:e!==`world`||s}));return C(`calcite-dropdown-group`,{key:`${this.id}__scale-menu--${r}`},this._renderCustomScaleValue({currentScale:c}),e==null?null:this._renderScaleMenuItem({scaleValue:e,scaleLabel:o.featuredScaleLabels.current,isSelected:c===e,valueVisible:!0}),f)}_renderCustomScaleValue({currentScale:e}){let{messages:t}=this,n=Math.round(e).toString();return C(`calcite-dropdown-item`,{afterCreate:e=>void T(e),key:`custom-scale`,label:t.featuredScaleLabels.custom,onCalciteDropdownItemSelect:()=>void T(this._customInput)},C(`calcite-label`,{scale:`s`},C(`span`,null,t.featuredScaleLabels.custom),C(`calcite-input-number`,{afterCreate:this._afterInputNumberCreate,groupSeparator:!0,inputMode:`numeric`,max:v.RecommendedScales.world,min:0,numberButtonType:`none`,placeholder:t.customScaleInputTooltip,prefixText:`1:`,scale:`s`,step:1,value:n,onCalciteInputNumberChange:({currentTarget:e})=>this._handleCustomScaleInputChange(n,e)})))}_renderScaleMenuItem(e){let{scaleValue:t,scaleLabel:n,valueVisible:r,isSelected:i}=e;return C(`calcite-dropdown-item`,{key:n,label:n,selected:i,onCalciteDropdownItemSelect:this._setScale.bind(this,t)},n,r?C(`div`,{class:h.scaleMenuSubLabel},this.formatScale(t)):void 0)}_renderCurrentScaleIndicator(){let{_slider:e,messages:t,view:r,viewModel:{scaleRanges:i}}=this,a=i.clampScale(r.scale),o=this.viewModel.mapScaleToSlider(a),s=o/e.max,c=t.scaleRangeLabels[i.findScaleRangeByIndex(o).id],l=n(t.currentScaleTooltip,{scaleLabel:c});return C(`div`,{class:h.scaleIndicatorContainer,key:`scale-indicator`},C(`div`,{"aria-label":l,class:h.scaleIndicator,styles:{left:`${s*100}%`},title:l},this.renderCurrentScaleIndicatorIcon()))}renderCurrentScaleIndicatorIcon(){return C(`calcite-icon`,{class:h.scaleIndicatorIcon,icon:`caret-up`,scale:`s`})}_setScale(e){this._activeMenu===`max`?this.maxScale=Math.min(e,this.effectiveMinScale-1):this.minScale=Math.max(e,this.effectiveMaxScale+1),this._setActiveMenu(null)}_setActiveMenu(e){this._activeMenu=e}};e([u()],O.prototype,`_activeMenu`,void 0),e([u()],O.prototype,`_activeThumb`,void 0),e([u()],O.prototype,`_customInput`,void 0),e([u()],O.prototype,`_maxScaleMenuEnabled`,null),e([u()],O.prototype,`_minScaleMenuEnabled`,null),e([u()],O.prototype,`_slider`,void 0),e([u({readOnly:!0})],O.prototype,`_interactive`,null),e([u()],O.prototype,`disabled`,void 0),e([u()],O.prototype,`effectiveMaxScale`,null),e([u()],O.prototype,`effectiveMinScale`,null),e([u()],O.prototype,`effectiveMaxScaleLimit`,null),e([u()],O.prototype,`effectiveMinScaleLimit`,null),e([u()],O.prototype,`icon`,null),e([u()],O.prototype,`label`,null),e([u()],O.prototype,`layer`,null),e([u()],O.prototype,`maxScale`,null),e([u()],O.prototype,`maxScaleLimit`,null),e([u(),S(`esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider`)],O.prototype,`messages`,void 0),e([u()],O.prototype,`mode`,null),e([u()],O.prototype,`minScale`,null),e([u()],O.prototype,`minScaleLimit`,null),e([u()],O.prototype,`region`,void 0),e([u()],O.prototype,`showWorldValue`,void 0),e([u()],O.prototype,`view`,null),e([u({type:y})],O.prototype,`viewModel`,void 0),e([u()],O.prototype,`visibleElements`,void 0),e([d(`visibleElements`)],O.prototype,`castVisibleElements`,null),O=e([f(`esri.widgets.ScaleRangeSlider`)],O);const k=O;export{k as default};
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import type Widget from "../Widget.js";
|
|
2
2
|
import type { WidgetProperties } from "../Widget.js";
|
|
3
3
|
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated since 5.2. Use the [Value Picker component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker/) instead.
|
|
6
|
+
* @since 5.0
|
|
7
|
+
*/
|
|
5
8
|
export interface ValuePickerBaseComponentProperties extends WidgetProperties {}
|
|
6
9
|
|
|
7
10
|
/**
|
|
8
11
|
* An optional component for presenting and managing data in a [ValuePicker](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/) widget.
|
|
9
12
|
*
|
|
13
|
+
* @deprecated since 5.2. Use the [Value Picker component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker/) instead.
|
|
10
14
|
* @since 5.0
|
|
11
15
|
*/
|
|
12
16
|
export default abstract class ValuePickerBaseComponent extends Widget {}
|
|
@@ -3,6 +3,7 @@ import type ValuePickerBaseComponent from "./ValuePickerBaseComponent.js";
|
|
|
3
3
|
import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
|
|
4
4
|
import type { ValuePickerBaseComponentProperties } from "./ValuePickerBaseComponent.js";
|
|
5
5
|
|
|
6
|
+
/** @deprecated since 5.2. Use the [Value Picker Collection component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-collection/) instead. */
|
|
6
7
|
export interface ValuePickerCollectionProperties<T = any> extends ValuePickerBaseComponentProperties {
|
|
7
8
|
/**
|
|
8
9
|
* A collection of values that can be navigated or animated with the play, next, and previous buttons on the [ValuePicker](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/) widget..
|
|
@@ -24,6 +25,7 @@ export interface ValuePickerCollectionProperties<T = any> extends ValuePickerBas
|
|
|
24
25
|
* See [Using an arbitrary collection component to present predefined list](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/#from-collection) section
|
|
25
26
|
* for more information how to set this up.
|
|
26
27
|
*
|
|
28
|
+
* @deprecated since 5.2. Use the [Value Picker Collection component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-collection/) instead.
|
|
27
29
|
* @since 4.27
|
|
28
30
|
* @example
|
|
29
31
|
* // Assign a collection of objects to the ValuePicker.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type ValuePickerBaseComponent from "./ValuePickerBaseComponent.js";
|
|
2
2
|
import type { ValuePickerBaseComponentProperties } from "./ValuePickerBaseComponent.js";
|
|
3
3
|
|
|
4
|
+
/** @deprecated since 5.2. Use the [Value Picker Combobox component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-combobox/) instead. */
|
|
4
5
|
export interface ValuePickerComboboxProperties extends ValuePickerBaseComponentProperties, Partial<Pick<ValuePickerCombobox, "items" | "placeholder">> {
|
|
5
6
|
/**
|
|
6
7
|
* Combobox label.
|
|
@@ -12,7 +13,11 @@ export interface ValuePickerComboboxProperties extends ValuePickerBaseComponentP
|
|
|
12
13
|
label?: string | null;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* Object used to define the combobox [item](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/ValuePickerCombobox/#items).
|
|
18
|
+
*
|
|
19
|
+
* @deprecated since 5.2. Use the [ComboboxItem type](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker/types/#ComboboxItem) instead.
|
|
20
|
+
*/
|
|
16
21
|
export interface ComboboxItem {
|
|
17
22
|
/** The value of the combobox item. */
|
|
18
23
|
value: string;
|
|
@@ -26,6 +31,7 @@ export interface ComboboxItem {
|
|
|
26
31
|
* See [Using the combobox component to present selectable items](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/#selectable-items) section
|
|
27
32
|
* for more information how to set this up.
|
|
28
33
|
*
|
|
34
|
+
* @deprecated since 5.2. Use the [Value Picker Combobox component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-combobox/) instead.
|
|
29
35
|
* @since 4.27
|
|
30
36
|
* @example
|
|
31
37
|
* // Create a ValuePicker widget with a combobox component.
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import type ValuePickerBaseComponent from "./ValuePickerBaseComponent.js";
|
|
2
2
|
import type { ValuePickerBaseComponentProperties } from "./ValuePickerBaseComponent.js";
|
|
3
3
|
|
|
4
|
+
/** @deprecated since 5.2. Use the [Value Picker Label component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-label/#items) instead. */
|
|
4
5
|
export interface ValuePickerLabelProperties extends ValuePickerBaseComponentProperties, Partial<Pick<ValuePickerLabel, "items">> {}
|
|
5
6
|
|
|
6
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
* Object used to define the label items.
|
|
9
|
+
*
|
|
10
|
+
* @deprecated since 5.2. Use the [LabelItem type](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker/types/#LabelItem) instead.
|
|
11
|
+
*/
|
|
7
12
|
export interface LabelItem {
|
|
8
13
|
/** The value of the item. */
|
|
9
14
|
value: string;
|
|
@@ -17,6 +22,7 @@ export interface LabelItem {
|
|
|
17
22
|
* See [Using the label component to present items](https://developers.arcgis.com/javascript/latest/references/core/widgets/ValuePicker/#from-labels) section
|
|
18
23
|
* for more information how to set this up.
|
|
19
24
|
*
|
|
25
|
+
* @deprecated since 5.2. Use the [Value Picker Label component](https://developers.arcgis.com/javascript/latest/references/common-components/components/arcgis-value-picker-label/) instead.
|
|
20
26
|
* @since 4.27
|
|
21
27
|
* @example
|
|
22
28
|
* // Create a ValuePicker widget with a label component.
|