@arcgis/core 4.28.0-next.20230921 → 4.28.0-next.20230922
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/Graphic.js +1 -1
- package/arcade/ArcadeDate.js +1 -1
- package/arcade/Feature.js +1 -1
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/actions/GroupBy.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/FeatureSetIterator.js +1 -1
- package/arcade/featureset/support/StatsField.js +1 -1
- package/arcade/featureset/support/sqlUtils.js +1 -1
- package/arcade/functions/date.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/arcade/functions/featuresetstats.js +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{2cb36f9686693234991a.js → 07a2dab2f645dcd7d8d6.js} +1 -1
- package/assets/esri/core/workers/chunks/07f6175b52366b2c28bd.js +1 -0
- package/assets/esri/core/workers/chunks/098073c3b2849f56dad8.js +1 -0
- package/assets/esri/core/workers/chunks/{580039dd491854ca325c.js → 21fc02f0d5716c4a7acd.js} +1 -1
- package/assets/esri/core/workers/chunks/{072b4e041b8630c513a0.js → 243b1f9b2fba02946481.js} +1 -1
- package/assets/esri/core/workers/chunks/{dff1c3c38dda2bd1a9d6.js → 246a954347fe9318190e.js} +1 -1
- package/assets/esri/core/workers/chunks/{314c307e30f308a40a28.js → 25b09e9c0511c8e1cf8a.js} +1 -1
- package/assets/esri/core/workers/chunks/28a5ef2e2daa4207dd8b.js +1 -0
- package/assets/esri/core/workers/chunks/2b017e1aa1be71974c2e.js +1 -0
- package/assets/esri/core/workers/chunks/425b5733bb88e6efe242.js +1 -0
- package/assets/esri/core/workers/chunks/{c9dfb145f0c1d93e0fbd.js → 4bcca5fffb1fcc2d4353.js} +1 -1
- package/assets/esri/core/workers/chunks/4bf1a7e82a68ccee0ee1.js +1 -0
- package/assets/esri/core/workers/chunks/4c110c7f4f940ec58010.js +1 -0
- package/assets/esri/core/workers/chunks/{bde89b2684b6185992ef.js → 4ed77097e69fa3096ce4.js} +1 -1
- package/assets/esri/core/workers/chunks/{1cbaba30f55f00f7498b.js → 51324d042f469f3b8914.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f4e9b1663ec521bfe00.js → 542ce10e1872399790b4.js} +1 -1
- package/assets/esri/core/workers/chunks/54d2b7e2ac4ba883bee8.js +1 -0
- package/assets/esri/core/workers/chunks/54ecb6cae310818d1aa2.js +1 -0
- package/assets/esri/core/workers/chunks/57c932e289d89d97da4b.js +1 -0
- package/assets/esri/core/workers/chunks/{6403de6fc067cf8f7436.js → 592c1fb531f2be928e8a.js} +1 -1
- package/assets/esri/core/workers/chunks/609a475ab395f2ce63e2.js +1 -0
- package/assets/esri/core/workers/chunks/{332689bf60d246485993.js → 65186e168dd112ac6221.js} +1 -1
- package/assets/esri/core/workers/chunks/6b9248fb2d6aadbce7bb.js +1 -0
- package/assets/esri/core/workers/chunks/709465832d306e02df52.js +1 -0
- package/assets/esri/core/workers/chunks/{bbc0dcd316c5598bc9ad.js → 74368a5213def6c200a2.js} +1 -1
- package/assets/esri/core/workers/chunks/78e7af899d9d50aa7e74.js +1 -0
- package/assets/esri/core/workers/chunks/7fe641cf1467496e670a.js +1 -0
- package/assets/esri/core/workers/chunks/{df8f62beb36fb9d2ac81.js → 810c8d6ff19976fd1366.js} +1 -1
- package/assets/esri/core/workers/chunks/83a15aa4b1c5252c651b.js +1 -0
- package/assets/esri/core/workers/chunks/85e436decdd693f240ee.js +1 -0
- package/assets/esri/core/workers/chunks/{243a4eed107d363dfad8.js → 887652bbdb3b71d0a089.js} +1 -1
- package/assets/esri/core/workers/chunks/896bfda379cf620b63ec.js +1 -0
- package/assets/esri/core/workers/chunks/{1f7e041140088f8ac489.js → 97073a60f0ea2a397165.js} +1 -1
- package/assets/esri/core/workers/chunks/{101f776316a85b708927.js → a99070ec4c06c435b744.js} +1 -1
- package/assets/esri/core/workers/chunks/{21a9c8aa2a9e9990df41.js → b499b4fa771e8c422b43.js} +1 -1
- package/assets/esri/core/workers/chunks/bffad8aec92f982cc75a.js +1 -0
- package/assets/esri/core/workers/chunks/d414dba3179bcf75bc6b.js +1 -0
- package/assets/esri/core/workers/chunks/{b449d6bd5851187d419f.js → d6e5408f9fa6b4bcd118.js} +1 -1
- package/assets/esri/core/workers/chunks/{3ca759f72d3bb29e9ea9.js → e14da83329f7771135bc.js} +2 -2
- package/assets/esri/core/workers/chunks/{f508ccfde6425dabe9ac.js → ee0bf611d191103a7046.js} +1 -1
- package/assets/esri/core/workers/chunks/{ed1fbc1bc8d50453e2f5.js → f793cd41fcd022baeea2.js} +1 -1
- package/assets/esri/core/workers/chunks/fb87fd64411b78afea23.js +1 -0
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -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.js +1 -1
- package/core/Accessor.js +1 -1
- package/core/has.js +1 -1
- package/core/sql/DateOnly.js +1 -1
- package/core/sql/WhereClause.js +1 -1
- package/core/sql.js +1 -1
- package/identity/IdentityForm.js +1 -1
- package/identity/IdentityModal.js +1 -1
- package/interfaces.d.ts +28 -199
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/graphics/applyEditsUtils.js +5 -0
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
- package/layers/orientedImagery/core/ElevationSourceDefinitions.js +5 -0
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/cameraOrientationFactory.js +1 -1
- package/layers/orientedImagery/core/utils.js +5 -0
- package/layers/orientedImagery/transformations/groundToImageUtils.js +1 -1
- package/layers/support/fieldProperties.js +1 -1
- package/networks/Network.js +1 -1
- package/package.json +1 -1
- package/rest/featureService/FeatureService.js +1 -1
- package/support/arcadeUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/support/svgUtils.js +1 -1
- package/versionManagement/VersionManagementService.js +1 -1
- package/versionManagement/support/EditMomentStack.js +5 -0
- package/versionManagement/support/versionManagementUtils.js +1 -1
- package/views/2d/engine/Container.js +1 -1
- package/views/2d/engine/DisplayObject.js +1 -1
- package/views/2d/engine/ManagedCanvas.js +5 -0
- package/views/2d/engine/Stage.js +1 -1
- package/views/2d/engine/webgl/GroupContainer.js +1 -1
- package/views/2d/engine/webgl/Painter.js +1 -1
- package/views/2d/engine/webgl/WGLContainer.js +1 -1
- package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
- package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/tileRenderers/support/WGLFeatureView.js +1 -1
- package/views/2d/layers/graphics/BaseGraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicContainer.js +1 -1
- package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
- package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
- package/views/2d/layers/support/DisplayGL.js +1 -1
- package/views/2d/webglDeps.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/graphicUtils.js +1 -1
- package/views/3d/layers/i3s/featureEditing.js +1 -1
- package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
- package/views/3d/support/buffer/glUtil.js +1 -1
- package/views/3d/support/engineContent/line.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPluginInput.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/lib/Geometry.js +1 -1
- package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
- package/views/3d/webgl-engine/lib/Object3D.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
- package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
- package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
- package/views/View.js +1 -1
- package/views/interactive/tooltip/TooltipContentWithHelpMessage.js +1 -1
- package/views/interactive/tooltip/TooltipEditableField.js +1 -1
- package/views/interactive/tooltip/constraintUtils.js +1 -1
- package/views/interactive/tooltip/content/Fields.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawCircle.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawMesh.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPoint.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentDrawRectangle.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentExtentRotate.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentExtentScale.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentReshapeEdgeOffset.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTransformAbsolute.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTransformRotate.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTransformScale.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateGraphic.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateGraphicXY.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateGraphicZ.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateVertex.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateVertexXY.js +1 -1
- package/views/interactive/tooltip/content/TooltipContentTranslateVertexZ.js +1 -1
- package/views/support/angularMeasurementUtils.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/views/webgl/contextUtils.js +1 -1
- package/widgets/AreaMeasurement2D.js +1 -1
- package/widgets/AreaMeasurement3D.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BasemapToggle.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
- package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesTree.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
- package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
- package/widgets/BuildingExplorer.js +1 -1
- package/widgets/Compass.js +1 -1
- package/widgets/CoordinateConversion.js +1 -1
- package/widgets/Daylight/support/SliderWithDropdown.js +1 -1
- package/widgets/Daylight.js +1 -1
- package/widgets/DirectLineMeasurement3D.js +1 -1
- package/widgets/DirectionalPad.js +1 -1
- package/widgets/Directions/components/SaveLayer.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/DistanceMeasurement2D.js +1 -1
- package/widgets/Editor/components/FooterActions.js +1 -1
- package/widgets/Editor/components/Notices.js +1 -1
- package/widgets/Editor/components/PanelContent.js +1 -1
- package/widgets/Editor/components/PanelToolbar.js +1 -1
- package/widgets/Editor/components/Prompt.js +1 -1
- package/widgets/Editor/components/Settings.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/components/UploadDetails.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/components/LegendItem.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile/components/Statistics.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/Expand.js +1 -1
- package/widgets/Feature/FeatureContent.js +1 -1
- package/widgets/Feature/FeatureExpression.js +1 -1
- package/widgets/Feature/FeatureFields.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/support/FeatureContentMixin.js +1 -1
- package/widgets/Feature/support/FeatureElementInfo.js +1 -1
- package/widgets/Feature.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/support/ButtonMenu.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/ItemList.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/Features/FeaturesRelatedRecords.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/FloorFilter.js +1 -1
- package/widgets/Fullscreen.js +1 -1
- package/widgets/Histogram.js +1 -1
- package/widgets/HistogramRangeSlider.js +1 -1
- package/widgets/Home.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/styles/support/relationshipUtils.js +1 -1
- package/widgets/Legend/styles/support/univariateUtils.js +1 -1
- package/widgets/LineOfSight.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/NavigationToggle.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Popup.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Search/SearchResultRenderer.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/components/DiscreteConfigurator.js +1 -1
- package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
- package/widgets/ShadowCast/components/ShadowTooltipContent.js +1 -1
- package/widgets/ShadowCast/components/ThresholdConfigurator.js +1 -1
- package/widgets/ShadowCast.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/Slice.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/Track.js +1 -1
- package/widgets/UtilityNetworkAssociations/UtilityNetworkAssociationsLineSymbolPicker.js +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
- package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
- package/widgets/VideoPlayer.js +1 -1
- package/widgets/Weather/LabeledSlider.js +1 -1
- package/widgets/Weather.js +1 -1
- package/widgets/Zoom/IconButton.js +1 -1
- package/widgets/smartMapping/BinaryColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ClassedColorSlider.js +1 -1
- package/widgets/smartMapping/ClassedSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSizeSlider.js +1 -1
- package/widgets/smartMapping/ColorSlider.js +1 -1
- package/widgets/smartMapping/HeatmapSlider.js +1 -1
- package/widgets/smartMapping/OpacitySlider.js +1 -1
- package/widgets/smartMapping/SizeSlider.js +1 -1
- package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
- package/widgets/support/ColorPicker.js +1 -1
- package/widgets/support/DatePicker.js +1 -1
- package/widgets/support/Heading.js +1 -1
- package/widgets/support/LabeledSwitch.js +1 -1
- package/widgets/support/MeasurementWidgetContent.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/SketchTooltipControls.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimePicker.js +1 -1
- package/widgets/support/TimezonePicker.js +1 -1
- package/widgets/support/UnitSelect.js +1 -1
- package/assets/esri/core/workers/chunks/092920c25cac89c038ee.js +0 -1
- package/assets/esri/core/workers/chunks/1b3655f5bf5d90fa8730.js +0 -1
- package/assets/esri/core/workers/chunks/1cf7bb514e7eefc3e9c6.js +0 -1
- package/assets/esri/core/workers/chunks/24629402c647ef6b5f6b.js +0 -1
- package/assets/esri/core/workers/chunks/2d0d03cbea83c868edba.js +0 -1
- package/assets/esri/core/workers/chunks/2e130cb2f1038055c07b.js +0 -1
- package/assets/esri/core/workers/chunks/4369a6c1e0a82ab4db6a.js +0 -1
- package/assets/esri/core/workers/chunks/4f4a424d1747d04501df.js +0 -1
- package/assets/esri/core/workers/chunks/59c00d6fba0fd1c03d01.js +0 -1
- package/assets/esri/core/workers/chunks/650a317b6dc245a7060f.js +0 -1
- package/assets/esri/core/workers/chunks/7a358b1fd0c0cce59e9b.js +0 -1
- package/assets/esri/core/workers/chunks/83d1a1b3d371c991cc4c.js +0 -1
- package/assets/esri/core/workers/chunks/c4bb67150ccd01ea6014.js +0 -1
- package/assets/esri/core/workers/chunks/c60cf62f374e71e562fc.js +0 -1
- package/assets/esri/core/workers/chunks/c8f239c25fe864f0e47a.js +0 -1
- package/assets/esri/core/workers/chunks/cad260881653567bc8f9.js +0 -1
- package/assets/esri/core/workers/chunks/e55f7fc7eff0074ce0fc.js +0 -1
- package/assets/esri/core/workers/chunks/eef27d305023034084a4.js +0 -1
- package/assets/esri/core/workers/chunks/f38c54ada9e7012a2960.js +0 -1
- package/core/watchUtils.d.ts +0 -4
- package/core/watchUtils.js +0 -5
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{on as t}from"../core/events.js";import{destroyMaybe as i}from"../core/maybe.js";import{watch as l,initial as s,when as a}from"../core/reactiveUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{cast as r}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import c from"./Slider.js";import u from"./Widget.js";import{css as m}from"./ScaleRangeSlider/css.js";import{getScalePreviewSource as d,getScalePreviewSpriteBackgroundPosition as p}from"./ScaleRangeSlider/scalePreviewUtils.js";import v from"./ScaleRangeSlider/ScaleRanges.js";import h from"./ScaleRangeSlider/ScaleRangeSliderViewModel.js";import{loadCalciteComponents as S}from"./support/componentsUtils.js";import{globalCss as M}from"./support/globalCss.js";import{storeNode as g}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";import{formatNumber as b}from"../intl/number.js";import{substitute as w}from"../intl/substitute.js";const x={preview:!0,scaleMenus:{maxScaleMenu:!0,minScaleMenu:!0}},y={maximumFractionDigits:0},T="1:",C=16;let j=class extends u{constructor(e,i){super(e,i),this._activeMenu=null,this._activeThumb=null,this._maxThumbNode=null,this._minThumbNode=null,this._previewAutoCloseTimeoutId=void 0,this._previewPopover=null,this._scaleMenuToggleMax=null,this._scaleMenuToggleMin=null,this._slider=new c({thumbCreatedFunction:(e,i,l)=>{0===e?this._minThumbNode=l:1===e&&(this._maxThumbNode=l),this.addHandles([t(l,"mouseenter",(()=>{this._activeThumb=e,this.scheduleRender()})),t(l,"mouseleave",(()=>{this._previewAutoCloseTimeoutId||(this._activeThumb=null,this.scheduleRender())}))])}}),this.disabled=!1,this.messages=null,this.region="US",this.viewModel=new h,this.visibleElements=x,this._afterMenuListCreate=e=>{e.setFocus()},this._afterComponentCreate=e=>{"value"in e&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"})},this._handleCustomScaleInputChange=(e,t)=>{const{viewModel:{scaleRanges:i}}=this,l=Number.parseFloat(t.value);Number.isNaN(l)?t.value=e:this._setScale(i.clampScale(l))}}loadDependencies(){return S({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}initialize(){this.addHandles([l((()=>this.viewModel),(e=>this._slider.viewModel=e?.sliderViewModel??null),s),l((()=>this._interactive),(e=>{this._slider.disabled=!e,e||this._setActiveMenu(null)}),s),this._slider.on("thumb-drag",(({index:e})=>{this._activeThumb=e,clearTimeout(this._previewAutoCloseTimeoutId);const t=250;this._previewAutoCloseTimeoutId=setTimeout((()=>{this._previewAutoCloseTimeoutId=void 0,this._activeThumb=null}),t)})),a((()=>!0===this.view?.stationary),(()=>this.scheduleRender()))])}destroy(){this._slider=i(this._slider)}get _maxScaleMenuEnabled(){const{scaleMenus:e}=this.visibleElements;return!0===e||"boolean"!=typeof e&&e.maxScaleMenu}get _minScaleMenuEnabled(){const{scaleMenus:e}=this.visibleElements;return!0===e||"boolean"!=typeof e&&e.minScaleMenu}get _interactive(){return"disabled"!==this.viewModel?.state&&!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 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 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{...x,...e,scaleMenus:"boolean"==typeof e?.scaleMenus?e.scaleMenus:{...x.scaleMenus,...e?.scaleMenus}}}formatScale(e){return`${T}${b(e,y)}`}render(){const{_interactive:e,_slider:t,label:i,messages:l,view:s,viewModel:{scaleRanges:a,state:n}}=this,r=l.scaleRangeLabels,o=r[a.findScaleRangeByIndex(t.values[0]).id],c=r[a.findScaleRangeByIndex(t.values[1]).id];return _("div",{"aria-label":i,class:this.classes(m.base,M.widget,e?null:M.disabled)},_("div",{class:m.scaleIndicatorWrapper,dir:"ltr"},"ready"===n&&s?this._renderCurrentScaleIndicator():null,t.render(),this._renderPreviewPopover()),_("div",{class:m.scaleMenuContainer},this._minScaleMenuEnabled?this._renderScaleMenuToggle("min",o):null,_("div",{class:m.scaleMenuSeparator}),this._maxScaleMenuEnabled?this._renderScaleMenuToggle("max",c):null))}_renderPreviewPopover(){const{_activeThumb:e}=this,t=null!=e&&this.visibleElements.preview,i=t?0===e?this._minThumbNode:this._maxThumbNode:"";return _("calcite-popover",{afterCreate:g,afterUpdate:()=>this._previewPopover?.reposition(),bind:this,"data-node-ref":"_previewPopover",label:this.messages.preview,offsetDistance:C,open:t,overlayPositioning:"fixed",placement:"top",referenceElement:i,triggerDisabled:!0},this._renderScalePreview())}_renderMinScaleMenu(){const{effectiveMaxScale:e,effectiveMinScaleLimit:t,view:i,viewModel:{scaleRanges:l}}=this,s=i?i.scale:void 0;return this._renderScaleMenu({type:"min",min:t,max:l.findScaleRange(e).minScale,viewScale:s})}_renderMaxScaleMenu(){const{effectiveMinScale:e,effectiveMaxScaleLimit:t,view:i,viewModel:{scaleRanges:l}}=this,s=i?i.scale:void 0;return this._renderScaleMenu({type:"max",min:l.findScaleRange(e).maxScale,max:t,viewScale:s})}_renderScalePreview(){const{_activeThumb:e,_slider:t,region:i,viewModel:{scaleRanges:l}}=this,s=0===e?t.values[0]:t.values[1],a=Object.keys(v.RecommendedScales).indexOf(l.findScaleRangeByIndex(s).id),n={backgroundImage:d(i),backgroundPosition:p(a)};return _("div",{class:m.scalePreview},_("div",{class:m.scalePreviewThumbnail,styles:n}))}_renderScaleMenu({viewScale:e,min:t,max:i,type:l}){const{effectiveMaxScale:s,effectiveMinScale:a,messages:n}=this,r="max"===l?s:a,o=v.fromScaleRange({minScale:t,maxScale:i}),c=this.messages.featuredScaleLabels,u=v.RecommendedScales,d=Object.keys(u).filter((e=>o.contains(u[e]))).map((e=>this._renderScaleMenuItem({scaleLabel:c[e],scaleValue:u[e],isSelected:r===u[e],valueVisible:"world"!==e}))),p=`${this.id}__scale-menu--${l}`;return _("div",{class:m.scaleMenu,id:p,key:p},this._renderCurrentScaleValue({currentScale:r}),_("calcite-list",{class:m.scaleMenuScroller,afterCreate:this._afterMenuListCreate,selectionMode:"single-persist",selectionAppearance:"icon"},null!=e?this._renderScaleMenuItem({scaleValue:e,scaleLabel:n.featuredScaleLabels.current,isSelected:r===e,valueVisible:!0}):null,d))}_renderScaleMenuToggle(e,t){const{_activeMenu:i,_interactive:l}=this,s=i===e,a="max"===e?"_scaleMenuToggleMax":"_scaleMenuToggleMin";return[_("calcite-button",{"aria-controls":s?`${this.id}__scale-menu--${e}`:"","aria-pressed":s?"true":"false",class:m.scaleMenuToggle,"data-type":e,key:`${e}-scale-menu-toggle`,disabled:!l,"data-node-ref":a,afterCreate:g,bind:this,appearance:s?"outline":"transparent",scale:"s",iconEnd:"chevron-down"},t),_("calcite-popover",{label:e,open:s,onCalcitePopoverOpen:()=>this._setActiveMenu(e),onCalcitePopoverClose:()=>{this._activeMenu===e&&this._setActiveMenu(null)},overlayPositioning:"fixed",placement:"max"===e?"bottom-end":"bottom-start",referenceElement:this[a],autoClose:!0},s&&"max"===e?this._renderMaxScaleMenu():null,s&&"min"===e?this._renderMinScaleMenu():null)]}_renderCurrentScaleValue({currentScale:e}){const t=Math.round(e).toString();return _("calcite-input-number",{min:0,step:1,scale:"s",max:v.RecommendedScales.world,placeholder:this.messages.customScaleInputTooltip,"aria-label":this.messages.currentScale,groupSeparator:!0,numberButtonType:"none",prefixText:T,inputMode:"numeric",afterCreate:this._afterComponentCreate,key:"value",value:t,onCalciteInputNumberChange:({target:e})=>this._handleCustomScaleInputChange(t,e)})}_renderScaleMenuItem(e){const{scaleValue:t,scaleLabel:i,valueVisible:l,isSelected:s}=e;return _("calcite-list-item",{label:i,description:l?this.formatScale(t):void 0,value:t,bind:this,selected:s,key:i,onCalciteListItemSelect:this._setScale.bind(this,t)})}_renderCurrentScaleIndicator(){const{_slider:e,messages:t,view:i,viewModel:{scaleRanges:l}}=this,s=l.clampScale(i.scale),a=this.viewModel.mapScaleToSlider(s),n=a/e.max,r=t.scaleRangeLabels[l.findScaleRangeByIndex(a).id],o=w(t.currentScaleTooltip,{scaleLabel:r});return _("div",{class:m.scaleIndicatorContainer,key:"scale-indicator"},_("div",{"aria-label":o,class:m.scaleIndicator,styles:{left:100*n+"%"},title:o},_("calcite-icon",{class:m.scaleIndicatorIcon,scale:"s",icon:"caret-up"})))}_setScale(e){"max"===this._activeMenu?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([n()],j.prototype,"_activeThumb",void 0),e([n()],j.prototype,"_maxScaleMenuEnabled",null),e([n()],j.prototype,"_minScaleMenuEnabled",null),e([n()],j.prototype,"_scaleMenuToggleMax",void 0),e([n()],j.prototype,"_scaleMenuToggleMin",void 0),e([n()],j.prototype,"_slider",void 0),e([n({readOnly:!0})],j.prototype,"_interactive",null),e([n()],j.prototype,"disabled",void 0),e([n()],j.prototype,"effectiveMaxScale",null),e([n()],j.prototype,"effectiveMinScale",null),e([n()],j.prototype,"effectiveMaxScaleLimit",null),e([n()],j.prototype,"effectiveMinScaleLimit",null),e([n()],j.prototype,"label",null),e([n()],j.prototype,"layer",null),e([n()],j.prototype,"maxScale",null),e([n()],j.prototype,"maxScaleLimit",null),e([n(),f("esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider")],j.prototype,"messages",void 0),e([n()],j.prototype,"minScale",null),e([n()],j.prototype,"minScaleLimit",null),e([n()],j.prototype,"region",void 0),e([n()],j.prototype,"view",null),e([n()],j.prototype,"viewModel",void 0),e([n()],j.prototype,"visibleElements",void 0),e([r("visibleElements")],j.prototype,"castVisibleElements",null),j=e([o("esri.widgets.ScaleRangeSlider")],j);const L=j;export{L as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{on as t}from"../core/events.js";import{destroyMaybe as i}from"../core/maybe.js";import{watch as l,initial as s,when as a}from"../core/reactiveUtils.js";import{property as n}from"../core/accessorSupport/decorators/property.js";import{cast as r}from"../core/accessorSupport/decorators/cast.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import c from"./Slider.js";import u from"./Widget.js";import{css as m}from"./ScaleRangeSlider/css.js";import{getScalePreviewSource as d,getScalePreviewSpriteBackgroundPosition as p}from"./ScaleRangeSlider/scalePreviewUtils.js";import v from"./ScaleRangeSlider/ScaleRanges.js";import h from"./ScaleRangeSlider/ScaleRangeSliderViewModel.js";import{loadCalciteComponents as S}from"./support/componentsUtils.js";import{globalCss as M}from"./support/globalCss.js";import{storeNode as g}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{tsx as _}from"./support/jsxFactory.js";import{formatNumber as b}from"../intl/number.js";import{substitute as w}from"../intl/substitute.js";const x={preview:!0,scaleMenus:{maxScaleMenu:!0,minScaleMenu:!0}},y={maximumFractionDigits:0},T="1:",C=16;let j=class extends u{constructor(e,i){super(e,i),this._activeMenu=null,this._activeThumb=null,this._maxThumbNode=null,this._minThumbNode=null,this._previewAutoCloseTimeoutId=void 0,this._previewPopover=null,this._scaleMenuToggleMax=null,this._scaleMenuToggleMin=null,this._slider=new c({thumbCreatedFunction:(e,i,l)=>{0===e?this._minThumbNode=l:1===e&&(this._maxThumbNode=l),this.addHandles([t(l,"mouseenter",(()=>{this._activeThumb=e,this.scheduleRender()})),t(l,"mouseleave",(()=>{this._previewAutoCloseTimeoutId||(this._activeThumb=null,this.scheduleRender())}))])}}),this.disabled=!1,this.messages=null,this.region="US",this.viewModel=new h,this.visibleElements=x,this._afterMenuListCreate=e=>{e.setFocus()},this._afterComponentCreate=e=>{"value"in e&&null!=e.value&&"setNumberValue"in e&&e.setNumberValue({committing:!1,value:e.value,origin:"direct"})},this._handleCustomScaleInputChange=(e,t)=>{const{viewModel:{scaleRanges:i}}=this,l=Number.parseFloat(t.value);Number.isNaN(l)?t.value=e:this._setScale(i.clampScale(l))}}loadDependencies(){return S({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js")})}initialize(){this.addHandles([l((()=>this.viewModel),(e=>this._slider.viewModel=e?.sliderViewModel??null),s),l((()=>this._interactive),(e=>{this._slider.disabled=!e,e||this._setActiveMenu(null)}),s),this._slider.on("thumb-drag",(({index:e})=>{this._activeThumb=e,clearTimeout(this._previewAutoCloseTimeoutId);const t=250;this._previewAutoCloseTimeoutId=setTimeout((()=>{this._previewAutoCloseTimeoutId=void 0,this._activeThumb=null}),t)})),a((()=>!0===this.view?.stationary),(()=>this.scheduleRender()))])}destroy(){this._slider=i(this._slider)}get _maxScaleMenuEnabled(){const{scaleMenus:e}=this.visibleElements;return!0===e||"boolean"!=typeof e&&e.maxScaleMenu}get _minScaleMenuEnabled(){const{scaleMenus:e}=this.visibleElements;return!0===e||"boolean"!=typeof e&&e.minScaleMenu}get _interactive(){return"disabled"!==this.viewModel?.state&&!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 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 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{...x,...e,scaleMenus:"boolean"==typeof e?.scaleMenus?e.scaleMenus:{...x.scaleMenus,...e?.scaleMenus}}}formatScale(e){return`${T}${b(e,y)}`}render(){const{_interactive:e,_slider:t,label:i,messages:l,view:s,viewModel:{scaleRanges:a,state:n}}=this,r=l.scaleRangeLabels,o=r[a.findScaleRangeByIndex(t.values[0]).id],c=r[a.findScaleRangeByIndex(t.values[1]).id];return _("div",{"aria-label":i,class:this.classes(m.base,M.widget,e?null:M.disabled)},_("div",{class:m.scaleIndicatorWrapper,dir:"ltr"},"ready"===n&&s?this._renderCurrentScaleIndicator():null,t.render(),this._renderPreviewPopover()),_("div",{class:m.scaleMenuContainer},this._minScaleMenuEnabled?this._renderScaleMenuToggle("min",o):null,_("div",{class:m.scaleMenuSeparator}),this._maxScaleMenuEnabled?this._renderScaleMenuToggle("max",c):null))}_renderPreviewPopover(){const{_activeThumb:e}=this,t=null!=e&&this.visibleElements.preview,i=t?0===e?this._minThumbNode:this._maxThumbNode:"";return _("calcite-popover",{afterCreate:g,afterUpdate:()=>this._previewPopover?.reposition(),bind:this,"data-node-ref":"_previewPopover",label:this.messages.preview,offsetDistance:C,open:t,overlayPositioning:"fixed",placement:"top",referenceElement:i,triggerDisabled:!0},this._renderScalePreview())}_renderMinScaleMenu(){const{effectiveMaxScale:e,effectiveMinScaleLimit:t,view:i,viewModel:{scaleRanges:l}}=this,s=i?i.scale:void 0;return this._renderScaleMenu({type:"min",min:t,max:l.findScaleRange(e).minScale,viewScale:s})}_renderMaxScaleMenu(){const{effectiveMinScale:e,effectiveMaxScaleLimit:t,view:i,viewModel:{scaleRanges:l}}=this,s=i?i.scale:void 0;return this._renderScaleMenu({type:"max",min:l.findScaleRange(e).maxScale,max:t,viewScale:s})}_renderScalePreview(){const{_activeThumb:e,_slider:t,region:i,viewModel:{scaleRanges:l}}=this,s=0===e?t.values[0]:t.values[1],a=Object.keys(v.RecommendedScales).indexOf(l.findScaleRangeByIndex(s).id),n={backgroundImage:d(i),backgroundPosition:p(a)};return _("div",{class:m.scalePreview},_("div",{class:m.scalePreviewThumbnail,styles:n}))}_renderScaleMenu({viewScale:e,min:t,max:i,type:l}){const{effectiveMaxScale:s,effectiveMinScale:a,messages:n}=this,r="max"===l?s:a,o=v.fromScaleRange({minScale:t,maxScale:i}),c=this.messages.featuredScaleLabels,u=v.RecommendedScales,d=Object.keys(u).filter((e=>o.contains(u[e]))).map((e=>this._renderScaleMenuItem({scaleLabel:c[e],scaleValue:u[e],isSelected:r===u[e],valueVisible:"world"!==e}))),p=`${this.id}__scale-menu--${l}`;return _("div",{class:m.scaleMenu,id:p,key:p},this._renderCurrentScaleValue({currentScale:r}),_("calcite-list",{afterCreate:this._afterMenuListCreate,class:m.scaleMenuScroller,selectionAppearance:"icon",selectionMode:"single-persist"},null!=e?this._renderScaleMenuItem({scaleValue:e,scaleLabel:n.featuredScaleLabels.current,isSelected:r===e,valueVisible:!0}):null,d))}_renderScaleMenuToggle(e,t){const{_activeMenu:i,_interactive:l}=this,s=i===e,a="max"===e?"_scaleMenuToggleMax":"_scaleMenuToggleMin";return[_("calcite-button",{afterCreate:g,appearance:s?"outline":"transparent","aria-controls":s?`${this.id}__scale-menu--${e}`:"","aria-pressed":s?"true":"false",bind:this,class:m.scaleMenuToggle,"data-node-ref":a,"data-type":e,disabled:!l,iconEnd:"chevron-down",key:`${e}-scale-menu-toggle`,scale:"s"},t),_("calcite-popover",{autoClose:!0,label:e,open:s,overlayPositioning:"fixed",placement:"max"===e?"bottom-end":"bottom-start",referenceElement:this[a],onCalcitePopoverClose:()=>{this._activeMenu===e&&this._setActiveMenu(null)},onCalcitePopoverOpen:()=>this._setActiveMenu(e)},s&&"max"===e?this._renderMaxScaleMenu():null,s&&"min"===e?this._renderMinScaleMenu():null)]}_renderCurrentScaleValue({currentScale:e}){const t=Math.round(e).toString();return _("calcite-input-number",{afterCreate:this._afterComponentCreate,"aria-label":this.messages.currentScale,groupSeparator:!0,inputMode:"numeric",key:"value",max:v.RecommendedScales.world,min:0,numberButtonType:"none",placeholder:this.messages.customScaleInputTooltip,prefixText:T,scale:"s",step:1,value:t,onCalciteInputNumberChange:({target:e})=>this._handleCustomScaleInputChange(t,e)})}_renderScaleMenuItem(e){const{scaleValue:t,scaleLabel:i,valueVisible:l,isSelected:s}=e;return _("calcite-list-item",{bind:this,description:l?this.formatScale(t):void 0,key:i,label:i,selected:s,value:t,onCalciteListItemSelect:this._setScale.bind(this,t)})}_renderCurrentScaleIndicator(){const{_slider:e,messages:t,view:i,viewModel:{scaleRanges:l}}=this,s=l.clampScale(i.scale),a=this.viewModel.mapScaleToSlider(s),n=a/e.max,r=t.scaleRangeLabels[l.findScaleRangeByIndex(a).id],o=w(t.currentScaleTooltip,{scaleLabel:r});return _("div",{class:m.scaleIndicatorContainer,key:"scale-indicator"},_("div",{"aria-label":o,class:m.scaleIndicator,styles:{left:100*n+"%"},title:o},_("calcite-icon",{class:m.scaleIndicatorIcon,icon:"caret-up",scale:"s"})))}_setScale(e){"max"===this._activeMenu?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([n()],j.prototype,"_activeThumb",void 0),e([n()],j.prototype,"_maxScaleMenuEnabled",null),e([n()],j.prototype,"_minScaleMenuEnabled",null),e([n()],j.prototype,"_scaleMenuToggleMax",void 0),e([n()],j.prototype,"_scaleMenuToggleMin",void 0),e([n()],j.prototype,"_slider",void 0),e([n({readOnly:!0})],j.prototype,"_interactive",null),e([n()],j.prototype,"disabled",void 0),e([n()],j.prototype,"effectiveMaxScale",null),e([n()],j.prototype,"effectiveMinScale",null),e([n()],j.prototype,"effectiveMaxScaleLimit",null),e([n()],j.prototype,"effectiveMinScaleLimit",null),e([n()],j.prototype,"label",null),e([n()],j.prototype,"layer",null),e([n()],j.prototype,"maxScale",null),e([n()],j.prototype,"maxScaleLimit",null),e([n(),f("esri/widgets/ScaleRangeSlider/t9n/ScaleRangeSlider")],j.prototype,"messages",void 0),e([n()],j.prototype,"minScale",null),e([n()],j.prototype,"minScaleLimit",null),e([n()],j.prototype,"region",void 0),e([n()],j.prototype,"view",null),e([n()],j.prototype,"viewModel",void 0),e([n()],j.prototype,"visibleElements",void 0),e([r("visibleElements")],j.prototype,"castVisibleElements",null),j=e([o("esri.widgets.ScaleRangeSlider")],j);const L=j;export{L as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import t from"../Widget.js";import{css as o}from"./searchResultRendererCSS.js";import l from"./SearchViewModel.js";import{globalCss as i}from"../support/globalCss.js";import{accessibleHandler as u}from"../support/decorators/accessibleHandler.js";import{messageBundle as n}from"../support/decorators/messageBundle.js";import{tsx as c}from"../support/jsxFactory.js";import"../support/widgetUtils.js";let d=class extends t{constructor(e,s){super(e,s),this.messages=null,this.showMoreResultsOpen=!1,this.viewModel=null}destroy(){this.viewModel=null}render(){const e={[o.showMoreResults]:this.showMoreResultsOpen};return c("div",{class:this.classes(o.base,i.widget)},c("div",{
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as r}from"../../core/accessorSupport/decorators/subclass.js";import t from"../Widget.js";import{css as o}from"./searchResultRendererCSS.js";import l from"./SearchViewModel.js";import{globalCss as i}from"../support/globalCss.js";import{accessibleHandler as u}from"../support/decorators/accessibleHandler.js";import{messageBundle as n}from"../support/decorators/messageBundle.js";import{tsx as c}from"../support/jsxFactory.js";import"../support/widgetUtils.js";let d=class extends t{constructor(e,s){super(e,s),this.messages=null,this.showMoreResultsOpen=!1,this.viewModel=null}destroy(){this.viewModel=null}render(){const e={[o.showMoreResults]:this.showMoreResultsOpen};return c("div",{class:this.classes(o.base,i.widget)},c("div",{class:this.classes(o.moreResults,e),key:"esri-search-renderer__container"},this._renderSearchResultName(),this._renderMoreResults()))}_renderMoreResults(){return c("div",{key:"esri-search-renderer__more-results"},this._renderMoreResultsButton(),this._renderMoreResultsLists())}_renderSearchResultName(){const e=this.viewModel?.selectedResult,s=e&&e.name||"";return c("div",{class:o.moreResultsItem,key:"esri-search-renderer__result-name"},s)}_renderMoreResultsLists(){const{viewModel:e}=this;if(!e)return[];const s=e.results;if((e.resultCount??0)<2)return null;const r=s?.map((e=>this._renderMoreResultsList(e)));return c("div",{class:o.moreResultsList,key:"esri-search-renderer__more-results-container"},r)}_renderMoreResultsButton(){const{messages:e,viewModel:s}=this;if(!s)return null;return(s.resultCount??0)<2?null:c("div",{class:o.moreResultsItem,key:"esri-search-renderer__more-results-button"},c("a",{bind:this,class:i.anchor,href:"#",onclick:this._showMoreResultsClick,onkeydown:this._showMoreResultsClick},this.showMoreResultsOpen?e.hideMoreResults:e.showMoreResults))}_renderMoreResultsHeader(e,s){return c("div",{class:o.moreResultsListHeader,key:`esri-search-result-renderer__header-${s}`},e)}_renderMoreResultsList(e){const{results:s}=e,r=s?.length??0,t=r>0,o=this.viewModel?.selectedResult,l=1===r&&s[0]===o,i=this._getSourceName(e.source,e.sourceIndex),u=(this.viewModel?.results?.length??0)>1&&!l?this._renderMoreResultsHeader(i,e.sourceIndex):null,n=t&&s.map(((e,s)=>this._renderMoreResultsListItem(e,s))),d=t&&!l?c("ul",{key:`esri-search-result-renderer__list-${e.sourceIndex}`},n):null;return t?c("div",{key:`esri-search-result-renderer__results-${e.sourceIndex}`},u,d):null}_renderMoreResultsListItem(e,s){const r=this.viewModel?.selectedResult;return e!==r?c("li",{key:`esri-search-result-renderer__list-item-${s}`},c("a",{bind:this,class:i.anchor,"data-result":e,href:"#",onclick:this._selectResultClick,onkeydown:this._selectResultClick,tabIndex:0},e.name)):null}_showMoreResultsClick(e){e.preventDefault(),this.showMoreResultsOpen=!this.showMoreResultsOpen;const s=this.viewModel?.view?.popup;s&&"reposition"in s&&s.reposition()}_selectResultClick(e){e.preventDefault();const s=e.currentTarget["data-result"];this.viewModel?.select(s)}_getSourceName(e,s){return s===l.ALL_INDEX?this.messages.all:e.name}};e([s(),n("esri/widgets/Search/t9n/Search")],d.prototype,"messages",void 0),e([s()],d.prototype,"showMoreResultsOpen",void 0),e([s()],d.prototype,"viewModel",void 0),e([u()],d.prototype,"_showMoreResultsClick",null),e([u()],d.prototype,"_selectResultClick",null),d=e([r("esri.widgets.Search.SearchResultRenderer")],d);const a=d;export{a as default};
|
package/widgets/Search.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{eventKey as t}from"../core/events.js";import{destroyMaybe as s,abortMaybe as r}from"../core/maybe.js";import{watch as i,on as n,initial as o}from"../core/reactiveUtils.js";import{escapeRegExpString as u}from"../core/string.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{css as d}from"./Search/css.js";import h from"./Search/SearchResultRenderer.js";import g from"./Search/SearchViewModel.js";import{globalCss as p}from"./support/globalCss.js";import{legacyIcon as _}from"./support/legacyIcon.js";import{storeNode as m,keepMenuItemWithinView as v,isActivationKey as M}from"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import{substitute as b}from"../intl/substitute.js";const y=/<[a-z/][\s\S]*>/i,f=(e,t)=>{const s=u(t).split(/\s/),r=new RegExp(`(${s.join("|")})`,"gi");return e.replace(r,(e=>`<strong>${e}</strong>`))};let C=class extends c{constructor(e,t){super(e,t),this._activeMenuItemIndex=-1,this._inputNode=null,this._menuItemCount=0,this._sourceMenuButtonNode=null,this._sourceListNode=null,this._suggestionListNode=null,this._searchResultRenderer=new h,this._suggestController=null,this._searchController=null,this._locateFailed=!1,this._container=null,this.activeMenu="none",this.disabled=!1,this.iconClass=d.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new g,this._clearActiveMenu=()=>{this.activeMenu="none"},this._removeActiveMenu=e=>{const t=e.relatedTarget;t&&this._container?.contains(t)||this._clearActiveMenu()},this.addHandles([i((()=>this.searchTerm),(e=>{(e&&"warning"===this.activeMenu||!e&&!this.viewModel?.selectedSuggestion?.location)&&this._clearActiveMenu()})),n((()=>this.viewModel?.allSources),"change",(()=>this._watchSourceChanges())),i((()=>this.activeMenu),(()=>this._resetActiveMenuItemIndex()),o),i((()=>this.viewModel?.defaultPopupTemplate),(e=>{e&&(e.content=this._renderSearchResultsContent.bind(this))}),o)])}destroy(){this._cancelSuggest(),this._cancelSearch(),this._searchResultRenderer=s(this._searchResultRenderer)}get displayedSearchTerm(){return`${this.viewModel.searchTerm}`.trim()}get inputId(){return this._buildId("input")}get suggestionsMenuId(){return this._buildId("suggest-menu")}get sourceMenuId(){return this._buildId("source-menu")}get sourceMenuButtonId(){return this._buildId("source-menu-button")}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this.viewModel.clear()}focus(){this._inputNode?.focus(),this.emit("search-focus")}blur(){this._inputNode?.blur(),this.emit("search-blur")}async search(e){this._clearActiveMenu(),this._cancelSuggest(),this._cancelSearch();const t=new AbortController,{signal:s}=t;this._searchController=t;try{const r=await this.viewModel.search(e,{signal:s});if(this._searchController!==t)return;return this.activeMenu=r?.numResults?"none":"warning",this._searchController=null,r}catch(r){if(this._searchController!==t)return;return this._clearActiveMenu(),void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;this._suggestController=t;try{const r=await this.viewModel.suggest(e,null,{signal:s});if(this._suggestController!==t)return;return this._suggestController=null,r?.numResults&&this._openSuggestionMenu(),this._scrollToTopSuggestion(),r}catch(r){return this._suggestController!==t||(this._suggestController=null),null}}render(){const{state:e}=this.viewModel,t={[p.disabled]:"disabled"===e,[p.widgetDisabled]:this.disabled};return I("div",{class:this.classes(d.base,p.widget,t)},"loading"===e?this._renderLoader():this._renderContainer())}_renderSubmitButton(){const{messages:e,disabled:t}=this;return I("button",{"aria-label":e.searchButtonTitle,bind:this,disabled:t,class:this.classes(d.submitButton,p.widgetButton),key:"esri-search__submit-button",onclick:this._handleSearchButtonClick,title:e.searchButtonTitle,type:"button"},I("span",{"aria-hidden":"true",class:_.search}))}_renderWarningMenu(){return I("div",{key:"esri-search__error-menu",class:this.classes(p.menu,d.warningMenu)},I("div",{class:d.warningMenuBody},this._renderWarning()))}_renderSourceMenuButton(){const{messages:e,activeMenu:t,sourceMenuId:s,sourceMenuButtonId:r,disabled:i}=this,{activeSourceIndex:n,allSources:o}=this.viewModel;return o.length>1?I("button",{id:r,key:"esri-search__source-menu-button",bind:this,disabled:i,"aria-label":e.searchIn,title:e.searchIn,"aria-haspopup":"true","aria-expanded":("source"===t).toString(),"aria-controls":s,class:this.classes(d.sourcesButton,p.widgetButton),onclick:this._handleSourcesMenuToggleClick,onfocus:this._handleSourcesMenuToggleFocus,afterCreate:m,"data-node-ref":"_sourceMenuButtonNode",type:"button"},I("span",{"aria-hidden":"true",class:this.classes(_.downArrow,d.sourcesButtonDown)}),I("span",{"aria-hidden":"true",class:this.classes(_.upArrow,d.sourcesButtonUp)}),I("span",{class:d.sourceName},this._getSourceName(n))):null}_renderSourcesList(){const{allSources:e,searchAllEnabled:t}=this.viewModel,{_activeMenuItemIndex:s,activeMenu:r,sourceMenuId:i,sourceMenuButtonId:n}=this,o="source"===r&&s>-1?this._buildId("source-item",s):null;return e.length>1?I("ul",{"aria-activedescendant":o,"aria-labelledby":n,id:i,role:"menu",bind:this,afterCreate:m,onkeydown:this._handleSourceMenuKeydown,onkeyup:this._handleSourceMenuKeyup,"data-node-ref":"_sourceListNode",class:p.menuList,tabIndex:-1},t?this._renderSource(g.ALL_INDEX):null,e.map(((e,t)=>this._renderSource(t))).toArray()):null}_renderSourcesMenu(){const{allSources:e}=this.viewModel;return e.length>1?I("div",{key:"esri-search__source-menu",class:this.classes(p.menu,d.sourcesMenu)},this._renderSourcesList()):null}_renderLoader(){const{messages:e,messagesCommon:t,disabled:s}=this;return I("div",{class:p.loader,key:"base-loader",tabIndex:s?-1:void 0},I("span",{"aria-hidden":"true",class:p.loaderAnimation}),I("span",{class:_.fontFallbackText},e.searchButtonTitle),I("span",{class:p.loaderText},t.loading))}_renderContainer(){const{allSources:e,state:t}=this.viewModel,{activeMenu:s}=this,r={[d.hasMultipleSources]:e.length>1,[d.isLoading]:"loading"===t,[d.isSearching]:"searching"===t,[d.showWarning]:"warning"===s,[d.showSources]:"source"===s,[d.showSuggestions]:"suggestion"===s};return I("div",{tabIndex:-1,afterCreate:e=>{this._container=e,e.addEventListener("focusout",this._removeActiveMenu)},afterRemoved:e=>{e.removeEventListener("focusout",this._removeActiveMenu)},class:this.classes(r,d.container),key:"base-container"},this._renderSourceMenuButton(),this._renderSourcesMenu(),this._renderInputContainer(),this._renderSubmitButton(),this._renderWarningMenu())}_renderClearButton(){return this.searchTerm?I("button",{bind:this,disabled:this.disabled,class:this.classes(d.clearButton,p.widgetButton),key:"esri-search__clear-button",onclick:this._handleClearButtonClick,onfocus:this._clearActiveMenu,title:this.messages.clearButtonTitle,type:"button"},I("span",{"aria-hidden":"true",class:_.close})):null}_renderLocationGroup(){const{messages:e,locationEnabled:t,displayedSearchTerm:s}=this,r=t&&!s,i="suggestion"===this.activeMenu&&0===this._activeMenuItemIndex;return r?I("ul",{role:"group",key:"esri-search__suggestion-list-current-location",class:this.classes(p.menuList,d.suggestionList,d.suggestionListCurrentLocation)},I("li",{bind:this,"data-current-location-item":!0,onclick:this._handleUseCurrentLocationClick,id:this._buildId("suggestion-item",0),"aria-selected":("suggestion"===this.activeMenu&&0===this._activeMenuItemIndex).toString(),role:"option",class:this.classes(p.menuItem,i?p.menuItemFocus:null)},I("span",{"aria-hidden":"true",class:_.locateCircled})," ",e.useCurrentLocation)):null}_renderInput(){const{activeMenu:e,locationEnabled:t,displayedSearchTerm:s,messages:r,suggestionsMenuId:i,inputId:n,_activeMenuItemIndex:o,disabled:u}=this,{maxInputLength:l,placeholder:a,searchTerm:c,suggestionCount:h}=this.viewModel,g=!(!(t&&!s)&&!h),_="suggestion"===e&&o>-1?this._buildId("suggestion-item",o):null;return I("input",{"aria-activedescendant":_,"aria-autocomplete":"list","aria-expanded":(g&&"suggestion"===e).toString(),"aria-controls":g?i:null,"aria-haspopup":"listbox","aria-label":r.searchButtonTitle,bind:this,disabled:u,placeholder:a,maxlength:l,autocomplete:"off",type:"text",class:this.classes(p.input,d.input),value:c,id:n,role:"combobox",onkeyup:this._handleInputKeyup,onclick:this._openSuggestionMenu,oninput:this._handleInputPaste,onpaste:this._handleInputPaste,afterCreate:m,"data-node-ref":"_inputNode",onfocus:this.focus,onblur:this.blur,title:c?"":a})}_renderForm(){return I("form",{key:"esri-search__form",bind:this,disabled:this.disabled,class:d.form,onsubmit:this._formSubmit,role:"search"},this._renderInput())}_renderSuggestList(e){const{sourceIndex:t}=e,{results:s}=e,r=s?.length;return r?I("ul",{role:"group",key:`esri-search__suggestion-list-${t}`,class:this.classes(p.menuList,d.suggestionList)},s?.map((e=>this._renderSuggestion(e,this._menuItemCount++)))):null}_renderSuggestionsGroup(){const{suggestions:e}=this.viewModel;return e?e.map((e=>[this._renderSuggestionHeader(e),this._renderSuggestList(e)])):[]}_renderSuggestionsMenu(){const{displayedSearchTerm:e,locationEnabled:t,suggestionsMenuId:s,inputId:r}=this,{suggestionCount:i}=this.viewModel,n=t&&!e||i;return this._menuItemCount=0,n?I("div",{id:s,key:"esri-search__suggestions-menu",class:this.classes(p.menu,d.suggestionsMenu),role:"listbox","aria-labelledby":r,bind:this,afterCreate:m,"data-node-ref":"_suggestionListNode"},this._renderLocationGroup(),this._renderSuggestionsGroup()):null}_renderInputContainer(){return I("div",{key:"esri-search__input-container",class:d.inputContainer},this._renderForm(),this._renderSuggestionsMenu(),this._renderClearButton())}_renderSuggestionHeader(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:r}=e,i=e.results?.length,n=t.length>1&&s===g.ALL_INDEX;return i&&n?I("div",{key:`esri-search__suggestion-header-${r}`,class:p.menuHeader},this._getSourceName(r)):null}_renderSuggestion(e,t){const{_activeMenuItemIndex:s,viewModel:{searchTerm:r}}=this;if(!r)return;const i="suggestion"===this.activeMenu&&s===t;return I("li",{bind:this,id:this._buildId("suggestion-item",t),"aria-selected":("suggestion"===this.activeMenu&&this._activeMenuItemIndex===t).toString(),onclick:this._handleSuggestionClick,key:`esri-search__suggestion_${t}`,"data-suggestion":e,role:"option",innerHTML:this._getSuggestResultHTML(e.text,r),class:this.classes(p.menuItem,i?p.menuItemFocus:null)})}_renderSource(e){const{activeSourceIndex:t,searchAllEnabled:s}=this.viewModel,r={[p.menuItemActive]:e===t,[p.menuItemFocus]:"source"===this.activeMenu&&e===(s?this._activeMenuItemIndex-1:this._activeMenuItemIndex)},i=s?e+1:e;return I("li",{bind:this,key:`esri-search__source-${e}`,id:this._buildId("source-item",i),"aria-checked":(e===t).toString(),onclick:this._handleSourceClick,"data-source-index":e,role:"menuitemradio",class:this.classes(d.source,p.menuItem,r)},this._getSourceName(e))}_renderNoResultsWarning(e){const{messages:t}=this,s=e?b(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return I("div",{key:"esri-search__no_results"},I("div",{class:d.warningMenuHeader},t.noResults),I("div",{class:d.warningMenuText},s))}_renderEmptySearchWarning(){const{messages:e}=this;return I("div",{key:"esri-search__empty-search"},I("span",{"aria-hidden":"true",class:_.noticeTriangle}),I("span",{class:d.noValueText},e.emptyValue))}_renderLocateWarning(){const{messages:e}=this;return I("div",{key:"esri-search__locate-error"},I("span",{"aria-hidden":"true",class:_.noticeTriangle}),I("span",{class:d.noValueText},e.locateError))}_renderWarning(){const{displayedSearchTerm:e,_locateFailed:t}=this,{viewModel:s}=this;return t?this._renderLocateWarning():s.selectedSuggestion?.location||e?this._renderNoResultsWarning(e):this._renderEmptySearchWarning()}_resetActiveMenuItemIndex(){this._activeMenuItemIndex=-1}_buildId(e,t){return`${this.id}-${e}${void 0===t?"":`-${t}`}`}_watchSourceChanges(){const{viewModel:{allSources:e}}=this,t="sources";this.removeHandles(t),e.forEach((e=>this.addHandles(i((()=>e.name),(()=>this.scheduleRender())),t)))}_handleSourcesMenuToggleFocus(){"source"!==this.activeMenu&&this._clearActiveMenu()}_handleSourcesMenuToggleClick(){const e="source"===this.activeMenu;this.activeMenu=e?"none":"source",this.renderNow(),"source"===this.activeMenu&&this._sourceListNode?.focus()}_handleClearButtonClick(){this.viewModel.clear(),this._focus()}_handleSearchButtonClick(){this.search()}_handleSuggestionClick(e){const t=x(e.currentTarget);t&&(this._focus(),this.search(t))}_handleUseCurrentLocationClick(){this._useCurrentLocation()}_useCurrentLocation(){this._focus("none"),this._cancelSuggest(),this._cancelSearch();const e=new AbortController,{signal:t}=e;this._searchController=e;(async()=>{try{const e=await this.viewModel.searchNearby({signal:t});this.activeMenu=e?.numResults?"none":"warning"}catch(e){this._locateFailed=!0,this.activeMenu="warning"}finally{this._searchController=null}})()}_handleSourceClick(e){this._setSourceFromMenuItem(e.currentTarget)}_setSourceFromMenuItem(e){if(!e)return;const t=T(e);null!=t&&(this.viewModel.activeSourceIndex=t,this._clearActiveMenu(),this._sourceMenuButtonNode?.focus())}_cancelSuggest(){this._suggestController=r(this._suggestController)}_cancelSearch(){this._searchController=r(this._searchController),this._locateFailed=!1}_handleInputKeyup(e){const s=t(e);if(e.ctrlKey||e.metaKey||"Copy"===s||"ArrowLeft"===s||"ArrowRight"===s||"Shift"===s)return;if("Tab"===s||"Escape"===s||e.shiftKey&&"Tab"===s)return this._cancelSuggest(),void("Escape"===s&&this._clearActiveMenu());const r="Home"===s||"End"===s||"ArrowUp"===s||"ArrowDown"===s;if("Enter"===s&&this._activeMenuItemIndex<0)return void this._cancelSuggest();const i=this._suggestionListNode?.getElementsByTagName("li");if(i?.length){if("suggestion"!==this.activeMenu&&this._openSuggestionMenu(),r)return e.preventDefault(),this._cancelSuggest(),void this._handleItemNavigation(s,i,this._suggestionListNode);const t=i[this._activeMenuItemIndex];if("Enter"===s&&t){const e=x(t);return void(e?(this._focus(),this.search(e)):E(t)&&this._useCurrentLocation())}}this.viewModel.searchTerm&&this.suggest()}_handleItemNavigation(e,t,s){const r=this._activeMenuItemIndex;"Home"===e&&(this._activeMenuItemIndex=0),"End"===e&&(this._activeMenuItemIndex=t.length-1),"ArrowUp"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex<=0?t.length-1:this._activeMenuItemIndex-1),"ArrowDown"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex===t.length-1?0:this._activeMenuItemIndex+1),r!==this._activeMenuItemIndex&&s&&v(t[this._activeMenuItemIndex],s)}_scrollToTopSuggestion(){this._suggestionListNode&&(this._suggestionListNode.scrollTop=0)}_openSuggestionMenu(){this.activeMenu="suggestion"}_handleInputPaste(e){const t=e.target;this.viewModel.searchTerm!==t.value&&(this.viewModel.searchTerm=t.value),this.viewModel.searchTerm&&this.suggest()}_handleSourceMenuKeydown(e){const s=t(e);if(M(s)){e.preventDefault();const t=this._sourceListNode?.getElementsByTagName("li"),s=t?.[this._activeMenuItemIndex];this._setSourceFromMenuItem(s)}else"ArrowUp"!==s&&"ArrowDown"!==s&&"End"!==s&&"Home"!==s||e.preventDefault()}_handleSourceMenuKeyup(e){const s=t(e),r="ArrowUp"===s||"ArrowDown"===s||"End"===s||"Home"===s;if(r&&e.preventDefault(),"Escape"===s)return this._clearActiveMenu(),void this._sourceMenuButtonNode?.focus();const i=this._sourceListNode?.getElementsByTagName("li");return i&&0!==i.length&&r?("source"!==this.activeMenu&&(this.activeMenu="source"),void this._handleItemNavigation(s,i,this._sourceListNode?.parentElement)):void 0}_focus(e){this.focus(),e&&(this.activeMenu=e)}_formSubmit(e){e.preventDefault(),-1===this._activeMenuItemIndex&&this.search()}_getSourceName(e){const{messages:t}=this,s=this.viewModel,{allSources:r}=s,i=r.at(e);return e===g.ALL_INDEX?t.all:i&&i.name||t.untitledSource}_getSuggestResultHTML(e,t){return e?y.test(e)?e:f(e,t):this.messages.untitledResult}_renderSearchResultsContent(){return this._searchResultRenderer.showMoreResultsOpen=!1,this._searchResultRenderer.viewModel=this.viewModel,this._searchResultRenderer}};function x(e){return e?.["data-suggestion"]}function T(e){return e?.["data-source-index"]}function E(e){return!!e?.["data-current-location-item"]}e([l()],C.prototype,"_activeMenuItemIndex",void 0),e([l()],C.prototype,"displayedSearchTerm",null),e([l({readOnly:!0})],C.prototype,"inputId",null),e([l({readOnly:!0})],C.prototype,"suggestionsMenuId",null),e([l({readOnly:!0})],C.prototype,"sourceMenuId",null),e([l({readOnly:!0})],C.prototype,"sourceMenuButtonId",null),e([l()],C.prototype,"activeMenu",void 0),e([l({readOnly:!0})],C.prototype,"activeSource",null),e([l()],C.prototype,"activeSourceIndex",null),e([l()],C.prototype,"allPlaceholder",null),e([l({readOnly:!0})],C.prototype,"allSources",null),e([l()],C.prototype,"autoNavigate",null),e([l()],C.prototype,"autoSelect",null),e([l({readOnly:!0})],C.prototype,"defaultSources",null),e([l()],C.prototype,"disabled",void 0),e([l()],C.prototype,"goToOverride",null),e([l()],C.prototype,"iconClass",void 0),e([l()],C.prototype,"icon",void 0),e([l()],C.prototype,"includeDefaultSources",null),e([l()],C.prototype,"label",null),e([l()],C.prototype,"locationEnabled",null),e([l()],C.prototype,"maxResults",null),e([l()],C.prototype,"maxSuggestions",null),e([l(),S("esri/widgets/Search/t9n/Search")],C.prototype,"messages",void 0),e([l(),S("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([l()],C.prototype,"minSuggestCharacters",null),e([l()],C.prototype,"popupEnabled",null),e([l()],C.prototype,"popupTemplate",null),e([l()],C.prototype,"portal",null),e([l()],C.prototype,"resultGraphic",null),e([l()],C.prototype,"resultGraphicEnabled",null),e([l({readOnly:!0})],C.prototype,"results",null),e([l()],C.prototype,"searchAllEnabled",null),e([l()],C.prototype,"searchTerm",null),e([l({readOnly:!0})],C.prototype,"selectedResult",null),e([l()],C.prototype,"sources",null),e([l({readOnly:!0})],C.prototype,"suggestions",null),e([l()],C.prototype,"suggestionsEnabled",null),e([l()],C.prototype,"view",null),e([w(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),l({type:g})],C.prototype,"viewModel",void 0),C=e([a("esri.widgets.Search")],C);const L=C;export{L as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{eventKey as t}from"../core/events.js";import{destroyMaybe as s,abortMaybe as r}from"../core/maybe.js";import{watch as i,on as n,initial as o}from"../core/reactiveUtils.js";import{escapeRegExpString as u}from"../core/string.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{css as d}from"./Search/css.js";import h from"./Search/SearchResultRenderer.js";import g from"./Search/SearchViewModel.js";import{globalCss as p}from"./support/globalCss.js";import{legacyIcon as _}from"./support/legacyIcon.js";import{storeNode as m,keepMenuItemWithinView as v,isActivationKey as M}from"./support/widgetUtils.js";import{messageBundle as S}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as I}from"./support/jsxFactory.js";import{substitute as b}from"../intl/substitute.js";const y=/<[a-z/][\s\S]*>/i,f=(e,t)=>{const s=u(t).split(/\s/),r=new RegExp(`(${s.join("|")})`,"gi");return e.replace(r,(e=>`<strong>${e}</strong>`))};let C=class extends c{constructor(e,t){super(e,t),this._activeMenuItemIndex=-1,this._inputNode=null,this._menuItemCount=0,this._sourceMenuButtonNode=null,this._sourceListNode=null,this._suggestionListNode=null,this._searchResultRenderer=new h,this._suggestController=null,this._searchController=null,this._locateFailed=!1,this._container=null,this.activeMenu="none",this.disabled=!1,this.iconClass=d.widgetIcon,this.icon=null,this.messages=null,this.messagesCommon=null,this.viewModel=new g,this._clearActiveMenu=()=>{this.activeMenu="none"},this._removeActiveMenu=e=>{const t=e.relatedTarget;t&&this._container?.contains(t)||this._clearActiveMenu()},this.addHandles([i((()=>this.searchTerm),(e=>{(e&&"warning"===this.activeMenu||!e&&!this.viewModel?.selectedSuggestion?.location)&&this._clearActiveMenu()})),n((()=>this.viewModel?.allSources),"change",(()=>this._watchSourceChanges())),i((()=>this.activeMenu),(()=>this._resetActiveMenuItemIndex()),o),i((()=>this.viewModel?.defaultPopupTemplate),(e=>{e&&(e.content=this._renderSearchResultsContent.bind(this))}),o)])}destroy(){this._cancelSuggest(),this._cancelSearch(),this._searchResultRenderer=s(this._searchResultRenderer)}get displayedSearchTerm(){return`${this.viewModel.searchTerm}`.trim()}get inputId(){return this._buildId("input")}get suggestionsMenuId(){return this._buildId("suggest-menu")}get sourceMenuId(){return this._buildId("source-menu")}get sourceMenuButtonId(){return this._buildId("source-menu-button")}get activeSource(){return this.viewModel?.activeSource}get activeSourceIndex(){return this.viewModel.activeSourceIndex}set activeSourceIndex(e){this.viewModel.activeSourceIndex=e}get allPlaceholder(){return this.viewModel.allPlaceholder}set allPlaceholder(e){this.viewModel.allPlaceholder=e}get allSources(){return this.viewModel.allSources}get autoNavigate(){return this.viewModel.autoNavigate}set autoNavigate(e){this.viewModel.autoNavigate=e}get autoSelect(){return this.viewModel.autoSelect}set autoSelect(e){this.viewModel.autoSelect=e}get defaultSources(){return this.viewModel.defaultSources}get goToOverride(){return this.viewModel.goToOverride}set goToOverride(e){this.viewModel.goToOverride=e}get includeDefaultSources(){return this.viewModel.includeDefaultSources}set includeDefaultSources(e){this.viewModel.includeDefaultSources=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get locationEnabled(){return this.viewModel.locationEnabled}set locationEnabled(e){this.viewModel.locationEnabled=e}get maxResults(){return this.viewModel.maxResults}set maxResults(e){this.viewModel.maxResults=e}get maxSuggestions(){return this.viewModel.maxSuggestions}set maxSuggestions(e){this.viewModel.maxSuggestions=e}get minSuggestCharacters(){return this.viewModel.minSuggestCharacters}set minSuggestCharacters(e){this.viewModel.minSuggestCharacters=e}get popupEnabled(){return this.viewModel.popupEnabled}set popupEnabled(e){this.viewModel.popupEnabled=e}get popupTemplate(){return this.viewModel.popupTemplate}set popupTemplate(e){this.viewModel.popupTemplate=e}get portal(){return this.viewModel?.portal}set portal(e){this.viewModel&&(this.viewModel.portal=e)}get resultGraphic(){return this.viewModel.resultGraphic}set resultGraphic(e){this.viewModel.resultGraphic=e}get resultGraphicEnabled(){return this.viewModel.resultGraphicEnabled}set resultGraphicEnabled(e){this.viewModel.resultGraphicEnabled=e}get results(){return this.viewModel.results}get searchAllEnabled(){return this.viewModel.searchAllEnabled}set searchAllEnabled(e){this.viewModel.searchAllEnabled=e}get searchTerm(){return this.viewModel.searchTerm}set searchTerm(e){this.viewModel.searchTerm=e}get selectedResult(){return this.viewModel.selectedResult}get sources(){return this.viewModel.sources}set sources(e){this.viewModel.sources=e}get suggestions(){return this.viewModel.suggestions}get suggestionsEnabled(){return this.viewModel.suggestionsEnabled}set suggestionsEnabled(e){this.viewModel.suggestionsEnabled=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}clear(){this.viewModel.clear()}focus(){this._inputNode?.focus(),this.emit("search-focus")}blur(){this._inputNode?.blur(),this.emit("search-blur")}async search(e){this._clearActiveMenu(),this._cancelSuggest(),this._cancelSearch();const t=new AbortController,{signal:s}=t;this._searchController=t;try{const r=await this.viewModel.search(e,{signal:s});if(this._searchController!==t)return;return this.activeMenu=r?.numResults?"none":"warning",this._searchController=null,r}catch(r){if(this._searchController!==t)return;return this._clearActiveMenu(),void(this._searchController=null)}}async suggest(e){this._cancelSuggest();const t=new AbortController,{signal:s}=t;this._suggestController=t;try{const r=await this.viewModel.suggest(e,null,{signal:s});if(this._suggestController!==t)return;return this._suggestController=null,r?.numResults&&this._openSuggestionMenu(),this._scrollToTopSuggestion(),r}catch(r){return this._suggestController!==t||(this._suggestController=null),null}}render(){const{state:e}=this.viewModel,t={[p.disabled]:"disabled"===e,[p.widgetDisabled]:this.disabled};return I("div",{class:this.classes(d.base,p.widget,t)},"loading"===e?this._renderLoader():this._renderContainer())}_renderSubmitButton(){const{messages:e,disabled:t}=this;return I("button",{"aria-label":e.searchButtonTitle,bind:this,class:this.classes(d.submitButton,p.widgetButton),disabled:t,key:"esri-search__submit-button",onclick:this._handleSearchButtonClick,title:e.searchButtonTitle,type:"button"},I("span",{"aria-hidden":"true",class:_.search}))}_renderWarningMenu(){return I("div",{class:this.classes(p.menu,d.warningMenu),key:"esri-search__error-menu"},I("div",{class:d.warningMenuBody},this._renderWarning()))}_renderSourceMenuButton(){const{messages:e,activeMenu:t,sourceMenuId:s,sourceMenuButtonId:r,disabled:i}=this,{activeSourceIndex:n,allSources:o}=this.viewModel;return o.length>1?I("button",{afterCreate:m,"aria-controls":s,"aria-expanded":("source"===t).toString(),"aria-haspopup":"true","aria-label":e.searchIn,bind:this,class:this.classes(d.sourcesButton,p.widgetButton),"data-node-ref":"_sourceMenuButtonNode",disabled:i,id:r,key:"esri-search__source-menu-button",onclick:this._handleSourcesMenuToggleClick,onfocus:this._handleSourcesMenuToggleFocus,title:e.searchIn,type:"button"},I("span",{"aria-hidden":"true",class:this.classes(_.downArrow,d.sourcesButtonDown)}),I("span",{"aria-hidden":"true",class:this.classes(_.upArrow,d.sourcesButtonUp)}),I("span",{class:d.sourceName},this._getSourceName(n))):null}_renderSourcesList(){const{allSources:e,searchAllEnabled:t}=this.viewModel,{_activeMenuItemIndex:s,activeMenu:r,sourceMenuId:i,sourceMenuButtonId:n}=this,o="source"===r&&s>-1?this._buildId("source-item",s):null;return e.length>1?I("ul",{afterCreate:m,"aria-activedescendant":o,"aria-labelledby":n,bind:this,class:p.menuList,"data-node-ref":"_sourceListNode",id:i,onkeydown:this._handleSourceMenuKeydown,onkeyup:this._handleSourceMenuKeyup,role:"menu",tabIndex:-1},t?this._renderSource(g.ALL_INDEX):null,e.map(((e,t)=>this._renderSource(t))).toArray()):null}_renderSourcesMenu(){const{allSources:e}=this.viewModel;return e.length>1?I("div",{class:this.classes(p.menu,d.sourcesMenu),key:"esri-search__source-menu"},this._renderSourcesList()):null}_renderLoader(){const{messages:e,messagesCommon:t,disabled:s}=this;return I("div",{class:p.loader,key:"base-loader",tabIndex:s?-1:void 0},I("span",{"aria-hidden":"true",class:p.loaderAnimation}),I("span",{class:_.fontFallbackText},e.searchButtonTitle),I("span",{class:p.loaderText},t.loading))}_renderContainer(){const{allSources:e,state:t}=this.viewModel,{activeMenu:s}=this,r={[d.hasMultipleSources]:e.length>1,[d.isLoading]:"loading"===t,[d.isSearching]:"searching"===t,[d.showWarning]:"warning"===s,[d.showSources]:"source"===s,[d.showSuggestions]:"suggestion"===s};return I("div",{afterCreate:e=>{this._container=e,e.addEventListener("focusout",this._removeActiveMenu)},afterRemoved:e=>{e.removeEventListener("focusout",this._removeActiveMenu)},class:this.classes(r,d.container),key:"base-container",tabIndex:-1},this._renderSourceMenuButton(),this._renderSourcesMenu(),this._renderInputContainer(),this._renderSubmitButton(),this._renderWarningMenu())}_renderClearButton(){return this.searchTerm?I("button",{bind:this,class:this.classes(d.clearButton,p.widgetButton),disabled:this.disabled,key:"esri-search__clear-button",onclick:this._handleClearButtonClick,onfocus:this._clearActiveMenu,title:this.messages.clearButtonTitle,type:"button"},I("span",{"aria-hidden":"true",class:_.close})):null}_renderLocationGroup(){const{messages:e,locationEnabled:t,displayedSearchTerm:s}=this,r=t&&!s,i="suggestion"===this.activeMenu&&0===this._activeMenuItemIndex;return r?I("ul",{class:this.classes(p.menuList,d.suggestionList,d.suggestionListCurrentLocation),key:"esri-search__suggestion-list-current-location",role:"group"},I("li",{"aria-selected":("suggestion"===this.activeMenu&&0===this._activeMenuItemIndex).toString(),bind:this,class:this.classes(p.menuItem,i?p.menuItemFocus:null),"data-current-location-item":!0,id:this._buildId("suggestion-item",0),onclick:this._handleUseCurrentLocationClick,role:"option"},I("span",{"aria-hidden":"true",class:_.locateCircled})," ",e.useCurrentLocation)):null}_renderInput(){const{activeMenu:e,locationEnabled:t,displayedSearchTerm:s,messages:r,suggestionsMenuId:i,inputId:n,_activeMenuItemIndex:o,disabled:u}=this,{maxInputLength:l,placeholder:a,searchTerm:c,suggestionCount:h}=this.viewModel,g=!(!(t&&!s)&&!h),_="suggestion"===e&&o>-1?this._buildId("suggestion-item",o):null;return I("input",{afterCreate:m,"aria-activedescendant":_,"aria-autocomplete":"list","aria-controls":g?i:null,"aria-expanded":(g&&"suggestion"===e).toString(),"aria-haspopup":"listbox","aria-label":r.searchButtonTitle,autocomplete:"off",bind:this,class:this.classes(p.input,d.input),"data-node-ref":"_inputNode",disabled:u,id:n,maxlength:l,onblur:this.blur,onclick:this._openSuggestionMenu,onfocus:this.focus,oninput:this._handleInputPaste,onkeyup:this._handleInputKeyup,onpaste:this._handleInputPaste,placeholder:a,role:"combobox",title:c?"":a,type:"text",value:c})}_renderForm(){return I("form",{bind:this,class:d.form,disabled:this.disabled,key:"esri-search__form",onsubmit:this._formSubmit,role:"search"},this._renderInput())}_renderSuggestList(e){const{sourceIndex:t}=e,{results:s}=e,r=s?.length;return r?I("ul",{class:this.classes(p.menuList,d.suggestionList),key:`esri-search__suggestion-list-${t}`,role:"group"},s?.map((e=>this._renderSuggestion(e,this._menuItemCount++)))):null}_renderSuggestionsGroup(){const{suggestions:e}=this.viewModel;return e?e.map((e=>[this._renderSuggestionHeader(e),this._renderSuggestList(e)])):[]}_renderSuggestionsMenu(){const{displayedSearchTerm:e,locationEnabled:t,suggestionsMenuId:s,inputId:r}=this,{suggestionCount:i}=this.viewModel,n=t&&!e||i;return this._menuItemCount=0,n?I("div",{afterCreate:m,"aria-labelledby":r,bind:this,class:this.classes(p.menu,d.suggestionsMenu),"data-node-ref":"_suggestionListNode",id:s,key:"esri-search__suggestions-menu",role:"listbox"},this._renderLocationGroup(),this._renderSuggestionsGroup()):null}_renderInputContainer(){return I("div",{class:d.inputContainer,key:"esri-search__input-container"},this._renderForm(),this._renderSuggestionsMenu(),this._renderClearButton())}_renderSuggestionHeader(e){const{allSources:t,activeSourceIndex:s}=this.viewModel,{sourceIndex:r}=e,i=e.results?.length,n=t.length>1&&s===g.ALL_INDEX;return i&&n?I("div",{class:p.menuHeader,key:`esri-search__suggestion-header-${r}`},this._getSourceName(r)):null}_renderSuggestion(e,t){const{_activeMenuItemIndex:s,viewModel:{searchTerm:r}}=this;if(!r)return;const i="suggestion"===this.activeMenu&&s===t;return I("li",{"aria-selected":("suggestion"===this.activeMenu&&this._activeMenuItemIndex===t).toString(),bind:this,class:this.classes(p.menuItem,i?p.menuItemFocus:null),"data-suggestion":e,id:this._buildId("suggestion-item",t),innerHTML:this._getSuggestResultHTML(e.text,r),key:`esri-search__suggestion_${t}`,onclick:this._handleSuggestionClick,role:"option"})}_renderSource(e){const{activeSourceIndex:t,searchAllEnabled:s}=this.viewModel,r={[p.menuItemActive]:e===t,[p.menuItemFocus]:"source"===this.activeMenu&&e===(s?this._activeMenuItemIndex-1:this._activeMenuItemIndex)},i=s?e+1:e;return I("li",{"aria-checked":(e===t).toString(),bind:this,class:this.classes(d.source,p.menuItem,r),"data-source-index":e,id:this._buildId("source-item",i),key:`esri-search__source-${e}`,onclick:this._handleSourceClick,role:"menuitemradio"},this._getSourceName(e))}_renderNoResultsWarning(e){const{messages:t}=this,s=e?b(t.noResultsFoundForValue,{value:`"${e}"`}):t.noResultsFound;return I("div",{key:"esri-search__no_results"},I("div",{class:d.warningMenuHeader},t.noResults),I("div",{class:d.warningMenuText},s))}_renderEmptySearchWarning(){const{messages:e}=this;return I("div",{key:"esri-search__empty-search"},I("span",{"aria-hidden":"true",class:_.noticeTriangle}),I("span",{class:d.noValueText},e.emptyValue))}_renderLocateWarning(){const{messages:e}=this;return I("div",{key:"esri-search__locate-error"},I("span",{"aria-hidden":"true",class:_.noticeTriangle}),I("span",{class:d.noValueText},e.locateError))}_renderWarning(){const{displayedSearchTerm:e,_locateFailed:t}=this,{viewModel:s}=this;return t?this._renderLocateWarning():s.selectedSuggestion?.location||e?this._renderNoResultsWarning(e):this._renderEmptySearchWarning()}_resetActiveMenuItemIndex(){this._activeMenuItemIndex=-1}_buildId(e,t){return`${this.id}-${e}${void 0===t?"":`-${t}`}`}_watchSourceChanges(){const{viewModel:{allSources:e}}=this,t="sources";this.removeHandles(t),e.forEach((e=>this.addHandles(i((()=>e.name),(()=>this.scheduleRender())),t)))}_handleSourcesMenuToggleFocus(){"source"!==this.activeMenu&&this._clearActiveMenu()}_handleSourcesMenuToggleClick(){const e="source"===this.activeMenu;this.activeMenu=e?"none":"source",this.renderNow(),"source"===this.activeMenu&&this._sourceListNode?.focus()}_handleClearButtonClick(){this.viewModel.clear(),this._focus()}_handleSearchButtonClick(){this.search()}_handleSuggestionClick(e){const t=x(e.currentTarget);t&&(this._focus(),this.search(t))}_handleUseCurrentLocationClick(){this._useCurrentLocation()}_useCurrentLocation(){this._focus("none"),this._cancelSuggest(),this._cancelSearch();const e=new AbortController,{signal:t}=e;this._searchController=e;(async()=>{try{const e=await this.viewModel.searchNearby({signal:t});this.activeMenu=e?.numResults?"none":"warning"}catch(e){this._locateFailed=!0,this.activeMenu="warning"}finally{this._searchController=null}})()}_handleSourceClick(e){this._setSourceFromMenuItem(e.currentTarget)}_setSourceFromMenuItem(e){if(!e)return;const t=T(e);null!=t&&(this.viewModel.activeSourceIndex=t,this._clearActiveMenu(),this._sourceMenuButtonNode?.focus())}_cancelSuggest(){this._suggestController=r(this._suggestController)}_cancelSearch(){this._searchController=r(this._searchController),this._locateFailed=!1}_handleInputKeyup(e){const s=t(e);if(e.ctrlKey||e.metaKey||"Copy"===s||"ArrowLeft"===s||"ArrowRight"===s||"Shift"===s)return;if("Tab"===s||"Escape"===s||e.shiftKey&&"Tab"===s)return this._cancelSuggest(),void("Escape"===s&&this._clearActiveMenu());const r="Home"===s||"End"===s||"ArrowUp"===s||"ArrowDown"===s;if("Enter"===s&&this._activeMenuItemIndex<0)return void this._cancelSuggest();const i=this._suggestionListNode?.getElementsByTagName("li");if(i?.length){if("suggestion"!==this.activeMenu&&this._openSuggestionMenu(),r)return e.preventDefault(),this._cancelSuggest(),void this._handleItemNavigation(s,i,this._suggestionListNode);const t=i[this._activeMenuItemIndex];if("Enter"===s&&t){const e=x(t);return void(e?(this._focus(),this.search(e)):E(t)&&this._useCurrentLocation())}}this.viewModel.searchTerm&&this.suggest()}_handleItemNavigation(e,t,s){const r=this._activeMenuItemIndex;"Home"===e&&(this._activeMenuItemIndex=0),"End"===e&&(this._activeMenuItemIndex=t.length-1),"ArrowUp"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex<=0?t.length-1:this._activeMenuItemIndex-1),"ArrowDown"===e&&(this._activeMenuItemIndex=this._activeMenuItemIndex===t.length-1?0:this._activeMenuItemIndex+1),r!==this._activeMenuItemIndex&&s&&v(t[this._activeMenuItemIndex],s)}_scrollToTopSuggestion(){this._suggestionListNode&&(this._suggestionListNode.scrollTop=0)}_openSuggestionMenu(){this.activeMenu="suggestion"}_handleInputPaste(e){const t=e.target;this.viewModel.searchTerm!==t.value&&(this.viewModel.searchTerm=t.value),this.viewModel.searchTerm&&this.suggest()}_handleSourceMenuKeydown(e){const s=t(e);if(M(s)){e.preventDefault();const t=this._sourceListNode?.getElementsByTagName("li"),s=t?.[this._activeMenuItemIndex];this._setSourceFromMenuItem(s)}else"ArrowUp"!==s&&"ArrowDown"!==s&&"End"!==s&&"Home"!==s||e.preventDefault()}_handleSourceMenuKeyup(e){const s=t(e),r="ArrowUp"===s||"ArrowDown"===s||"End"===s||"Home"===s;if(r&&e.preventDefault(),"Escape"===s)return this._clearActiveMenu(),void this._sourceMenuButtonNode?.focus();const i=this._sourceListNode?.getElementsByTagName("li");return i&&0!==i.length&&r?("source"!==this.activeMenu&&(this.activeMenu="source"),void this._handleItemNavigation(s,i,this._sourceListNode?.parentElement)):void 0}_focus(e){this.focus(),e&&(this.activeMenu=e)}_formSubmit(e){e.preventDefault(),-1===this._activeMenuItemIndex&&this.search()}_getSourceName(e){const{messages:t}=this,s=this.viewModel,{allSources:r}=s,i=r.at(e);return e===g.ALL_INDEX?t.all:i&&i.name||t.untitledSource}_getSuggestResultHTML(e,t){return e?y.test(e)?e:f(e,t):this.messages.untitledResult}_renderSearchResultsContent(){return this._searchResultRenderer.showMoreResultsOpen=!1,this._searchResultRenderer.viewModel=this.viewModel,this._searchResultRenderer}};function x(e){return e?.["data-suggestion"]}function T(e){return e?.["data-source-index"]}function E(e){return!!e?.["data-current-location-item"]}e([l()],C.prototype,"_activeMenuItemIndex",void 0),e([l()],C.prototype,"displayedSearchTerm",null),e([l({readOnly:!0})],C.prototype,"inputId",null),e([l({readOnly:!0})],C.prototype,"suggestionsMenuId",null),e([l({readOnly:!0})],C.prototype,"sourceMenuId",null),e([l({readOnly:!0})],C.prototype,"sourceMenuButtonId",null),e([l()],C.prototype,"activeMenu",void 0),e([l({readOnly:!0})],C.prototype,"activeSource",null),e([l()],C.prototype,"activeSourceIndex",null),e([l()],C.prototype,"allPlaceholder",null),e([l({readOnly:!0})],C.prototype,"allSources",null),e([l()],C.prototype,"autoNavigate",null),e([l()],C.prototype,"autoSelect",null),e([l({readOnly:!0})],C.prototype,"defaultSources",null),e([l()],C.prototype,"disabled",void 0),e([l()],C.prototype,"goToOverride",null),e([l()],C.prototype,"iconClass",void 0),e([l()],C.prototype,"icon",void 0),e([l()],C.prototype,"includeDefaultSources",null),e([l()],C.prototype,"label",null),e([l()],C.prototype,"locationEnabled",null),e([l()],C.prototype,"maxResults",null),e([l()],C.prototype,"maxSuggestions",null),e([l(),S("esri/widgets/Search/t9n/Search")],C.prototype,"messages",void 0),e([l(),S("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([l()],C.prototype,"minSuggestCharacters",null),e([l()],C.prototype,"popupEnabled",null),e([l()],C.prototype,"popupTemplate",null),e([l()],C.prototype,"portal",null),e([l()],C.prototype,"resultGraphic",null),e([l()],C.prototype,"resultGraphicEnabled",null),e([l({readOnly:!0})],C.prototype,"results",null),e([l()],C.prototype,"searchAllEnabled",null),e([l()],C.prototype,"searchTerm",null),e([l({readOnly:!0})],C.prototype,"selectedResult",null),e([l()],C.prototype,"sources",null),e([l({readOnly:!0})],C.prototype,"suggestions",null),e([l()],C.prototype,"suggestionsEnabled",null),e([l()],C.prototype,"view",null),e([w(["search-complete","search-clear","search-start","select-result","suggest-start","suggest-complete"]),l({type:g})],C.prototype,"viewModel",void 0),C=e([a("esri.widgets.Search")],C);const L=C;export{L as default};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../../../chunks/tslib.es6.js";import{generateUUID as e}from"../../../core/uuid.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{formatDuration as r}from"../../../intl/duration.js";import i from"../../Widget.js";import{discreteConfiguratorCss as c}from"../css.js";import{Label as l}from"./Label.js";import{LabeledColorPicker as p}from"./LabeledColorPicker.js";import{loadCalciteComponents as a}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as n}from"../../support/decorators/messageBundle.js";import{tsx as m}from"../../support/jsxFactory.js";let d=class extends i{constructor(o){super(o),this.colorPickerVisible=!0,this._selectId=`select-${e()}`,this._colorPickerId=`color-picker-${e()}`,this._onColorChange=o=>{this.options.color=o}}loadDependencies(){return a({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js")})}render(){const o=this._messages.discrete,e=o.intervalLabel,{color:t,interval:s,intervalOptions:i}=this.options;return m("div",{class:c.base},m(l,{for:this._selectId,label:e},m("calcite-select",{id:this._selectId,label:e,
|
|
5
|
+
import{_ as o}from"../../../chunks/tslib.es6.js";import{generateUUID as e}from"../../../core/uuid.js";import{property as t}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";import{formatDuration as r}from"../../../intl/duration.js";import i from"../../Widget.js";import{discreteConfiguratorCss as c}from"../css.js";import{Label as l}from"./Label.js";import{LabeledColorPicker as p}from"./LabeledColorPicker.js";import{loadCalciteComponents as a}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as n}from"../../support/decorators/messageBundle.js";import{tsx as m}from"../../support/jsxFactory.js";let d=class extends i{constructor(o){super(o),this.colorPickerVisible=!0,this._selectId=`select-${e()}`,this._colorPickerId=`color-picker-${e()}`,this._onColorChange=o=>{this.options.color=o}}loadDependencies(){return a({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js")})}render(){const o=this._messages.discrete,e=o.intervalLabel,{color:t,interval:s,intervalOptions:i}=this.options;return m("div",{class:c.base},m(l,{for:this._selectId,label:e},m("calcite-select",{bind:this,id:this._selectId,label:e,onCalciteSelectChange:this._onIntervalChange},i.toArray().map((o=>m("calcite-option",{key:o,selected:o===s,value:String(o)},r(o)))))),this.colorPickerVisible?m(p,{id:this._colorPickerId,label:o.colorLabel,value:t,onChange:this._onColorChange}):null)}_onIntervalChange(o){const e=parseInt(o.target.selectedOption?.value,10);Number.isFinite(e)&&(this.options.interval=e)}};o([t()],d.prototype,"options",void 0),o([t()],d.prototype,"colorPickerVisible",void 0),o([t(),n("esri/widgets/ShadowCast/t9n/ShadowCast")],d.prototype,"_messages",void 0),d=o([s("esri.widgets.ShadowCast.components.DiscreteConfigurator")],d);export{d as DiscreteConfigurator};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as o}from"../../../chunks/tslib.es6.js";import{generateUUID as t}from"../../../core/uuid.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{durationConfiguratorCss as i}from"../css.js";import{DurationMode as c}from"../DurationMode.js";import{Label as l}from"./Label.js";import{LabeledColorPicker as
|
|
5
|
+
import{_ as o}from"../../../chunks/tslib.es6.js";import{generateUUID as t}from"../../../core/uuid.js";import{property as s}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import r from"../../Widget.js";import{durationConfiguratorCss as i}from"../css.js";import{DurationMode as c}from"../DurationMode.js";import{Label as l}from"./Label.js";import{LabeledColorPicker as n}from"./LabeledColorPicker.js";import{loadCalciteComponents as a}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as p}from"../../support/decorators/messageBundle.js";import{tsx as m}from"../../support/jsxFactory.js";let u=class extends r{constructor(o){super(o),this.colorPickerVisible=!0,this._modeSelectorId=`mode-selector-${t()}`,this._colorPickerId=`color-picker-${t()}`,this._onColorChange=o=>{this.options.color=o},this._setContinuous=()=>{this.options.mode=c.Continuous},this._setHourly=()=>{this.options.mode=c.Hourly}}loadDependencies(){return a({button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js")})}render(){const o=this._messages.duration,{color:t,mode:s}=this.options;return m("div",{class:i.base},m(l,{for:this._modeSelectorId,label:o.modeLabel},m("div",{class:i.radioGroup},m(d,{active:s===c.Continuous,label:o.continuousLabel,onclick:this._setContinuous}),m(d,{active:s===c.Hourly,label:o.hourlyLabel,onclick:this._setHourly}))),this.colorPickerVisible?m(n,{id:this._colorPickerId,label:o.colorLabel,value:t,onChange:this._onColorChange}):null)}};function d({active:o,label:t,...s}){return m("calcite-button",{alignment:"center",appearance:o?"solid":"outline",scale:"s",width:"half",...s},t)}o([s()],u.prototype,"options",void 0),o([s()],u.prototype,"colorPickerVisible",void 0),o([s(),p("esri/widgets/ShadowCast/t9n/ShadowCast")],u.prototype,"_messages",void 0),u=o([e("esri.widgets.ShadowCast.components.DurationConfigurator")],u);export{u as DurationConfigurator};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{roundToNearest as o}from"../../../core/mathUtils.js";import{convertTime as s}from"../../../core/timeUtils.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import{formatDuration as i}from"../../../intl/duration.js";import m from"../../Widget.js";import{tooltipCss as a}from"../css.js";import"../../support/widgetUtils.js";import{messageBundle as n}from"../../support/decorators/messageBundle.js";import{tsx as p}from"../../support/jsxFactory.js";import{substitute as c}from"../../../intl/substitute.js";const l=s(1,"minutes","milliseconds"),d=s(15,"minutes","milliseconds");let u=class extends m{constructor(t,o){super(t,o),this.accumulatedShadowTime=null,this._messages=null}render(){const t=this._formattedContent;return p("div",{class:a.base},t
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import"../../../intl.js";import{roundToNearest as o}from"../../../core/mathUtils.js";import{convertTime as s}from"../../../core/timeUtils.js";import{property as r}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as e}from"../../../core/accessorSupport/decorators/subclass.js";import{formatDuration as i}from"../../../intl/duration.js";import m from"../../Widget.js";import{tooltipCss as a}from"../css.js";import"../../support/widgetUtils.js";import{messageBundle as n}from"../../support/decorators/messageBundle.js";import{tsx as p}from"../../support/jsxFactory.js";import{substitute as c}from"../../../intl/substitute.js";const l=s(1,"minutes","milliseconds"),d=s(15,"minutes","milliseconds");let u=class extends m{constructor(t,o){super(t,o),this.accumulatedShadowTime=null,this._messages=null}render(){const t=this._formattedContent;return p("div",{class:a.base},t?p("div",{class:a.content},t):null)}get _formattedContent(){const t=this._messages,s=this.accumulatedShadowTime;if(null==t||null==s)return null;const r=o(s,s<d?l:d);return c(t.timeInShadow,{duration:i(r)})}};t([r()],u.prototype,"accumulatedShadowTime",void 0),t([r()],u.prototype,"view",void 0),t([r(),n("esri/widgets/ShadowCast/t9n/ShadowCast")],u.prototype,"_messages",void 0),t([r({readOnly:!0})],u.prototype,"_formattedContent",null),u=t([e("esri.widgets.ShadowCast.components.ShadowTooltipContent")],u);export{u as ShadowTooltipContent};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../../chunks/tslib.es6.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{watch as s,syncAndInitial as r}from"../../../core/reactiveUtils.js";import{convertTime as t}from"../../../core/timeUtils.js";import{generateUUID as i}from"../../../core/uuid.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{formatNumber as c}from"../../../intl/number.js";import m from"../../Slider.js";import n from"../../Widget.js";import{thresholdConfiguratorCss as
|
|
5
|
+
import{_ as e}from"../../../chunks/tslib.es6.js";import{destroyMaybe as o}from"../../../core/maybe.js";import{watch as s,syncAndInitial as r}from"../../../core/reactiveUtils.js";import{convertTime as t}from"../../../core/timeUtils.js";import{generateUUID as i}from"../../../core/uuid.js";import{property as l}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import"../../../core/arrayUtils.js";import"../../../core/has.js";import{subclass as a}from"../../../core/accessorSupport/decorators/subclass.js";import{formatNumber as c}from"../../../intl/number.js";import m from"../../Slider.js";import n from"../../Widget.js";import{thresholdConfiguratorCss as u}from"../css.js";import{Label as p}from"./Label.js";import{LabeledColorPicker as d}from"./LabeledColorPicker.js";import{loadCalciteComponents as h}from"../../support/componentsUtils.js";import"../../support/widgetUtils.js";import{messageBundle as v}from"../../support/decorators/messageBundle.js";import{tsx as b}from"../../support/jsxFactory.js";let j=class extends n{constructor(e){super(e),this.colorPickerVisible=!0,this._valueSliderId=`value-slider-${i()}`,this._colorPickerId=`color-picker-${i()}`,this._valueSlider=new m({visibleElements:{labels:!1,rangeLabels:!1},steps:t(30,"minutes","milliseconds"),labelFormatFunction:(e,o)=>{const s=t(e,"milliseconds","hours");return"tick"===o?c(s,{maximumFractionDigits:0}):""}}),this._onColorChange=e=>{this.options.color=e}}initialize(){const e=({value:e})=>{this.options.value=e};this.addHandles([s((()=>{const{value:e,minValue:o,maxValue:s}=this.options;return{value:e,minValue:o,maxValue:s}}),(({value:e,minValue:o,maxValue:s})=>{const r=this._valueSlider;r.min=o,r.max=s,r.values=[e];const i=s-o,l=Math.floor(t(i,"milliseconds","hours"));r.tickConfigs=[{mode:"count",values:2*l+1,labelsVisible:!1},{mode:"count",values:l+1,labelsVisible:!0}]}),r),this._valueSlider.on("thumb-change",e),this._valueSlider.on("thumb-drag",e)])}loadDependencies(){return h({label:()=>import("@esri/calcite-components/dist/components/calcite-label.js")})}destroy(){this._valueSlider=o(this._valueSlider)}render(){const e=this._messages.threshold,{color:o}=this.options;return b("div",{class:u.base},b(p,{class:u.valueLabel,for:this._valueSliderId,label:e.valueLabel},this._valueSlider.render()),this.colorPickerVisible?b(d,{id:this._colorPickerId,label:e.colorLabel,value:o,onChange:this._onColorChange}):null)}get testData(){return{valueSlider:this._valueSlider}}};e([l()],j.prototype,"options",void 0),e([l()],j.prototype,"colorPickerVisible",void 0),e([l()],j.prototype,"testData",null),e([l()],j.prototype,"_valueSlider",void 0),e([l(),v("esri/widgets/ShadowCast/t9n/ShadowCast")],j.prototype,"_messages",void 0),j=e([a("esri.widgets.ShadowCast.components.ThresholdConfigurator")],j);export{j as ThresholdConfigurator};
|
package/widgets/ShadowCast.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{destroyMaybe as i}from"../core/maybe.js";import{watch as t,syncAndInitial as s}from"../core/reactiveUtils.js";import{convertTime as o}from"../core/timeUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{destroyMaybe as i}from"../core/maybe.js";import{watch as t,syncAndInitial as s}from"../core/reactiveUtils.js";import{convertTime as o}from"../core/timeUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import{substitute as a}from"../intl/substitute.js";import n from"./Slider.js";import d from"./Widget.js";import{css as m}from"./ShadowCast/css.js";import{ShadowCastState as c}from"./ShadowCast/ShadowCastState.js";import p from"./ShadowCast/ShadowCastViewModel.js";import h from"./ShadowCast/ShadowCastVisibleElements.js";import{ShadowVisualizationType as u}from"./ShadowCast/ShadowVisualizationType.js";import{DiscreteConfigurator as v}from"./ShadowCast/components/DiscreteConfigurator.js";import{DurationConfigurator as w}from"./ShadowCast/components/DurationConfigurator.js";import{ShadowTooltip as f}from"./ShadowCast/components/ShadowTooltip.js";import{ThresholdConfigurator as g}from"./ShadowCast/components/ThresholdConfigurator.js";import{loadCalciteComponents as b}from"./support/componentsUtils.js";import y from"./support/DatePicker.js";import{globalCss as S}from"./support/globalCss.js";import{Heading as C}from"./support/Heading.js";import{formatSliderLabel as _}from"./support/timeWidgetUtils.js";import{TimezonePicker as T}from"./support/TimezonePicker.js";import"./support/widgetUtils.js";import{messageBundle as j}from"./support/decorators/messageBundle.js";import{tsx as M}from"./support/jsxFactory.js";import{formatDate as k}from"../intl/date.js";var D;!function(e){e.Slider="slider"}(D||(D={}));const z={hour:"2-digit",minute:"2-digit",timeZone:"UTC"},V=/(.*)\s(.*)/,O={labelFormatFunction:_,min:0,max:1439,steps:15,rangeLabelInputsEnabled:!1,visibleElements:{labels:!1,rangeLabels:!1},tickConfigs:[{mode:"position",values:[0,360,720,1080,1439],labelsVisible:!0,tickCreatedFunction:(e,i,t)=>{i.classList.add(S.primaryTick),t.classList.add(S.primaryTickLabel);const s=t.innerText.match(V);s&&(t.innerHTML=`${s[1]}<br><div class="${S.primaryTickAmPm}">${s[2]}</div>`)}},{mode:"position",values:[120,240,480,600,840,960,1200,1320],tickCreatedFunction:(e,i)=>{i.classList.add(S.secondaryTick)}}]};let L=class extends d{constructor(e,i){super(e,i),this.viewModel=null,this.headingLevel=4,this.iconClass=m.widgetIcon,this.icon=null,this.visibleElements=new h,this._defaultViewModel=null,this._timeSlider=new n({...O,container:document.createElement("div")}),this._tooltip=null,this._onTimezoneChange=e=>{this.viewModel.utcOffset=e},this._onDateChange=e=>{this.viewModel.date=e},e?.viewModel||(this._defaultViewModel=new p({view:e?.view}),this.viewModel=this._defaultViewModel)}initialize(){this.addHandles([t((()=>({viewModel:this.viewModel,slider:this._timeSlider})),(e=>this._connectTimeSlider(e)),s),t((()=>({container:this.view?.surface,viewModel:this.viewModel,tooltipVisible:this.visibleElements.tooltip})),(({container:e,viewModel:t,tooltipVisible:s})=>{this._tooltip=i(this._tooltip),null!=e&&s&&(this._tooltip=new f({viewModel:t,container:e}))}),s),t((()=>({viewModel:this.viewModel,visible:this.visible})),(({viewModel:e,visible:i})=>e.setRunning(i)),s)])}destroy(){this._timeSlider=i(this._timeSlider),null!=this._defaultViewModel&&this.viewModel!==this._defaultViewModel&&this._defaultViewModel.destroy()}loadDependencies(){return b({select:()=>import("@esri/calcite-components/dist/components/calcite-select.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js")})}render(){const{visibleElements:e,viewModel:i}=this,t=i.state===c.Disabled;return M("div",{class:this.classes(m.base,S.widget,S.panel,{[S.widgetDisabled]:t}),key:this},this._renderTimeRangeSection(),e.visualizationOptions?this._renderVisualizationOptionsSection():null)}get view(){return this.viewModel?.view}set view(e){this.viewModel&&(this.viewModel.view=e)}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get testData(){return{tooltip:this._tooltip}}_connectTimeSlider({viewModel:e,slider:i}){if(this.removeHandles(D.Slider),null==i)return;const r=e=>o(e,"milliseconds","minutes"),l=e=>o(e,"minutes","milliseconds"),a=({index:i,value:t})=>{0===i?e.startTimeOfDay=l(t):e.endTimeOfDay=l(t)};this.addHandles([t((()=>[e.startTimeOfDay,e.endTimeOfDay]),(e=>{i.values=e.map(r)}),s),i.on("thumb-change",a),i.on("thumb-drag",a),i.on("segment-drag",(()=>{[e.startTimeOfDay,e.endTimeOfDay]=i.values.map(l)}))],D.Slider)}_renderTimeRangeSection(){const{visibleElements:e}=this;return e.timeRangeSlider||e.datePicker?M("section",{class:m.timeRange,key:"time-range"},M(C,{level:this.headingLevel},this.messages.timeLabel),e.timeRangeSlider?this._renderTimeRange():null,e.datePicker?this._renderDatePicker():null):null}_renderTimeRange(){const{messages:e,viewModel:i,visibleElements:t}=this,{startTimeOfDay:s,endTimeOfDay:o}=i,[r,l]=[s,o].map((e=>k(new Date(e),z)));return[M("div",{class:m.timeRangeIndicator,key:"time-range-indicator"},a(e.timeRange,{start:r,end:l}),t.timezone?M(T,{value:i.utcOffset,onChange:this._onTimezoneChange}):null),M("div",{afterCreate:this._timeSliderContainerAfterCreate,afterRemoved:this._timeSliderContainerAfterRemoved,bind:this,key:"time-slider-container"})]}_timeSliderContainerAfterCreate(e){const i=this._timeSlider?.container;i&&e.appendChild(i)}_timeSliderContainerAfterRemoved(e){const i=this._timeSlider?.container;i&&e.removeChild(i)}_renderDatePicker(){return M("div",{class:m.datePickerContainer,key:"date-picker"},M(y,{value:this.viewModel.date,onChange:this._onDateChange}))}_renderVisualizationOptionsSection(){const{headingLevel:e,messages:i,viewModel:t,visibleElements:s}=this,o=s.colorPicker,r=e=>this.classes(t.visualizationType===e?null:m.visualizationConfigHidden);return M("section",{class:m.visualization,key:"visualization"},M(C,{level:e},i.visualizationLabel),this._renderVisualizationSelect(),M("div",{class:r(u.Threshold),key:"threshold-configurator"},M(g,{colorPickerVisible:o,options:t.thresholdOptions})),M("div",{class:r(u.Duration),key:"duration-configurator"},M(w,{colorPickerVisible:o,options:t.durationOptions})),M("div",{class:r(u.Discrete),key:"discrete-configurator"},M(v,{colorPickerVisible:o,options:t.discreteOptions})))}_renderVisualizationSelect(){const e=this.messages,i=this.viewModel.visualizationType;return M("calcite-select",{bind:this,class:m.visualizationSelect,key:"visualization-select",label:e.visualizationLabel,onCalciteSelectChange:this._onVisualizationTypeChange},[{type:u.Threshold,label:e.threshold.label},{type:u.Duration,label:e.duration.label},{type:u.Discrete,label:e.discrete.label}].map((({type:e,label:t})=>M("calcite-option",{selected:e===i,value:e},t))))}_onVisualizationTypeChange(e){const i=e.target.selectedOption?.value;this.viewModel.visualizationType=i??u.Threshold}};e([r()],L.prototype,"viewModel",void 0),e([r()],L.prototype,"view",null),e([r()],L.prototype,"headingLevel",void 0),e([r()],L.prototype,"iconClass",void 0),e([r()],L.prototype,"icon",void 0),e([r()],L.prototype,"label",null),e([r({type:h,nonNullable:!0})],L.prototype,"visibleElements",void 0),e([r(),j("esri/widgets/ShadowCast/t9n/ShadowCast")],L.prototype,"messages",void 0),e([r()],L.prototype,"_defaultViewModel",void 0),e([r()],L.prototype,"_timeSlider",void 0),e([r()],L.prototype,"_tooltip",void 0),L=e([l("esri.widgets.ShadowCast")],L);const R=L;export{R as default};
|
package/widgets/Sketch.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{handlesGroup as t}from"../core/handleUtils.js";import{removeMaybe as o,destroyMaybe as i}from"../core/maybe.js";import{watch as s,syncAndInitial as n,when as l}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import u from"./Sketch/SketchViewModel.js";import d from"./Sketch/VisibleElements.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{legacyIcon as v}from"./support/legacyIcon.js";import m from"./support/SelectionToolbar.js";import _ from"./support/SketchTooltipControls.js";import g from"./support/SnappingControls.js";import{isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as y}from"./support/jsxFactory.js";import{substitute as C}from"../intl/substitute.js";const T="esri-sketch",M={base:T,widgetIcon:v.edit,verticalLayout:`${T}--vertical`,panel:`${T}__panel`,infoPanel:`${T}__info-panel`,section:`${T}__section`,toolSection:`${T}__tool-section`,infoSection:`${T}__info-section`,infoCountSection:`${T}__info-count-section`,menuContainer:`${T}__menu-container`,menuHeader:`${T}__menu-header`,menuTitle:`${T}__menu-title`,featureCountBadge:`${T}__feature-count-badge`,featureCountText:`${T}__feature-count-text`,featureCountNumber:`${T}__feature-count-number`,actionToggle:`${T}__action-toggle`,actionToggleOn:`${T}__action-toggle--on`,actionTitle:`${T}__item-action-title`,actionIcon:`${T}__item-action-icon`};let O=class extends c{constructor(e,t){super(e,t),this._activeCreateOptions=null,this._menuOpen=!1,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.creationMode="continuous",this.iconClass=M.widgetIcon,this.icon=null,this.layout="horizontal",this.messages=null,this.messagesCommon=null,this.visibleElements=new d,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||new u}initialize(){const{layer:e,view:i}=this,{selectionTools:a}=this.visibleElements,r=new m({view:"2d"===i?.type?i:null,sources:e?[e]:null,visibleElements:{lassoTool:!!a?.["lasso-selection"],rectangleTool:!!a?.["rectangle-selection"]}});this.addHandles([s((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=o(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=t([e.on("create",(e=>{this.scheduleRender(),this._onCreateOperation(e)})),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),s((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),s((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view="2d"===e?.type?e:null)})),s((()=>e.state),(()=>this.notifyChange("state")))]))}),n),l((()=>r.activeToolInfo),(()=>this.viewModel.cancel())),r.on("complete",(e=>this._onSelectionOperationComplete(e)))]),this._selectionToolbar=r}loadDependencies(){return p({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=o(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeToolInfo;if(e)switch(e.toolName){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}return this.viewModel.activeTool}get createGraphic(){return this.viewModel.createGraphic}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeToolInfo?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&i(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,visibleElements:t}=this;return e?.filter((e=>!!t.createTools?.[e]))}create(e,t){this._activeCreateOptions=t||null,this.viewModel.create(e,t)}update(e,t){return this.viewModel.update(e,t)}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel()}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}render(){const{label:e,layout:t,viewModel:{state:o}}=this;return y("div",{"aria-label":e,class:this.classes(M.base,h.widget,{[h.disabled]:"disabled"===o,[M.verticalLayout]:"vertical"===t})},y("div",{role:"toolbar",class:M.panel},this._renderTopPanelContents()),y("div",{class:this.classes(M.panel,M.infoPanel)},this._renderInfoPanelContents()))}_renderTopPanelContents(){const e=this.classes(M.section,M.toolSection),{_effectiveAvailableCreateTools:t,visibleElements:o,viewModel:i}=this;return[i.updateOnGraphicClick||this._selectionToolbar?.visibleToolCount?y("div",{role:"menu",key:"selection-button-container",class:e},this._renderDefaultSelectionButton(),this._renderSelectionToolbar()):null,t?.length?y("div",{role:"menu",class:e},this._renderDrawButtons()):null,o.undoRedoMenu?y("div",{role:"menu",key:"undo-redo-menu-button-container",class:e},this._renderUndoRedoMenuButtons()):null,o.settingsMenu?y("div",{key:"settings-menu-button-container",class:M.section},this._renderSettingsMenuButton()):null]}_renderInfoPanelContents(){return this._menuOpen?this._renderSettingsMenu():this.updateGraphics.length?[y("div",{class:this.classes(M.section,M.infoSection,M.infoCountSection),key:"feature-count-container"},this._renderFeatureCount()),y("div",{class:this.classes(M.section,M.infoSection),key:"delete-button-container"},this._renderDuplicateButton(),this._renderDeleteButton())]:void 0}_renderSettingsMenu(){const{labelOptions:e,messagesCommon:t,snappingOptions:o,tooltipOptions:i,view:s,visibleElements:n}=this;return[y("div",{role:"menu",class:M.menuContainer,key:"settings-menu-container","data-testid":"menu"},y("header",{class:M.menuHeader,key:"settings-menu-header"},y("span",{class:M.menuTitle},t.settings)),n.sketchTooltipControls?y(_,{labelOptions:e,tooltipOptions:i,visibleElements:n.sketchTooltipControlsElements,viewType:s?.type}):void 0,n.snappingControls&&s&&o?y(g,{snappingOptions:o,view:s,visibleElements:n.snappingControlsElements}):void 0)]}_renderFeatureCount(){const{layout:e,messages:t,updateGraphics:{length:o}}=this,i=C(t.selectedCount,{count:o});return y("div",{class:M.featureCountBadge,"aria-label":i},y("span",{class:M.featureCountNumber},"vertical"===e?o:i))}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return;const e=this.messages,t=this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature;return y("calcite-action",{bind:this,label:t,onclick:this._onDuplicateSelect,scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"copy"}))}_renderDeleteButton(){const e=this.messages,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return y("calcite-action",{bind:this,label:t,onclick:this.delete,scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"trash"}))}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return;const e=this.messages.selectFeature;return y("calcite-action",{active:"ready"===this.state,bind:this,label:e,onclick:this._activateDefaultSelectTool,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:"cursor"}))}_renderSelectionToolbar(){if("2d"===this.view?.type&&this._selectionToolbar)return this._selectionToolbar.render()}_renderDrawButtons(){return this._effectiveAvailableCreateTools?.map((e=>{switch(e){case"point":return this._renderPointButton();case"polyline":return this._renderPolylineButton();case"polygon":return this._renderPolygonButton();case"rectangle":return this._renderRectangleButton();case"circle":return this._renderCircleButton();default:return}}))}_renderPointButton(){const e="point",t=this.messages.drawPoint;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"pin"}))}_renderPolygonButton(){const e="polygon",t=this.messages.drawPolygon;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"polygon"}))}_renderPolylineButton(){const e="polyline",t=this.messages.drawPolyline;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"line"}))}_renderCircleButton(){const e="circle",t=this.messages.drawCircle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"circle"}))}_renderRectangleButton(){const e="rectangle",t=this.messages.drawRectangle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{scale:"s",icon:"rectangle"}))}_renderUndoRedoMenuButtons(){return[this._renderUndoButton(),this._renderRedoButton()]}_renderUndoButton(){const e=this.messages.undo;return y("calcite-action",{disabled:!this.viewModel.canUndo(),bind:this,label:e,onclick:this.undo,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:b(this.container)?"redo":"undo"}))}_renderRedoButton(){const e=this.messages.redo;return y("calcite-action",{disabled:!this.viewModel.canRedo(),bind:this,label:e,onclick:this.redo,scale:"s",text:e,title:e},y("calcite-icon",{scale:"s",icon:b(this.container)?"undo":"redo"}))}_renderSettingsMenuButton(){const e=this.messagesCommon.settings;return y("calcite-action",{active:this._menuOpen,bind:this,label:e,onclick:this._toggleMenu,scale:"s",text:e,title:e,"data-testid":"settings-menu-action"},y("calcite-icon",{scale:"s",icon:"gear"}))}_activateCreateTool(e){this.activeTool!==e?(this._selectionToolbar?.cancel(),this.create(e)):this.cancel()}_onCreateOperation(e){if("complete"!==e.state)return;const{creationMode:t}=this,{type:o}=e;if("create"===o){const{tool:o,graphic:i}=e,s=this._activeCreateOptions;this._activeCreateOptions=null,"continuous"===t?this.create(o,s):"update"===t&&this.update([i])}}_toggleMenu(){this._menuOpen=!this._menuOpen,this.scheduleRender()}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}};e([a()],O.prototype,"activeTool",null),e([a({cast:e=>{if(!e||!e.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle"]);return e.filter((e=>t.has(e)))}})],O.prototype,"availableCreateTools",void 0),e([a({readOnly:!0})],O.prototype,"createGraphic",null),e([a()],O.prototype,"creationMode",void 0),e([a()],O.prototype,"defaultCreateOptions",null),e([a()],O.prototype,"defaultUpdateOptions",null),e([a()],O.prototype,"iconClass",void 0),e([a()],O.prototype,"icon",void 0),e([a()],O.prototype,"label",null),e([a()],O.prototype,"labelOptions",null),e([a()],O.prototype,"layer",null),e([a({type:["horizontal","vertical"]})],O.prototype,"layout",void 0),e([a(),f("esri/widgets/Sketch/t9n/Sketch")],O.prototype,"messages",void 0),e([a(),f("esri/t9n/common")],O.prototype,"messagesCommon",void 0),e([a()],O.prototype,"snappingOptions",null),e([a()],O.prototype,"state",null),e([a()],O.prototype,"tooltipOptions",null),e([a({readOnly:!0})],O.prototype,"updateGraphics",null),e([a()],O.prototype,"view",null),e([a(),w(["create","update","undo","redo"])],O.prototype,"viewModel",null),e([a({type:d,nonNullable:!0})],O.prototype,"visibleElements",void 0),e([a()],O.prototype,"_effectiveAvailableCreateTools",null),O=e([r("esri.widgets.Sketch")],O);const S=O;export{S as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import{handlesGroup as t}from"../core/handleUtils.js";import{removeMaybe as o,destroyMaybe as i}from"../core/maybe.js";import{watch as s,syncAndInitial as n,when as l}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as r}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import u from"./Sketch/SketchViewModel.js";import d from"./Sketch/VisibleElements.js";import{loadCalciteComponents as p}from"./support/componentsUtils.js";import{globalCss as h}from"./support/globalCss.js";import{legacyIcon as v}from"./support/legacyIcon.js";import m from"./support/SelectionToolbar.js";import _ from"./support/SketchTooltipControls.js";import g from"./support/SnappingControls.js";import{isRTL as b}from"./support/widgetUtils.js";import{messageBundle as f}from"./support/decorators/messageBundle.js";import{vmEvent as w}from"./support/decorators/vmEvent.js";import{tsx as y}from"./support/jsxFactory.js";import{substitute as C}from"../intl/substitute.js";const T="esri-sketch",M={base:T,widgetIcon:v.edit,verticalLayout:`${T}--vertical`,panel:`${T}__panel`,infoPanel:`${T}__info-panel`,section:`${T}__section`,toolSection:`${T}__tool-section`,infoSection:`${T}__info-section`,infoCountSection:`${T}__info-count-section`,menuContainer:`${T}__menu-container`,menuHeader:`${T}__menu-header`,menuTitle:`${T}__menu-title`,featureCountBadge:`${T}__feature-count-badge`,featureCountText:`${T}__feature-count-text`,featureCountNumber:`${T}__feature-count-number`,actionToggle:`${T}__action-toggle`,actionToggleOn:`${T}__action-toggle--on`,actionTitle:`${T}__item-action-title`,actionIcon:`${T}__item-action-icon`};let O=class extends c{constructor(e,t){super(e,t),this._activeCreateOptions=null,this._menuOpen=!1,this._selectionToolbar=null,this._viewModelHandlesGroup=null,this.availableCreateTools=["point","polyline","polygon","rectangle","circle"],this.creationMode="continuous",this.iconClass=M.widgetIcon,this.icon=null,this.layout="horizontal",this.messages=null,this.messagesCommon=null,this.visibleElements=new d,this._activateCreateTool=this._activateCreateTool.bind(this),this.viewModel=e?.viewModel||new u}initialize(){const{layer:e,view:i}=this,{selectionTools:a}=this.visibleElements,r=new m({view:"2d"===i?.type?i:null,sources:e?[e]:null,visibleElements:{lassoTool:!!a?.["lasso-selection"],rectangleTool:!!a?.["rectangle-selection"]}});this.addHandles([s((()=>this.viewModel),(e=>{this._viewModelHandlesGroup=o(this._viewModelHandlesGroup),e&&(this._viewModelHandlesGroup=t([e.on("create",(e=>{this.scheduleRender(),this._onCreateOperation(e)})),e.on("update",(()=>this.scheduleRender())),e.on("delete",(e=>this.emit("delete",e))),e.on("undo",(()=>this.scheduleRender())),e.on("redo",(()=>this.scheduleRender())),s((()=>e.layer),(e=>{this._selectionToolbar&&(this._selectionToolbar.sources=e?[e]:null)})),s((()=>e.view),(e=>{this._selectionToolbar&&(this._selectionToolbar.view="2d"===e?.type?e:null)})),s((()=>e.state),(()=>this.notifyChange("state")))]))}),n),l((()=>r.activeToolInfo),(()=>this.viewModel.cancel())),r.on("complete",(e=>this._onSelectionOperationComplete(e)))]),this._selectionToolbar=r}loadDependencies(){return p({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js")})}destroy(){this._selectionToolbar?.destroy(),this._viewModelHandlesGroup=o(this._viewModelHandlesGroup)}get activeTool(){const e=this._selectionToolbar?.activeToolInfo;if(e)switch(e.toolName){case"lasso":return"lasso-selection";case"rectangle":return"rectangle-selection";case"default":return"custom-selection"}return this.viewModel.activeTool}get createGraphic(){return this.viewModel.createGraphic}get defaultCreateOptions(){return this.viewModel.defaultCreateOptions}set defaultCreateOptions(e){this.viewModel.defaultCreateOptions=e}get defaultUpdateOptions(){return this.viewModel.defaultUpdateOptions}set defaultUpdateOptions(e){this.viewModel.defaultUpdateOptions=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get labelOptions(){return this.viewModel.labelOptions}set labelOptions(e){this.viewModel.labelOptions=e}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get snappingOptions(){return this.viewModel.snappingOptions}set snappingOptions(e){this.viewModel.snappingOptions=e}get state(){return this._selectionToolbar?.activeToolInfo?"active":this.viewModel.state}get tooltipOptions(){return this.viewModel.tooltipOptions}set tooltipOptions(e){this.viewModel.tooltipOptions=e}get updateGraphics(){return this.viewModel.updateGraphics}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}set viewModel(e){const t=this._get("viewModel");e!==t&&(t&&i(t),this._set("viewModel",e))}get _effectiveAvailableCreateTools(){const{availableCreateTools:e,visibleElements:t}=this;return e?.filter((e=>!!t.createTools?.[e]))}create(e,t){this._activeCreateOptions=t||null,this.viewModel.create(e,t)}update(e,t){return this.viewModel.update(e,t)}complete(){this.viewModel.complete()}cancel(){this._selectionToolbar?.cancel(),this.viewModel.cancel()}undo(){this.viewModel.undo(),this.view?.focus()}redo(){this.viewModel.redo(),this.view?.focus()}delete(){this.viewModel.delete()}duplicate(){return this.viewModel.duplicate()}render(){const{label:e,layout:t,viewModel:{state:o}}=this;return y("div",{"aria-label":e,class:this.classes(M.base,h.widget,{[h.disabled]:"disabled"===o,[M.verticalLayout]:"vertical"===t})},y("div",{class:M.panel,role:"toolbar"},this._renderTopPanelContents()),y("div",{class:this.classes(M.panel,M.infoPanel)},this._renderInfoPanelContents()))}_renderTopPanelContents(){const e=this.classes(M.section,M.toolSection),{_effectiveAvailableCreateTools:t,visibleElements:o,viewModel:i}=this;return[i.updateOnGraphicClick||this._selectionToolbar?.visibleToolCount?y("div",{class:e,key:"selection-button-container",role:"menu"},this._renderDefaultSelectionButton(),this._renderSelectionToolbar()):null,t?.length?y("div",{class:e,role:"menu"},this._renderDrawButtons()):null,o.undoRedoMenu?y("div",{class:e,key:"undo-redo-menu-button-container",role:"menu"},this._renderUndoRedoMenuButtons()):null,o.settingsMenu?y("div",{class:M.section,key:"settings-menu-button-container"},this._renderSettingsMenuButton()):null]}_renderInfoPanelContents(){return this._menuOpen?this._renderSettingsMenu():this.updateGraphics.length?[y("div",{class:this.classes(M.section,M.infoSection,M.infoCountSection),key:"feature-count-container"},this._renderFeatureCount()),y("div",{class:this.classes(M.section,M.infoSection),key:"delete-button-container"},this._renderDuplicateButton(),this._renderDeleteButton())]:void 0}_renderSettingsMenu(){const{labelOptions:e,messagesCommon:t,snappingOptions:o,tooltipOptions:i,view:s,visibleElements:n}=this;return[y("div",{class:M.menuContainer,"data-testid":"menu",key:"settings-menu-container",role:"menu"},y("header",{class:M.menuHeader,key:"settings-menu-header"},y("span",{class:M.menuTitle},t.settings)),n.sketchTooltipControls?y(_,{labelOptions:e,tooltipOptions:i,viewType:s?.type,visibleElements:n.sketchTooltipControlsElements}):void 0,n.snappingControls&&s&&o?y(g,{snappingOptions:o,view:s,visibleElements:n.snappingControlsElements}):void 0)]}_renderFeatureCount(){const{layout:e,messages:t,updateGraphics:{length:o}}=this,i=C(t.selectedCount,{count:o});return y("div",{"aria-label":i,class:M.featureCountBadge},y("span",{class:M.featureCountNumber},"vertical"===e?o:i))}_renderDuplicateButton(){if(!this.visibleElements.duplicateButton)return;const e=this.messages,t=this.updateGraphics.length>1?e.duplicateFeatures:e.duplicateFeature;return y("calcite-action",{bind:this,label:t,onclick:this._onDuplicateSelect,scale:"s",text:t,title:t},y("calcite-icon",{icon:"copy",scale:"s"}))}_renderDeleteButton(){const e=this.messages,t=this.updateGraphics.length>1?e.deleteFeatures:e.deleteFeature;return y("calcite-action",{bind:this,label:t,onclick:this.delete,scale:"s",text:t,title:t},y("calcite-icon",{icon:"trash",scale:"s"}))}_renderDefaultSelectionButton(){if(!this.viewModel.updateOnGraphicClick)return;const e=this.messages.selectFeature;return y("calcite-action",{active:"ready"===this.state,bind:this,label:e,onclick:this._activateDefaultSelectTool,scale:"s",text:e,title:e},y("calcite-icon",{icon:"cursor",scale:"s"}))}_renderSelectionToolbar(){if("2d"===this.view?.type&&this._selectionToolbar)return this._selectionToolbar.render()}_renderDrawButtons(){return this._effectiveAvailableCreateTools?.map((e=>{switch(e){case"point":return this._renderPointButton();case"polyline":return this._renderPolylineButton();case"polygon":return this._renderPolygonButton();case"rectangle":return this._renderRectangleButton();case"circle":return this._renderCircleButton();default:return}}))}_renderPointButton(){const e="point",t=this.messages.drawPoint;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"pin",scale:"s"}))}_renderPolygonButton(){const e="polygon",t=this.messages.drawPolygon;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"polygon",scale:"s"}))}_renderPolylineButton(){const e="polyline",t=this.messages.drawPolyline;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"line",scale:"s"}))}_renderCircleButton(){const e="circle",t=this.messages.drawCircle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"circle",scale:"s"}))}_renderRectangleButton(){const e="rectangle",t=this.messages.drawRectangle;return y("calcite-action",{active:this.activeTool===e,bind:this,label:t,onclick:()=>this._activateCreateTool(e),scale:"s",text:t,title:t},y("calcite-icon",{icon:"rectangle",scale:"s"}))}_renderUndoRedoMenuButtons(){return[this._renderUndoButton(),this._renderRedoButton()]}_renderUndoButton(){const e=this.messages.undo;return y("calcite-action",{bind:this,disabled:!this.viewModel.canUndo(),label:e,onclick:this.undo,scale:"s",text:e,title:e},y("calcite-icon",{icon:b(this.container)?"redo":"undo",scale:"s"}))}_renderRedoButton(){const e=this.messages.redo;return y("calcite-action",{bind:this,disabled:!this.viewModel.canRedo(),label:e,onclick:this.redo,scale:"s",text:e,title:e},y("calcite-icon",{icon:b(this.container)?"undo":"redo",scale:"s"}))}_renderSettingsMenuButton(){const e=this.messagesCommon.settings;return y("calcite-action",{active:this._menuOpen,bind:this,"data-testid":"settings-menu-action",label:e,onclick:this._toggleMenu,scale:"s",text:e,title:e},y("calcite-icon",{icon:"gear",scale:"s"}))}_activateCreateTool(e){this.activeTool!==e?(this._selectionToolbar?.cancel(),this.create(e)):this.cancel()}_onCreateOperation(e){if("complete"!==e.state)return;const{creationMode:t}=this,{type:o}=e;if("create"===o){const{tool:o,graphic:i}=e,s=this._activeCreateOptions;this._activeCreateOptions=null,"continuous"===t?this.create(o,s):"update"===t&&this.update([i])}}_toggleMenu(){this._menuOpen=!this._menuOpen,this.scheduleRender()}_onDuplicateSelect(){const e=this.duplicate(),t=this.viewModel.activeTool;"transform"!==t&&"reshape"!==t||this.update(e,{tool:t})}_onSelectionOperationComplete(e){const{viewModel:{defaultUpdateOptions:t}}=this,{selection:o}=e;if(!e.aborted&&o.length){const e=t.tool,i=o.length>1&&"reshape"===e?"transform":e;this.update(o,{...t,tool:i})}this.notifyChange("state")}_activateDefaultSelectTool(){this.cancel(),this.view?.focus()}};e([a()],O.prototype,"activeTool",null),e([a({cast:e=>{if(!e||!e.length)return null;const t=new Set(["point","polyline","polygon","rectangle","circle"]);return e.filter((e=>t.has(e)))}})],O.prototype,"availableCreateTools",void 0),e([a({readOnly:!0})],O.prototype,"createGraphic",null),e([a()],O.prototype,"creationMode",void 0),e([a()],O.prototype,"defaultCreateOptions",null),e([a()],O.prototype,"defaultUpdateOptions",null),e([a()],O.prototype,"iconClass",void 0),e([a()],O.prototype,"icon",void 0),e([a()],O.prototype,"label",null),e([a()],O.prototype,"labelOptions",null),e([a()],O.prototype,"layer",null),e([a({type:["horizontal","vertical"]})],O.prototype,"layout",void 0),e([a(),f("esri/widgets/Sketch/t9n/Sketch")],O.prototype,"messages",void 0),e([a(),f("esri/t9n/common")],O.prototype,"messagesCommon",void 0),e([a()],O.prototype,"snappingOptions",null),e([a()],O.prototype,"state",null),e([a()],O.prototype,"tooltipOptions",null),e([a({readOnly:!0})],O.prototype,"updateGraphics",null),e([a()],O.prototype,"view",null),e([a(),w(["create","update","undo","redo"])],O.prototype,"viewModel",null),e([a({type:d,nonNullable:!0})],O.prototype,"visibleElements",void 0),e([a()],O.prototype,"_effectiveAvailableCreateTools",null),O=e([r("esri.widgets.Sketch")],O);const S=O;export{S as default};
|
package/widgets/Slice.js
CHANGED
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.28/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import l from"./Widget.js";import o from"./Slice/SliceViewModel.js";import{loadCalciteComponents as r}from"./support/componentsUtils.js";import{globalCss as n}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as a}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const p="esri-slice",y={base:p,widgetIcon:a.slice,actions:`${p}__actions`,cancelButton:`${p}__cancel-button`,container:`${p}__container`,error:`${p}__error`,excludeButton:`${p}__exclude-button`,hint:`${p}__hint`,hintText:`${p}__hint-text`,layerItem:`${p}__layer-item`,layerList:`${p}__layer-list`,layerListHeading:`${p}__layer-list-title`,newSliceButton:`${p}__clear-button`};let m=class extends l{constructor(e,s){super(e,s),this.headingLevel=3,this.iconClass=y.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new o,this._onNewSliceClick=()=>{t(this.viewModel.start())}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js")})}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get excludedLayers(){return this.viewModel.excludedLayers}set excludedLayers(e){this.viewModel.excludedLayers=e}get excludeGroundSurface(){return this.viewModel.excludeGroundSurface}set excludeGroundSurface(e){this.viewModel.excludeGroundSurface=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get hasVoxelLayers(){const e=this.viewModel?.view;return null!=e&&e.allLayerViews.some((e=>"voxel-3d"===e.type))}render(){return u("div",{class:this.classes(y.base,n.widget,n.panel),role:"presentation"},this.visible?u("div",{class:y.container},this.viewModel.supported?[this._renderHint(),this._renderLayerList(),this._renderActions()]:this._renderUnsupported()):null)}_renderUnsupported(){return u("div",{class:y.error,key:"unsupported"},u("p",null,this.messages.unsupported))}_renderHint(){const{hasVoxelLayers:e,messages:t,viewModel:s}=this,{active:i,layersMode:l,state:o}=s;let r=null;return i&&("exclude"===l?r=t.excludeHint:"ready"===o&&(r=e?t.voxelHint:t.hint)),r?u("div",{class:y.hint,key:"hint"},u("p",{class:y.hintText},r),u("p",{class:y.hintText},t.verticalHint)):null}_renderLayerList(){const{excludedLayers:e,excludeGroundSurface:t,headingLevel:s,messages:i,viewModel:l}=this,{layersMode:o,state:r}=l,n="slicing"===r||"sliced"===r,a=e?e.toArray().map((e=>this._renderLayerItem({uid:e.uid,title:e.title,onClick:()=>(this.excludedLayers.remove(e),!1)}))):[];return t&&a.push(this._renderLayerItem({uid:"ground",title:i.ground,onClick:()=>(this.excludeGroundSurface=!1,!1)})),"exclude"!==o&&n&&0!==a.length?u("div",{class:y.layerList,key:"settings"},u(c,{class:y.layerListHeading,level:s},i.excludedLayers),u("calcite-list",{selectionMode:"none"},a)):null}_renderActions(){const{messages:e,viewModel:t}=this,{active:s,state:i}=t,l="disabled"===i,o="slicing"===i||"sliced"===i,r="exclude"===t.layersMode,n=[];return s&&!o||r||n.push(u("calcite-button",{
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import{ignoreAbortErrors as t}from"../core/promiseUtils.js";import{property as s}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import l from"./Widget.js";import o from"./Slice/SliceViewModel.js";import{loadCalciteComponents as r}from"./support/componentsUtils.js";import{globalCss as n}from"./support/globalCss.js";import{Heading as c}from"./support/Heading.js";import{legacyIcon as a}from"./support/legacyIcon.js";import"./support/widgetUtils.js";import{messageBundle as d}from"./support/decorators/messageBundle.js";import{tsx as u}from"./support/jsxFactory.js";const p="esri-slice",y={base:p,widgetIcon:a.slice,actions:`${p}__actions`,cancelButton:`${p}__cancel-button`,container:`${p}__container`,error:`${p}__error`,excludeButton:`${p}__exclude-button`,hint:`${p}__hint`,hintText:`${p}__hint-text`,layerItem:`${p}__layer-item`,layerList:`${p}__layer-list`,layerListHeading:`${p}__layer-list-title`,newSliceButton:`${p}__clear-button`};let m=class extends l{constructor(e,s){super(e,s),this.headingLevel=3,this.iconClass=y.widgetIcon,this.icon=null,this.messages=null,this.viewModel=new o,this._onNewSliceClick=()=>{t(this.viewModel.start())}}loadDependencies(){return r({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js")})}get active(){return this.viewModel.active}get analysis(){return this.viewModel.analysis}set analysis(e){this.viewModel.analysis=e}get excludedLayers(){return this.viewModel.excludedLayers}set excludedLayers(e){this.viewModel.excludedLayers=e}get excludeGroundSurface(){return this.viewModel.excludeGroundSurface}set excludeGroundSurface(e){this.viewModel.excludeGroundSurface=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}get visible(){return this.viewModel.visible}set visible(e){this.viewModel.visible=e}get hasVoxelLayers(){const e=this.viewModel?.view;return null!=e&&e.allLayerViews.some((e=>"voxel-3d"===e.type))}render(){return u("div",{class:this.classes(y.base,n.widget,n.panel),role:"presentation"},this.visible?u("div",{class:y.container},this.viewModel.supported?[this._renderHint(),this._renderLayerList(),this._renderActions()]:this._renderUnsupported()):null)}_renderUnsupported(){return u("div",{class:y.error,key:"unsupported"},u("p",null,this.messages.unsupported))}_renderHint(){const{hasVoxelLayers:e,messages:t,viewModel:s}=this,{active:i,layersMode:l,state:o}=s;let r=null;return i&&("exclude"===l?r=t.excludeHint:"ready"===o&&(r=e?t.voxelHint:t.hint)),r?u("div",{class:y.hint,key:"hint"},u("p",{class:y.hintText},r),u("p",{class:y.hintText},t.verticalHint)):null}_renderLayerList(){const{excludedLayers:e,excludeGroundSurface:t,headingLevel:s,messages:i,viewModel:l}=this,{layersMode:o,state:r}=l,n="slicing"===r||"sliced"===r,a=e?e.toArray().map((e=>this._renderLayerItem({uid:e.uid,title:e.title,onClick:()=>(this.excludedLayers.remove(e),!1)}))):[];return t&&a.push(this._renderLayerItem({uid:"ground",title:i.ground,onClick:()=>(this.excludeGroundSurface=!1,!1)})),"exclude"!==o&&n&&0!==a.length?u("div",{class:y.layerList,key:"settings"},u(c,{class:y.layerListHeading,level:s},i.excludedLayers),u("calcite-list",{selectionMode:"none"},a)):null}_renderActions(){const{messages:e,viewModel:t}=this,{active:s,state:i}=t,l="disabled"===i,o="slicing"===i||"sliced"===i,r="exclude"===t.layersMode,n=[];return s&&!o||r||n.push(u("calcite-button",{class:y.newSliceButton,disabled:l,key:"new-slice",onclick:this._onNewSliceClick},e.newSlice)),o&&!r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.excludeButton,disabled:l,key:"exclude",onclick:()=>t.enterExcludeLayerMode()},e.excludeLayer)),s&&r&&n.push(u("calcite-button",{appearance:"outline-fill",class:y.cancelButton,disabled:l,key:"cancel-exclude",onclick:()=>t.exitExcludeLayerMode()},e.cancel)),0===n.length?null:u("div",{class:y.actions},n)}_renderLayerItem(e){return u("calcite-list-item",{class:y.layerItem,key:e.uid,label:e.title??""},u("calcite-action",{icon:"x",onclick:e.onClick,scale:"s",slot:"actions-end",text:this.messages.includeLayer}))}};e([s()],m.prototype,"active",null),e([s({constructOnly:!0,nonNullable:!0})],m.prototype,"analysis",null),e([s()],m.prototype,"excludedLayers",null),e([s()],m.prototype,"excludeGroundSurface",null),e([s()],m.prototype,"headingLevel",void 0),e([s()],m.prototype,"iconClass",void 0),e([s()],m.prototype,"icon",void 0),e([s()],m.prototype,"label",null),e([s(),d("esri/widgets/Slice/t9n/Slice")],m.prototype,"messages",void 0),e([s()],m.prototype,"view",null),e([s({type:o})],m.prototype,"viewModel",void 0),e([s()],m.prototype,"visible",null),e([s()],m.prototype,"hasVoxelLayers",null),m=e([i("esri.widgets.Slice")],m);const h=m;export{h as default};
|