@arcgis/core 4.24.0-next.20220329 → 4.24.0-next.20220401
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/PopupTemplate.js +1 -1
- package/WebMap.js +1 -1
- package/WebScene.js +1 -1
- package/analysis/LineOfSightAnalysisObserver.js +1 -1
- package/analysis/LineOfSightAnalysisTarget.js +1 -1
- package/arcade/featureset/actions/Adapted.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/featureset/support/FeatureSet.js +1 -1
- package/arcade/featureset/support/RecentlyUsedCache.js +1 -1
- package/arcade/featureset/support/shared.js +1 -1
- package/arcade/functions/convertdirection.js +1 -1
- package/arcade/lib/character.js +1 -1
- package/arcade/lib/scanner.js +1 -1
- package/arcade/lib/tokenizer.js +1 -1
- package/arcade/request.js +1 -1
- package/arcade/treeAnalysis.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0bfedb1dbdff8205e468.js +1 -0
- package/assets/esri/core/workers/chunks/{5e472c89a38d6a42b84d.js → 0e29250c24a3a7b1ce13.js} +1 -1
- package/assets/esri/core/workers/chunks/0eb9c9477d36cd212f8b.js +1 -0
- package/assets/esri/core/workers/chunks/10779a256841c37f2429.js +1 -0
- package/assets/esri/core/workers/chunks/10a119889d1ab13402a3.js +1 -0
- package/assets/esri/core/workers/chunks/125b14c2ccd96d7c20c2.js +1 -0
- package/assets/esri/core/workers/chunks/23ec33a30db201e8b2c3.js +1 -0
- package/assets/esri/core/workers/chunks/2530e8ccf6e12787ce76.js +1 -0
- package/assets/esri/core/workers/chunks/2d9e97ba5b50aec4dd01.js +1 -0
- package/assets/esri/core/workers/chunks/365dc146398420f13f82.js +1 -0
- package/assets/esri/core/workers/chunks/3ae2827e8d55d6713d20.js +1 -0
- package/assets/esri/core/workers/chunks/3e3eebaa0844742db2f2.js +1 -0
- package/assets/esri/core/workers/chunks/3fd5b2d6eccd9098d492.js +1 -0
- package/assets/esri/core/workers/chunks/404f1d7bce014c7e6965.js +1 -0
- package/assets/esri/core/workers/chunks/411b7777bb5e943c156f.js +1 -0
- package/assets/esri/core/workers/chunks/{12ca192a5233bb2875d0.js → 4312902ab6e42fbe119b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4ef07f50da39f8607c1c.js → 44e95e87bd9e820aeb53.js} +1 -1
- package/assets/esri/core/workers/chunks/{4d4c5e535d8b9ceb865a.js → 4810edf605838d07e5c5.js} +1 -1
- package/assets/esri/core/workers/chunks/4bce446391176a9d4588.js +1 -0
- package/assets/esri/core/workers/chunks/52a0e387073ea264e194.js +1 -0
- package/assets/esri/core/workers/chunks/560234694f3e53802aff.js +1 -0
- package/assets/esri/core/workers/chunks/5633710daeb3bbb79bcf.js +1 -0
- package/assets/esri/core/workers/chunks/5682039666f874836451.js +1 -0
- package/assets/esri/core/workers/chunks/6f01905936396fe87865.js +1 -0
- package/assets/esri/core/workers/chunks/6f7917da7166e8c6854b.js +1 -0
- package/assets/esri/core/workers/chunks/7388824eac8da01ea03d.js +1 -0
- package/assets/esri/core/workers/chunks/7745efef7d5119d0b087.js +1 -0
- package/assets/esri/core/workers/chunks/794b47764ebb0257ed41.js +1 -0
- package/assets/esri/core/workers/chunks/{da64dedf9270b64f42b2.js → 79bdb26244ec7b4472fe.js} +1 -1
- package/assets/esri/core/workers/chunks/79ec28b3e3c57fe026aa.js +1 -0
- package/assets/esri/core/workers/chunks/81e9d860a044acec74ce.js +1 -0
- package/assets/esri/core/workers/chunks/831dc0187f71e658550c.js +1 -0
- package/assets/esri/core/workers/chunks/86ad6b020c01850d9095.js +1 -0
- package/assets/esri/core/workers/chunks/{fb7397da8d4ec2ae4587.js → 87458fbf395338511662.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a859be598ad96bb4719.js → 8771296b537f366596c4.js} +18 -18
- package/assets/esri/core/workers/chunks/8958cd555f4887526e8b.js +1 -0
- package/assets/esri/core/workers/chunks/{e57b71ba70f088a3a052.js → 90dcd86cdef90099abfa.js} +1 -1
- package/assets/esri/core/workers/chunks/93067e27eea5844edc6c.js +1 -0
- package/assets/esri/core/workers/chunks/{9fbee2d9bf50c4c148c6.js → 9a146c9e9b4bf7fba88f.js} +1 -1
- package/assets/esri/core/workers/chunks/9b9821772b6cbe189fe0.js +1 -0
- package/assets/esri/core/workers/chunks/{6c4ce530b493c6f7c430.js → 9df2f9f7c28b31866be8.js} +1 -1
- package/assets/esri/core/workers/chunks/{d0620ce99b620621d8bc.js → a0552044e123a3c51ddf.js} +1 -1
- package/assets/esri/core/workers/chunks/acc1a4acd57f5657e782.js +1 -0
- package/assets/esri/core/workers/chunks/b055ae7c54796751b64c.js +1 -0
- package/assets/esri/core/workers/chunks/{acc2cfb116fee7f82ae9.js → b26bd8fde2fc65bb67fb.js} +1 -1
- package/assets/esri/core/workers/chunks/{9b45b94c4dbdc8d2c5fd.js → b34ba22c7a5adce8a7a2.js} +1 -1
- package/assets/esri/core/workers/chunks/b75665d0bf417c6ef24a.js +1 -0
- package/assets/esri/core/workers/chunks/bd50ec30688463b821d1.js +1 -0
- package/assets/esri/core/workers/chunks/c28f7ae4756ad1ba94bd.js +1 -0
- package/assets/esri/core/workers/chunks/c4f713959d4115b87c6c.js +1 -0
- package/assets/esri/core/workers/chunks/c58aa209492bd94b7aad.js +1 -0
- package/assets/esri/core/workers/chunks/{9b117097b7be0efd21d4.js → c59b0b58e24e6a60cf3e.js} +1 -1
- package/assets/esri/core/workers/chunks/c7bd5a4d318299388645.js +1 -0
- package/assets/esri/core/workers/chunks/c7cee13a962396b23a5e.js +1 -0
- package/assets/esri/core/workers/chunks/{3bbff5ea1ea0e955c592.js → cd3679fa86129ebabfdf.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a36dc0daffd536ea44d.js → cee7ce362860717713bf.js} +1 -1
- package/assets/esri/core/workers/chunks/cf463d6309f14df2f2fa.js +1 -0
- package/assets/esri/core/workers/chunks/{224c0e64160bdc170051.js → d076627bb7dadea89e89.js} +1 -1
- package/assets/esri/core/workers/chunks/{fff4200bc61b82dd6193.js → d1d1c45243af614f2e74.js} +1 -1
- package/assets/esri/core/workers/chunks/{1e0498dc9836658d9aba.js → d5fd12ea541c1a6b7fce.js} +1 -1
- package/assets/esri/core/workers/chunks/{10322d990cda5aedf2f0.js → d6e32ca237ad9309c76a.js} +1 -1
- package/assets/esri/core/workers/chunks/e06ad3a3d71154fed654.js +1 -0
- package/assets/esri/core/workers/chunks/{7a77d4cd27c30f1a5cae.js → ee3387a43dfbb3df23e1.js} +1 -1
- package/assets/esri/core/workers/chunks/{5d5fa2b1fc48a17eb9ab.js → f4fc165420d449e442b8.js} +1 -1
- package/assets/esri/core/workers/chunks/{3d6d9906a534ddd8fa37.js → f5ee03f3fca7a75192de.js} +1 -1
- package/assets/esri/themes/base/widgets/_Daylight.scss +1 -1
- package/assets/esri/themes/base/widgets/_ElevationProfile.scss +1 -1
- package/assets/esri/themes/base/widgets/_Weather.scss +1 -1
- package/assets/esri/themes/base/widgets/_Widget.scss +12 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/dark-blue/main.css +1 -1
- package/assets/esri/themes/dark-green/main.css +1 -1
- package/assets/esri/themes/dark-purple/main.css +1 -1
- package/assets/esri/themes/dark-red/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/themes/light-blue/main.css +1 -1
- package/assets/esri/themes/light-green/main.css +1 -1
- package/assets/esri/themes/light-purple/main.css +1 -1
- package/assets/esri/themes/light-red/main.css +1 -1
- package/chunks/ComponentShader.glsl.js +25 -25
- package/chunks/HighlightApply.glsl.js +36 -0
- package/chunks/HighlightBlur.glsl.js +26 -0
- package/chunks/HighlightDownsample.glsl.js +12 -0
- package/chunks/ImageMaterial.glsl.js +8 -8
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +2 -2
- package/chunks/SimpleAtmosphere.glsl.js +7 -7
- package/chunks/Stars.glsl.js +1 -1
- package/chunks/arcade.js +1 -1
- package/chunks/color.js +1 -1
- package/chunks/languageUtils.js +1 -1
- package/chunks/mat3.js +1 -1
- package/copyright.txt +2 -2
- package/core/AsyncUpdate.js +1 -1
- package/core/Evented.js +1 -1
- package/core/PooledArray.js +1 -1
- package/core/accessorSupport/diffUtils.js +1 -1
- package/core/accessorSupport/get.js +1 -1
- package/core/accessorSupport/read.js +1 -1
- package/core/accessorSupport/set.js +1 -1
- package/core/accessorSupport/tracking.js +1 -1
- package/core/accessorSupport/utils.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/libs/gl-matrix-2/mat3.js +1 -1
- package/core/libs/gl-matrix-2/math/mat3.js +1 -1
- package/core/number.js +1 -1
- package/core/object.js +1 -1
- package/core/string.js +1 -1
- package/core/unitUtils.js +1 -1
- package/core/watchUtils.js +1 -1
- package/core/workers/RemoteClient.js +1 -1
- package/exports/csv.js +1 -1
- package/geometry/support/heightModelInfoUtils.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
- package/geometry/support/normalizeUtils.js +1 -1
- package/identity/IdentityManagerBase.js +1 -1
- package/interfaces.d.ts +155 -20
- package/layers/ImageryLayer.js +1 -1
- package/layers/MapImageLayer.js +1 -1
- package/layers/RouteLayer.js +1 -1
- package/layers/SceneLayer.js +1 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/TileLayer.js +1 -1
- package/layers/VectorTileLayer.js +1 -1
- package/layers/WMSLayer.js +1 -1
- package/layers/WMTSLayer.js +1 -1
- package/layers/WebTileLayer.js +1 -1
- package/layers/graphics/data/AttributesBuilder.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/connections/GeoEventConnection.js +1 -1
- package/layers/graphics/sources/support/MemorySourceWorker.js +1 -1
- package/layers/graphics/sources/support/inferenceUtils.js +1 -1
- package/layers/mixins/ArcGISCachedService.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/ogc/ogcFeatureUtils.js +1 -1
- package/layers/support/ExportImageServiceParameters.js +1 -1
- package/layers/support/PixelBlock.js +1 -1
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/SpriteSource.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/TilemapCache.js +1 -1
- package/layers/support/WMTSSublayer.js +1 -1
- package/layers/support/arcgisLayerUrl.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/support/kmlUtils.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/support/rasterDatasets/ImageAuxRaster.js +1 -1
- package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
- package/layers/support/rasterDatasets/RasterFactory.js +1 -1
- package/layers/support/rasterDatasets/WCSRaster.js +1 -1
- package/layers/support/rasterDatasets/multipartParser.js +1 -1
- package/layers/support/rasterDatasets/wcsCoverageParser.js +1 -1
- package/layers/support/rasterDatasets/xmlUtilities.js +1 -1
- package/layers/support/rasterFormats/RasterCodec.js +1 -1
- package/layers/support/rasterFormats/TiffDecoder.js +1 -1
- package/layers/support/rasterFunctions/pixelUtils.js +1 -1
- package/layers/support/vectorTileLayerLoader.js +1 -1
- package/layers/support/wmsUtils.js +1 -1
- package/layers/support/wmtsUtils.js +1 -1
- package/libs/i3s/I3SModule.js +1 -1
- package/libs/vxl/VxlModule.js +1 -1
- package/package.json +1 -1
- package/portal/Portal.js +1 -1
- package/portal/PortalItem.js +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalItemUtils.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
- package/renderers/support/DictionaryLoader.js +1 -1
- package/renderers/support/RasterSymbolizer.js +1 -1
- package/renderers/support/numberUtils.js +1 -1
- package/renderers/support/rasterRendererHelper.js +1 -1
- package/renderers/support/utils.js +1 -1
- package/request.js +1 -1
- package/rest/imageService.js +1 -1
- package/rest/operations/find.js +1 -1
- package/rest/query/operations/query.js +1 -1
- package/rest/query/operations/queryRelatedRecords.js +1 -1
- package/rest/query/operations/queryTopFeatures.js +1 -1
- package/rest/support/DirectionLine.js +1 -1
- package/rest/support/DirectionPoint.js +1 -1
- package/rest/support/PointBarrier.js +1 -1
- package/rest/support/PolygonBarrier.js +1 -1
- package/rest/support/PolylineBarrier.js +1 -1
- package/rest/support/RouteInfo.js +1 -1
- package/rest/support/Stop.js +1 -1
- package/smartMapping/labels/clusters.js +1 -1
- package/smartMapping/popup/dotDensity.js +1 -1
- package/smartMapping/popup/support/clusterUtils.js +1 -1
- package/smartMapping/popup/support/utils.js +1 -1
- package/smartMapping/raster/support/utils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/utils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAge.js +1 -1
- package/smartMapping/statistics/support/ageUtils.js +1 -1
- package/smartMapping/statistics/support/utils.js +1 -1
- package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
- package/smartMapping/support/adapters/support/utils.js +1 -1
- package/smartMapping/support/utils.js +1 -1
- package/smartMapping/symbology/support/Theme.js +1 -1
- package/smartMapping/symbology/support/colorRamps.js +1 -1
- package/smartMapping/symbology/support/symbologyUtils.js +1 -1
- package/smartMapping/symbology/support/utils.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/basemapDefinitions.js +1 -1
- package/support/basemapUtils.js +1 -1
- package/support/elevationInfoUtils.js +1 -1
- package/support/popupUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolRasterizer.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/cim/utils.js +1 -1
- package/symbols/support/previewSymbol3D.js +1 -1
- package/symbols/support/renderUtils.js +1 -1
- package/symbols/support/symbolLayerUtils.js +1 -1
- package/views/2d/engine/Bitmap.js +1 -1
- package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
- package/views/2d/engine/imagery/RasterBitmap.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
- package/views/2d/engine/vectorTiles/TileParser.js +1 -1
- package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
- package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
- package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
- package/views/2d/engine/webgl/Profiler.js +1 -1
- package/views/2d/engine/webgl/Utils.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLGeometryBrush.js +1 -1
- package/views/2d/engine/webgl/definitions.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
- package/views/2d/engine/webgl/effects/HittestEffectVTL.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/WGLTemplateStore.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/engine/webgl/util/Lock.js +1 -1
- package/views/2d/layers/RouteLayerView2D.js +1 -1
- package/views/2d/layers/features/schemaUtils.js +1 -1
- package/views/2d/layers/features/sources/SnapshotFeatureSource.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/tileRenderers/SymbolTileRenderer.js +1 -1
- package/views/2d/layers/support/webStyleUtils.js +1 -1
- package/views/2d/support/Timeline.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
- package/views/3d/analysis/Slice/SliceController.js +1 -1
- package/views/3d/environment/PanoramicAtmosphere.js +1 -1
- package/views/3d/environment/SceneViewAtmosphere.js +1 -1
- package/views/3d/environment/StarsTechnique.js +1 -1
- package/views/3d/externalRenderers/ExternalRendererStore.js +1 -1
- package/views/3d/glTF/loader.js +1 -1
- package/views/3d/interactive/analysisTools/lineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/interactive/analysisTools/slice/SliceTool.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/ImageryLayerView3D.js +1 -1
- package/views/3d/layers/LayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/VectorTileLayerView3D.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SIndex.js +1 -1
- package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
- package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/IDBMockCache.js +5 -0
- package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
- package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/state/controllers/RotateController.js +1 -1
- package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/global/ZoomController.js +1 -1
- package/views/3d/state/controllers/global/ZoomStepController.js +1 -1
- package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
- package/views/3d/state/controllers/local/ZoomController.js +1 -1
- package/views/3d/support/HighlightOptions.js +1 -1
- package/views/3d/support/buffer/InterleavedLayout.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/orientedBoundingBox.js +1 -1
- package/views/3d/terrain/TerrainSurface.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderModules/ShaderBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/HighlightHelper.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/edgeRendering/EdgeRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderParameters.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
- package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
- package/views/3d/webgl-engine/shaders/HighlightApply.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightApplyTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlur.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightBlurTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsample.glsl.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightDownsampleTechnique.js +5 -0
- package/views/3d/webgl-engine/shaders/HighlightOptions.js +4 -0
- package/views/3d/webgl-engine/shaders/HighlightPassParameters.js +5 -0
- package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/AdjustProjectedPosition.glsl.js +5 -7
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +14 -14
- package/views/SceneView.js +1 -1
- package/views/draw/support/GraphicMover.js +1 -1
- package/views/input/InputHandler.js +1 -1
- package/views/input/InputManager.js +1 -1
- package/views/layers/ImageryTileLayerView.js +1 -1
- package/views/layers/MapImageLayerView.js +1 -1
- package/views/layers/TileLayerView.js +1 -1
- package/views/layers/support/popupUtils.js +1 -1
- package/views/support/DefaultsFromMap.js +1 -1
- package/views/support/Scheduler.js +1 -1
- package/views/support/screenshotUtils.js +1 -1
- package/views/ui/DefaultUI.js +1 -1
- package/views/webgl/ShaderTranspiler.js +1 -1
- package/webscene/Slide.js +1 -1
- package/webscene/spec-certification/spec.js +1 -1
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/Attachments/support/attachmentUtils.js +1 -1
- package/widgets/Attachments.js +1 -1
- package/widgets/Attribution.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.js +1 -1
- package/widgets/Bookmarks.js +1 -1
- package/widgets/BuildingExplorer/support/filterUtils.js +1 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
- package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
- package/widgets/CoordinateConversion/support/formatUtils.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/Directions/DirectionsViewModel.js +1 -1
- package/widgets/Directions.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/InputField.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/support/FeatureStore.js +1 -1
- package/widgets/FeatureTemplates.js +1 -1
- package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Legend/LegendViewModel.js +1 -1
- package/widgets/Legend/styles/Card.js +1 -1
- package/widgets/Legend/styles/Classic.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/Legend/support/colorRampUtils.js +1 -1
- package/widgets/Legend/support/relationshipRampUtils.js +1 -1
- package/widgets/Legend/support/sizeRampUtils.js +1 -1
- package/widgets/Popup/PopupViewModel.js +1 -1
- package/widgets/Popup/actionUtils.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleBar/ScaleBarViewModel.js +1 -1
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Slider.js +1 -1
- package/widgets/Swipe.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/TimeSlider/TimeSliderViewModel.js +1 -1
- package/widgets/TimeSlider.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/support/DatePicker.js +1 -1
- package/widgets/support/Popover.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/TimePicker.js +1 -1
- package/widgets/support/timeWidgetUtils.js +1 -1
- package/assets/esri/core/workers/chunks/083a5d10f8e243641cb9.js +0 -1
- package/assets/esri/core/workers/chunks/0872812ce4d0ec8faf8f.js +0 -1
- package/assets/esri/core/workers/chunks/0bc26899780c33637746.js +0 -1
- package/assets/esri/core/workers/chunks/113362697da1b69deaed.js +0 -1
- package/assets/esri/core/workers/chunks/11a2f9708938eac98815.js +0 -1
- package/assets/esri/core/workers/chunks/11a45709b703be84caaf.js +0 -1
- package/assets/esri/core/workers/chunks/1c1294ff1ebbd8f774f7.js +0 -1
- package/assets/esri/core/workers/chunks/1c915cc9a9d5729b6f17.js +0 -1
- package/assets/esri/core/workers/chunks/31786756b3d44540f8c0.js +0 -1
- package/assets/esri/core/workers/chunks/36a6f34fe40785beff5d.js +0 -1
- package/assets/esri/core/workers/chunks/373c16f8b8093d001064.js +0 -1
- package/assets/esri/core/workers/chunks/382a331a592abb61267f.js +0 -1
- package/assets/esri/core/workers/chunks/3bf106fe34e3992032c4.js +0 -1
- package/assets/esri/core/workers/chunks/3dcec610f1c1497d87bc.js +0 -1
- package/assets/esri/core/workers/chunks/46495e726d8739260d44.js +0 -1
- package/assets/esri/core/workers/chunks/4a82a6a473b3d540d0be.js +0 -1
- package/assets/esri/core/workers/chunks/4b6719377a95ac10fa43.js +0 -1
- package/assets/esri/core/workers/chunks/4d2ef57ff3a5cfc1313f.js +0 -1
- package/assets/esri/core/workers/chunks/4fd2b8153d62592210a2.js +0 -1
- package/assets/esri/core/workers/chunks/56e6a1079269e2964b02.js +0 -1
- package/assets/esri/core/workers/chunks/5b4d9786c010d265346c.js +0 -1
- package/assets/esri/core/workers/chunks/604637e1c3937b376a0d.js +0 -1
- package/assets/esri/core/workers/chunks/60f83257e361f87fa6fd.js +0 -1
- package/assets/esri/core/workers/chunks/6d3f80be6fceb2c18b5d.js +0 -1
- package/assets/esri/core/workers/chunks/6f827a32646bab0a8777.js +0 -1
- package/assets/esri/core/workers/chunks/70bd2ab42e3801ef5974.js +0 -1
- package/assets/esri/core/workers/chunks/746222184b361b50d6ba.js +0 -1
- package/assets/esri/core/workers/chunks/7fb72b2d11e8d840f982.js +0 -1
- package/assets/esri/core/workers/chunks/85bb6a1a7704fcdcbec2.js +0 -1
- package/assets/esri/core/workers/chunks/8b4c76cebb100e6c06f8.js +0 -1
- package/assets/esri/core/workers/chunks/9586a6b320edb1922926.js +0 -1
- package/assets/esri/core/workers/chunks/99638697ffda9022ce92.js +0 -1
- package/assets/esri/core/workers/chunks/a9da1cb118ca62a9581d.js +0 -1
- package/assets/esri/core/workers/chunks/aaa41a5013eef713c032.js +0 -1
- package/assets/esri/core/workers/chunks/ac321f939dd488ff6ce4.js +0 -1
- package/assets/esri/core/workers/chunks/add6027a96398ecf69de.js +0 -1
- package/assets/esri/core/workers/chunks/b75206b46ba81606087c.js +0 -1
- package/assets/esri/core/workers/chunks/bf8456828e38a768eba3.js +0 -1
- package/assets/esri/core/workers/chunks/c0720d0d8adcba6738d4.js +0 -1
- package/assets/esri/core/workers/chunks/c5bb712d5cf8c05a4e13.js +0 -1
- package/assets/esri/core/workers/chunks/d343f05a3366f95e0494.js +0 -1
- package/assets/esri/core/workers/chunks/d8b1f00075983d769985.js +0 -1
- package/chunks/Highlight.glsl.js +0 -88
- package/views/3d/webgl-engine/shaders/Highlight.glsl.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechnique.js +0 -5
- package/views/3d/webgl-engine/shaders/HighlightTechniqueConfiguration.js +0 -5
package/widgets/Slider.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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import{eventKey as n}from"../core/events.js";import s from"../core/Logger.js";import{isNone as o,isSome as r}from"../core/maybe.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import m from"./Slider/SliderViewModel.js";import{onResize as u}from"./support/widgetUtils.js";import{messageBundle as _}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";import{substitute as v}from"../intl/substitute.js";const g={base:"esri-slider",reversed:"esri-slider--reversed",horizontalLayout:"esri-slider--horizontal",verticalLayout:"esri-slider--vertical",contentElement:"esri-slider__content",extraContentElement:"esri-slider__extra-content",trackElement:"esri-slider__track",ticksContainerElement:"esri-slider__ticks",tickElement:"esri-slider__tick",tickLabelElement:"esri-slider__tick-label",maxElement:"esri-slider__max",minElement:"esri-slider__min",maxElementInteractive:"esri-slider__max--interactive",minElementInteractive:"esri-slider__min--interactive",rangeElementActive:"esri-slider__range--active",rangeInput:"esri-slider__range-input",anchorElement:"esri-slider__anchor",movingAnchorElement:"esri-slider__anchor--moving",lastMovedAnchorElement:"esri-slider__anchor--moved",anchorElementActive:"esri-slider__anchor--active",anchorElementIndexPrefix:"esri-slider__anchor-",segmentElement:"esri-slider__segment",segmentElementIndexPrefix:"esri-slider__segment-",segmentElementInteractive:"esri-slider__segment--interactive",segmentElementActive:"esri-slider__segment--active",effectiveSegmentElement:"esri-slider__effective-segment",effectiveMaxSegmentElement:"esri-slider__effective-max-segment",effectiveMinSegmentElement:"esri-slider__effective-min-segment",thumbElement:"esri-slider__thumb",labelElement:"esri-slider__label",labelElementInteractive:"esri-slider__label--interactive",labelInput:"esri-slider__label-input",esriWidget:"esri-widget",widgetIcon:"esri-icon-edit",disabled:"esri-disabled",hidden:"esri-hidden"},f={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},b="esri.widgets.Slider",E=s.getLogger("esri.widgets.Slider"),x={labels:!1,rangeLabels:!1};let k=class extends c{constructor(e,i){super(e,i),this._activeLabelInputIndex=null,this._anchorElements=[],this._dragged=!1,this._dragStartInfo=null,this._focusedAnchorIndex=null,this._isMinInputActive=!1,this._isMaxInputActive=!1,this._lastMovedHandleIndex=null,this._positionPrecision=5,this._segmentDragStartInfo=null,this._trackHeight=null,this._trackWidth=null,this._zIndices=null,this._zIndexOffset=3,this.disabled=!1,this.draggableSegmentsEnabled=!0,this.effectiveMax=null,this.effectiveMin=null,this.effectiveSegmentElements=new t,this.extraNodes=[],this.inputCreatedFunction=null,this.inputFormatFunction=null,this.inputParseFunction=null,this.label=void 0,this.labelElements=new t,this.labelInputsEnabled=!1,this.labelFormatFunction=null,this.labels=null,this.max=null,this.maxLabelElement=null,this.messages=null,this.min=null,this.minLabelElement=null,this.precision=4,this.rangeLabelInputsEnabled=!1,this.segmentElements=new t,this.snapOnClickEnabled=!0,this.steps=null,this.syncedSegmentsEnabled=!1,this.thumbsConstrained=!0,this.thumbCreatedFunction=null,this.thumbElements=new t,this.tickElements=new t,this.trackElement=null,this.values=null,this.viewModel=new m,this.visibleElements={...x},this._onAnchorPointerDown=this._onAnchorPointerDown.bind(this),this._onAnchorPointerMove=this._onAnchorPointerMove.bind(this),this._onAnchorPointerUp=this._onAnchorPointerUp.bind(this),this._onLabelPointerDown=this._onLabelPointerDown.bind(this),this._onLabelPointerUp=this._onLabelPointerUp.bind(this),this._onSegmentPointerDown=this._onSegmentPointerDown.bind(this),this._onSegmentPointerMove=this._onSegmentPointerMove.bind(this),this._onSegmentPointerUp=this._onSegmentPointerUp.bind(this),this._onTrackPointerDown=this._onTrackPointerDown.bind(this),this._onTrackPointerMove=this._onTrackPointerMove.bind(this),this._onTrackPointerUp=this._onTrackPointerUp.bind(this)}destroy(){document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove),document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),this.labelElements.removeAll(),this.labelElements.destroy(),this.segmentElements.removeAll(),this.segmentElements.destroy(),this.effectiveSegmentElements.removeAll(),this.effectiveSegmentElements.destroy(),this.thumbElements.removeAll(),this.thumbElements.destroy(),this.tickElements.removeAll(),this.tickElements.destroy()}set labelsVisible(e){i(E,"labelsVisible",{replacement:"visibleElements.labels",version:"4.15"}),this.visibleElements={...this.visibleElements,labels:e}}set layout(e){-1===["vertical","vertical-reversed","horizontal","horizontal-reversed"].indexOf(e)&&(e="horizontal"),this._set("layout",e)}set rangeLabelsVisible(e){i(E,"rangeLabelsVisible",{replacement:"visibleElements.rangeLabels",version:"4.15"}),this.visibleElements={...this.visibleElements,rangeLabels:e}}get state(){const{_activeLabelInputIndex:e,_isMaxInputActive:t,_isMinInputActive:i,_dragStartInfo:n,_segmentDragStartInfo:s,disabled:o,viewModel:a}=this,l=r(n)||r(s);return o?"disabled":!(null===e&&!t&&!i)?"editing":l?"dragging":a.state}set tickConfigs(e){this._set("tickConfigs",e),this.scheduleRender()}castVisibleElements(e){return{...x,...e}}render(){const{label:e}=this,t=this.classes(g.base,g.esriWidget,this._isHorizontalLayout()?g.horizontalLayout:g.verticalLayout,this._isReversedLayout()?g.reversed:null,this._isDisabled()?g.disabled:null);return this._storeTrackDimensions(),p("div",{"aria-label":e,class:t,"touch-action":"none",bind:this,afterCreate:this._afterContainerCreate},this.renderContent())}toNextStep(e){this._toStep(e,1)}toPreviousStep(e){this._toStep(e,-1)}renderContent(){const{max:e,min:t}=this;if(!(o(t)||o(e)||t>=e))return[this.renderMin(),this.renderSliderContainer(),this.renderMax()]}renderSliderContainer(){return p("div",{key:"slider-container",bind:this,class:g.contentElement},this.renderTrackElement(),this.renderTicksContainer(),this.renderExtraContentElements())}renderTrackElement(){return p("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:g.trackElement,"data-node-ref":"trackElement","touch-action":"none"},this.renderEffectiveSegmentElements(),this.renderSegmentElements(),this.renderAnchorElements())}renderEffectiveSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=r(this.effectiveMax),t=r(this.effectiveMin);if(!e&&!t)return;const{max:i,min:n,viewModel:s}=this,o=s.getBounds(),a=[];return t&&a.push(this.renderEffectiveSegmentElement(n,o.min,g.effectiveMinSegmentElement)),e&&a.push(this.renderEffectiveSegmentElement(o.max,i,g.effectiveMaxSegmentElement)),a}renderSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=this.values.length,t=[];for(let i=0;i<=e;i++)t.push(this.renderSegmentElement(i));return t}renderSegmentElement(e){const{_trackHeight:t,_trackWidth:i,draggableSegmentsEnabled:n,id:s,state:o,values:a}=this,l=this._isHorizontalLayout(),h=l?i:t,d=this.viewModel.getBounds(),c=this._positionFromValue(d.max),m=this._positionFromValue(d.min),u=e===a.length?null:e,_=0===e?null:e-1,v=r(u),f=r(_);let b,E;const x=[...a].sort(((e,t)=>e-t));this._isReversedLayout()?(b=f?this._positionFromValue(x[_]):m,E=v?this._positionFromValue(x[u]):c):(b=v?this._positionFromValue(x[u]):c,E=f?this._positionFromValue(x[_]):m);const k=this._applyPrecisionToPosition(100*E/h),y=(b-E)/h,I=l?`transform: translate(${k}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${k}%) scale(1, ${y});`,P=this.classes(g.segmentElement,g.segmentElementIndexPrefix+e,n&&v&&f&&"disabled"!==o?g.segmentElementInteractive:null);return p("div",{afterCreate:this._afterSegmentCreate,afterRemoved:this._afterSegmentRemoved,bind:this,class:P,"data-max-thumb-index":u,"data-min-thumb-index":_,"data-segment-index":e,key:`${s}-segment-${e}`,style:I,"touch-action":"none"})}renderEffectiveSegmentElement(e,t,i){const{_trackHeight:n,_trackWidth:s}=this,o=this._positionFromValue(e),r=this._positionFromValue(t),a=this._isHorizontalLayout(),l=a?s:n,h=this._applyPrecisionToPosition(100*o/l),d=(r-o)/l,c=a?`transform: translate(${h}%, 0px) scale(${d}, 1);`:`transform: translate(0px, ${h}%) scale(1, ${d});`,m=this.classes(g.segmentElement,g.effectiveSegmentElement,i);return p("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:m,style:c,"touch-action":"none"})}renderAnchorElements(){const{trackElement:e,values:t}=this;if(t&&t.length)return this._zIndices=t.map(((e,i)=>{const n=this._positionFromValue(e),s=this._positionToPercent(n),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*i)})),e&&t&&t.length?t.map(((e,t)=>this.renderAnchorElement(e,t))):null}renderAnchorElement(e,t){const i=this._positionFromValue(e),n=this._valueFromPosition(i);if(o(n)||isNaN(n))return;const{_dragStartInfo:s,_lastMovedHandleIndex:r,id:a,layout:l,values:h,visibleElements:{labels:d}}=this,c=s&&s.index===t,m=r===t,u=this.classes(g.anchorElement,g.anchorElementIndexPrefix+t,c?g.movingAnchorElement:null,m?g.lastMovedAnchorElement:null),_=this.labels.values[t],f=this._getStyleForAnchor(e,t,c||m),{min:b,max:E}=this.viewModel.getBoundsForValueAtIndex(t),{messages:x}=this,k=2===h.length?v(0===t?x.rangeMinimum:x.rangeMaximum,{value:e}):_,y=1===h.length?null:0===t?`${a}-handle-${t+1}`:t===h.length-1?`${a}-handle-${t-1}`:`${a}-handle-${t-1} ${a}-handle-${t+1}`;return p("div",{afterCreate:this._afterAnchorCreate,afterUpdate:this._afterAnchorUpdate,afterRemoved:this._afterAnchorRemoved,"aria-controls":y,"aria-label":x.sliderValue,"aria-labelledby":d?`${a}-label-${t}`:null,"aria-orientation":l,"aria-valuemax":E.toString(),"aria-valuemin":b.toString(),"aria-valuenow":e.toString(),"aria-valuetext":k,bind:this,class:u,"data-thumb-index":t,"data-value":e,id:`${a}-handle-${t}`,key:`${a}-handle-${t}`,onkeydown:this._onAnchorKeyDown,"touch-action":"none",role:"slider",style:f,tabIndex:0},p("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:g.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:i,labelInputsEnabled:n,state:s}=this,o=this.visibleElements.labels,r=i.values[e],a=this.classes(g.labelElement,o?null:g.hidden,n&&"disabled"!==s?g.labelElementInteractive:null);return p("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:a,"data-thumb-index":e,key:`${t}-label-${e}`,id:`${t}-label-${e}`,role:n?"button":null,"touch-action":"none"},this._activeLabelInputIndex===e?this.renderValueInput(e):r)}renderValueInput(e){const t=this.values[e];return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:g.labelInput,"data-input-type":"thumb","data-input-index":e,required:!0,tabIndex:0,type:"text",value:this._formatInputValue(t,"value",e),onblur:this._onLabelInputBlur,onkeydown:this._onInputKeyDown})}renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(g.maxElement,{[g.hidden]:!s,[g.maxElementInteractive]:i&&"disabled"!==n,[g.rangeElementActive]:e});return p("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMaxLabelCreate,bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:i?"button":null,tabIndex:i?0:null},e?this.renderMaxInput():t.max)}renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(g.minElement,{[g.hidden]:!s,[g.minElementInteractive]:i&&"disabled"!==n,[g.rangeElementActive]:e});return p("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMinLabelCreate,bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:i?"button":null,tabIndex:i?0:null},e?this.renderMinInput():t.min)}renderMaxInput(){return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:g.rangeInput,"data-input-type":"max",required:!0,tabIndex:0,type:"text",value:this._formatInputValue(this.max,"max"),onblur:this._onMaxInputBlur,onkeydown:this._onInputKeyDown})}renderMinInput(){return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:g.rangeInput,"data-input-type":"min",required:!0,tabIndex:0,type:"text",value:this._formatInputValue(this.min,"min"),onblur:this._onMinInputBlur,onkeydown:this._onInputKeyDown})}renderExtraContentElements(){return p("div",{bind:this,class:g.extraContentElement},this.extraNodes)}renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>p("div",{key:"ticks-container",class:this.classes(g.ticksContainerElement)},this.renderTicks(e,t))))}renderTicks(e,i){const{mode:n,values:s}=e;if(this.tickElements.getItemAt(i)||this.tickElements.add(new t,i),"position"===n){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}if("percent"===n&&Array.isArray(s)){const{max:t,min:n}=this,o=t-n,r=s.map((e=>this._applyPrecisionToPosition(e/100*o+n)));return this._calculateTickPositions(r).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}const o=Array.isArray(s)&&s.length?s[0]:isNaN(s)?null:s,r=this._getTickCounts(o,e);return this._calculateEquidistantTickPositions(r).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}renderTickGroup(e,t,i,n){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(n);if(!o(s)&&!isNaN(s))return p("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":n,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":s,onclick:this._onTickGroupClick,key:`tick-group-${t}`},this.renderTickLine(e,t,i,s),e.labelsVisible?this.renderTickLabel(e,t,i,s):null)}renderTickLine(e,t,i,n){return p("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":n.toString(),bind:this,class:g.tickElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:this._getPositionStyleForElement(n)})}renderTickLabel(e,t,i,n){const s=e.labelFormatFunction?e.labelFormatFunction(n,"tick",t):this.viewModel.getLabelForValue(n,"tick",t);return p("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":n.toString(),"aria-valuetext":s,bind:this,class:g.tickLabelElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(n)}`},s)}_afterContainerCreate(e){this.own(u(e,(()=>this.scheduleRender())))}_afterTrackCreate(e){this._set("trackElement",e),e.addEventListener("pointerdown",this._onTrackPointerDown),this.scheduleRender()}_afterTrackRemoved(e){e.removeEventListener("pointerdown",this._onTrackPointerDown),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp)}_afterSegmentCreate(e){this.segmentElements.add(e),e.addEventListener("pointerdown",this._onSegmentPointerDown)}_afterSegmentRemoved(e){this.segmentElements.remove(e),e.removeEventListener("pointerdown",this._onSegmentPointerDown)}_afterEffectiveSegmentCreate(e){this.effectiveSegmentElements.add(e)}_afterEffectiveSegmentRemoved(e){this.effectiveSegmentElements.remove(e)}_afterAnchorCreate(e){if(this._anchorElements.push(e),e.addEventListener("pointerdown",this._onAnchorPointerDown),this.thumbCreatedFunction){const t=e["data-thumb-index"],i=e["data-value"],n=this.thumbElements.getItemAt(t)||null,s=this.labelElements.getItemAt(t)||null;this.thumbCreatedFunction(t,i,n,s)}}_afterAnchorUpdate(e){if(r(this._focusedAnchorIndex)){e["data-thumb-index"]===this._focusedAnchorIndex&&(e.focus(),this._focusedAnchorIndex=null)}}_afterAnchorRemoved(e){const t=this._anchorElements.indexOf(e,0);t>-1&&this._anchorElements.splice(t,1),e.removeEventListener("pointerdown",this._onAnchorPointerDown)}_afterThumbCreate(e){this.thumbElements.add(e)}_afterThumbRemoved(e){this.thumbElements.remove(e)}_afterLabelCreate(e){this.labelElements.add(e),e.addEventListener("pointerdown",this._onLabelPointerDown),e.addEventListener("pointerup",this._onLabelPointerUp)}_afterLabelRemoved(e){this.labelElements.remove(e),e.removeEventListener("pointerdown",this._onLabelPointerDown),e.removeEventListener("pointerup",this._onLabelPointerUp)}_afterInputCreate(e){if(e.focus(),e.select(),this.inputCreatedFunction){const t=e.getAttribute("data-input-type"),i="thumb"===t?e["data-input-index"]:null;this.inputCreatedFunction(e,t,i)}}_afterTickLineCreate(e){const t=e["data-tick-config-index"],i=e["data-tick-group-index"],n=this.tickElements.getItemAt(t);n.getItemAt(i)?n.getItemAt(i).tickElement=e:n.add({groupElement:null,tickElement:e,labelElement:null},i)}_afterTickLabelCreate(e){const t=e["data-tick-config-index"],i=e["data-tick-group-index"],n=this.tickElements.getItemAt(t);n.getItemAt(i)?n.getItemAt(i).labelElement=e:n.add({groupElement:null,labelElement:e,tickElement:null},i)}_afterTickGroupRemoved(e){const t=e["data-tick-config-index"],i=this.tickElements.items[t],n=null==i?void 0:i.find((t=>t.groupElement===e));n&&i.remove(n)}_afterTickGroupCreate(e){const t=e["data-config"];if(t&&t.tickCreatedFunction){var i,n;const s=e["data-tick-config-index"],o=e["data-tick-group-index"],r=e["data-value"],a=null==(i=this.tickElements)||null==(n=i.getItemAt(s))?void 0:n.getItemAt(o);if(a){a.groupElement=e;const i=a.tickElement||null,n=a.labelElement||null;t.tickCreatedFunction(r,i,n)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled()||"editing"===this.state)return;const{target:t}=e,i=n(e),{_anchorElements:s,values:o}=this,a=t["data-thumb-index"],l=s[a],h=o[a],d=[f.moveAnchorUp,f.moveAnchorDown,f.moveAnchorLeft,f.moveAnchorRight];if(i===f.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=a,this.notifyChange("state");else if(d.indexOf(i)>-1){e.preventDefault();const{steps:t}=this,n=i===f.moveAnchorUp||i===f.moveAnchorRight?1:-1;if(r(t))this._toStep(a,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(l),i=this._valueFromPosition(t),s=this._isHorizontalLayout()?n:-1*n;let o;o=0===e?this._positionFromValue(i+s):1===e?this._positionFromValue(i+.1*s):t+s,this._toPosition(a,o)}const s=this.values[a];h!==s&&this._emitThumbChangeEvent({index:a,oldValue:h,value:s})}else if(i===f.moveAnchorToMax||i===f.moveAnchorToMin){e.preventDefault();const{min:t,max:n}=this._getAnchorBoundsInPixels(a),s=this._isPositionInverted()?i===f.moveAnchorToMax?t:n:i===f.moveAnchorToMin?t:n;this._toPosition(a,s);const o=this.values[a];h!==o&&this._emitThumbChangeEvent({index:a,oldValue:h,value:o})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:i,clientY:n}=e,s=t["data-thumb-index"];void 0!==s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:i,clientY:n,index:s,position:this._getPositionOfElement(this._anchorElements[s])},this.notifyChange("state"),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onAnchorPointerMove(e){if("editing"===this.state||!this._dragStartInfo)return;e.preventDefault();const{values:t,_anchorElements:i,_dragged:n,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=n?"drag":"start",d=i[o],c=this._getPositionOfElement(d),m=this._applyPrecisionToPosition(this._isHorizontalLayout()?r+a-s.clientX:r+l-s.clientY);if(c===m)return;const u=t[o];this._dragged=!0,this._toPosition(o,m);const _=this.values[o];n?u!==_&&this._emitThumbDragEvent({index:o,state:h,value:_}):this._emitThumbDragEvent({index:o,state:h,value:u})}_onAnchorPointerUp(e){if(document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),!this._dragStartInfo)return;e.preventDefault();const{index:t}=this._dragStartInfo,i=this._dragged,n=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange("state"),i?this._emitThumbDragEvent({index:t,state:"stop",value:n}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:n}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:i,state:n,values:s}=this;if(this._isDisabled()||"editing"===n||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!i||!s.length)return;const{steps:a}=this,{clientX:l,clientY:h}=e,d=this._getCursorPositionFromEvent(e),c=this._valueFromPosition(d),m=this._getIndexOfNearestValue(c),u=s[m],_=s.some(((e,t)=>e===u&&t!==m))&&c>u?this.values.lastIndexOf(u):m;if(o(_))return;const p=s[_],v=r(a)?this._calculateNearestStepPosition(d):d;this._toPosition(_,v),this._dragged=!0,this._dragStartInfo={clientX:l,clientY:h,index:_,position:v},this._focusedAnchorIndex=_,this.notifyChange("state"),this._emitThumbDragEvent({index:_,state:"start",value:p});const g=this.values[_];p!==g&&this._emitThumbDragEvent({index:_,state:"drag",value:g}),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove)}_onTrackPointerMove(e){e.preventDefault(),this._dragged=!0}_onTrackPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp),this.snapOnClickEnabled||(this._dragged=!1),!this._dragged){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitTrackClickEvent({value:i})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,i=t["data-segment-index"],n=t["data-min-thumb-index"],s=t["data-max-thumb-index"];if(this._isDisabled()||o(n)||o(s))return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const r=this._getAnchorDetails(n),a=this._getAnchorDetails(s);var l,h;this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(g.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(g.anchorElementActive)))):(this.segmentElements.getItemAt(i).classList.add(g.segmentElementActive),null==(l=this._anchorElements[r.index])||l.classList.add(g.anchorElementActive),null==(h=this._anchorElements[a.index])||h.classList.add(g.anchorElementActive));this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:i,details:this._normalizeSegmentDetails({min:r,max:a})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this.notifyChange("state"),this._emitSegmentDragEvent({index:i,state:"start",thumbIndices:[n,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:i,_segmentDragStartInfo:{index:n,cursorPosition:s,details:{min:o,max:r}}}=this,{index:a,position:l,value:h}=o,{index:d,position:c,value:m}=r;this._dragged=!0;const u=this._getCursorPositionFromEvent(e);if(u===s)return;const _=this._positionToPercent(s),p=this._positionToPercent(u)-_,v=this._positionToPercent(l)+p,g=this._positionToPercent(c)+p,{min:f}=this._getAnchorBoundsAsPercents(a),{max:b}=this._getAnchorBoundsAsPercents(d);let E=!1,x=!1;if(v<f?E=!0:g>b&&(x=!0),E){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(a),i=this._isPositionInverted()?t:e,n=i,s=m+(i-h),o=s-this.values[d];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,d],[n,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(d),i=this._isPositionInverted()?e:t,n=i,s=h+(i-m),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,d],[s,n]))}const k=this._isHorizontalLayout()?i:t,y=g/100*k,I=v/100*k,P=this.values,A=[P[a],P[d]],L=this._getValueForAnchorAtPosition(a,I),S=this._getValueForAnchorAtPosition(d,y);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(L-A[0]):this._updateAnchorValues([a,d],[L,S]);[this.values[a],this.values[d]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:n,state:"drag",thumbIndices:[a,d]})}_onSegmentPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointerup",this._onSegmentPointerUp),document.removeEventListener("pointermove",this._onSegmentPointerMove),!this._segmentDragStartInfo)return;const{_dragged:t,max:i,min:n,values:s}=this,{index:o,details:{min:{index:r},max:{index:a}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(g.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(g.anchorElementActive))),this.draggableSegmentsEnabled){const e=i-n,t=s[r],l=s[a];this._lastMovedHandleIndex=t===l?t>e/2?r:a:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange("state"),this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,a]})}if(!t){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:i,thumbIndices:[r,a]})}}_onTickGroupClick(e){const t=e.target;if(t["data-config"]){const e=t["data-tick-config-index"],i=t["data-tick-group-index"],n=t["data-value"];this._emitTickClickEvent({configIndex:e,groupIndex:i,value:n})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=e.height,this._trackWidth=e.width}}_onLabelPointerDown(){this._isDisabled()||(this._dragged=!1,document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onLabelPointerMove(){this._isDisabled()||(this._dragged=!0)}_onLabelPointerUp(e){if(this._isDisabled())return;const t=e.target["data-thumb-index"];this.labelInputsEnabled&&!this._dragged&&r(t)&&(this._activeLabelInputIndex=t),this._dragged=!1,this.notifyChange("state"),document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:i,viewModel:n}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange("state"),!s)return;const o=this._parseInputValue(s,"value",t),r=i[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;n.setValue(t,o);const h=this.values[t];r!==h&&this._emitThumbChangeEvent({index:t,oldValue:r,value:h})}_onInputKeyDown(e){if(this._isDisabled())return;const{target:t}=e,i=n(e),{hideInput1:s,hideInput2:o,hideInput3:a}=f,{_activeLabelInputIndex:l,_anchorElements:h}=this,d=t;if(i===s||i===o||i===a){e.stopPropagation();const t=l;d.blur(),r(t)?h[t].focus():d.parentElement.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange("state")))}_onMaxLabelKeyDown(e){this._isDisabled()||n(e)!==f.showInput||(this._isMaxInputActive=!0,this.notifyChange("state"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange("state"),!t)return;const i=this.max,n=this._parseInputValue(t,"max");n<=this.min||(this.viewModel.set("max",n),this.max!==i&&this._emitMaxChangeEvent({oldValue:i,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange("state")))}_onMinLabelKeyDown(e){this._isDisabled()||n(e)!==f.showInput||(this._isMinInputActive=!0,this.notifyChange("state"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange("state"),!t)return;const i=this.min,n=this._parseInputValue(t,"min");n>=this.max||(this.viewModel.set("min",n),this.min!==i&&this._emitMinChangeEvent({oldValue:i,value:this.min}))}_isDisabled(){return this.disabled||"disabled"===this.state}_positionFromValue(e){const{max:t,min:i}=this,n=t-i;if(0===n)return 0;const{_trackHeight:s,_trackWidth:o}=this,r=this._isHorizontalLayout();let a=r?parseFloat((o*(e-i)/n).toFixed(2)):parseFloat((s*(t-e)/n).toFixed(2));return this._isReversedLayout()&&(a=r?o-a:s-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:i,max:n,min:s,precision:o}=this,r=n-s;let a=this._isHorizontalLayout()?e*r/i+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=n+s-a),parseFloat(a.toFixed(o))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:i}=this,n=100*e/(this._isHorizontalLayout()?i:t);return this._applyPrecisionToPosition(n)}_applyPrecisionToPosition(e){return parseFloat(e.toFixed(this._positionPrecision))}_isPositionInverted(){const{layout:e}=this;return"horizontal-reversed"===e||"vertical"===e}_isHorizontalLayout(){return this.layout.indexOf("horizontal")>-1}_isReversedLayout(){return this.layout.indexOf("reversed")>-1}_normalizeSegmentDetails(e){if(this._isPositionInverted()){const{min:t,max:i}=e;return{min:i,max:t}}return e}_parseInputValue(e,t,i){return this.inputParseFunction?this.inputParseFunction(e,t,i):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,i){return this.inputFormatFunction?this.inputFormatFunction(e,t,i):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=[...this.values].sort(((e,t)=>e-t))[e],i=this.values.indexOf(t);return{index:i,position:this._getPositionOfElement(this._anchorElements[i]),value:t}}_updateAnchorStyle(e,t){const i=this._anchorElements[e];i&&(this._isHorizontalLayout()?i.style.left=`${t}`:i.style.top=`${t}`)}_getStyleForAnchor(e,t,i){const n=this._getPositionStyleForElement(e);if(1===this.values.length)return`${n}`;const s=this._zIndices[t];return`${n}; z-index: ${i?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),i=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${i+"%"}`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),i=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(i.left-t.left):this._applyPrecisionToPosition(i.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,i)=>this._toValue(e,t[i])))}_updateAnchorValuesByDifference(e){const{min:t,max:i,values:n}=this;n.forEach(((n,s)=>this._toValue(s,Math.max(Math.min(n+e,i),t))))}_toValue(e,t){if(r(this.steps)){t=this._getStepValues()[this._getIndexOfNearestStepValue(t)]}this._updateAnchorStyle(e,this._getPositionStyleForElement(t)),this.viewModel.setValue(e,t)}_toPosition(e,t){const i=r(this.steps)?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(i)),this.viewModel.setValue(e,i)}_getValueForAnchorAtPosition(e,t){const{min:i,max:n}=this._getAnchorBoundsInPixels(e),{min:s,max:o}=this.viewModel.getBoundsForValueAtIndex(e);let r,a,l=null;return this._isPositionInverted()?(r=s,a=o):(r=o,a=s),l=t>n?r:t<i?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const i=this._getStepValues(),n=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,n);return i[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:i}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(i)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:i,_trackWidth:n,effectiveMax:s,effectiveMin:o,thumbsConstrained:a}=this,l=t[e-1],h=t[e+1],d=this._isHorizontalLayout()?n:i,c=r(s)?this._isPositionInverted()?d-this._positionFromValue(s):this._positionFromValue(s):d,m=r(o)?this._isPositionInverted()?d-this._positionFromValue(o):this._positionFromValue(o):0;return a?this._isPositionInverted()?{max:l?this._getPositionOfElement(l):c,min:h?this._getPositionOfElement(h):m}:{max:h?this._getPositionOfElement(h):c,min:l?this._getPositionOfElement(l):m}:{max:c,min:m}}_getIndexOfNearestValue(e){return this.values.indexOf(this.values.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?e.clientX-t.left:e.clientY-t.top}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:i}=this,n=Math.ceil((t-i)/e),s=[];for(let o=0;o<=n;o++){const n=i+e*o;s.push(n>t?t:n)}return s}_toStep(e,t){const{values:i,viewModel:n}=this,s=i[e],o=this._getStepValues(),r=o.indexOf(s);let a=null;if(r>-1){let i=o[r+t];isNaN(i)&&(i=o[r]);const n=this._positionFromValue(i);a=this._getStepValueForAnchorAtPosition(e,n)}else{a=o[this._getIndexOfNearestStepValue(s)+t]}n.setValue(e,a)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(o(t))return null;const i=this._getStepValues(),n=i.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t));return i.indexOf(n)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),i=this._getIndexOfNearestStepValue(t),n=this._getStepValues();return this._positionFromValue(n[i])}_getTickCounts(e,t){const{mode:i}=t;return"count"===i||"position"===i?e||0:"percent"===i&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:i}=this,n=this._isHorizontalLayout()?t:i,s=n/(e-1),o=[];if(1===e)return[n/2];for(let r=0;r<e;r++){const e=r*s;e<=n&&o.push(e)}return o}_getDimensions(e){try{return e.getBoundingClientRect()}catch(t){if("object"==typeof t&&null!==t)return new DOMRect(0,0,0,0);throw t}}_emitTrackClickEvent(e){this.emit("track-click",{...e,type:"track-click"})}_emitTickClickEvent(e){this.emit("tick-click",{...e,type:"tick-click"})}_emitMaxChangeEvent(e){this.emit("max-change",{...e,type:"max-change"})}_emitMinChangeEvent(e){this.emit("min-change",{...e,type:"min-change"})}_emitThumbChangeEvent(e){this.emit("thumb-change",{...e,type:"thumb-change"})}_emitThumbClickEvent(e){this.emit("thumb-click",{...e,type:"thumb-click"})}_emitThumbDragEvent(e){this.emit("thumb-drag",{...e,type:"thumb-drag"})}_emitSegmentClickEvent(e){this.emit("segment-click",{...e,type:"segment-click"})}_emitSegmentDragEvent(e){this.emit("segment-drag",{...e,type:"segment-drag"})}_emitRangeLabelClickEvent(e){this.emit(e.type,{...e})}};e([h()],k.prototype,"disabled",void 0),e([h()],k.prototype,"draggableSegmentsEnabled",void 0),e([a("viewModel.effectiveMax")],k.prototype,"effectiveMax",void 0),e([a("viewModel.effectiveMin")],k.prototype,"effectiveMin",void 0),e([h({readOnly:!0})],k.prototype,"effectiveSegmentElements",void 0),e([h()],k.prototype,"extraNodes",void 0),e([h()],k.prototype,"inputCreatedFunction",void 0),e([a("viewModel.inputFormatFunction")],k.prototype,"inputFormatFunction",void 0),e([a("viewModel.inputParseFunction")],k.prototype,"inputParseFunction",void 0),e([h({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],k.prototype,"label",void 0),e([h({readOnly:!0})],k.prototype,"labelElements",void 0),e([h()],k.prototype,"labelInputsEnabled",void 0),e([a("viewModel.labelFormatFunction")],k.prototype,"labelFormatFunction",void 0),e([a("viewModel.labels")],k.prototype,"labels",void 0),e([h()],k.prototype,"labelsVisible",null),e([h({value:"horizontal"})],k.prototype,"layout",null),e([a("viewModel.max")],k.prototype,"max",void 0),e([h({readOnly:!0})],k.prototype,"maxLabelElement",void 0),e([h(),_("esri/widgets/Slider/t9n/Slider")],k.prototype,"messages",void 0),e([a("viewModel.min")],k.prototype,"min",void 0),e([h({readOnly:!0})],k.prototype,"minLabelElement",void 0),e([a("viewModel.precision")],k.prototype,"precision",void 0),e([h()],k.prototype,"rangeLabelInputsEnabled",void 0),e([h()],k.prototype,"rangeLabelsVisible",null),e([h({readOnly:!0})],k.prototype,"segmentElements",void 0),e([h()],k.prototype,"snapOnClickEnabled",void 0),e([h({readOnly:!0})],k.prototype,"state",null),e([h()],k.prototype,"steps",void 0),e([h()],k.prototype,"syncedSegmentsEnabled",void 0),e([a("viewModel.thumbsConstrained")],k.prototype,"thumbsConstrained",void 0),e([h()],k.prototype,"thumbCreatedFunction",void 0),e([h({readOnly:!0})],k.prototype,"thumbElements",void 0),e([h()],k.prototype,"tickConfigs",null),e([h({readOnly:!0})],k.prototype,"tickElements",void 0),e([h({readOnly:!0})],k.prototype,"trackElement",void 0),e([a("viewModel.values")],k.prototype,"values",void 0),e([h()],k.prototype,"viewModel",void 0),e([h()],k.prototype,"visibleElements",void 0),e([l("visibleElements")],k.prototype,"castVisibleElements",null),k=e([d(b)],k);const y=k;export{y as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import"../intl.js";import t from"../core/Collection.js";import{deprecatedProperty as i}from"../core/deprecate.js";import{eventKey as n}from"../core/events.js";import s from"../core/Logger.js";import{isNone as o,isSome as r}from"../core/maybe.js";import{aliasOf as a}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import{cast as l}from"../core/accessorSupport/decorators/cast.js";import{property as h}from"../core/accessorSupport/decorators/property.js";import{subclass as d}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import m from"./Slider/SliderViewModel.js";import{onResize as u}from"./support/widgetUtils.js";import{messageBundle as _}from"./support/decorators/messageBundle.js";import{tsx as p}from"./support/jsxFactory.js";import{substitute as v}from"../intl/substitute.js";const g={base:"esri-slider",reversed:"esri-slider--reversed",horizontalLayout:"esri-slider--horizontal",verticalLayout:"esri-slider--vertical",contentElement:"esri-slider__content",extraContentElement:"esri-slider__extra-content",trackElement:"esri-slider__track",ticksContainerElement:"esri-slider__ticks",tickElement:"esri-slider__tick",tickLabelElement:"esri-slider__tick-label",maxElement:"esri-slider__max",minElement:"esri-slider__min",maxElementInteractive:"esri-slider__max--interactive",minElementInteractive:"esri-slider__min--interactive",rangeElementActive:"esri-slider__range--active",rangeInput:"esri-slider__range-input",anchorElement:"esri-slider__anchor",movingAnchorElement:"esri-slider__anchor--moving",lastMovedAnchorElement:"esri-slider__anchor--moved",anchorElementActive:"esri-slider__anchor--active",anchorElementIndexPrefix:"esri-slider__anchor-",segmentElement:"esri-slider__segment",segmentElementIndexPrefix:"esri-slider__segment-",segmentElementInteractive:"esri-slider__segment--interactive",segmentElementActive:"esri-slider__segment--active",effectiveSegmentElement:"esri-slider__effective-segment",effectiveMaxSegmentElement:"esri-slider__effective-max-segment",effectiveMinSegmentElement:"esri-slider__effective-min-segment",thumbElement:"esri-slider__thumb",labelElement:"esri-slider__label",labelElementInteractive:"esri-slider__label--interactive",labelInput:"esri-slider__label-input",esriWidget:"esri-widget",widgetIcon:"esri-icon-edit",disabled:"esri-disabled",hidden:"esri-hidden"},f={showInput:"Enter",hideInput1:"Enter",hideInput2:"Escape",hideInput3:"Tab",moveAnchorUp:"ArrowUp",moveAnchorDown:"ArrowDown",moveAnchorLeft:"ArrowLeft",moveAnchorRight:"ArrowRight",moveAnchorToMax:"End",moveAnchorToMin:"Home"},b="esri.widgets.Slider",E=s.getLogger("esri.widgets.Slider"),x={labels:!1,rangeLabels:!1};let k=class extends c{constructor(e,i){super(e,i),this._activeLabelInputIndex=null,this._anchorElements=[],this._dragged=!1,this._dragStartInfo=null,this._focusedAnchorIndex=null,this._isMinInputActive=!1,this._isMaxInputActive=!1,this._lastMovedHandleIndex=null,this._positionPrecision=5,this._segmentDragStartInfo=null,this._trackHeight=null,this._trackWidth=null,this._zIndices=null,this._zIndexOffset=3,this.disabled=!1,this.draggableSegmentsEnabled=!0,this.effectiveMax=null,this.effectiveMin=null,this.effectiveSegmentElements=new t,this.extraNodes=[],this.inputCreatedFunction=null,this.inputFormatFunction=null,this.inputParseFunction=null,this.label=void 0,this.labelElements=new t,this.labelInputsEnabled=!1,this.labelFormatFunction=null,this.labels=null,this.max=null,this.maxLabelElement=null,this.messages=null,this.min=null,this.minLabelElement=null,this.precision=4,this.rangeLabelInputsEnabled=!1,this.segmentElements=new t,this.snapOnClickEnabled=!0,this.steps=null,this.syncedSegmentsEnabled=!1,this.thumbsConstrained=!0,this.thumbCreatedFunction=null,this.thumbElements=new t,this.tickElements=new t,this.trackElement=null,this.values=null,this.viewModel=new m,this.visibleElements={...x},this._onAnchorPointerDown=this._onAnchorPointerDown.bind(this),this._onAnchorPointerMove=this._onAnchorPointerMove.bind(this),this._onAnchorPointerUp=this._onAnchorPointerUp.bind(this),this._onLabelPointerDown=this._onLabelPointerDown.bind(this),this._onLabelPointerUp=this._onLabelPointerUp.bind(this),this._onSegmentPointerDown=this._onSegmentPointerDown.bind(this),this._onSegmentPointerMove=this._onSegmentPointerMove.bind(this),this._onSegmentPointerUp=this._onSegmentPointerUp.bind(this),this._onTrackPointerDown=this._onTrackPointerDown.bind(this),this._onTrackPointerMove=this._onTrackPointerMove.bind(this),this._onTrackPointerUp=this._onTrackPointerUp.bind(this)}destroy(){document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove),document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),this.labelElements.removeAll(),this.labelElements.destroy(),this.segmentElements.removeAll(),this.segmentElements.destroy(),this.effectiveSegmentElements.removeAll(),this.effectiveSegmentElements.destroy(),this.thumbElements.removeAll(),this.thumbElements.destroy(),this.tickElements.removeAll(),this.tickElements.destroy()}set labelsVisible(e){i(E,"labelsVisible",{replacement:"visibleElements.labels",version:"4.15"}),this.visibleElements={...this.visibleElements,labels:e}}set layout(e){["vertical","vertical-reversed","horizontal","horizontal-reversed"].includes(e)||(e="horizontal"),this._set("layout",e)}set rangeLabelsVisible(e){i(E,"rangeLabelsVisible",{replacement:"visibleElements.rangeLabels",version:"4.15"}),this.visibleElements={...this.visibleElements,rangeLabels:e}}get state(){const{_activeLabelInputIndex:e,_isMaxInputActive:t,_isMinInputActive:i,_dragStartInfo:n,_segmentDragStartInfo:s,disabled:o,viewModel:a}=this,l=r(n)||r(s);return o?"disabled":!(null===e&&!t&&!i)?"editing":l?"dragging":a.state}set tickConfigs(e){this._set("tickConfigs",e),this.scheduleRender()}castVisibleElements(e){return{...x,...e}}render(){const{label:e}=this,t=this.classes(g.base,g.esriWidget,this._isHorizontalLayout()?g.horizontalLayout:g.verticalLayout,this._isReversedLayout()?g.reversed:null,this._isDisabled()?g.disabled:null);return this._storeTrackDimensions(),p("div",{"aria-label":e,class:t,"touch-action":"none",bind:this,afterCreate:this._afterContainerCreate},this.renderContent())}toNextStep(e){this._toStep(e,1)}toPreviousStep(e){this._toStep(e,-1)}renderContent(){const{max:e,min:t}=this;if(!(o(t)||o(e)||t>=e))return[this.renderMin(),this.renderSliderContainer(),this.renderMax()]}renderSliderContainer(){return p("div",{key:"slider-container",bind:this,class:g.contentElement},this.renderTrackElement(),this.renderTicksContainer(),this.renderExtraContentElements())}renderTrackElement(){return p("div",{afterCreate:this._afterTrackCreate,afterRemoved:this._afterTrackRemoved,bind:this,class:g.trackElement,"data-node-ref":"trackElement","touch-action":"none"},this.renderEffectiveSegmentElements(),this.renderSegmentElements(),this.renderAnchorElements())}renderEffectiveSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=r(this.effectiveMax),t=r(this.effectiveMin);if(!e&&!t)return;const{max:i,min:n,viewModel:s}=this,o=s.getBounds(),a=[];return t&&a.push(this.renderEffectiveSegmentElement(n,o.min,g.effectiveMinSegmentElement)),e&&a.push(this.renderEffectiveSegmentElement(o.max,i,g.effectiveMaxSegmentElement)),a}renderSegmentElements(){if(!this.trackElement||!this.values||!this.values.length)return;const e=this.values.length,t=[];for(let i=0;i<=e;i++)t.push(this.renderSegmentElement(i));return t}renderSegmentElement(e){const{_trackHeight:t,_trackWidth:i,draggableSegmentsEnabled:n,id:s,state:o,values:a}=this,l=this._isHorizontalLayout(),h=l?i:t,d=this.viewModel.getBounds(),c=this._positionFromValue(d.max),m=this._positionFromValue(d.min),u=e===a.length?null:e,_=0===e?null:e-1,v=r(u),f=r(_);let b,E;const x=[...a].sort(((e,t)=>e-t));this._isReversedLayout()?(b=f?this._positionFromValue(x[_]):m,E=v?this._positionFromValue(x[u]):c):(b=v?this._positionFromValue(x[u]):c,E=f?this._positionFromValue(x[_]):m);const k=this._applyPrecisionToPosition(100*E/h),y=(b-E)/h,I=l?`transform: translate(${k}%, 0px) scale(${y}, 1);`:`transform: translate(0px, ${k}%) scale(1, ${y});`,P=this.classes(g.segmentElement,g.segmentElementIndexPrefix+e,n&&v&&f&&"disabled"!==o?g.segmentElementInteractive:null);return p("div",{afterCreate:this._afterSegmentCreate,afterRemoved:this._afterSegmentRemoved,bind:this,class:P,"data-max-thumb-index":u,"data-min-thumb-index":_,"data-segment-index":e,key:`${s}-segment-${e}`,style:I,"touch-action":"none"})}renderEffectiveSegmentElement(e,t,i){const{_trackHeight:n,_trackWidth:s}=this,o=this._positionFromValue(e),r=this._positionFromValue(t),a=this._isHorizontalLayout(),l=a?s:n,h=this._applyPrecisionToPosition(100*o/l),d=(r-o)/l,c=a?`transform: translate(${h}%, 0px) scale(${d}, 1);`:`transform: translate(0px, ${h}%) scale(1, ${d});`,m=this.classes(g.segmentElement,g.effectiveSegmentElement,i);return p("div",{afterCreate:this._afterEffectiveSegmentCreate,afterRemoved:this._afterEffectiveSegmentRemoved,bind:this,class:m,style:c,"touch-action":"none"})}renderAnchorElements(){const{trackElement:e,values:t}=this;if(t&&t.length)return this._zIndices=t.map(((e,i)=>{const n=this._positionFromValue(e),s=this._positionToPercent(n),o=(this._isHorizontalLayout()?s>50:s<50)?-1:1;return this._zIndexOffset+(t.length+o*i)})),e&&t&&t.length?t.map(((e,t)=>this.renderAnchorElement(e,t))):null}renderAnchorElement(e,t){const i=this._positionFromValue(e),n=this._valueFromPosition(i);if(o(n)||isNaN(n))return;const{_dragStartInfo:s,_lastMovedHandleIndex:r,id:a,layout:l,values:h,visibleElements:{labels:d}}=this,c=s&&s.index===t,m=r===t,u=this.classes(g.anchorElement,g.anchorElementIndexPrefix+t,c?g.movingAnchorElement:null,m?g.lastMovedAnchorElement:null),_=this.labels.values[t],f=this._getStyleForAnchor(e,t,c||m),{min:b,max:E}=this.viewModel.getBoundsForValueAtIndex(t),{messages:x}=this,k=2===h.length?v(0===t?x.rangeMinimum:x.rangeMaximum,{value:e}):_,y=1===h.length?null:0===t?`${a}-handle-${t+1}`:t===h.length-1?`${a}-handle-${t-1}`:`${a}-handle-${t-1} ${a}-handle-${t+1}`;return p("div",{afterCreate:this._afterAnchorCreate,afterUpdate:this._afterAnchorUpdate,afterRemoved:this._afterAnchorRemoved,"aria-controls":y,"aria-label":x.sliderValue,"aria-labelledby":d?`${a}-label-${t}`:null,"aria-orientation":l,"aria-valuemax":E.toString(),"aria-valuemin":b.toString(),"aria-valuenow":e.toString(),"aria-valuetext":k,bind:this,class:u,"data-thumb-index":t,"data-value":e,id:`${a}-handle-${t}`,key:`${a}-handle-${t}`,onkeydown:this._onAnchorKeyDown,"touch-action":"none",role:"slider",style:f,tabIndex:0},p("span",{afterCreate:this._afterThumbCreate,afterRemoved:this._afterThumbRemoved,bind:this,class:g.thumbElement,"data-thumb-index":t,"touch-action":"none"}),this.renderThumbLabel(t))}renderThumbLabel(e){const{id:t,labels:i,labelInputsEnabled:n,state:s}=this,o=this.visibleElements.labels,r=i.values[e],a=this.classes(g.labelElement,o?null:g.hidden,n&&"disabled"!==s?g.labelElementInteractive:null);return p("span",{afterCreate:this._afterLabelCreate,afterRemoved:this._afterLabelRemoved,"aria-hidden":(!o).toString(),bind:this,class:a,"data-thumb-index":e,key:`${t}-label-${e}`,id:`${t}-label-${e}`,role:n?"button":null,"touch-action":"none"},this._activeLabelInputIndex===e?this.renderValueInput(e):r)}renderValueInput(e){const t=this.values[e];return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.sliderValue,bind:this,class:g.labelInput,"data-input-type":"thumb","data-input-index":e,required:!0,tabIndex:0,type:"text",value:this._formatInputValue(t,"value",e),onblur:this._onLabelInputBlur,onkeydown:this._onInputKeyDown})}renderMax(){const{_isMaxInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(g.maxElement,{[g.hidden]:!s,[g.maxElementInteractive]:i&&"disabled"!==n,[g.rangeElementActive]:e});return p("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMaxLabelCreate,bind:this,class:o,onclick:this._onMaxLabelClick,onkeydown:this._onMaxLabelKeyDown,role:i?"button":null,tabIndex:i?0:null},e?this.renderMaxInput():t.max)}renderMin(){const{_isMinInputActive:e,labels:t,rangeLabelInputsEnabled:i,state:n}=this,s=this.visibleElements.rangeLabels,o=this.classes(g.minElement,{[g.hidden]:!s,[g.minElementInteractive]:i&&"disabled"!==n,[g.rangeElementActive]:e});return p("div",{"aria-hidden":(!s).toString(),afterCreate:this._afterMinLabelCreate,bind:this,class:o,onclick:this._onMinLabelClick,onkeydown:this._onMinLabelKeyDown,role:i?"button":null,tabIndex:i?0:null},e?this.renderMinInput():t.min)}renderMaxInput(){return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.maximumValue,bind:this,class:g.rangeInput,"data-input-type":"max",required:!0,tabIndex:0,type:"text",value:this._formatInputValue(this.max,"max"),onblur:this._onMaxInputBlur,onkeydown:this._onInputKeyDown})}renderMinInput(){return p("input",{afterCreate:this._afterInputCreate,"aria-label":this.messages.minimumValue,bind:this,class:g.rangeInput,"data-input-type":"min",required:!0,tabIndex:0,type:"text",value:this._formatInputValue(this.min,"min"),onblur:this._onMinInputBlur,onkeydown:this._onInputKeyDown})}renderExtraContentElements(){return p("div",{bind:this,class:g.extraContentElement},this.extraNodes)}renderTicksContainer(){if(this.tickConfigs&&this.trackElement&&(0!==this._trackHeight||0!==this._trackWidth))return this.tickConfigs.map(((e,t)=>p("div",{key:"ticks-container",class:this.classes(g.ticksContainerElement)},this.renderTicks(e,t))))}renderTicks(e,i){const{mode:n,values:s}=e;if(this.tickElements.getItemAt(i)||this.tickElements.add(new t,i),"position"===n){const t=Array.isArray(s)?s:[s];return this._calculateTickPositions(t).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}if("percent"===n&&Array.isArray(s)){const{max:t,min:n}=this,o=t-n,r=s.map((e=>this._applyPrecisionToPosition(e/100*o+n)));return this._calculateTickPositions(r).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}const o=Array.isArray(s)&&s.length?s[0]:isNaN(s)?null:s,r=this._getTickCounts(o,e);return this._calculateEquidistantTickPositions(r).map(((t,n)=>this.renderTickGroup(e,n,i,t)))}renderTickGroup(e,t,i,n){const s="position"===e.mode?Array.isArray(e.values)?e.values[t]:e.values:this._valueFromPosition(n);if(!o(s)&&!isNaN(s))return p("div",{afterCreate:this._afterTickGroupCreate,afterRemoved:this._afterTickGroupRemoved,bind:this,"data-config":e,"data-position":n,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":s,onclick:this._onTickGroupClick,key:`tick-group-${t}`},this.renderTickLine(e,t,i,s),e.labelsVisible?this.renderTickLabel(e,t,i,s):null)}renderTickLine(e,t,i,n){return p("div",{afterCreate:this._afterTickLineCreate,"aria-valuenow":n.toString(),bind:this,class:g.tickElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:this._getPositionStyleForElement(n)})}renderTickLabel(e,t,i,n){const s=e.labelFormatFunction?e.labelFormatFunction(n,"tick",t):this.viewModel.getLabelForValue(n,"tick",t);return p("div",{afterCreate:this._afterTickLabelCreate,"aria-label":s,"aria-valuenow":n.toString(),"aria-valuetext":s,bind:this,class:g.tickLabelElement,"data-config":e,"data-tick-config-index":i,"data-tick-group-index":t,"data-value":n,key:`tick-label-${t}`,style:`transform: translate(-50%); ${this._getPositionStyleForElement(n)}`},s)}_afterContainerCreate(e){this.own(u(e,(()=>this.scheduleRender())))}_afterTrackCreate(e){this._set("trackElement",e),e.addEventListener("pointerdown",this._onTrackPointerDown),this.scheduleRender()}_afterTrackRemoved(e){e.removeEventListener("pointerdown",this._onTrackPointerDown),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp)}_afterSegmentCreate(e){this.segmentElements.add(e),e.addEventListener("pointerdown",this._onSegmentPointerDown)}_afterSegmentRemoved(e){this.segmentElements.remove(e),e.removeEventListener("pointerdown",this._onSegmentPointerDown)}_afterEffectiveSegmentCreate(e){this.effectiveSegmentElements.add(e)}_afterEffectiveSegmentRemoved(e){this.effectiveSegmentElements.remove(e)}_afterAnchorCreate(e){if(this._anchorElements.push(e),e.addEventListener("pointerdown",this._onAnchorPointerDown),this.thumbCreatedFunction){const t=e["data-thumb-index"],i=e["data-value"],n=this.thumbElements.getItemAt(t)||null,s=this.labelElements.getItemAt(t)||null;this.thumbCreatedFunction(t,i,n,s)}}_afterAnchorUpdate(e){if(r(this._focusedAnchorIndex)){e["data-thumb-index"]===this._focusedAnchorIndex&&(e.focus(),this._focusedAnchorIndex=null)}}_afterAnchorRemoved(e){const t=this._anchorElements.indexOf(e,0);t>-1&&this._anchorElements.splice(t,1),e.removeEventListener("pointerdown",this._onAnchorPointerDown)}_afterThumbCreate(e){this.thumbElements.add(e)}_afterThumbRemoved(e){this.thumbElements.remove(e)}_afterLabelCreate(e){this.labelElements.add(e),e.addEventListener("pointerdown",this._onLabelPointerDown),e.addEventListener("pointerup",this._onLabelPointerUp)}_afterLabelRemoved(e){this.labelElements.remove(e),e.removeEventListener("pointerdown",this._onLabelPointerDown),e.removeEventListener("pointerup",this._onLabelPointerUp)}_afterInputCreate(e){if(e.focus(),e.select(),this.inputCreatedFunction){const t=e.getAttribute("data-input-type"),i="thumb"===t?e["data-input-index"]:null;this.inputCreatedFunction(e,t,i)}}_afterTickLineCreate(e){const t=e["data-tick-config-index"],i=e["data-tick-group-index"],n=this.tickElements.getItemAt(t);n.getItemAt(i)?n.getItemAt(i).tickElement=e:n.add({groupElement:null,tickElement:e,labelElement:null},i)}_afterTickLabelCreate(e){const t=e["data-tick-config-index"],i=e["data-tick-group-index"],n=this.tickElements.getItemAt(t);n.getItemAt(i)?n.getItemAt(i).labelElement=e:n.add({groupElement:null,labelElement:e,tickElement:null},i)}_afterTickGroupRemoved(e){const t=e["data-tick-config-index"],i=this.tickElements.items[t],n=null==i?void 0:i.find((t=>t.groupElement===e));n&&i.remove(n)}_afterTickGroupCreate(e){const t=e["data-config"];if(t&&t.tickCreatedFunction){var i,n;const s=e["data-tick-config-index"],o=e["data-tick-group-index"],r=e["data-value"],a=null==(i=this.tickElements)||null==(n=i.getItemAt(s))?void 0:n.getItemAt(o);if(a){a.groupElement=e;const i=a.tickElement||null,n=a.labelElement||null;t.tickCreatedFunction(r,i,n)}}}_afterMaxLabelCreate(e){this._set("maxLabelElement",e)}_afterMinLabelCreate(e){this._set("minLabelElement",e)}_onAnchorKeyDown(e){if(this._isDisabled()||"editing"===this.state)return;const{target:t}=e,i=n(e),{_anchorElements:s,values:o}=this,a=t["data-thumb-index"],l=s[a],h=o[a],d=[f.moveAnchorUp,f.moveAnchorDown,f.moveAnchorLeft,f.moveAnchorRight];if(i===f.showInput&&this.labelInputsEnabled)this._activeLabelInputIndex=a,this.notifyChange("state");else if(d.includes(i)){e.preventDefault();const{steps:t}=this,n=i===f.moveAnchorUp||i===f.moveAnchorRight?1:-1;if(r(t))this._toStep(a,this._isReversedLayout()?-1*n:n);else{const{precision:e}=this,t=this._getPositionOfElement(l),i=this._valueFromPosition(t),s=this._isHorizontalLayout()?n:-1*n;let o;o=0===e?this._positionFromValue(i+s):1===e?this._positionFromValue(i+.1*s):t+s,this._toPosition(a,o)}const s=this.values[a];h!==s&&this._emitThumbChangeEvent({index:a,oldValue:h,value:s})}else if(i===f.moveAnchorToMax||i===f.moveAnchorToMin){e.preventDefault();const{min:t,max:n}=this._getAnchorBoundsInPixels(a),s=this._isPositionInverted()?i===f.moveAnchorToMax?t:n:i===f.moveAnchorToMin?t:n;this._toPosition(a,s);const o=this.values[a];h!==o&&this._emitThumbChangeEvent({index:a,oldValue:h,value:o})}}_onAnchorPointerDown(e){if(this._isDisabled())return;const{target:t,clientX:i,clientY:n}=e,s=t["data-thumb-index"];void 0!==s&&(e.preventDefault(),this._anchorElements[s]&&this._anchorElements[s].focus(),this._storeTrackDimensions(),this._dragStartInfo={clientX:i,clientY:n,index:s,position:this._getPositionOfElement(this._anchorElements[s])},this.notifyChange("state"),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onAnchorPointerMove(e){if("editing"===this.state||!this._dragStartInfo)return;e.preventDefault();const{values:t,_anchorElements:i,_dragged:n,_dragStartInfo:s,_dragStartInfo:{index:o,position:r}}=this,{clientX:a,clientY:l}=e,h=n?"drag":"start",d=i[o],c=this._getPositionOfElement(d),m=this._applyPrecisionToPosition(this._isHorizontalLayout()?r+a-s.clientX:r+l-s.clientY);if(c===m)return;const u=t[o];this._dragged=!0,this._toPosition(o,m);const _=this.values[o];n?u!==_&&this._emitThumbDragEvent({index:o,state:h,value:_}):this._emitThumbDragEvent({index:o,state:h,value:u})}_onAnchorPointerUp(e){if(document.removeEventListener("pointerup",this._onAnchorPointerUp),document.removeEventListener("pointermove",this._onAnchorPointerMove),!this._dragStartInfo)return;e.preventDefault();const{index:t}=this._dragStartInfo,i=this._dragged,n=this.values[t];this._dragged=!1,this._dragStartInfo=null,this._lastMovedHandleIndex=t,this.notifyChange("state"),i?this._emitThumbDragEvent({index:t,state:"stop",value:n}):(this.scheduleRender(),"editing"!==this.state&&this._emitThumbClickEvent({index:t,value:n}))}_onTrackPointerDown(e){const{_dragStartInfo:t,snapOnClickEnabled:i,state:n,values:s}=this;if(this._isDisabled()||"editing"===n||t)return;if(document.addEventListener("pointermove",this._onTrackPointerMove),document.addEventListener("pointerup",this._onTrackPointerUp),!i||!s.length)return;const{steps:a}=this,{clientX:l,clientY:h}=e,d=this._getCursorPositionFromEvent(e),c=this._valueFromPosition(d),m=this._getIndexOfNearestValue(c),u=s[m],_=s.some(((e,t)=>e===u&&t!==m))&&c>u?this.values.lastIndexOf(u):m;if(o(_))return;const p=s[_],v=r(a)?this._calculateNearestStepPosition(d):d;this._toPosition(_,v),this._dragged=!0,this._dragStartInfo={clientX:l,clientY:h,index:_,position:v},this._focusedAnchorIndex=_,this.notifyChange("state"),this._emitThumbDragEvent({index:_,state:"start",value:p});const g=this.values[_];p!==g&&this._emitThumbDragEvent({index:_,state:"drag",value:g}),document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove)}_onTrackPointerMove(e){e.preventDefault(),this._dragged=!0}_onTrackPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointermove",this._onTrackPointerMove),document.removeEventListener("pointerup",this._onTrackPointerUp),this.snapOnClickEnabled||(this._dragged=!1),!this._dragged){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitTrackClickEvent({value:i})}}_onSegmentPointerDown(e){e.preventDefault();const t=e.target,i=t["data-segment-index"],n=t["data-min-thumb-index"],s=t["data-max-thumb-index"];if(this._isDisabled()||o(n)||o(s))return;e.stopPropagation(),this._storeTrackDimensions(),document.addEventListener("pointerup",this._onSegmentPointerUp);const r=this._getAnchorDetails(n),a=this._getAnchorDetails(s);var l,h;this.syncedSegmentsEnabled?(this.segmentElements.forEach((e=>e.classList.add(g.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.add(g.anchorElementActive)))):(this.segmentElements.getItemAt(i).classList.add(g.segmentElementActive),null==(l=this._anchorElements[r.index])||l.classList.add(g.anchorElementActive),null==(h=this._anchorElements[a.index])||h.classList.add(g.anchorElementActive));this._segmentDragStartInfo={cursorPosition:this._getCursorPositionFromEvent(e),index:i,details:this._normalizeSegmentDetails({min:r,max:a})},this.draggableSegmentsEnabled&&(document.addEventListener("pointermove",this._onSegmentPointerMove),this.notifyChange("state"),this._emitSegmentDragEvent({index:i,state:"start",thumbIndices:[n,s]}))}_onSegmentPointerMove(e){if(!this._segmentDragStartInfo)return;e.preventDefault();const{_trackHeight:t,_trackWidth:i,_segmentDragStartInfo:{index:n,cursorPosition:s,details:{min:o,max:r}}}=this,{index:a,position:l,value:h}=o,{index:d,position:c,value:m}=r;this._dragged=!0;const u=this._getCursorPositionFromEvent(e);if(u===s)return;const _=this._positionToPercent(s),p=this._positionToPercent(u)-_,v=this._positionToPercent(l)+p,g=this._positionToPercent(c)+p,{min:f}=this._getAnchorBoundsAsPercents(a),{max:b}=this._getAnchorBoundsAsPercents(d);let E=!1,x=!1;if(v<f?E=!0:g>b&&(x=!0),E){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(a),i=this._isPositionInverted()?t:e,n=i,s=m+(i-h),o=s-this.values[d];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,d],[n,s]))}if(x){const{min:e,max:t}=this.viewModel.getBoundsForValueAtIndex(d),i=this._isPositionInverted()?e:t,n=i,s=h+(i-m),o=s-this.values[a];return void(this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(o):this._updateAnchorValues([a,d],[s,n]))}const k=this._isHorizontalLayout()?i:t,y=g/100*k,I=v/100*k,P=this.values,A=[P[a],P[d]],L=this._getValueForAnchorAtPosition(a,I),S=this._getValueForAnchorAtPosition(d,y);this.syncedSegmentsEnabled?this._updateAnchorValuesByDifference(L-A[0]):this._updateAnchorValues([a,d],[L,S]);[this.values[a],this.values[d]].every(((e,t)=>e===A[t]))||this._emitSegmentDragEvent({index:n,state:"drag",thumbIndices:[a,d]})}_onSegmentPointerUp(e){if(e.preventDefault(),document.removeEventListener("pointerup",this._onSegmentPointerUp),document.removeEventListener("pointermove",this._onSegmentPointerMove),!this._segmentDragStartInfo)return;const{_dragged:t,max:i,min:n,values:s}=this,{index:o,details:{min:{index:r},max:{index:a}}}=this._segmentDragStartInfo;if(this.segmentElements.forEach((e=>e.classList.remove(g.segmentElementActive))),this._anchorElements.forEach((e=>e.classList.remove(g.anchorElementActive))),this.draggableSegmentsEnabled){const e=i-n,t=s[r],l=s[a];this._lastMovedHandleIndex=t===l?t>e/2?r:a:null,this._dragged=!1,this._segmentDragStartInfo=null,this.notifyChange("state"),this._emitSegmentDragEvent({index:o,state:"stop",thumbIndices:[r,a]})}if(!t){const t=this._getCursorPositionFromEvent(e),i=this._valueFromPosition(t);this._emitSegmentClickEvent({index:o,value:i,thumbIndices:[r,a]})}}_onTickGroupClick(e){const t=e.target;if(t["data-config"]){const e=t["data-tick-config-index"],i=t["data-tick-group-index"],n=t["data-value"];this._emitTickClickEvent({configIndex:e,groupIndex:i,value:n})}}_storeTrackDimensions(){if(this.trackElement){const e=this._getDimensions(this.trackElement);this._trackHeight=e.height,this._trackWidth=e.width}}_onLabelPointerDown(){this._isDisabled()||(this._dragged=!1,document.addEventListener("pointerup",this._onAnchorPointerUp),document.addEventListener("pointermove",this._onAnchorPointerMove))}_onLabelPointerMove(){this._isDisabled()||(this._dragged=!0)}_onLabelPointerUp(e){if(this._isDisabled())return;const t=e.target["data-thumb-index"];this.labelInputsEnabled&&!this._dragged&&r(t)&&(this._activeLabelInputIndex=t),this._dragged=!1,this.notifyChange("state"),document.removeEventListener("pointerup",this._onLabelPointerUp),document.removeEventListener("pointermove",this._onLabelPointerMove)}_onLabelInputBlur(e){const{_activeLabelInputIndex:t,values:i,viewModel:n}=this,s=e.target.value;if(this._activeLabelInputIndex=null,this.notifyChange("state"),!s)return;const o=this._parseInputValue(s,"value",t),r=i[t],{min:a,max:l}=this.viewModel.getBoundsForValueAtIndex(t);if(o<a||o>l)return;n.setValue(t,o);const h=this.values[t];r!==h&&this._emitThumbChangeEvent({index:t,oldValue:r,value:h})}_onInputKeyDown(e){if(this._isDisabled())return;const{target:t}=e,i=n(e),{hideInput1:s,hideInput2:o,hideInput3:a}=f,{_activeLabelInputIndex:l,_anchorElements:h}=this,d=t;if(i===s||i===o||i===a){e.stopPropagation();const t=l;d.blur(),r(t)?h[t].focus():d.parentElement.focus()}}_onMaxLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"max-click",value:this.max}),this.rangeLabelInputsEnabled&&(this._isMaxInputActive=!0,this.notifyChange("state")))}_onMaxLabelKeyDown(e){this._isDisabled()||n(e)!==f.showInput||(this._isMaxInputActive=!0,this.notifyChange("state"))}_onMaxInputBlur(e){const t=e.target.value;if(this._isMaxInputActive=!1,this.notifyChange("state"),!t)return;const i=this.max,n=this._parseInputValue(t,"max");n<=this.min||(this.viewModel.set("max",n),this.max!==i&&this._emitMaxChangeEvent({oldValue:i,value:this.max}))}_onMinLabelClick(){this._isDisabled()||(this._emitRangeLabelClickEvent({type:"min-click",value:this.min}),this.rangeLabelInputsEnabled&&(this._isMinInputActive=!0,this.notifyChange("state")))}_onMinLabelKeyDown(e){this._isDisabled()||n(e)!==f.showInput||(this._isMinInputActive=!0,this.notifyChange("state"))}_onMinInputBlur(e){const t=e.target.value;if(this._isMinInputActive=!1,this.notifyChange("state"),!t)return;const i=this.min,n=this._parseInputValue(t,"min");n>=this.max||(this.viewModel.set("min",n),this.min!==i&&this._emitMinChangeEvent({oldValue:i,value:this.min}))}_isDisabled(){return this.disabled||"disabled"===this.state}_positionFromValue(e){const{max:t,min:i}=this,n=t-i;if(0===n)return 0;const{_trackHeight:s,_trackWidth:o}=this,r=this._isHorizontalLayout();let a=r?parseFloat((o*(e-i)/n).toFixed(2)):parseFloat((s*(t-e)/n).toFixed(2));return this._isReversedLayout()&&(a=r?o-a:s-a),a}_valueFromPosition(e){const{_trackHeight:t,_trackWidth:i,max:n,min:s,precision:o}=this,r=n-s;let a=this._isHorizontalLayout()?e*r/i+s:r*(1e3-e/t*1e3)/1e3+s;return this._isReversedLayout()&&(a=n+s-a),parseFloat(a.toFixed(o))}_positionToPercent(e){const{_trackHeight:t,_trackWidth:i}=this,n=100*e/(this._isHorizontalLayout()?i:t);return this._applyPrecisionToPosition(n)}_applyPrecisionToPosition(e){return parseFloat(e.toFixed(this._positionPrecision))}_isPositionInverted(){const{layout:e}=this;return"horizontal-reversed"===e||"vertical"===e}_isHorizontalLayout(){return this.layout.includes("horizontal")}_isReversedLayout(){return this.layout.includes("reversed")}_normalizeSegmentDetails(e){if(this._isPositionInverted()){const{min:t,max:i}=e;return{min:i,max:t}}return e}_parseInputValue(e,t,i){return this.inputParseFunction?this.inputParseFunction(e,t,i):this.viewModel.defaultInputParseFunction(e)}_formatInputValue(e,t,i){return this.inputFormatFunction?this.inputFormatFunction(e,t,i):this.viewModel.defaultInputFormatFunction(e)}_getAnchorDetails(e){const t=[...this.values].sort(((e,t)=>e-t))[e],i=this.values.indexOf(t);return{index:i,position:this._getPositionOfElement(this._anchorElements[i]),value:t}}_updateAnchorStyle(e,t){const i=this._anchorElements[e];i&&(this._isHorizontalLayout()?i.style.left=`${t}`:i.style.top=`${t}`)}_getStyleForAnchor(e,t,i){const n=this._getPositionStyleForElement(e);if(1===this.values.length)return`${n}`;const s=this._zIndices[t];return`${n}; z-index: ${i?this._zIndexOffset+s:s}`}_getPositionStyleForElement(e){const t=this._positionFromValue(e),i=this._positionToPercent(t);return`${this._isHorizontalLayout()?"left":"top"}: ${i+"%"}`}_getPositionOfElement(e){const t=this._getDimensions(e.offsetParent),i=this._getDimensions(e);return this._isHorizontalLayout()?this._applyPrecisionToPosition(i.left-t.left):this._applyPrecisionToPosition(i.top-t.top)}_updateAnchorValues(e,t){e.forEach(((e,i)=>this._toValue(e,t[i])))}_updateAnchorValuesByDifference(e){const{min:t,max:i,values:n}=this;n.forEach(((n,s)=>this._toValue(s,Math.max(Math.min(n+e,i),t))))}_toValue(e,t){if(r(this.steps)){t=this._getStepValues()[this._getIndexOfNearestStepValue(t)]}this._updateAnchorStyle(e,this._getPositionStyleForElement(t)),this.viewModel.setValue(e,t)}_toPosition(e,t){const i=r(this.steps)?this._getStepValueForAnchorAtPosition(e,t):this._getValueForAnchorAtPosition(e,t);this._updateAnchorStyle(e,this._getPositionStyleForElement(i)),this.viewModel.setValue(e,i)}_getValueForAnchorAtPosition(e,t){const{min:i,max:n}=this._getAnchorBoundsInPixels(e),{min:s,max:o}=this.viewModel.getBoundsForValueAtIndex(e);let r,a,l=null;return this._isPositionInverted()?(r=s,a=o):(r=o,a=s),l=t>n?r:t<i?a:this._valueFromPosition(t),l>o?l=o:l<s&&(l=s),l}_getStepValueForAnchorAtPosition(e,t){const i=this._getStepValues(),n=this._calculateNearestStepPosition(t),s=this._getValueForAnchorAtPosition(e,n);return i[this._getIndexOfNearestStepValue(s)]}_getAnchorBoundsAsPercents(e){const{min:t,max:i}=this._getAnchorBoundsInPixels(e);return{min:this._positionToPercent(t),max:this._positionToPercent(i)}}_getAnchorBoundsInPixels(e){const{_anchorElements:t,_trackHeight:i,_trackWidth:n,effectiveMax:s,effectiveMin:o,thumbsConstrained:a}=this,l=t[e-1],h=t[e+1],d=this._isHorizontalLayout()?n:i,c=r(s)?this._isPositionInverted()?d-this._positionFromValue(s):this._positionFromValue(s):d,m=r(o)?this._isPositionInverted()?d-this._positionFromValue(o):this._positionFromValue(o):0;return a?this._isPositionInverted()?{max:l?this._getPositionOfElement(l):c,min:h?this._getPositionOfElement(h):m}:{max:h?this._getPositionOfElement(h):c,min:l?this._getPositionOfElement(l):m}:{max:c,min:m}}_getIndexOfNearestValue(e){return this.values.indexOf(this.values.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t)))}_getCursorPositionFromEvent(e){const t=this._getDimensions(this.trackElement);return this._isHorizontalLayout()?e.clientX-t.left:e.clientY-t.top}_getStepValues(){const{steps:e}=this;if(Array.isArray(e))return e;const{max:t,min:i}=this,n=Math.ceil((t-i)/e),s=[];for(let o=0;o<=n;o++){const n=i+e*o;s.push(n>t?t:n)}return s}_toStep(e,t){const{values:i,viewModel:n}=this,s=i[e],o=this._getStepValues(),r=o.indexOf(s);let a=null;if(r>-1){let i=o[r+t];isNaN(i)&&(i=o[r]);const n=this._positionFromValue(i);a=this._getStepValueForAnchorAtPosition(e,n)}else{a=o[this._getIndexOfNearestStepValue(s)+t]}n.setValue(e,a)}_getIndexOfNearestStepValue(e){const{steps:t}=this;if(o(t))return null;const i=this._getStepValues(),n=i.reduce(((t,i)=>Math.abs(i-e)<Math.abs(t-e)?i:t));return i.indexOf(n)}_calculateNearestStepPosition(e){const t=this._valueFromPosition(e),i=this._getIndexOfNearestStepValue(t),n=this._getStepValues();return this._positionFromValue(n[i])}_getTickCounts(e,t){const{mode:i}=t;return"count"===i||"position"===i?e||0:"percent"===i&&100/e||0}_calculateTickPositions(e){return e.map((e=>this._positionFromValue(e)))}_calculateEquidistantTickPositions(e){const{_trackWidth:t,_trackHeight:i}=this,n=this._isHorizontalLayout()?t:i,s=n/(e-1),o=[];if(1===e)return[n/2];for(let r=0;r<e;r++){const e=r*s;e<=n&&o.push(e)}return o}_getDimensions(e){try{return e.getBoundingClientRect()}catch(t){if("object"==typeof t&&null!==t)return new DOMRect(0,0,0,0);throw t}}_emitTrackClickEvent(e){this.emit("track-click",{...e,type:"track-click"})}_emitTickClickEvent(e){this.emit("tick-click",{...e,type:"tick-click"})}_emitMaxChangeEvent(e){this.emit("max-change",{...e,type:"max-change"})}_emitMinChangeEvent(e){this.emit("min-change",{...e,type:"min-change"})}_emitThumbChangeEvent(e){this.emit("thumb-change",{...e,type:"thumb-change"})}_emitThumbClickEvent(e){this.emit("thumb-click",{...e,type:"thumb-click"})}_emitThumbDragEvent(e){this.emit("thumb-drag",{...e,type:"thumb-drag"})}_emitSegmentClickEvent(e){this.emit("segment-click",{...e,type:"segment-click"})}_emitSegmentDragEvent(e){this.emit("segment-drag",{...e,type:"segment-drag"})}_emitRangeLabelClickEvent(e){this.emit(e.type,{...e})}};e([h()],k.prototype,"disabled",void 0),e([h()],k.prototype,"draggableSegmentsEnabled",void 0),e([a("viewModel.effectiveMax")],k.prototype,"effectiveMax",void 0),e([a("viewModel.effectiveMin")],k.prototype,"effectiveMin",void 0),e([h({readOnly:!0})],k.prototype,"effectiveSegmentElements",void 0),e([h()],k.prototype,"extraNodes",void 0),e([h()],k.prototype,"inputCreatedFunction",void 0),e([a("viewModel.inputFormatFunction")],k.prototype,"inputFormatFunction",void 0),e([a("viewModel.inputParseFunction")],k.prototype,"inputParseFunction",void 0),e([h({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],k.prototype,"label",void 0),e([h({readOnly:!0})],k.prototype,"labelElements",void 0),e([h()],k.prototype,"labelInputsEnabled",void 0),e([a("viewModel.labelFormatFunction")],k.prototype,"labelFormatFunction",void 0),e([a("viewModel.labels")],k.prototype,"labels",void 0),e([h()],k.prototype,"labelsVisible",null),e([h({value:"horizontal"})],k.prototype,"layout",null),e([a("viewModel.max")],k.prototype,"max",void 0),e([h({readOnly:!0})],k.prototype,"maxLabelElement",void 0),e([h(),_("esri/widgets/Slider/t9n/Slider")],k.prototype,"messages",void 0),e([a("viewModel.min")],k.prototype,"min",void 0),e([h({readOnly:!0})],k.prototype,"minLabelElement",void 0),e([a("viewModel.precision")],k.prototype,"precision",void 0),e([h()],k.prototype,"rangeLabelInputsEnabled",void 0),e([h()],k.prototype,"rangeLabelsVisible",null),e([h({readOnly:!0})],k.prototype,"segmentElements",void 0),e([h()],k.prototype,"snapOnClickEnabled",void 0),e([h({readOnly:!0})],k.prototype,"state",null),e([h()],k.prototype,"steps",void 0),e([h()],k.prototype,"syncedSegmentsEnabled",void 0),e([a("viewModel.thumbsConstrained")],k.prototype,"thumbsConstrained",void 0),e([h()],k.prototype,"thumbCreatedFunction",void 0),e([h({readOnly:!0})],k.prototype,"thumbElements",void 0),e([h()],k.prototype,"tickConfigs",null),e([h({readOnly:!0})],k.prototype,"tickElements",void 0),e([h({readOnly:!0})],k.prototype,"trackElement",void 0),e([a("viewModel.values")],k.prototype,"values",void 0),e([h()],k.prototype,"viewModel",void 0),e([h()],k.prototype,"visibleElements",void 0),e([l("visibleElements")],k.prototype,"castVisibleElements",null),k=e([d(b)],k);const y=k;export{y as default};
|
package/widgets/Swipe.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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as i}from"../core/events.js";import{aliasOf as t}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import"./support/widgetUtils.js";import{messageBundle as s}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{tsx as a}from"./support/jsxFactory.js";import l from"./Swipe/SwipeViewModel.js";const d={base:"esri-swipe",baseDisabled:"esri-swipe--disabled",vertical:"esri-swipe--vertical",horizontal:"esri-swipe--horizontal",container:"esri-swipe__container",divider:"esri-swipe__divider",handle:"esri-swipe__handle",handleHidden:"esri-swipe__handle--hidden",widgetIcon:"esri-icon-up-down-arrows",handleIcon:"esri-swipe__handle-icon",dragIconHorizontal:"esri-icon-drag-horizontal",dragIconVertical:"esri-icon-drag-vertical",widget:"esri-widget",disabled:"esri-disabled"},c={handle:!0,divider:!0};let p=class extends n{constructor(e,i){super(e,i),this.direction=null,this.disabled=!1,this.dragLabel=void 0,this.iconClass=d.widgetIcon,this.label=void 0,this.leadingLayers=null,this.messages=null,this.position=null,this.trailingLayers=null,this.view=null,this.viewModel=new l,this._pointerOffset=null,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}set visibleElements(e){this._set("visibleElements",{...c,...e})}get visibleElements(){return this._get("visibleElements")||c}render(){const{state:e,direction:i}=this.viewModel,t="disabled"===e||this.disabled,r={[d.disabled]:t,[d.baseDisabled]:t,[d.vertical]:"vertical"===i,[d.horizontal]:"horizontal"===i};return a("div",{class:this.classes(d.base,d.widget,r)},"disabled"===e?null:this.renderContainer())}renderHandle(){const{direction:e}=this.viewModel,{visibleElements:i}=this,t={[d.dragIconHorizontal]:"vertical"===e,[d.dragIconVertical]:"horizontal"===e},r=this.classes(d.handle,!i.handle&&d.handleHidden);return a("div",{key:"handle",role:"presentation",class:r},a("span",{"aria-hidden":"true",class:this.classes(d.handleIcon,t)}))}renderDivider(){const{visibleElements:e}=this;return e&&e.divider?a("div",{key:"divider",role:"presentation",class:d.divider}):null}renderContent(){return[this.renderDivider(),this.renderHandle()]}renderContainer(){const{disabled:e,dragLabel:i,viewModel:t}=this,{max:r,min:o,direction:n,position:s}=t,l=`${s}%`,c={top:"vertical"===n?l:null,left:"vertical"===n?null:l},p=this.renderContent();return a("div",e?{key:"container",role:"presentation",styles:c,class:d.container}:{tabIndex:0,key:"container",bind:this,afterCreate:this._afterContainerCreate,onkeydown:this._onContainerKeyDown,"touch-action":"none",role:"slider",title:i,"aria-label":i,"aria-orientation":n,"aria-valuemax":`${r}`,"aria-valuemin":`${o}`,"aria-valuenow":`${s}`,"aria-valuetext":l,styles:c,class:d.container},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:i}=this,t=e.target,r=("vertical"===i?t.clientHeight:t.clientWidth)/2,o=t.getBoundingClientRect(),n=e.clientX-o.left,s=e.clientY-o.top;this._pointerOffset="vertical"===i?s-r:n-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:i,container:t,direction:r}=this,{clientX:o,clientY:n}=e,{top:s,left:a,width:l,height:d}=t.getBoundingClientRect(),c=("vertical"===r?n-s-i:o-a-i)/("vertical"===r?d:l)*100;this.position=c}_getKeyPosition(e){const t=i(e),{position:r}=this,{max:o,min:n,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import{eventKey as i}from"../core/events.js";import{aliasOf as t}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import n from"./Widget.js";import"./support/widgetUtils.js";import{messageBundle as s}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{tsx as a}from"./support/jsxFactory.js";import l from"./Swipe/SwipeViewModel.js";const d={base:"esri-swipe",baseDisabled:"esri-swipe--disabled",vertical:"esri-swipe--vertical",horizontal:"esri-swipe--horizontal",container:"esri-swipe__container",divider:"esri-swipe__divider",handle:"esri-swipe__handle",handleHidden:"esri-swipe__handle--hidden",widgetIcon:"esri-icon-up-down-arrows",handleIcon:"esri-swipe__handle-icon",dragIconHorizontal:"esri-icon-drag-horizontal",dragIconVertical:"esri-icon-drag-vertical",widget:"esri-widget",disabled:"esri-disabled"},c={handle:!0,divider:!0};let p=class extends n{constructor(e,i){super(e,i),this.direction=null,this.disabled=!1,this.dragLabel=void 0,this.iconClass=d.widgetIcon,this.label=void 0,this.leadingLayers=null,this.messages=null,this.position=null,this.trailingLayers=null,this.view=null,this.viewModel=new l,this._pointerOffset=null,this._container=null,this._onContainerPointerDown=this._onContainerPointerDown.bind(this),this._onContainerPointerMove=this._onContainerPointerMove.bind(this),this._onContainerPointerUp=this._onContainerPointerUp.bind(this)}set visibleElements(e){this._set("visibleElements",{...c,...e})}get visibleElements(){return this._get("visibleElements")||c}render(){const{state:e,direction:i}=this.viewModel,t="disabled"===e||this.disabled,r={[d.disabled]:t,[d.baseDisabled]:t,[d.vertical]:"vertical"===i,[d.horizontal]:"horizontal"===i};return a("div",{class:this.classes(d.base,d.widget,r)},"disabled"===e?null:this.renderContainer())}renderHandle(){const{direction:e}=this.viewModel,{visibleElements:i}=this,t={[d.dragIconHorizontal]:"vertical"===e,[d.dragIconVertical]:"horizontal"===e},r=this.classes(d.handle,!i.handle&&d.handleHidden);return a("div",{key:"handle",role:"presentation",class:r},a("span",{"aria-hidden":"true",class:this.classes(d.handleIcon,t)}))}renderDivider(){const{visibleElements:e}=this;return e&&e.divider?a("div",{key:"divider",role:"presentation",class:d.divider}):null}renderContent(){return[this.renderDivider(),this.renderHandle()]}renderContainer(){const{disabled:e,dragLabel:i,viewModel:t}=this,{max:r,min:o,direction:n,position:s}=t,l=`${s}%`,c={top:"vertical"===n?l:null,left:"vertical"===n?null:l},p=this.renderContent();return a("div",e?{key:"container",role:"presentation",styles:c,class:d.container}:{tabIndex:0,key:"container",bind:this,afterCreate:this._afterContainerCreate,onkeydown:this._onContainerKeyDown,"touch-action":"none",role:"slider",title:i,"aria-label":i,"aria-orientation":n,"aria-valuemax":`${r}`,"aria-valuemin":`${o}`,"aria-valuenow":`${s}`,"aria-valuetext":l,styles:c,class:d.container},p)}_afterContainerCreate(e){this._container=e,e.addEventListener("pointerdown",this._onContainerPointerDown)}_calculatePointerOffset(e){const{direction:i}=this,t=e.target,r=("vertical"===i?t.clientHeight:t.clientWidth)/2,o=t.getBoundingClientRect(),n=e.clientX-o.left,s=e.clientY-o.top;this._pointerOffset="vertical"===i?s-r:n-r}_onContainerPointerDown(e){e.preventDefault(),this._container&&document.activeElement!==this.container&&this._container.focus(),this._calculatePointerOffset(e),document.addEventListener("pointerup",this._onContainerPointerUp),document.addEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerUp(e){e.preventDefault(),document.removeEventListener("pointerup",this._onContainerPointerUp),document.removeEventListener("pointermove",this._onContainerPointerMove)}_onContainerPointerMove(e){e.preventDefault();const{_pointerOffset:i,container:t,direction:r}=this,{clientX:o,clientY:n}=e,{top:s,left:a,width:l,height:d}=t.getBoundingClientRect(),c=("vertical"===r?n-s-i:o-a-i)/("vertical"===r?d:l)*100;this.position=c}_getKeyPosition(e){const t=i(e),{position:r}=this,{max:o,min:n,step:s,stepMultiplier:a,direction:l}=this.viewModel,d=s*a;["ArrowUp","ArrowDown","ArrowLeft","ArrowRight","Home","End","PageUp","PageDown"].includes(t)&&(e.preventDefault(),e.stopPropagation());if("vertical"===l?"ArrowDown"===t||"ArrowRight"===t:"ArrowUp"===t||"ArrowRight"===t){return r+(e.shiftKey?d:s)}if("vertical"===l?"ArrowUp"===t||"ArrowLeft"===t:"ArrowDown"===t||"ArrowLeft"===t){return r-(e.shiftKey?d:s)}if("Home"===t)return n;if("End"===t)return o;if("vertical"===l?"PageDown"===t:"PageUp"===t)return r+d;return("vertical"===l?"PageUp"===t:"PageDown"===t)?r-d:null}_onContainerKeyDown(e){const i=this._getKeyPosition(e);"number"==typeof i&&(this.position=i)}};e([t("viewModel.direction")],p.prototype,"direction",void 0),e([r()],p.prototype,"disabled",void 0),e([r({aliasOf:{source:"messages.dragLabel",overridable:!0}})],p.prototype,"dragLabel",void 0),e([r()],p.prototype,"iconClass",void 0),e([r({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],p.prototype,"label",void 0),e([t("viewModel.leadingLayers")],p.prototype,"leadingLayers",void 0),e([r(),s("esri/widgets/Swipe/t9n/Swipe")],p.prototype,"messages",void 0),e([t("viewModel.position")],p.prototype,"position",void 0),e([t("viewModel.trailingLayers")],p.prototype,"trailingLayers",void 0),e([t("viewModel.view")],p.prototype,"view",void 0),e([r({type:l})],p.prototype,"viewModel",void 0),e([r()],p.prototype,"visibleElements",null),p=e([o("esri.widgets.Swipe")],p);const h=p;export{h as default};
|
package/widgets/TableList.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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import s from"../core/Handles.js";import{on as o,init as r}from"../core/watchUtils.js";import{aliasOf as n}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{accessibleHandler as d}from"./support/decorators/accessibleHandler.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as u}from"./support/decorators/vmEvent.js";import{tsx as h}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import g from"./TableList/ListItem.js";import p from"./TableList/TableListViewModel.js";import{findSelectedItem as b}from"./TableList/support/tableListUtils.js";import _ from"sortablejs";function y(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const v=t.ofType(g),f="root-tables",I="data-layer-uid",A="layerUid",S={base:"esri-table-list",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",noItems:"esri-table-list__no-items",list:"esri-table-list__list",listRoot:"esri-table-list__list--root",item:"esri-table-list__item",itemChosen:"esri-table-list__item--chosen",itemError:"esri-table-list__item--error",itemSelectable:"esri-table-list__item--selectable",itemContainer:"esri-table-list__item-container",actionsMenu:"esri-table-list__item-actions-menu",actionsMenuItem:"esri-table-list__item-actions-menu-item",actionsMenuItemActive:"esri-table-list__item-actions-menu-item--active",actions:"esri-table-list__item-actions",actionsList:"esri-table-list__item-actions-list",action:"esri-table-list__item-action",actionIcon:"esri-table-list__item-action-icon",actionImage:"esri-table-list__item-action-image",actionTitle:"esri-table-list__item-action-title",actionToggle:"esri-table-list__action-toggle",actionToggleOn:"esri-table-list__action-toggle--on",errorMessage:"esri-table-list__item-error-message",title:"esri-table-list__item-title",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",iconEllipses:"esri-icon-handle-horizontal",iconNoticeTriangle:"esri-icon-notice-triangle",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-table"},w={actions:"actions",actionSection:"action-section",items:"items"};function T(e){const{actionsOpen:t}=e;t&&(e.actionsOpen=!1)}let C=class extends c{constructor(e,t){super(e,t),this._handles=new s,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this.visibleItems=null,this.iconClass=S.widgetIcon,this.label=void 0,this.listItemCreatedFunction=null,this.map=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectionEnabled=!1,this.selectedItems=new v,this.tableItems=null,this.viewModel=new p}initialize(){this._setVisibleItems(this.tableItems),this.own(o(this.viewModel,"tableItems","change",(()=>this._itemsChanged())),r(this,"selectionEnabled",(()=>this._toggleSorting())))}destroy(){this._destroySortable(),this._handles.destroy(),this._handles=null}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){var e;const{visibleItems:t}=this,i=null==(e=this.viewModel)?void 0:e.state,s={[S.hidden]:"loading"===i,[S.disabled]:"disabled"===i};return h("div",{class:this.classes(S.base,S.esriWidget,S.esriWidgetPanel,s)},null!=t&&t.length?this.renderList():this.renderNoItems())}renderNoItems(){return h("div",{class:S.noItems},this.messages.noItemsToDisplay)}renderList(){const{visibleItems:e,messages:t,selectionEnabled:i}=this;return h("ul",{"aria-label":t.widgetLabel,role:i?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,class:this.classes(S.list,S.listRoot)},e.map((e=>this.renderItem(e))).toArray())}renderItem(e){const{id:t,selectionEnabled:i,selectedItems:s}=this,o=`${`${t}_${e.uid}`}__title`,r=!!e.error,n={[S.itemError]:!!r,[S.itemSelectable]:i};if(i){var l;const t={[I]:null==(l=e.layer)?void 0:l.uid};return h("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(S.item,n),"aria-labelledby":o,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item":e,tabIndex:0,"aria-selected":b(e,s)?"true":"false",role:"option",...t},this.renderItemContent(e,o))}return h("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(S.item,n),"aria-labelledby":o},this.renderItemContent(e,o))}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[S.actionsMenuItemActive]:e.actionsOpen};return h("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(S.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},h("span",{"aria-hidden":"true",class:S.iconEllipses}))}renderActionsMenu(e,t,i,s){const o=1===i&&this._getSingleActionButton(t),r=o?this.renderAction({item:e,action:o,singleAction:!0}):null,n=!o&&i?this.renderActionsMenuIcon(e,s):null;return n||o?h("div",{key:"actions-menu",class:S.actionsMenu},r,n):null}renderError(e){return e.error?h("div",{key:"error",class:S.errorMessage,role:"alert"},h("span",null,this.messages.tableError)):null}renderItemContent(e,t){const{id:i}=this,s=`${`${i}_${e.uid}`}_actions`,o=this._filterActions(e.actionsSections),r=this._countActions(o);return[h("div",{key:"list-item-container",class:S.itemContainer},this.renderLabel(e,t),this.renderActionsMenu(e,o,r,s)),this.renderError(e),r?this.renderActionsSections(e,o,s):null]}renderTitle(e,t){const{messages:i}=this,s=e.title||i.untitledTable;return h("span",{key:"layer-title-container",id:t,class:S.title},s)}renderItemError(e){return e.error?h("span",{key:"notice-triangle","aria-hidden":"true",class:S.iconNoticeTriangle}):null}renderLabel(e,t){return e.error?[this.renderItemError(e),this.renderTitle(e,t)]:this.renderTitle(e,t)}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>h("ul",{key:`${e}-action-section-${i}`,class:S.actionsList},this.renderActionSection(e,t))));return h("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:S.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),o="button"!==e.type||e.image||i?i:S.iconDefaultAction,r={[S.actionImage]:!t&&!!s["background-image"],[S.iconLoading]:t,[S.rotating]:t};return o&&!t&&(r[o]=!0),h("span",{key:"action-icon","aria-hidden":"true",class:this.classes(S.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:h("span",{key:"action-title",class:S.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:o,disabled:r,title:n}=i,l={[S.actionsMenuItem]:s&&"button"===i.type,[S.action]:o||!s&&"toggle"!==i.type,[S.actionToggle]:!o&&"toggle"===i.type,[S.actionToggleOn]:!o&&"toggle"===i.type&&i.value,[S.disabledElement]:r},a=[this.renderActionIcon(i),this.renderActionTitle(n,s)];return s?h("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",title:n,"aria-label":n},a):h("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",role:"button",title:n,"aria-label":n},a)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_setVisibleItems(e){this.visibleItems=null==e?void 0:e.filter((e=>this.errorsVisible||!e.error))}_destroySortable(){const{_sortable:e}=this;e&&e.destroy(),this._sortable=null}_toggleSorting(){const{_sortable:e,_sortableNode:t,selectionEnabled:i}=this;if(t)if(e)e.option("disabled",!i);else{const e=_.create(t,{dataIdAttr:I,group:f,fallbackTolerance:4,disabled:!i,onSort:()=>this._sortTablesToItems(e.toArray()),chosenClass:S.itemChosen});this._sortable=e}}_sortNodeCreated(e){this._sortableNode=e,this._toggleSorting()}_sortTablesToItems(e){var t;const i=null==(t=this.map)?void 0:t.tables;i&&i.sort(((t,i)=>{const s=e.indexOf(t.uid),o=e.indexOf(i.uid);return s>o?-1:s<o?1:0}))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_focusListItem(e){var t;const{_focusSortUid:i}=this;if(!e||!i)return;(null==(t=e["data-item"].layer)?void 0:t.uid)===i&&(e.focus(),this._focusSortUid=null)}_watchActionSectionChanges(e,t){const i=w.actionSection+t,s=()=>this.scheduleRender();this._handles.add(e.on("change",s),i),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){const i=w.actions+t,s=()=>this.scheduleRender();"toggle"!==e.type?"slider"!==e.type?this._handles.add([r(e,["className","image","id","title","visible"],s)],i):this._handles.add([r(e,["className","id","title","visible","value","displayValueEnabled","max","min","step"],s)],i):this._handles.add([r(e,["className","image","id","title","visible","value"],s)],i)}_renderOnItemChanges(e){const t=e.uid,i=w.items+t,s=()=>this.scheduleRender();this._handles.add([r(e,["actionsOpen","open","title","error"],s),e.actionsSections.on("change",s)],i),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(){const{tableItems:e}=this.viewModel;this._setVisibleItems(e),this._handles.removeAll(),e.forEach((e=>this._renderOnItemChanges(e))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(-1===t.indexOf(s))return void this._toggleSelection(e);e.stopPropagation();const o=e.currentTarget["data-item"],{_sortable:r,selectedItems:n}=this,l=b(o,n),a=r.toArray(),c=e.target,d=a.indexOf(c.dataset[A]);if(-1!==d){if("ArrowDown"===s){const e=d+1;if(e>=a.length)return;var m,u;if(l)y(a,d,e),r.sort(a),this._sortTablesToItems(r.toArray()),this._focusSortUid=null==(m=o.layer)?void 0:m.uid;else this._focusSortUid=null==(u=o.layer)?void 0:u.uid,this.scheduleRender()}if("ArrowUp"===s){const e=d-1;if(e<=-1)return;var h,g;if(l)y(a,d,e),r.sort(a),this._sortTablesToItems(r.toArray()),this._focusSortUid=null==(h=o.layer)?void 0:h.uid;else this._focusSortUid=null==(g=o.layer)?void 0:g.uid,this.scheduleRender()}}}_toggleActionsOpen(e){const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i;s&&this.tableItems.forEach((e=>T(e))),t.actionsOpen=s,e.stopPropagation()}_triggerAction(e){const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s),e.stopPropagation()}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),o=e.currentTarget["data-item"],r=b(o,i),{length:n}=i;if(!s)return n&&!(r&&1===n)?(i.removeAll(),void i.add(o)):void(r?i.remove(r):i.add(o));r?i.remove(r):i.add(o)}};e([l()],C.prototype,"visibleItems",void 0),e([l()],C.prototype,"iconClass",void 0),e([l()],C.prototype,"errorsVisible",void 0),e([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],C.prototype,"label",void 0),e([n("viewModel.listItemCreatedFunction")],C.prototype,"listItemCreatedFunction",void 0),e([n("viewModel.map")],C.prototype,"map",void 0),e([l(),m("esri/widgets/TableList/t9n/TableList")],C.prototype,"messages",void 0),e([l(),m("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([l()],C.prototype,"multipleSelectionEnabled",void 0),e([l()],C.prototype,"selectionEnabled",void 0),e([l()],C.prototype,"selectedItems",void 0),e([n("viewModel.tableItems")],C.prototype,"tableItems",void 0),e([u("trigger-action"),l({type:p})],C.prototype,"viewModel",void 0),e([n("viewModel.triggerAction")],C.prototype,"triggerAction",null),e([d()],C.prototype,"_toggleActionsOpen",null),e([d()],C.prototype,"_triggerAction",null),e([d()],C.prototype,"_toggleSelection",null),C=e([a("esri.widgets.TableList")],C);const k=C;export{k as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import t from"../core/Collection.js";import{eventKey as i}from"../core/events.js";import s from"../core/Handles.js";import{on as o,init as r}from"../core/watchUtils.js";import{aliasOf as n}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/arrayUtils.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{subclass as a}from"../core/accessorSupport/decorators/subclass.js";import c from"./Widget.js";import{accessibleHandler as d}from"./support/decorators/accessibleHandler.js";import{messageBundle as m}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as u}from"./support/decorators/vmEvent.js";import{tsx as h}from"./support/jsxFactory.js";import"./support/widgetUtils.js";import g from"./TableList/ListItem.js";import p from"./TableList/TableListViewModel.js";import{findSelectedItem as b}from"./TableList/support/tableListUtils.js";import _ from"sortablejs";function y(e,t,i){e.splice(i,0,e.splice(t,1)[0])}const v=t.ofType(g),f="root-tables",I="data-layer-uid",A="layerUid",S={base:"esri-table-list",esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",noItems:"esri-table-list__no-items",list:"esri-table-list__list",listRoot:"esri-table-list__list--root",item:"esri-table-list__item",itemChosen:"esri-table-list__item--chosen",itemError:"esri-table-list__item--error",itemSelectable:"esri-table-list__item--selectable",itemContainer:"esri-table-list__item-container",actionsMenu:"esri-table-list__item-actions-menu",actionsMenuItem:"esri-table-list__item-actions-menu-item",actionsMenuItemActive:"esri-table-list__item-actions-menu-item--active",actions:"esri-table-list__item-actions",actionsList:"esri-table-list__item-actions-list",action:"esri-table-list__item-action",actionIcon:"esri-table-list__item-action-icon",actionImage:"esri-table-list__item-action-image",actionTitle:"esri-table-list__item-action-title",actionToggle:"esri-table-list__action-toggle",actionToggleOn:"esri-table-list__action-toggle--on",errorMessage:"esri-table-list__item-error-message",title:"esri-table-list__item-title",disabled:"esri-disabled",disabledElement:"esri-disabled-element",hidden:"esri-hidden",rotating:"esri-rotating",iconEllipses:"esri-icon-handle-horizontal",iconNoticeTriangle:"esri-icon-notice-triangle",iconLoading:"esri-icon-loading-indicator",iconDefaultAction:"esri-icon-default-action",widgetIcon:"esri-icon-table"},w={actions:"actions",actionSection:"action-section",items:"items"};function T(e){const{actionsOpen:t}=e;t&&(e.actionsOpen=!1)}let C=class extends c{constructor(e,t){super(e,t),this._handles=new s,this._sortable=null,this._sortableNode=null,this._focusSortUid=null,this.visibleItems=null,this.iconClass=S.widgetIcon,this.label=void 0,this.listItemCreatedFunction=null,this.map=null,this.messages=null,this.messagesCommon=null,this.multipleSelectionEnabled=!1,this.selectionEnabled=!1,this.selectedItems=new v,this.tableItems=null,this.viewModel=new p}initialize(){this._setVisibleItems(this.tableItems),this.own(o(this.viewModel,"tableItems","change",(()=>this._itemsChanged())),r(this,"selectionEnabled",(()=>this._toggleSorting())))}destroy(){this._destroySortable(),this._handles.destroy(),this._handles=null}triggerAction(e,t){this.viewModel.triggerAction(e,t)}render(){var e;const{visibleItems:t}=this,i=null==(e=this.viewModel)?void 0:e.state,s={[S.hidden]:"loading"===i,[S.disabled]:"disabled"===i};return h("div",{class:this.classes(S.base,S.esriWidget,S.esriWidgetPanel,s)},null!=t&&t.length?this.renderList():this.renderNoItems())}renderNoItems(){return h("div",{class:S.noItems},this.messages.noItemsToDisplay)}renderList(){const{visibleItems:e,messages:t,selectionEnabled:i}=this;return h("ul",{"aria-label":t.widgetLabel,role:i?"listbox":void 0,afterCreate:this._sortNodeCreated,afterRemoved:this._destroySortable,"data-node-ref":"_sortableNode",bind:this,class:this.classes(S.list,S.listRoot)},e.map((e=>this.renderItem(e))).toArray())}renderItem(e){const{id:t,selectionEnabled:i,selectedItems:s}=this,o=`${`${t}_${e.uid}`}__title`,r=!!e.error,n={[S.itemError]:!!r,[S.itemSelectable]:i};if(i){var l;const t={[I]:null==(l=e.layer)?void 0:l.uid};return h("li",{key:`item-with-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(S.item,n),"aria-labelledby":o,onclick:this._toggleSelection,onkeydown:this._selectionKeydown,"data-item":e,tabIndex:0,"aria-selected":b(e,s)?"true":"false",role:"option",...t},this.renderItemContent(e,o))}return h("li",{key:`item-no-selection-${e.uid}`,bind:this,afterCreate:this._focusListItem,afterUpdate:this._focusListItem,class:this.classes(S.item,n),"aria-labelledby":o},this.renderItemContent(e,o))}renderActionsMenuIcon(e,t){const{messagesCommon:i}=this,s={[S.actionsMenuItemActive]:e.actionsOpen};return h("div",{key:"actions-menu-toggle","data-item":e,bind:this,onclick:this._toggleActionsOpen,onkeydown:this._toggleActionsOpen,class:this.classes(S.actionsMenuItem,s),tabindex:"0",role:"button","aria-controls":t,"aria-label":i.options,title:i.options},h("span",{"aria-hidden":"true",class:S.iconEllipses}))}renderActionsMenu(e,t,i,s){const o=1===i&&this._getSingleActionButton(t),r=o?this.renderAction({item:e,action:o,singleAction:!0}):null,n=!o&&i?this.renderActionsMenuIcon(e,s):null;return n||o?h("div",{key:"actions-menu",class:S.actionsMenu},r,n):null}renderError(e){return e.error?h("div",{key:"error",class:S.errorMessage,role:"alert"},h("span",null,this.messages.tableError)):null}renderItemContent(e,t){const{id:i}=this,s=`${`${i}_${e.uid}`}_actions`,o=this._filterActions(e.actionsSections),r=this._countActions(o);return[h("div",{key:"list-item-container",class:S.itemContainer},this.renderLabel(e,t),this.renderActionsMenu(e,o,r,s)),this.renderError(e),r?this.renderActionsSections(e,o,s):null]}renderTitle(e,t){const{messages:i}=this,s=e.title||i.untitledTable;return h("span",{key:"layer-title-container",id:t,class:S.title},s)}renderItemError(e){return e.error?h("span",{key:"notice-triangle","aria-hidden":"true",class:S.iconNoticeTriangle}):null}renderLabel(e,t){return e.error?[this.renderItemError(e),this.renderTitle(e,t)]:this.renderTitle(e,t)}renderActionsSections(e,t,i){const s=t.toArray().map(((t,i)=>h("ul",{key:`${e}-action-section-${i}`,class:S.actionsList},this.renderActionSection(e,t))));return h("div",{role:"group","aria-expanded":e.actionsOpen?"true":"false",key:"actions-section",id:i,class:S.actions,hidden:!e.actionsOpen||null},s)}renderActionSection(e,t){return(t&&t.toArray()).map((t=>this.renderAction({item:e,action:t})))}renderActionIcon(e){const{active:t,className:i}=e,s=this._getIconImageStyles(e),o="button"!==e.type||e.image||i?i:S.iconDefaultAction,r={[S.actionImage]:!t&&!!s["background-image"],[S.iconLoading]:t,[S.rotating]:t};return o&&!t&&(r[o]=!0),h("span",{key:"action-icon","aria-hidden":"true",class:this.classes(S.actionIcon,r),styles:s})}renderActionTitle(e,t){return t?null:h("span",{key:"action-title",class:S.actionTitle},e)}renderAction(e){const{item:t,action:i,singleAction:s}=e,{active:o,disabled:r,title:n}=i,l={[S.actionsMenuItem]:s&&"button"===i.type,[S.action]:o||!s&&"toggle"!==i.type,[S.actionToggle]:!o&&"toggle"===i.type,[S.actionToggleOn]:!o&&"toggle"===i.type&&i.value,[S.disabledElement]:r},a=[this.renderActionIcon(i),this.renderActionTitle(n,s)];return s?h("div",{bind:this,"data-item":t,"data-action":i,role:"button",key:`single-action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",title:n,"aria-label":n},a):h("li",{bind:this,"data-item":t,"data-action":i,key:`action-${i.uid}`,onclick:this._triggerAction,onkeydown:this._triggerAction,classes:l,tabindex:"0",role:"button",title:n,"aria-label":n},a)}_filterActions(e){return e.map((e=>e.filter((e=>e.visible))))}_setVisibleItems(e){this.visibleItems=null==e?void 0:e.filter((e=>this.errorsVisible||!e.error))}_destroySortable(){const{_sortable:e}=this;e&&e.destroy(),this._sortable=null}_toggleSorting(){const{_sortable:e,_sortableNode:t,selectionEnabled:i}=this;if(t)if(e)e.option("disabled",!i);else{const e=_.create(t,{dataIdAttr:I,group:f,fallbackTolerance:4,disabled:!i,onSort:()=>this._sortTablesToItems(e.toArray()),chosenClass:S.itemChosen});this._sortable=e}}_sortNodeCreated(e){this._sortableNode=e,this._toggleSorting()}_sortTablesToItems(e){var t;const i=null==(t=this.map)?void 0:t.tables;i&&i.sort(((t,i)=>{const s=e.indexOf(t.uid),o=e.indexOf(i.uid);return s>o?-1:s<o?1:0}))}_getSingleActionButton(e){return e.reduce((e=>e)).filter((e=>e&&"button"===e.type)).getItemAt(0)}_focusListItem(e){var t;const{_focusSortUid:i}=this;if(!e||!i)return;(null==(t=e["data-item"].layer)?void 0:t.uid)===i&&(e.focus(),this._focusSortUid=null)}_watchActionSectionChanges(e,t){const i=w.actionSection+t,s=()=>this.scheduleRender();this._handles.add(e.on("change",s),i),e.forEach((e=>this._renderOnActionChanges(e,t)))}_renderOnActionChanges(e,t){const i=w.actions+t,s=()=>this.scheduleRender();"toggle"!==e.type?"slider"!==e.type?this._handles.add([r(e,["className","image","id","title","visible"],s)],i):this._handles.add([r(e,["className","id","title","visible","value","displayValueEnabled","max","min","step"],s)],i):this._handles.add([r(e,["className","image","id","title","visible","value"],s)],i)}_renderOnItemChanges(e){const t=e.uid,i=w.items+t,s=()=>this.scheduleRender();this._handles.add([r(e,["actionsOpen","open","title","error"],s),e.actionsSections.on("change",s)],i),e.actionsSections.forEach((e=>this._watchActionSectionChanges(e,t)))}_itemsChanged(){const{tableItems:e}=this.viewModel;this._setVisibleItems(e),this._handles.removeAll(),e.forEach((e=>this._renderOnItemChanges(e))),this.scheduleRender()}_countActions(e){return e.reduce(((e,t)=>e+t.length),0)}_getIconImageStyles(e){const t="esri.support.Action.ActionButton"===e.declaredClass||"esri.support.Action.ActionToggle"===e.declaredClass?e.image:null;return{"background-image":t?`url("${t}")`:null}}_selectionKeydown(e){const t=["ArrowDown","ArrowUp"],s=i(e);if(!t.includes(s))return void this._toggleSelection(e);e.stopPropagation();const o=e.currentTarget["data-item"],{_sortable:r,selectedItems:n}=this,l=b(o,n),a=r.toArray(),c=e.target,d=a.indexOf(c.dataset[A]);if(-1!==d){if("ArrowDown"===s){const e=d+1;if(e>=a.length)return;var m,u;if(l)y(a,d,e),r.sort(a),this._sortTablesToItems(r.toArray()),this._focusSortUid=null==(m=o.layer)?void 0:m.uid;else this._focusSortUid=null==(u=o.layer)?void 0:u.uid,this.scheduleRender()}if("ArrowUp"===s){const e=d-1;if(e<=-1)return;var h,g;if(l)y(a,d,e),r.sort(a),this._sortTablesToItems(r.toArray()),this._focusSortUid=null==(h=o.layer)?void 0:h.uid;else this._focusSortUid=null==(g=o.layer)?void 0:g.uid,this.scheduleRender()}}}_toggleActionsOpen(e){const t=e.currentTarget["data-item"],{actionsOpen:i}=t,s=!i;s&&this.tableItems.forEach((e=>T(e))),t.actionsOpen=s,e.stopPropagation()}_triggerAction(e){const t=e.currentTarget,i=t["data-action"],s=t["data-item"];"toggle"===i.type&&(i.value=!i.value),this.triggerAction(i,s),e.stopPropagation()}_toggleSelection(e){e.stopPropagation();const{multipleSelectionEnabled:t,selectedItems:i}=this,s=t&&(e.metaKey||e.ctrlKey),o=e.currentTarget["data-item"],r=b(o,i),{length:n}=i;if(!s)return n&&!(r&&1===n)?(i.removeAll(),void i.add(o)):void(r?i.remove(r):i.add(o));r?i.remove(r):i.add(o)}};e([l()],C.prototype,"visibleItems",void 0),e([l()],C.prototype,"iconClass",void 0),e([l()],C.prototype,"errorsVisible",void 0),e([l({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],C.prototype,"label",void 0),e([n("viewModel.listItemCreatedFunction")],C.prototype,"listItemCreatedFunction",void 0),e([n("viewModel.map")],C.prototype,"map",void 0),e([l(),m("esri/widgets/TableList/t9n/TableList")],C.prototype,"messages",void 0),e([l(),m("esri/t9n/common")],C.prototype,"messagesCommon",void 0),e([l()],C.prototype,"multipleSelectionEnabled",void 0),e([l()],C.prototype,"selectionEnabled",void 0),e([l()],C.prototype,"selectedItems",void 0),e([n("viewModel.tableItems")],C.prototype,"tableItems",void 0),e([u("trigger-action"),l({type:p})],C.prototype,"viewModel",void 0),e([n("viewModel.triggerAction")],C.prototype,"triggerAction",null),e([d()],C.prototype,"_toggleActionsOpen",null),e([d()],C.prototype,"_triggerAction",null),e([d()],C.prototype,"_toggleSelection",null),C=e([a("esri.widgets.TableList")],C);const k=C;export{k 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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../TimeExtent.js";import i from"../../TimeInterval.js";import n from"../../core/Collection.js";import s from"../../core/Evented.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import o from"../../core/Logger.js";import{isSome as l,isNone as a,applySome as m,abortMaybe as u,unwrap as p}from"../../core/maybe.js";import{after as d,isAbortError as h,createTask as c}from"../../core/promiseUtils.js";import{watch as f,whenOnce as v,initial as g,syncAndInitial as T}from"../../core/reactiveUtils.js";import{offsetDate as w}from"../../core/timeUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{ensureType as x}from"../../core/accessorSupport/ensureType.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import E from"../../webdoc/Widgets.js";import b from"../../webdoc/widgets/TimeSlider.js";import{getFullTimeExtentFromWebDocument as S,getModeFromTimeSlider as C,getStopsFromTimeSlider as j,getTimeExtentFromTimeSlider as W}from"./utils.js";var A;const D=1e4;function M(t){return l(t)&&void 0!==t.count}function I(t){return l(t)&&void 0!==t.interval}function R(t){return l(t)&&void 0!==t.dates}function V(t){return"esri.WebMap"===t.declaredClass}const k="esri.widgets.Popup.PopupViewModel",O=o.getLogger(k);let B=A=class extends(r(s.EventedAccessor)){constructor(t){super(t),this._animationController=null,this._isViewTimeExtentInitialized=!1,this._loadingWebDocument=!1,this._timerId=null,this._updateTimeSliderTask=null,this.actions=new n,this.view=null}initialize(){this.handles.add([f((()=>this.effectiveStops),(()=>{a(this.timeExtent)&&this._set("timeExtent",this._getDefaultTimeExtent())}),g),f((()=>m(this.view,(t=>t.map))),(t=>{this._updateTimeSliderTask=u(this._updateTimeSliderTask),this._updateTimeSliderTask=c((async e=>{this._loadingWebDocument=!0,await this._updateTimeSliderFromMap(t,e),this._loadingWebDocument=!1}))}),g),f((()=>this.view),((t,e)=>{this._unregisterWidget(e),this._registerWidget(t)}),T),f((()=>this.timeExtent),(t=>{if(a(this.view))return;const e=this.view.timeExtent;(a(t)||t.isAllTime)&&(a(e)||e.isAllTime)||l(t)&&l(e)&&t.equals(e)||(this.view.timeExtent=p(t))}),g),f((()=>m(this.view,(t=>t.timeExtent))),(t=>{this._isViewTimeExtentInitialized?(a(t)||t.isAllTime)&&(a(this.timeExtent)||this.timeExtent.isAllTime)||l(t)&&l(this.timeExtent)&&t.equals(this.timeExtent)||(this.timeExtent=t):this._isViewTimeExtentInitialized=!0}))])}destroy(){l(this._timerId)&&(clearInterval(this._timerId),this._timerId=null),this._unregisterWidget(this.view),this.view=null,l(this._animationController)&&(this._animationController.abort(),this._animationController=null),l(this._updateTimeSliderTask)&&(this._updateTimeSliderTask.abort(),this._updateTimeSliderTask=null)}get effectiveStops(){const{fullTimeExtent:t,stops:e}=this;if(R(e)){const{dates:i}=e;if(null==i||0===i.length)return null;const n=i.sort(((t,e)=>t.getTime()-e.getTime()));if(a(t))return n;const{start:s,end:r}=t;if(a(s)||a(r))return n;return n.filter((t=>!(t.getTime()<s.getTime()||t.getTime()>r.getTime())))}if(M(e)){var i;const n=null!=(i=e.timeExtent)?i:p(t);return this._divideTimeExtentByCount(n,e.count)}if(I(e)){var n;const i=null!=(n=e.timeExtent)?n:p(t);return this._divideTimeExtentByInterval(i,e.interval)}return[]}set fullTimeExtent(t){this._override("fullTimeExtent",t)}set loop(t){this._override("loop",t)}set mode(t){this._override("mode",t)}set playRate(t){t<=0||t>36e5||("playing"===this.state&&this._startAnimation(),this._override("playRate",t))}get state(){return a(this.fullTimeExtent)||this._loadingWebDocument?"disabled":l(this._animationController)?"playing":"ready"}set stops(t){this._override("stops",t)}set timeExtent(t){this._override("timeExtent",t)}get timeExtentValues(){const{mode:t,timeExtent:e}=this;if(a(e)||e.isAllTime||e.isEmpty)return null;const{start:i,end:n}=e;switch(t){case"cumulative-from-end":case"instant":return l(i)?[i.getTime()]:null;case"cumulative-from-start":return l(n)?[n.getTime()]:null;case"time-window":return l(i)&&l(n)?[i.getTime(),n.getTime()]:null}}static async getPropertiesFromWebMap(t,e){var i,n;if(a(t)||!V(t))return null;await t.load({signal:e});const s=null==t||null==(i=t.widgets)?void 0:i.timeSlider;if(!s)return null;const r=await S(t,e),o=s.loop,l=C(s);return{fullTimeExtent:r,loop:o,mode:l,playRate:null!=(n=s.stopDelay)?n:2e3,stops:j(s),timeExtent:W(s,l)}}next(){this._step({forward:!0,allowRestart:!1})}play(){this._startAnimation()}previous(){this._step({forward:!1,allowRestart:!1})}stop(){this._stopAnimation()}triggerAction(t){this.emit("trigger-action",{action:t})}updateWebDocument(t){if(V(t)){const e=new b({currentTimeExtent:this.timeExtent,fullTimeExtent:this.fullTimeExtent,loop:this.loop,numStops:M(this.stops)?this.stops.count:null,numThumbs:"time-window"===this.mode?2:1,stopDelay:this.playRate,stopInterval:I(this.stops)?this.stops.interval:null,stops:R(this.stops)?this.stops.dates:null});t.widgets?t.widgets.timeSlider=e:t.widgets=new E({timeSlider:e})}}valuesToTimeExtent(t){if(a(t))return null;const i=t.sort(((t,e)=>t-e)).map((t=>new Date(t))),n=i.length>0?i[0]:null,s=i.length>1?i[1]:null;switch(this.mode){case"time-window":return new e({start:n,end:s});case"instant":return new e({start:n,end:n});case"cumulative-from-start":return new e({start:null,end:n});case"cumulative-from-end":return new e({start:n,end:null});default:return e.allTime}}async _animate(){try{const t=this.view,e=m(this._animationController,(t=>t.signal));await Promise.all([d(this.playRate,null,e),l(t)&&v((()=>!1===t.updating),e)])}catch(t){return h(t)||O.error(t),void(this._animationController=null)}this._step({forward:!0,allowRestart:!1}),a(this._animationController)||this._animate()}_divideTimeExtentByCount(t,e=10){if(!t||!e)return[];const{start:i,end:n}=t;if(a(i)||a(n))return[];if(e>D)return this._divideTimeExtentByCount(t);const s=[],r=i.getTime(),o=n.getTime()-r;for(let l=0;l<=e;l++)s.push(new Date(r+l/e*o));return s}_divideTimeExtentByInterval(t,e,i=D){if(!t||!e)return[];const{start:n,end:s}=t;if(a(n)||a(s))return[];if((s.getTime()-n.getTime())/e.toMilliseconds()>i)return this._divideTimeExtentByCount(t);const r=[],{value:o,unit:l}=e;let m=n;for(;m.getTime()<=s.getTime();)r.push(new Date(m.getTime())),m=w(m,o,l);return r}_getDefaultTimeExtent(){const{effectiveStops:t,mode:i}=this;if(a(t)||!i)return null;switch(i){case"time-window":return t.length>1?new e({start:t[0],end:t[1]}):null;case"cumulative-from-start":return t.length>0?new e({start:null,end:t[0]}):null;case"cumulative-from-end":return t.length>0?new e({start:t[0],end:null}):null;case"instant":return t.length>0?new e({start:t[0],end:t[0]}):null;default:return null}}_registerWidget(t){if(l(t)){t.persistableViewModels.
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../TimeExtent.js";import i from"../../TimeInterval.js";import n from"../../core/Collection.js";import s from"../../core/Evented.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import o from"../../core/Logger.js";import{isSome as l,isNone as a,applySome as m,abortMaybe as u,unwrap as p}from"../../core/maybe.js";import{after as d,isAbortError as h,createTask as c}from"../../core/promiseUtils.js";import{watch as f,whenOnce as v,initial as g,syncAndInitial as T}from"../../core/reactiveUtils.js";import{offsetDate as w}from"../../core/timeUtils.js";import{property as _}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{ensureType as x}from"../../core/accessorSupport/ensureType.js";import{subclass as y}from"../../core/accessorSupport/decorators/subclass.js";import E from"../../webdoc/Widgets.js";import b from"../../webdoc/widgets/TimeSlider.js";import{getFullTimeExtentFromWebDocument as S,getModeFromTimeSlider as C,getStopsFromTimeSlider as j,getTimeExtentFromTimeSlider as W}from"./utils.js";var A;const D=1e4;function M(t){return l(t)&&void 0!==t.count}function I(t){return l(t)&&void 0!==t.interval}function R(t){return l(t)&&void 0!==t.dates}function V(t){return"esri.WebMap"===t.declaredClass}const k="esri.widgets.Popup.PopupViewModel",O=o.getLogger(k);let B=A=class extends(r(s.EventedAccessor)){constructor(t){super(t),this._animationController=null,this._isViewTimeExtentInitialized=!1,this._loadingWebDocument=!1,this._timerId=null,this._updateTimeSliderTask=null,this.actions=new n,this.view=null}initialize(){this.handles.add([f((()=>this.effectiveStops),(()=>{a(this.timeExtent)&&this._set("timeExtent",this._getDefaultTimeExtent())}),g),f((()=>m(this.view,(t=>t.map))),(t=>{this._updateTimeSliderTask=u(this._updateTimeSliderTask),this._updateTimeSliderTask=c((async e=>{this._loadingWebDocument=!0,await this._updateTimeSliderFromMap(t,e),this._loadingWebDocument=!1}))}),g),f((()=>this.view),((t,e)=>{this._unregisterWidget(e),this._registerWidget(t)}),T),f((()=>this.timeExtent),(t=>{if(a(this.view))return;const e=this.view.timeExtent;(a(t)||t.isAllTime)&&(a(e)||e.isAllTime)||l(t)&&l(e)&&t.equals(e)||(this.view.timeExtent=p(t))}),g),f((()=>m(this.view,(t=>t.timeExtent))),(t=>{this._isViewTimeExtentInitialized?(a(t)||t.isAllTime)&&(a(this.timeExtent)||this.timeExtent.isAllTime)||l(t)&&l(this.timeExtent)&&t.equals(this.timeExtent)||(this.timeExtent=t):this._isViewTimeExtentInitialized=!0}))])}destroy(){l(this._timerId)&&(clearInterval(this._timerId),this._timerId=null),this._unregisterWidget(this.view),this.view=null,l(this._animationController)&&(this._animationController.abort(),this._animationController=null),l(this._updateTimeSliderTask)&&(this._updateTimeSliderTask.abort(),this._updateTimeSliderTask=null)}get effectiveStops(){const{fullTimeExtent:t,stops:e}=this;if(R(e)){const{dates:i}=e;if(null==i||0===i.length)return null;const n=i.sort(((t,e)=>t.getTime()-e.getTime()));if(a(t))return n;const{start:s,end:r}=t;if(a(s)||a(r))return n;return n.filter((t=>!(t.getTime()<s.getTime()||t.getTime()>r.getTime())))}if(M(e)){var i;const n=null!=(i=e.timeExtent)?i:p(t);return this._divideTimeExtentByCount(n,e.count)}if(I(e)){var n;const i=null!=(n=e.timeExtent)?n:p(t);return this._divideTimeExtentByInterval(i,e.interval)}return[]}set fullTimeExtent(t){this._override("fullTimeExtent",t)}set loop(t){this._override("loop",t)}set mode(t){this._override("mode",t)}set playRate(t){t<=0||t>36e5||("playing"===this.state&&this._startAnimation(),this._override("playRate",t))}get state(){return a(this.fullTimeExtent)||this._loadingWebDocument?"disabled":l(this._animationController)?"playing":"ready"}set stops(t){this._override("stops",t)}set timeExtent(t){this._override("timeExtent",t)}get timeExtentValues(){const{mode:t,timeExtent:e}=this;if(a(e)||e.isAllTime||e.isEmpty)return null;const{start:i,end:n}=e;switch(t){case"cumulative-from-end":case"instant":return l(i)?[i.getTime()]:null;case"cumulative-from-start":return l(n)?[n.getTime()]:null;case"time-window":return l(i)&&l(n)?[i.getTime(),n.getTime()]:null}}static async getPropertiesFromWebMap(t,e){var i,n;if(a(t)||!V(t))return null;await t.load({signal:e});const s=null==t||null==(i=t.widgets)?void 0:i.timeSlider;if(!s)return null;const r=await S(t,e),o=s.loop,l=C(s);return{fullTimeExtent:r,loop:o,mode:l,playRate:null!=(n=s.stopDelay)?n:2e3,stops:j(s),timeExtent:W(s,l)}}next(){this._step({forward:!0,allowRestart:!1})}play(){this._startAnimation()}previous(){this._step({forward:!1,allowRestart:!1})}stop(){this._stopAnimation()}triggerAction(t){this.emit("trigger-action",{action:t})}updateWebDocument(t){if(V(t)){const e=new b({currentTimeExtent:this.timeExtent,fullTimeExtent:this.fullTimeExtent,loop:this.loop,numStops:M(this.stops)?this.stops.count:null,numThumbs:"time-window"===this.mode?2:1,stopDelay:this.playRate,stopInterval:I(this.stops)?this.stops.interval:null,stops:R(this.stops)?this.stops.dates:null});t.widgets?t.widgets.timeSlider=e:t.widgets=new E({timeSlider:e})}}valuesToTimeExtent(t){if(a(t))return null;const i=t.sort(((t,e)=>t-e)).map((t=>new Date(t))),n=i.length>0?i[0]:null,s=i.length>1?i[1]:null;switch(this.mode){case"time-window":return new e({start:n,end:s});case"instant":return new e({start:n,end:n});case"cumulative-from-start":return new e({start:null,end:n});case"cumulative-from-end":return new e({start:n,end:null});default:return e.allTime}}async _animate(){try{const t=this.view,e=m(this._animationController,(t=>t.signal));await Promise.all([d(this.playRate,null,e),l(t)&&v((()=>!1===t.updating),e)])}catch(t){return h(t)||O.error(t),void(this._animationController=null)}this._step({forward:!0,allowRestart:!1}),a(this._animationController)||this._animate()}_divideTimeExtentByCount(t,e=10){if(!t||!e)return[];const{start:i,end:n}=t;if(a(i)||a(n))return[];if(e>D)return this._divideTimeExtentByCount(t);const s=[],r=i.getTime(),o=n.getTime()-r;for(let l=0;l<=e;l++)s.push(new Date(r+l/e*o));return s}_divideTimeExtentByInterval(t,e,i=D){if(!t||!e)return[];const{start:n,end:s}=t;if(a(n)||a(s))return[];if((s.getTime()-n.getTime())/e.toMilliseconds()>i)return this._divideTimeExtentByCount(t);const r=[],{value:o,unit:l}=e;let m=n;for(;m.getTime()<=s.getTime();)r.push(new Date(m.getTime())),m=w(m,o,l);return r}_getDefaultTimeExtent(){const{effectiveStops:t,mode:i}=this;if(a(t)||!i)return null;switch(i){case"time-window":return t.length>1?new e({start:t[0],end:t[1]}):null;case"cumulative-from-start":return t.length>0?new e({start:null,end:t[0]}):null;case"cumulative-from-end":return t.length>0?new e({start:t[0],end:null}):null;case"instant":return t.length>0?new e({start:t[0],end:t[0]}):null;default:return null}}_registerWidget(t){if(l(t)){t.persistableViewModels.includes(this)||t.persistableViewModels.add(this)}}_startAnimation(){this._stopAnimation(),this._animationController=new AbortController,this._step({forward:!0,allowRestart:!0}),this._animate()}_step(t){const{forward:e,allowRestart:i}=t,{effectiveStops:n}=this;if(a(this.timeExtentValues)||a(n))return;const s=n.map((t=>t.getTime())),r=this.timeExtentValues.map((t=>{const e=s.indexOf(t);if(-1!==e)return e;const i=s.reduce(((e,i)=>Math.abs(i-t)<Math.abs(e-t)?i:e));return s.indexOf(i)})),o=r.map((t=>t+(e?1:-1))),l=o.some((t=>t<0||t>s.length-1)),{loop:m,state:u}=this;if(l)if(m||i){const t=Math.min(...r),i=Math.max(...r),n=(e?r.map((e=>e-t)):r.map((t=>t+(s.length-1-i)))).map((t=>s[t]));this.timeExtent=this.valuesToTimeExtent(n)}else"playing"===u&&this.stop();else{const t=o.map((t=>s[t]));this.timeExtent=this.valuesToTimeExtent(t)}}_stopAnimation(){l(this._animationController)&&(this._animationController.abort(),this._animationController=null)}_unregisterWidget(t){l(t)&&t.persistableViewModels.remove(this)}async _updateTimeSliderFromMap(t,e){const i=await A.getPropertiesFromWebMap(t,e);if(!a(i))for(const n in i)this._isOverridden(n)||(this[n]=i[n])}};t([_()],B.prototype,"_animationController",void 0),t([_()],B.prototype,"_loadingWebDocument",void 0),t([_({type:n})],B.prototype,"actions",void 0),t([_({readOnly:!0})],B.prototype,"effectiveStops",null),t([_({type:e,value:null})],B.prototype,"fullTimeExtent",null),t([_({nonNullable:!0,value:!1})],B.prototype,"loop",null),t([_({nonNullable:!0,value:"time-window"})],B.prototype,"mode",null),t([_({nonNullable:!0,value:1e3})],B.prototype,"playRate",null),t([_({readOnly:!0})],B.prototype,"state",null),t([_({cast:t=>a(t)?null:(I(t)&&(t.interval=x(i,t.interval)),(I(t)||M(t))&&(t.timeExtent=x(e,t.timeExtent)),t),value:{count:10}})],B.prototype,"stops",null),t([_({type:e,value:null})],B.prototype,"timeExtent",null),t([_({readOnly:!0})],B.prototype,"timeExtentValues",null),t([_()],B.prototype,"view",void 0),t([_()],B.prototype,"next",null),t([_()],B.prototype,"play",null),t([_()],B.prototype,"previous",null),t([_()],B.prototype,"stop",null),t([_()],B.prototype,"updateWebDocument",null),B=A=t([y(k)],B);const P=B;export{P as default};
|
package/widgets/TimeSlider.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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import t from"../TimeInterval.js";import{equals as i}from"../core/arrayUtils.js";import s from"../core/Collection.js";import{neverReached as n}from"../core/compilerUtils.js";import{isSome as o,isNone as a,applySome as r}from"../core/maybe.js";import{watch as l,initial as m}from"../core/reactiveUtils.js";import{truncateDate as u,offsetDate as d}from"../core/timeUtils.js";import{aliasOf as c}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as h,convertDateFormatToIntlOptions as w}from"../intl/date.js";import y from"./Slider.js";import f from"./Widget.js";import{accessibleHandler as x}from"./support/decorators/accessibleHandler.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as _}from"./support/decorators/vmEvent.js";import{tsx as g}from"./support/jsxFactory.js";import{onResize as k}from"./support/widgetUtils.js";import{getCalciteThemeClass as j}from"./support/widgetThemeUtils.js";import T from"./TimeSlider/TimeSliderViewModel.js";const E="esri-time-slider",S={widgetIcon:"esri-icon-time-clock",esriWidget:"esri-widget",esriWidgetButton:"esri-widget--button",esriButtonDisabled:"esri-button--disabled",esriDisabled:"esri-disabled",timeSlider:`${E}`,timeSliderOutOfBounds:`${E}--out-of-bounds`,timeSliderMode:`${E}__mode--`,timeSliderLayout:`${E}__layout--`,timeSliderRow:`${E}__row`,animation:`${E}__animation`,animationButton:`${E}__animation-button`,animationPlay:"esri-icon-play",animationPause:"esri-icon-pause",timeExtent:`${E}__time-extent`,timeExtentGroup:`${E}__time-extent-group`,timeExtentDate:`${E}__time-extent-date`,timeExtentTime:`${E}__time-extent-time`,timeExtentSeparator:`${E}__time-extent-separator`,playbackControls:`${E}__playback-controls`,min:`${E}__min`,minDate:`${E}__min-date`,minTime:`${E}__min-time`,slider:`${E}__slider`,sliderMajorTick:"majorTick",sliderMinorTick:"minorTick",max:`${E}__max`,maxDate:`${E}__max-date`,maxTime:`${E}__max-time`,previous:`${E}__previous`,previousButton:`${E}__previous-button`,previousIcon:"esri-icon-reverse",next:`${E}__next`,nextButton:`${E}__next-button`,nextIcon:"esri-icon-forward",warning:`${E}__warning`,warningIcon:"esri-icon-notice-triangle",warningText:`${E}__warning-text`,hasActions:`${E}--has-actions`,actions:`${E}__actions`,actionsButton:`${E}__actions-button`},M=3,$=858,C=new s([{minor:new t({value:100,unit:"milliseconds"}),major:new t({value:1,unit:"seconds"}),format:{second:"numeric"}},{minor:new t({value:500,unit:"milliseconds"}),major:new t({value:5,unit:"seconds"}),format:{second:"numeric"}},{minor:new t({value:1,unit:"seconds"}),major:new t({value:20,unit:"seconds"}),format:{minute:"numeric",second:"numeric"}},{minor:new t({value:2,unit:"seconds"}),major:new t({value:30,unit:"seconds"}),format:{minute:"numeric",second:"numeric"}},{minor:new t({value:10,unit:"seconds"}),major:new t({value:1,unit:"minutes"}),format:{minute:"numeric"}},{minor:new t({value:15,unit:"seconds"}),major:new t({value:5,unit:"minutes"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:1,unit:"minutes"}),major:new t({value:20,unit:"minutes"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:5,unit:"minutes"}),major:new t({value:2,unit:"hours"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:15,unit:"minutes"}),major:new t({value:6,unit:"hours"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:1,unit:"hours"}),major:new t({value:1,unit:"days"}),format:{day:"numeric",month:"short"}},{minor:new t({value:6,unit:"hours"}),major:new t({value:1,unit:"weeks"}),format:{day:"numeric",month:"short"}},{minor:new t({value:1,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"long"}},{minor:new t({value:2,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"short"}},{minor:new t({value:3,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"short"}},{minor:new t({value:4,unit:"days"}),major:new t({value:3,unit:"months"}),format:{month:"short",year:"numeric"}},{minor:new t({value:1,unit:"weeks"}),major:new t({value:1,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:1,unit:"months"}),major:new t({value:1,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:2,unit:"months"}),major:new t({value:2,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:1,unit:"years"}),major:new t({value:1,unit:"decades"}),format:{year:"numeric"}},{minor:new t({value:2,unit:"years"}),major:new t({value:5,unit:"decades"}),format:{year:"numeric"}},{minor:new t({value:5,unit:"decades"}),major:new t({value:10,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:1,unit:"centuries"}),major:new t({value:10,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:2,unit:"centuries"}),major:new t({value:20,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:5,unit:"centuries"}),major:new t({value:50,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:10,unit:"centuries"}),major:new t({value:100,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:20,unit:"centuries"}),major:new t({value:200,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:50,unit:"centuries"}),major:new t({value:500,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:100,unit:"centuries"}),major:new t({value:1e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:200,unit:"centuries"}),major:new t({value:1e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:500,unit:"centuries"}),major:new t({value:5e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:1e3,unit:"centuries"}),major:new t({value:1e4,unit:"centuries"}),format:{era:"short",year:"numeric"}}]);let D=class extends f{constructor(e,t){super(e,t),this._ignoreNextSliderUpdate=!1,this._slider=new y({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.actions=null,this.disabled=!1,this.effectiveStops=null,this.fullTimeExtent=null,this.iconClass=S.widgetIcon,this.label=void 0,this.labelFormatFunction=null,this.loop=!1,this.messages=null,this.messagesCommon=null,this.mode="time-window",this.playRate=1e3,this.stops={count:10},this.tickConfigs=null,this.timeExtent=null,this.timeVisible=!1,this.view=null,this.viewModel=new T}initialize(){this.own([l((()=>this._slider.values),(e=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const t=this.viewModel.valuesToTimeExtent(e);o(this.timeExtent)?o(t)?this.timeExtent.equals(t)||(this.timeExtent=t):this.timeExtent=null:o(t)&&(this.timeExtent=t)})),l((()=>this.effectiveStops),(()=>this._updateSliderSteps()),m)])}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-action-menu.js")])}destroy(){this._slider.destroy(),this._tickFormat=null}get interactive(){return!this.disabled&&this.viewModel&&"disabled"!==this.viewModel.state}set layout(e){-1===["auto","compact","wide"].indexOf(e)&&(e="auto"),this._set("layout",e)}static async getPropertiesFromWebMap(e,t){return T.getPropertiesFromWebMap(e,t)}next(){}play(){}previous(){}stop(){return null}render(){const{_slider:e,actions:t,domNode:s,effectiveStops:n,fullTimeExtent:l,interactive:m,messages:u,messagesCommon:d,mode:c,tickConfigs:p,timeExtent:v,timeVisible:w,viewModel:{state:y,timeExtentValues:f}}=this;if(o(l)){const{start:t,end:i}=l;if(o(t)&&o(i)){const s=t.getTime(),n=i.getTime(),a=e.min!==s||e.max!==n;if(a&&(e.min=s,e.max=n),o(p))e.tickConfigs!==p&&(e.tickConfigs=p);else{var x;const t=(n-s)/((null==(x=e.trackElement)?void 0:x.offsetWidth)||400),i=C.find((e=>e.minor.toMilliseconds()>M*t)),o=this._tickFormat!==i&&null!=i;if(o&&(this._tickFormat=i),a||o){const t={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(e,t)=>{t.classList.add(S.sliderMinorTick)}},s={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(e,t)=>{t.classList.add(S.sliderMajorTick)},labelFormatFunction:e=>h(e,i.format)};e.tickConfigs=[t,s]}}}}const b=a(this.fullTimeExtent)||a(this.timeExtent)||this.timeExtent.isAllTime||this.timeExtent.isEmpty||o(this.timeExtent.start)&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||o(this.timeExtent.end)&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(b)switch(this._ignoreNextSliderUpdate=!0,c){case"time-window":e.values=[e.min,e.max];break;case"instant":case"cumulative-from-end":e.values=[e.min];break;case"cumulative-from-start":e.values=[e.max]}else o(f)?i(e.values,f)||(e.values=f):e.values=null;e.disabled=!m;const _="ready"===y,T="playing"===y,E=b||!m||a(n)||0===n.length,D="auto"===this.layout?s.clientWidth<$?"compact":"wide":this.layout,F=g("div",{class:S.animation},g("button",{"aria-disabled":E?"true":"false","aria-label":T?d.control.stop:d.control.play,bind:this,class:this.classes(S.esriWidgetButton,S.animationButton,E&&S.esriButtonDisabled),disabled:E,title:T?d.control.stop:d.control.play,onclick:this._playOrStopClick,type:"button"},g("div",{class:this.classes((_||E)&&S.animationPlay,T&&S.animationPause)}))),B=o(this.labelFormatFunction)?g("div",{key:"extent",bind:this,class:S.timeExtentDate,"data-type":"extent","data-layout":D,"data-date":r(v,(e=>[e.start,e.end])),afterCreate:this._createLabel,afterUpdate:this._createLabel}):a(v)||o(v)&&v.isAllTime?[g("div",{class:this.classes(S.warning,S.warningIcon)}),g("div",{key:"warning-text",class:S.warningText},u.noTimeExtent)]:v.isEmpty?[g("div",{class:this.classes(S.warning,S.warningIcon)}),g("div",{key:"warning-text",class:S.warningText},u.emptyTimeExtent)]:[o(v.start)&&g("div",{key:"start-date-group",class:S.timeExtentGroup},g("div",{key:"start-date",class:S.timeExtentDate},this._formatDate(v.start)),w&&g("div",{key:"start-time",class:S.timeExtentTime},this._formatTime(v.start))),o(v.start)&&o(v.end)&&v.start.getTime()!==v.end.getTime()&&g("div",{key:"separator",class:S.timeExtentSeparator},"–"),o(v.end)&&(a(v.start)||v.start.getTime()!==v.end.getTime())&&g("div",{key:"end-date-group",class:S.timeExtentGroup},g("div",{key:"end-date",class:S.timeExtentDate},this._formatDate(v.end)),w&&g("div",{key:"end-time",class:S.timeExtentTime},this._formatTime(v.end)))],L=g("div",{class:this.classes(S.timeExtent,!m&&S.esriButtonDisabled)},[B]),U=o(this.labelFormatFunction)?g("div",{key:"min-date",bind:this,class:S.minDate,"data-date":r(l,(e=>e.start)),"data-type":"min","data-layout":D,afterCreate:this._createLabel,afterUpdate:this._createLabel}):o(l)&&o(l.start)&&[g("div",{key:"min-date",class:S.minDate},this._formatDate(l.start)),w&&g("div",{key:"min-time",class:S.minTime},this._formatTime(l.start))],W=g("div",{class:this.classes(S.min,!m&&S.esriButtonDisabled)},[U]),I=g("div",{class:S.slider},e.render()),O=o(this.labelFormatFunction)?g("div",{key:"max-date",bind:this,class:S.maxDate,"data-date":r(l,(e=>e.end)),"data-type":"max","data-layout":D,afterCreate:this._createLabel,afterUpdate:this._createLabel}):o(l)&&o(l.end)&&[g("div",{key:"max-date",class:S.maxDate},this._formatDate(l.end)),w&&g("div",{key:"max-time",class:S.maxTime},this._formatTime(l.end))],P=g("div",{class:this.classes(S.max,!m&&S.esriButtonDisabled)},[O]),A=g("div",{class:S.previous},g("button",{"aria-disabled":E?"true":"false","aria-label":d.pagination.previous,bind:this,class:this.classes(S.esriWidgetButton,S.previousButton,(T||E)&&S.esriButtonDisabled),disabled:E,title:d.pagination.previous,onclick:this._previousClick,type:"button"},g("div",{class:S.previousIcon}))),R=g("div",{class:S.next},g("button",{"aria-disabled":E?"true":"false","aria-label":d.pagination.next,bind:this,class:this.classes(S.esriWidgetButton,S.nextButton,(T||E)&&S.esriButtonDisabled),disabled:E,title:d.pagination.next,onclick:this._nextClick,type:"button"},g("div",{class:S.nextIcon}))),V=(null==t?void 0:t.length)>0,N=V&&g("div",{class:S.actions,title:d.options},g("calcite-action-menu",{label:d.options,class:S.actionsButton},t.toArray().map((e=>g("calcite-action",{bind:this,icon:e.icon,id:e.id,onCalciteActionClick:()=>this.viewModel.triggerAction(e),text:e.title,textEnabled:!0})))));return g("div",{class:this.classes(S.timeSlider,S.esriWidget,`${S.timeSliderMode}${c}`,`${S.timeSliderLayout}${D}`,!m&&S.esriDisabled,b&&S.timeSliderOutOfBounds,V&&S.hasActions,j()),afterCreate:e=>{this.own(k(e,(()=>this.scheduleRender())))},"aria-label":u.widgetLabel},"wide"===D&&g("div",{class:S.timeSliderRow},g("div",{class:S.playbackControls},[F,L,W,I,P,A,R]),N),"compact"===D&&[g("div",{key:"time-slider-row-1",class:S.timeSliderRow},[L,N]),g("div",{key:"time-slider-row-2",class:S.timeSliderRow},[I]),g("div",{key:"time-slider-row-3",class:S.timeSliderRow},[W,A,F,R,P])])}updateWebDocument(e){var t;null==(t=this.viewModel)||t.updateWebDocument(e)}_createLabel(e){if(a(this.labelFormatFunction))return;const t=e.getAttribute("data-type"),i=e.getAttribute("data-layout"),s=e["data-date"];this.labelFormatFunction(s,t,e,i)}_getTickPositions(e){const{fullTimeExtent:t}=this;if(a(t)||a(t.start)||a(t.end))return[];const{start:i,end:s}=t,n=[],{value:o,unit:r}=e;let l=u(i,r);for(;l.getTime()<=s.getTime();)l.getTime()>=i.getTime()&&n.push(l.getTime()),l=d(l,o,r);return n}_formatDate(e){return e?h(e,w("short-date")):null}_formatTime(e){return e?h(e,w("long-time")):null}_updateSliderSteps(){this._slider.steps=o(this.effectiveStops)&&this.effectiveStops.length>0?this.effectiveStops.map((e=>e.getTime())):null}_playOrStopClick(){switch(this.viewModel.state){case"ready":this.viewModel.play();break;case"playing":this.viewModel.stop();break;case"disabled":break;default:n(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};e([c("viewModel.actions")],D.prototype,"actions",void 0),e([p()],D.prototype,"disabled",void 0),e([c("viewModel.effectiveStops")],D.prototype,"effectiveStops",void 0),e([c("viewModel.fullTimeExtent")],D.prototype,"fullTimeExtent",void 0),e([p()],D.prototype,"iconClass",void 0),e([p({readOnly:!0})],D.prototype,"interactive",null),e([p({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],D.prototype,"label",void 0),e([p()],D.prototype,"labelFormatFunction",void 0),e([p({value:"auto"})],D.prototype,"layout",null),e([c("viewModel.loop")],D.prototype,"loop",void 0),e([p(),b("esri/widgets/TimeSlider/t9n/TimeSlider")],D.prototype,"messages",void 0),e([p(),b("esri/t9n/common")],D.prototype,"messagesCommon",void 0),e([c("viewModel.mode")],D.prototype,"mode",void 0),e([c("viewModel.playRate")],D.prototype,"playRate",void 0),e([c("viewModel.stops")],D.prototype,"stops",void 0),e([p()],D.prototype,"tickConfigs",void 0),e([c("viewModel.timeExtent")],D.prototype,"timeExtent",void 0),e([p({nonNullable:!0})],D.prototype,"timeVisible",void 0),e([c("viewModel.view")],D.prototype,"view",void 0),e([p({type:T}),_("trigger-action")],D.prototype,"viewModel",void 0),e([c("viewModel.next")],D.prototype,"next",null),e([c("viewModel.play")],D.prototype,"play",null),e([c("viewModel.previous")],D.prototype,"previous",null),e([c("viewModel.stop")],D.prototype,"stop",null),e([x()],D.prototype,"_playOrStopClick",null),e([x()],D.prototype,"_previousClick",null),e([x()],D.prototype,"_nextClick",null),D=e([v("esri.widgets.TimeSlider")],D);const F=D;export{F as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import t from"../TimeInterval.js";import{equals as i}from"../core/arrayUtils.js";import s from"../core/Collection.js";import{neverReached as n}from"../core/compilerUtils.js";import{isSome as o,isNone as a,applySome as r}from"../core/maybe.js";import{watch as l,initial as m}from"../core/reactiveUtils.js";import{truncateDate as u,offsetDate as d}from"../core/timeUtils.js";import{aliasOf as c}from"../core/accessorSupport/decorators/aliasOf.js";import"../core/has.js";import"../core/accessorSupport/ensureType.js";import{property as p}from"../core/accessorSupport/decorators/property.js";import{subclass as v}from"../core/accessorSupport/decorators/subclass.js";import{formatDate as h,convertDateFormatToIntlOptions as w}from"../intl/date.js";import y from"./Slider.js";import f from"./Widget.js";import{accessibleHandler as x}from"./support/decorators/accessibleHandler.js";import{messageBundle as b}from"./support/decorators/messageBundle.js";import"../core/Logger.js";import{vmEvent as _}from"./support/decorators/vmEvent.js";import{tsx as g}from"./support/jsxFactory.js";import{onResize as k}from"./support/widgetUtils.js";import{getCalciteThemeClass as j}from"./support/widgetThemeUtils.js";import T from"./TimeSlider/TimeSliderViewModel.js";const E="esri-time-slider",S={widgetIcon:"esri-icon-time-clock",esriWidget:"esri-widget",esriWidgetButton:"esri-widget--button",esriButtonDisabled:"esri-button--disabled",esriDisabled:"esri-disabled",timeSlider:`${E}`,timeSliderOutOfBounds:`${E}--out-of-bounds`,timeSliderMode:`${E}__mode--`,timeSliderLayout:`${E}__layout--`,timeSliderRow:`${E}__row`,animation:`${E}__animation`,animationButton:`${E}__animation-button`,animationPlay:"esri-icon-play",animationPause:"esri-icon-pause",timeExtent:`${E}__time-extent`,timeExtentGroup:`${E}__time-extent-group`,timeExtentDate:`${E}__time-extent-date`,timeExtentTime:`${E}__time-extent-time`,timeExtentSeparator:`${E}__time-extent-separator`,playbackControls:`${E}__playback-controls`,min:`${E}__min`,minDate:`${E}__min-date`,minTime:`${E}__min-time`,slider:`${E}__slider`,sliderMajorTick:"majorTick",sliderMinorTick:"minorTick",max:`${E}__max`,maxDate:`${E}__max-date`,maxTime:`${E}__max-time`,previous:`${E}__previous`,previousButton:`${E}__previous-button`,previousIcon:"esri-icon-reverse",next:`${E}__next`,nextButton:`${E}__next-button`,nextIcon:"esri-icon-forward",warning:`${E}__warning`,warningIcon:"esri-icon-notice-triangle",warningText:`${E}__warning-text`,hasActions:`${E}--has-actions`,actions:`${E}__actions`,actionsButton:`${E}__actions-button`},M=3,$=858,C=new s([{minor:new t({value:100,unit:"milliseconds"}),major:new t({value:1,unit:"seconds"}),format:{second:"numeric"}},{minor:new t({value:500,unit:"milliseconds"}),major:new t({value:5,unit:"seconds"}),format:{second:"numeric"}},{minor:new t({value:1,unit:"seconds"}),major:new t({value:20,unit:"seconds"}),format:{minute:"numeric",second:"numeric"}},{minor:new t({value:2,unit:"seconds"}),major:new t({value:30,unit:"seconds"}),format:{minute:"numeric",second:"numeric"}},{minor:new t({value:10,unit:"seconds"}),major:new t({value:1,unit:"minutes"}),format:{minute:"numeric"}},{minor:new t({value:15,unit:"seconds"}),major:new t({value:5,unit:"minutes"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:1,unit:"minutes"}),major:new t({value:20,unit:"minutes"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:5,unit:"minutes"}),major:new t({value:2,unit:"hours"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:15,unit:"minutes"}),major:new t({value:6,unit:"hours"}),format:{hour:"numeric",minute:"numeric"}},{minor:new t({value:1,unit:"hours"}),major:new t({value:1,unit:"days"}),format:{day:"numeric",month:"short"}},{minor:new t({value:6,unit:"hours"}),major:new t({value:1,unit:"weeks"}),format:{day:"numeric",month:"short"}},{minor:new t({value:1,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"long"}},{minor:new t({value:2,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"short"}},{minor:new t({value:3,unit:"days"}),major:new t({value:1,unit:"months"}),format:{month:"short"}},{minor:new t({value:4,unit:"days"}),major:new t({value:3,unit:"months"}),format:{month:"short",year:"numeric"}},{minor:new t({value:1,unit:"weeks"}),major:new t({value:1,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:1,unit:"months"}),major:new t({value:1,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:2,unit:"months"}),major:new t({value:2,unit:"years"}),format:{year:"numeric"}},{minor:new t({value:1,unit:"years"}),major:new t({value:1,unit:"decades"}),format:{year:"numeric"}},{minor:new t({value:2,unit:"years"}),major:new t({value:5,unit:"decades"}),format:{year:"numeric"}},{minor:new t({value:5,unit:"decades"}),major:new t({value:10,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:1,unit:"centuries"}),major:new t({value:10,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:2,unit:"centuries"}),major:new t({value:20,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:5,unit:"centuries"}),major:new t({value:50,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:10,unit:"centuries"}),major:new t({value:100,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:20,unit:"centuries"}),major:new t({value:200,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:50,unit:"centuries"}),major:new t({value:500,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:100,unit:"centuries"}),major:new t({value:1e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:200,unit:"centuries"}),major:new t({value:1e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:500,unit:"centuries"}),major:new t({value:5e3,unit:"centuries"}),format:{era:"short",year:"numeric"}},{minor:new t({value:1e3,unit:"centuries"}),major:new t({value:1e4,unit:"centuries"}),format:{era:"short",year:"numeric"}}]);let D=class extends f{constructor(e,t){super(e,t),this._ignoreNextSliderUpdate=!1,this._slider=new y({precision:0,visibleElements:{rangeLabels:!1},rangeLabelInputsEnabled:!1,thumbsConstrained:!1}),this._tickFormat=null,this.actions=null,this.disabled=!1,this.effectiveStops=null,this.fullTimeExtent=null,this.iconClass=S.widgetIcon,this.label=void 0,this.labelFormatFunction=null,this.loop=!1,this.messages=null,this.messagesCommon=null,this.mode="time-window",this.playRate=1e3,this.stops={count:10},this.tickConfigs=null,this.timeExtent=null,this.timeVisible=!1,this.view=null,this.viewModel=new T}initialize(){this.own([l((()=>this._slider.values),(e=>{if(this._ignoreNextSliderUpdate)return void(this._ignoreNextSliderUpdate=!1);const t=this.viewModel.valuesToTimeExtent(e);o(this.timeExtent)?o(t)?this.timeExtent.equals(t)||(this.timeExtent=t):this.timeExtent=null:o(t)&&(this.timeExtent=t)})),l((()=>this.effectiveStops),(()=>this._updateSliderSteps()),m)])}loadDependencies(){return Promise.all([import("@esri/calcite-components/dist/components/calcite-action.js"),import("@esri/calcite-components/dist/components/calcite-action-menu.js")])}destroy(){this._slider.destroy(),this._tickFormat=null}get interactive(){return!this.disabled&&this.viewModel&&"disabled"!==this.viewModel.state}set layout(e){["auto","compact","wide"].includes(e)||(e="auto"),this._set("layout",e)}static async getPropertiesFromWebMap(e,t){return T.getPropertiesFromWebMap(e,t)}next(){}play(){}previous(){}stop(){return null}render(){const{_slider:e,actions:t,domNode:s,effectiveStops:n,fullTimeExtent:l,interactive:m,messages:u,messagesCommon:d,mode:c,tickConfigs:p,timeExtent:v,timeVisible:w,viewModel:{state:y,timeExtentValues:f}}=this;if(o(l)){const{start:t,end:i}=l;if(o(t)&&o(i)){const s=t.getTime(),n=i.getTime(),a=e.min!==s||e.max!==n;if(a&&(e.min=s,e.max=n),o(p))e.tickConfigs!==p&&(e.tickConfigs=p);else{var x;const t=(n-s)/((null==(x=e.trackElement)?void 0:x.offsetWidth)||400),i=C.find((e=>e.minor.toMilliseconds()>M*t)),o=this._tickFormat!==i&&null!=i;if(o&&(this._tickFormat=i),a||o){const t={mode:"position",values:this._getTickPositions(i.minor),labelsVisible:!1,tickCreatedFunction:(e,t)=>{t.classList.add(S.sliderMinorTick)}},s={mode:"position",values:this._getTickPositions(i.major),labelsVisible:!0,tickCreatedFunction:(e,t)=>{t.classList.add(S.sliderMajorTick)},labelFormatFunction:e=>h(e,i.format)};e.tickConfigs=[t,s]}}}}const b=a(this.fullTimeExtent)||a(this.timeExtent)||this.timeExtent.isAllTime||this.timeExtent.isEmpty||o(this.timeExtent.start)&&(this.timeExtent.start<this.fullTimeExtent.start||this.timeExtent.start>this.fullTimeExtent.end)||o(this.timeExtent.end)&&(this.timeExtent.end>this.fullTimeExtent.end||this.timeExtent.end<this.fullTimeExtent.start);if(b)switch(this._ignoreNextSliderUpdate=!0,c){case"time-window":e.values=[e.min,e.max];break;case"instant":case"cumulative-from-end":e.values=[e.min];break;case"cumulative-from-start":e.values=[e.max]}else o(f)?i(e.values,f)||(e.values=f):e.values=null;e.disabled=!m;const _="ready"===y,T="playing"===y,E=b||!m||a(n)||0===n.length,D="auto"===this.layout?s.clientWidth<$?"compact":"wide":this.layout,F=g("div",{class:S.animation},g("button",{"aria-disabled":E?"true":"false","aria-label":T?d.control.stop:d.control.play,bind:this,class:this.classes(S.esriWidgetButton,S.animationButton,E&&S.esriButtonDisabled),disabled:E,title:T?d.control.stop:d.control.play,onclick:this._playOrStopClick,type:"button"},g("div",{class:this.classes((_||E)&&S.animationPlay,T&&S.animationPause)}))),B=o(this.labelFormatFunction)?g("div",{key:"extent",bind:this,class:S.timeExtentDate,"data-type":"extent","data-layout":D,"data-date":r(v,(e=>[e.start,e.end])),afterCreate:this._createLabel,afterUpdate:this._createLabel}):a(v)||o(v)&&v.isAllTime?[g("div",{class:this.classes(S.warning,S.warningIcon)}),g("div",{key:"warning-text",class:S.warningText},u.noTimeExtent)]:v.isEmpty?[g("div",{class:this.classes(S.warning,S.warningIcon)}),g("div",{key:"warning-text",class:S.warningText},u.emptyTimeExtent)]:[o(v.start)&&g("div",{key:"start-date-group",class:S.timeExtentGroup},g("div",{key:"start-date",class:S.timeExtentDate},this._formatDate(v.start)),w&&g("div",{key:"start-time",class:S.timeExtentTime},this._formatTime(v.start))),o(v.start)&&o(v.end)&&v.start.getTime()!==v.end.getTime()&&g("div",{key:"separator",class:S.timeExtentSeparator},"–"),o(v.end)&&(a(v.start)||v.start.getTime()!==v.end.getTime())&&g("div",{key:"end-date-group",class:S.timeExtentGroup},g("div",{key:"end-date",class:S.timeExtentDate},this._formatDate(v.end)),w&&g("div",{key:"end-time",class:S.timeExtentTime},this._formatTime(v.end)))],L=g("div",{class:this.classes(S.timeExtent,!m&&S.esriButtonDisabled)},[B]),U=o(this.labelFormatFunction)?g("div",{key:"min-date",bind:this,class:S.minDate,"data-date":r(l,(e=>e.start)),"data-type":"min","data-layout":D,afterCreate:this._createLabel,afterUpdate:this._createLabel}):o(l)&&o(l.start)&&[g("div",{key:"min-date",class:S.minDate},this._formatDate(l.start)),w&&g("div",{key:"min-time",class:S.minTime},this._formatTime(l.start))],W=g("div",{class:this.classes(S.min,!m&&S.esriButtonDisabled)},[U]),I=g("div",{class:S.slider},e.render()),O=o(this.labelFormatFunction)?g("div",{key:"max-date",bind:this,class:S.maxDate,"data-date":r(l,(e=>e.end)),"data-type":"max","data-layout":D,afterCreate:this._createLabel,afterUpdate:this._createLabel}):o(l)&&o(l.end)&&[g("div",{key:"max-date",class:S.maxDate},this._formatDate(l.end)),w&&g("div",{key:"max-time",class:S.maxTime},this._formatTime(l.end))],P=g("div",{class:this.classes(S.max,!m&&S.esriButtonDisabled)},[O]),A=g("div",{class:S.previous},g("button",{"aria-disabled":E?"true":"false","aria-label":d.pagination.previous,bind:this,class:this.classes(S.esriWidgetButton,S.previousButton,(T||E)&&S.esriButtonDisabled),disabled:E,title:d.pagination.previous,onclick:this._previousClick,type:"button"},g("div",{class:S.previousIcon}))),R=g("div",{class:S.next},g("button",{"aria-disabled":E?"true":"false","aria-label":d.pagination.next,bind:this,class:this.classes(S.esriWidgetButton,S.nextButton,(T||E)&&S.esriButtonDisabled),disabled:E,title:d.pagination.next,onclick:this._nextClick,type:"button"},g("div",{class:S.nextIcon}))),V=(null==t?void 0:t.length)>0,N=V&&g("div",{class:S.actions,title:d.options},g("calcite-action-menu",{label:d.options,class:S.actionsButton},t.toArray().map((e=>g("calcite-action",{bind:this,icon:e.icon,id:e.id,onCalciteActionClick:()=>this.viewModel.triggerAction(e),text:e.title,textEnabled:!0})))));return g("div",{class:this.classes(S.timeSlider,S.esriWidget,`${S.timeSliderMode}${c}`,`${S.timeSliderLayout}${D}`,!m&&S.esriDisabled,b&&S.timeSliderOutOfBounds,V&&S.hasActions,j()),afterCreate:e=>{this.own(k(e,(()=>this.scheduleRender())))},"aria-label":u.widgetLabel},"wide"===D&&g("div",{class:S.timeSliderRow},g("div",{class:S.playbackControls},[F,L,W,I,P,A,R]),N),"compact"===D&&[g("div",{key:"time-slider-row-1",class:S.timeSliderRow},[L,N]),g("div",{key:"time-slider-row-2",class:S.timeSliderRow},[I]),g("div",{key:"time-slider-row-3",class:S.timeSliderRow},[W,A,F,R,P])])}updateWebDocument(e){var t;null==(t=this.viewModel)||t.updateWebDocument(e)}_createLabel(e){if(a(this.labelFormatFunction))return;const t=e.getAttribute("data-type"),i=e.getAttribute("data-layout"),s=e["data-date"];this.labelFormatFunction(s,t,e,i)}_getTickPositions(e){const{fullTimeExtent:t}=this;if(a(t)||a(t.start)||a(t.end))return[];const{start:i,end:s}=t,n=[],{value:o,unit:r}=e;let l=u(i,r);for(;l.getTime()<=s.getTime();)l.getTime()>=i.getTime()&&n.push(l.getTime()),l=d(l,o,r);return n}_formatDate(e){return e?h(e,w("short-date")):null}_formatTime(e){return e?h(e,w("long-time")):null}_updateSliderSteps(){this._slider.steps=o(this.effectiveStops)&&this.effectiveStops.length>0?this.effectiveStops.map((e=>e.getTime())):null}_playOrStopClick(){switch(this.viewModel.state){case"ready":this.viewModel.play();break;case"playing":this.viewModel.stop();break;case"disabled":break;default:n(this.viewModel.state)}}_previousClick(){this.viewModel.previous()}_nextClick(){this.viewModel.next()}};e([c("viewModel.actions")],D.prototype,"actions",void 0),e([p()],D.prototype,"disabled",void 0),e([c("viewModel.effectiveStops")],D.prototype,"effectiveStops",void 0),e([c("viewModel.fullTimeExtent")],D.prototype,"fullTimeExtent",void 0),e([p()],D.prototype,"iconClass",void 0),e([p({readOnly:!0})],D.prototype,"interactive",null),e([p({aliasOf:{source:"messages.widgetLabel",overridable:!0}})],D.prototype,"label",void 0),e([p()],D.prototype,"labelFormatFunction",void 0),e([p({value:"auto"})],D.prototype,"layout",null),e([c("viewModel.loop")],D.prototype,"loop",void 0),e([p(),b("esri/widgets/TimeSlider/t9n/TimeSlider")],D.prototype,"messages",void 0),e([p(),b("esri/t9n/common")],D.prototype,"messagesCommon",void 0),e([c("viewModel.mode")],D.prototype,"mode",void 0),e([c("viewModel.playRate")],D.prototype,"playRate",void 0),e([c("viewModel.stops")],D.prototype,"stops",void 0),e([p()],D.prototype,"tickConfigs",void 0),e([c("viewModel.timeExtent")],D.prototype,"timeExtent",void 0),e([p({nonNullable:!0})],D.prototype,"timeVisible",void 0),e([c("viewModel.view")],D.prototype,"view",void 0),e([p({type:T}),_("trigger-action")],D.prototype,"viewModel",void 0),e([c("viewModel.next")],D.prototype,"next",null),e([c("viewModel.play")],D.prototype,"play",null),e([c("viewModel.previous")],D.prototype,"previous",null),e([c("viewModel.stop")],D.prototype,"stop",null),e([x()],D.prototype,"_playOrStopClick",null),e([x()],D.prototype,"_previousClick",null),e([x()],D.prototype,"_nextClick",null),D=e([v("esri.widgets.TimeSlider")],D);const F=D;export{F 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.24/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Collection.js";import s from"../../core/Error.js";import r from"../../core/Evented.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import a from"../../core/Logger.js";import{isSome as l}from"../../core/maybe.js";import{whenFalse as o}from"../../core/watchUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../geometry/Point.js";import{getObjectIdsFromElements as p,getFeaturesFromLayers as u}from"../../networks/support/utils.js";import{trace as g}from"../../rest/networks/trace.js";import d from"../../rest/networks/support/TraceLocation.js";import m from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as y}from"./support/GeometryHandler.js";import{GraphicHandler as f}from"./support/GraphicHandler.js";const w="esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel",_=a.getLogger(w);let b=class extends(i(r.EventedAccessor)){constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._geometryHandler=null,this._graphicHandler=null,this._highlightHandler=[],this._traces=[],this._traceResults=[],this._unObject=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.flags=[],this.gdbVersion="sde.DEFAULT",this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0}initialize(){this._geometryHandler=new y,this._graphicHandler=new f}destroy(){this.view=null}get state(){var e;return null!=(e=this.view)&&e.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&_.error(new s("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e)}addFlagByHit(e,t){return new Promise(((s,r)=>{this.view.popup.autoOpenEnabled=!1,this._clickHandler&&this._clickHandler.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view.on("click",(i=>{this.queryFlagByHitTest(i,e,t).then((r=>{this.view.popup.autoOpenEnabled=!0,this._clickHandler.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),s(r)})).catch((s=>{this.view.popup.autoOpenEnabled=!0,this._clickHandler.remove(),this.emit("add-flag-error",{type:e,symbol:t}),r(s)}))}))}))}addFlagsOnLoad(){return new Promise((async e=>{const t=[];await this.view.when();const s=o(this.view,"updating",(async()=>{await Promise.all(this.flags.map((async e=>{if(e.mapPoint){const s=new h({x:e.mapPoint.x,y:e.mapPoint.y,spatialReference:e.mapPoint.spatialReference.wkid}),r={screenPoint:this.view.toScreen(s),mapPoint:s};await this.queryFlagByHitTest(r,e.type)||("barrier"===e.type?t.push("barrier"):t.push("starting-point"))}}))),s.remove(),e(t)}))}))}async addResultGraphicToView(e,t){for(const s in e.results.aggregatedGeometry)if("line,multipoint,polygon".indexOf(s)>-1&&null!==e.results.aggregatedGeometry[s]){e.results.aggregatedGeometry[s].spatialReference=this._unObject.spatialReference,e.graphicEnabled=!0;const r=await this._geometryHandler.projectGeometry(e.results.aggregatedGeometry[s],this.view.spatialReference),i={globalid:e.trace.globalId};if(null!==r){const e=this._graphicHandler.makeGraphic(r,t.color,i,this.view.spatialReference);this.view.graphics.add(e)}}}addTerminal(e,t){const s=[...this._flags];s.forEach((s=>{s.globalId===t.globalId&&-1===t.selectedTerminals.indexOf(parseInt(e,10))&&s.selectedTerminals.push(parseInt(e,10))})),this._flags=s}callTrace(){return new Promise((async e=>{const t=this._traces.filter((e=>e.selected));t.length>0&&(this._traceResults.length>0&&this._traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this._traceResults=[],this.removeSelection(),await Promise.all(t.map((async(e,t)=>{const s=e,r=new m({gdbVersion:this.gdbVersion,moment:null,traceType:s.traceType,traceLocations:this._flags,namedTraceConfigurationGlobalId:s.globalId,traceConfiguration:null,outSpatialReference:null,resultTypes:null});await this.executeTrace(s,this._unObject.networkServiceUrl,r).then((e=>{if(e.hasOwnProperty("results")){const s={...e},r=[...s.results.elements];s.results.elements.length=0;const i=new Map;for(const e of r)i.has(e.globalId)||(i.set(e.globalId,!0),s.results.elements.push(e));const a=[...this._traceResults];a.splice(t,0,s),this._traceResults=a,null!==s.results&&(this.selectOnComplete&&this.mergeSelection(!0,s.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(s,s.graphicColor)),this._activeProgress=!1}else{this._activeProgress=!1;const s=[...this._traceResults];s.splice(t,0,e),this._traceResults=s}})).catch((e=>{throw this._activeProgress=!1,e}))}))),e(!0))}))}changeResultGraphicColor(e,t){const s=[...this._traceResults];s.length>0&&s.forEach((s=>{s.trace.globalId===t.trace.globalId&&(s.graphicColor=e,s.graphicEnabled=!0)})),this._traceResults=s,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach((s=>{s.type===e&&t&&(s.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=[];return this._flags.some((e=>"starting-point"===e.type))?(t=this._traces.filter((e=>e.selected)),t.length<=0&&(e.status=!1,e.issues=["noTrace"])):(t=this._traces.filter((e=>!0===e.selected)),t.length>0?(e.status=!1,e.issues=["noStart"]):(e.status=!1,e.issues=["noStart","noTrace"])),e}checkSelectionExist(){let e=!1;return this._highlightHandler.some((t=>{t&&(e=!0)})),e}clearResult(e){let t=this._traceResults;if(t.length>0){const s=t.filter((t=>t.trace.globalId===e.globalId));s.length>0&&this.removeResultGraphicFromView(s[0]),t=t.filter((t=>t.trace.globalId!==e.globalId))}this._traceResults=t,0===t.length?(this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}executeTrace(e,t,s){const r=this._processFlags(s.traceLocations);return s.traceLocations=r,g(t,s).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success"}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message})))}getValidSources(){let e=[];const t=this._unObject.dataElement.domainNetworks;for(const s of t)e=e.concat(s.junctionSources),e=e.concat(s.edgeSources);return e}async loadUtilityNetwork(){var e;await this.view.when();const t=this.view.map;if(null!=(e=t.utilityNetworks)&&e.length){const e=t.utilityNetworks.getItemAt(0);await e.load(),this._unObject=e;try{await t.loadAll(),this._populateOutfields()}catch(s){this._populateOutfields()}return e}return null}manageFilterBarrier(e,t){const s=[...this._flags];s.forEach((s=>{s.globalId===t.globalId&&"barrier"===t.type&&s.id===t.id&&(s.isFilterBarrier=e)})),this._flags=s}mergeSelection(e,t){let s=[];const r=[...this._traceResults],i=t.globalId;r.forEach((t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results.elements&&(s=s.concat(t.results.elements))})),this.selectResults([...new Set(s)])}queryFeaturesById(e){return new Promise((async s=>{const r=p(this._unObject,e),i=this._getUniqueMapLayerViews(this.view),a={layerUrl:r[0].layerUrl,objectIds:r[0].objectIds,outFields:["*"]},l=i.filter((e=>e.layer.parsedUrl.path===r[0].layerUrl));if(l.length>0){const e=(await Promise.all(l.map((async e=>{const s=new t,r=e.layer;s.add(r);const i={layers:s,layerInfos:[a],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return(await u(i))[0]})))).filter((e=>e.featureSet.features.length>0));if(e.length>0){let t=[];e.forEach((e=>{t=t.concat(e.featureSet.features)})),e[0].featureSet.features.length=0,e[0].featureSet.features=e[0].featureSet.features.concat(t),s(e[0])}else s(null)}else s(null)}))}queryFlagByHitTest(e,t,s){return this._lookupFlagByHit(e).then((e=>{if(e.length>0){const r=[...this._flags],i=s;return e.forEach((e=>{const s=e.graphic,a=s.attributes.hasOwnProperty("GLOBALID")?s.attributes.GLOBALID:s.attributes.globalid;if(r.filter((e=>e.globalId===a)).length<=0){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,i);this.view.graphics.add(e),r.push({...s,type:t,globalId:s.attributes.globalid?s.attributes.globalid:s.attributes.GLOBALID,details:s,mapGraphic:e,id:r.length+1})}else if(null!==s.percentAlong){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,i);this.view.graphics.add(e),r.push({...s,type:t,globalId:s.attributes.globalid?s.attributes.globalid:s.attributes.GLOBALID,details:s,mapGraphic:e,id:r.length+1})}})),this._flags=r,!0}return!1}))}removeResultGraphicFromView(e){const t=this.view.graphics;e.graphicEnabled=!1;t.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId)).forEach((e=>{this.view.graphics.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeSelection(){this._highlightHandler.forEach((e=>{e&&e.remove()})),this._highlightHandler=[]}removeTerminal(e,t){const s=[...this._flags];s.forEach((s=>{if(s.globalId===t.globalId&&t.selectedTerminals.indexOf(parseInt(e,10))>-1){const r=t.selectedTerminals.indexOf(parseInt(e,10));s.selectedTerminals.splice(r,1)}})),this._flags=s}reset(){this._flags=[],this._traceResults=[];const e=[...this._traces];e.forEach((e=>{e.selected=!1})),this._traces=e,this.view.graphics.removeAll(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectFeaturesById(e){const t=p(this._unObject,e);this._getUniqueMapLayerViews(this.view).forEach((e=>{e.layer.parsedUrl.path===t[0].layerUrl&&this._highlightHandler.push(e.highlight(t[0].objectIds))}))}selectResults(e){if(e.length>0){this.removeSelection();const t=this._groupResultsByNetworkSource(e),s=[];for(const e in t)this.selectFeaturesById(t[e]),s.push(this.queryFeaturesById(t[e]));Promise.all(s).then((e=>{this.emit("select-features",{resultSet:e})}))}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const s=[...this._traces];s.forEach((s=>{t===s.globalId&&(s.selected=e)})),this._traces=s}selectTracesOnLoad(){this._unObject.hasOwnProperty("sharedNamedTraceConfigurations")&&(this._traces=[...this._unObject.sharedNamedTraceConfigurations],this._traces.forEach((e=>{e.selected=!1,-1!==this.selectedTraces.indexOf(e.globalId)&&(e.selected=!0)})))}zoomToAsset(e){this.view.goTo(e).catch((e=>{console.error(e)}))}_getUniqueMapLayerViews(e){const t=[];return e.layerViews.filter((e=>"feature"===e.layer.type||"group"===e.layer.type)).forEach((e=>{"group"===e.type?e.layerViews.forEach((e=>{t.push(e)})):t.find((t=>t.layer.layerId===e.layer.layerId))||t.push(e)})),t}_processFlags(e){const t=[];return e.forEach((e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach((s=>{const r=new d({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:s,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}));else{const s=new d({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}})),t}_getDisplayField(e){const t=e.layer;let s=t.displayField,r="";for(const i in e.attributes){const a=i.toLowerCase();if(a===s.toLowerCase())if(r=e.attributes[i],"assetgroup"===a||"assettype"===a){let i=e.attributes[t.typeIdField.toUpperCase()];i||(i=e.attributes[t.typeIdField.toLowerCase()]),s=t.typeIdField,r=this._checkSubtype(t,i)}else r=this._checkDomain(t.fields,i,r)}return{field:s,value:r}}_checkSubtype(e,t){let s=t;if(null!==e.types&&e.types.length>0){const r=e.types.filter((e=>e.id===t));r.length>0&&(s=r[0].name)}return s}_checkDomain(e,t,s){let r=s;const i=e.filter((e=>e.name.toLowerCase()===t.toLowerCase()));if(i.length>0&&null!==i[0].domain){const e=i[0].domain.codedValues.filter((e=>e.code===s));e.length>0&&(r=e[0].name)}return r}_groupBy(e,t){return e.reduce((function(e,s){return(e[s[t]]=e[s[t]]||[]).push(s),e}),{})}_groupResultsByNetworkSource(e){if(e.length>0){if(e[0].hasOwnProperty("results")){const t=e[0].results.elements;return this._groupBy(t,"networkSourceId")}return this._groupBy(e,"networkSourceId")}if(e.hasOwnProperty("results")){const t=e.results.elements;return this._groupBy(t,"networkSourceId")}return[]}_lookupFlagByHit(e){return this.view.hitTest(e.screenPoint,{exclude:this.view.graphics}).then((t=>{const s=[];if(t.results.length>0){const r=t.results[0];if(r.graphic&&l(r.graphic.geometry))if("polyline"===r.graphic.geometry.type){const t=this._geometryHandler.getPercentageAlong(r.graphic.geometry,e.mapPoint,r.graphic.geometry.spatialReference),i=this._getDisplayField(r.graphic);r.graphic.terminalId=null,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=null,r.graphic.selectedTerminals=null,r.graphic.percentAlong=t,r.graphic.displayValue=i,r.graphic.mapPoint=r.mapPoint,s.push(r)}else if(("point"===r.graphic.geometry.type||"polygon"===r.graphic.geometry.type)&&null!==this._unObject){const e=this._unObject.getTerminalConfiguration(r.graphic),t=this._getDisplayField(r.graphic);r.graphic.terminalId=e?e.terminals[0].id?e.terminals[0].id:null:1,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=e||null,r.graphic.selectedTerminals=[e?e.terminals[0].id?e.terminals[0].id:null:1],r.graphic.percentAlong=null,r.graphic.displayValue=t,r.graphic.mapPoint=r.mapPoint,s.push(r)}}return s}))}async _populateOutfields(){const e=this.view.map,t=this.getValidSources();e.layers.forEach((e=>{"group"===e.type?e.layers.forEach((e=>{t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])})):t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])}))}_removeGraphic(e){this.view.graphics.remove(e.mapGraphic)}};e([n()],b.prototype,"defaultGraphicColor",void 0),e([n()],b.prototype,"flags",void 0),e([n()],b.prototype,"gdbVersion",void 0),e([n()],b.prototype,"selectedTraces",void 0),e([n()],b.prototype,"selectOnComplete",void 0),e([n()],b.prototype,"showGraphicsOnComplete",void 0),e([n()],b.prototype,"showSelectionAttributes",void 0),e([n({readOnly:!0})],b.prototype,"state",null),e([n({value:null})],b.prototype,"view",null),b=e([c(w)],b);const v=b;export{v as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import t from"../../core/Collection.js";import s from"../../core/Error.js";import r from"../../core/Evented.js";import{HandleOwnerMixin as i}from"../../core/HandleOwner.js";import a from"../../core/Logger.js";import{isSome as l}from"../../core/maybe.js";import{whenFalse as o}from"../../core/watchUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/arrayUtils.js";import"../../core/has.js";import"../../core/accessorSupport/ensureType.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../geometry/Point.js";import{getObjectIdsFromElements as p,getFeaturesFromLayers as u}from"../../networks/support/utils.js";import{trace as g}from"../../rest/networks/trace.js";import d from"../../rest/networks/support/TraceLocation.js";import m from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as y}from"./support/GeometryHandler.js";import{GraphicHandler as f}from"./support/GraphicHandler.js";const w="esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel",_=a.getLogger(w);let b=class extends(i(r.EventedAccessor)){constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._geometryHandler=null,this._graphicHandler=null,this._highlightHandler=[],this._traces=[],this._traceResults=[],this._unObject=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.flags=[],this.gdbVersion="sde.DEFAULT",this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0}initialize(){this._geometryHandler=new y,this._graphicHandler=new f}destroy(){this.view=null}get state(){var e;return null!=(e=this.view)&&e.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&_.error(new s("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e)}addFlagByHit(e,t){return new Promise(((s,r)=>{this.view.popup.autoOpenEnabled=!1,this._clickHandler&&this._clickHandler.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view.on("click",(i=>{this.queryFlagByHitTest(i,e,t).then((r=>{this.view.popup.autoOpenEnabled=!0,this._clickHandler.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),s(r)})).catch((s=>{this.view.popup.autoOpenEnabled=!0,this._clickHandler.remove(),this.emit("add-flag-error",{type:e,symbol:t}),r(s)}))}))}))}addFlagsOnLoad(){return new Promise((async e=>{const t=[];await this.view.when();const s=o(this.view,"updating",(async()=>{await Promise.all(this.flags.map((async e=>{if(e.mapPoint){const s=new h({x:e.mapPoint.x,y:e.mapPoint.y,spatialReference:e.mapPoint.spatialReference.wkid}),r={screenPoint:this.view.toScreen(s),mapPoint:s};await this.queryFlagByHitTest(r,e.type)||("barrier"===e.type?t.push("barrier"):t.push("starting-point"))}}))),s.remove(),e(t)}))}))}async addResultGraphicToView(e,t){for(const s in e.results.aggregatedGeometry)if("line,multipoint,polygon".includes(s)&&null!==e.results.aggregatedGeometry[s]){e.results.aggregatedGeometry[s].spatialReference=this._unObject.spatialReference,e.graphicEnabled=!0;const r=await this._geometryHandler.projectGeometry(e.results.aggregatedGeometry[s],this.view.spatialReference),i={globalid:e.trace.globalId};if(null!==r){const e=this._graphicHandler.makeGraphic(r,t.color,i,this.view.spatialReference);this.view.graphics.add(e)}}}addTerminal(e,t){const s=[...this._flags];s.forEach((s=>{s.globalId===t.globalId&&(t.selectedTerminals.includes(parseInt(e,10))||s.selectedTerminals.push(parseInt(e,10)))})),this._flags=s}callTrace(){return new Promise((async e=>{const t=this._traces.filter((e=>e.selected));t.length>0&&(this._traceResults.length>0&&this._traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this._traceResults=[],this.removeSelection(),await Promise.all(t.map((async(e,t)=>{const s=e,r=new m({gdbVersion:this.gdbVersion,moment:null,traceType:s.traceType,traceLocations:this._flags,namedTraceConfigurationGlobalId:s.globalId,traceConfiguration:null,outSpatialReference:null,resultTypes:null});await this.executeTrace(s,this._unObject.networkServiceUrl,r).then((e=>{if(e.hasOwnProperty("results")){const s={...e},r=[...s.results.elements];s.results.elements.length=0;const i=new Map;for(const e of r)i.has(e.globalId)||(i.set(e.globalId,!0),s.results.elements.push(e));const a=[...this._traceResults];a.splice(t,0,s),this._traceResults=a,null!==s.results&&(this.selectOnComplete&&this.mergeSelection(!0,s.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(s,s.graphicColor)),this._activeProgress=!1}else{this._activeProgress=!1;const s=[...this._traceResults];s.splice(t,0,e),this._traceResults=s}})).catch((e=>{throw this._activeProgress=!1,e}))}))),e(!0))}))}changeResultGraphicColor(e,t){const s=[...this._traceResults];s.length>0&&s.forEach((s=>{s.trace.globalId===t.trace.globalId&&(s.graphicColor=e,s.graphicEnabled=!0)})),this._traceResults=s,this.removeResultGraphicFromView(t),this.addResultGraphicToView(t,e)}changeFlagSymbol(e,t){this._flags.length>0&&this._flags.forEach((s=>{s.type===e&&t&&(s.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=[];return this._flags.some((e=>"starting-point"===e.type))?(t=this._traces.filter((e=>e.selected)),t.length<=0&&(e.status=!1,e.issues=["noTrace"])):(t=this._traces.filter((e=>!0===e.selected)),t.length>0?(e.status=!1,e.issues=["noStart"]):(e.status=!1,e.issues=["noStart","noTrace"])),e}checkSelectionExist(){let e=!1;return this._highlightHandler.some((t=>{t&&(e=!0)})),e}clearResult(e){let t=this._traceResults;if(t.length>0){const s=t.filter((t=>t.trace.globalId===e.globalId));s.length>0&&this.removeResultGraphicFromView(s[0]),t=t.filter((t=>t.trace.globalId!==e.globalId))}this._traceResults=t,0===t.length?(this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}executeTrace(e,t,s){const r=this._processFlags(s.traceLocations);return s.traceLocations=r,g(t,s).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success"}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message})))}getValidSources(){let e=[];const t=this._unObject.dataElement.domainNetworks;for(const s of t)e=e.concat(s.junctionSources),e=e.concat(s.edgeSources);return e}async loadUtilityNetwork(){var e;await this.view.when();const t=this.view.map;if(null!=(e=t.utilityNetworks)&&e.length){const e=t.utilityNetworks.getItemAt(0);await e.load(),this._unObject=e;try{await t.loadAll(),this._populateOutfields()}catch(s){this._populateOutfields()}return e}return null}manageFilterBarrier(e,t){const s=[...this._flags];s.forEach((s=>{s.globalId===t.globalId&&"barrier"===t.type&&s.id===t.id&&(s.isFilterBarrier=e)})),this._flags=s}mergeSelection(e,t){let s=[];const r=[...this._traceResults],i=t.globalId;r.forEach((t=>{i===t.trace.globalId&&(t.selectionEnabled=e),t.selectionEnabled&&null!==t.results.elements&&(s=s.concat(t.results.elements))})),this.selectResults([...new Set(s)])}queryFeaturesById(e){return new Promise((async s=>{const r=p(this._unObject,e),i=this._getUniqueMapLayerViews(this.view),a={layerUrl:r[0].layerUrl,objectIds:r[0].objectIds,outFields:["*"]},l=i.filter((e=>e.layer.parsedUrl.path===r[0].layerUrl));if(l.length>0){const e=(await Promise.all(l.map((async e=>{const s=new t,r=e.layer;s.add(r);const i={layers:s,layerInfos:[a],returnGeometry:!0,outSpatialReference:this.view.spatialReference};return(await u(i))[0]})))).filter((e=>e.featureSet.features.length>0));if(e.length>0){let t=[];e.forEach((e=>{t=t.concat(e.featureSet.features)})),e[0].featureSet.features.length=0,e[0].featureSet.features=e[0].featureSet.features.concat(t),s(e[0])}else s(null)}else s(null)}))}queryFlagByHitTest(e,t,s){return this._lookupFlagByHit(e).then((e=>{if(e.length>0){const r=[...this._flags],i=s;return e.forEach((e=>{const s=e.graphic,a=s.attributes.hasOwnProperty("GLOBALID")?s.attributes.GLOBALID:s.attributes.globalid;if(r.filter((e=>e.globalId===a)).length<=0){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,i);this.view.graphics.add(e),r.push({...s,type:t,globalId:s.attributes.globalid?s.attributes.globalid:s.attributes.GLOBALID,details:s,mapGraphic:e,id:r.length+1})}else if(null!==s.percentAlong){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,i);this.view.graphics.add(e),r.push({...s,type:t,globalId:s.attributes.globalid?s.attributes.globalid:s.attributes.GLOBALID,details:s,mapGraphic:e,id:r.length+1})}})),this._flags=r,!0}return!1}))}removeResultGraphicFromView(e){const t=this.view.graphics;e.graphicEnabled=!1;t.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId)).forEach((e=>{this.view.graphics.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeSelection(){this._highlightHandler.forEach((e=>{e&&e.remove()})),this._highlightHandler=[]}removeTerminal(e,t){const s=[...this._flags];s.forEach((s=>{if(s.globalId===t.globalId&&t.selectedTerminals.includes(parseInt(e,10))){const r=t.selectedTerminals.indexOf(parseInt(e,10));s.selectedTerminals.splice(r,1)}})),this._flags=s}reset(){this._flags=[],this._traceResults=[];const e=[...this._traces];e.forEach((e=>{e.selected=!1})),this._traces=e,this.view.graphics.removeAll(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectFeaturesById(e){const t=p(this._unObject,e);this._getUniqueMapLayerViews(this.view).forEach((e=>{e.layer.parsedUrl.path===t[0].layerUrl&&this._highlightHandler.push(e.highlight(t[0].objectIds))}))}selectResults(e){if(e.length>0){this.removeSelection();const t=this._groupResultsByNetworkSource(e),s=[];for(const e in t)this.selectFeaturesById(t[e]),s.push(this.queryFeaturesById(t[e]));Promise.all(s).then((e=>{this.emit("select-features",{resultSet:e})}))}else this.removeSelection(),this.emit("clear-selection",{resultSet:[]})}selectTraces(e,t){const s=[...this._traces];s.forEach((s=>{t===s.globalId&&(s.selected=e)})),this._traces=s}selectTracesOnLoad(){this._unObject.hasOwnProperty("sharedNamedTraceConfigurations")&&(this._traces=[...this._unObject.sharedNamedTraceConfigurations],this._traces.forEach((e=>{e.selected=!1,this.selectedTraces.includes(e.globalId)&&(e.selected=!0)})))}zoomToAsset(e){this.view.goTo(e).catch((e=>{console.error(e)}))}_getUniqueMapLayerViews(e){const t=[];return e.layerViews.filter((e=>"feature"===e.layer.type||"group"===e.layer.type)).forEach((e=>{"group"===e.type?e.layerViews.forEach((e=>{t.push(e)})):t.find((t=>t.layer.layerId===e.layer.layerId))||t.push(e)})),t}_processFlags(e){const t=[];return e.forEach((e=>{if(null!==e.selectedTerminals&&e.selectedTerminals.length>0)e.selectedTerminals.forEach((s=>{const r=new d({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:s,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}));else{const s=new d({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}})),t}_getDisplayField(e){const t=e.layer;let s=t.displayField,r="";for(const i in e.attributes){const a=i.toLowerCase();if(a===s.toLowerCase())if(r=e.attributes[i],"assetgroup"===a||"assettype"===a){let i=e.attributes[t.typeIdField.toUpperCase()];i||(i=e.attributes[t.typeIdField.toLowerCase()]),s=t.typeIdField,r=this._checkSubtype(t,i)}else r=this._checkDomain(t.fields,i,r)}return{field:s,value:r}}_checkSubtype(e,t){let s=t;if(null!==e.types&&e.types.length>0){const r=e.types.filter((e=>e.id===t));r.length>0&&(s=r[0].name)}return s}_checkDomain(e,t,s){let r=s;const i=e.filter((e=>e.name.toLowerCase()===t.toLowerCase()));if(i.length>0&&null!==i[0].domain){const e=i[0].domain.codedValues.filter((e=>e.code===s));e.length>0&&(r=e[0].name)}return r}_groupBy(e,t){return e.reduce((function(e,s){return(e[s[t]]=e[s[t]]||[]).push(s),e}),{})}_groupResultsByNetworkSource(e){if(e.length>0){if(e[0].hasOwnProperty("results")){const t=e[0].results.elements;return this._groupBy(t,"networkSourceId")}return this._groupBy(e,"networkSourceId")}if(e.hasOwnProperty("results")){const t=e.results.elements;return this._groupBy(t,"networkSourceId")}return[]}_lookupFlagByHit(e){return this.view.hitTest(e.screenPoint,{exclude:this.view.graphics}).then((t=>{const s=[];if(t.results.length>0){const r=t.results[0];if(r.graphic&&l(r.graphic.geometry))if("polyline"===r.graphic.geometry.type){const t=this._geometryHandler.getPercentageAlong(r.graphic.geometry,e.mapPoint,r.graphic.geometry.spatialReference),i=this._getDisplayField(r.graphic);r.graphic.terminalId=null,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=null,r.graphic.selectedTerminals=null,r.graphic.percentAlong=t,r.graphic.displayValue=i,r.graphic.mapPoint=r.mapPoint,s.push(r)}else if(("point"===r.graphic.geometry.type||"polygon"===r.graphic.geometry.type)&&null!==this._unObject){const e=this._unObject.getTerminalConfiguration(r.graphic),t=this._getDisplayField(r.graphic);r.graphic.terminalId=e?e.terminals[0].id?e.terminals[0].id:null:1,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=e||null,r.graphic.selectedTerminals=[e?e.terminals[0].id?e.terminals[0].id:null:1],r.graphic.percentAlong=null,r.graphic.displayValue=t,r.graphic.mapPoint=r.mapPoint,s.push(r)}}return s}))}async _populateOutfields(){const e=this.view.map,t=this.getValidSources();e.layers.forEach((e=>{"group"===e.type?e.layers.forEach((e=>{t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])})):t.some((t=>t.layerId===e.layerId))&&e.fields.some((e=>"assetgroup"===e.name.toLowerCase()))&&(e.outFields=["assetgroup","assettype","globalid","objectid"])}))}_removeGraphic(e){this.view.graphics.remove(e.mapGraphic)}};e([n()],b.prototype,"defaultGraphicColor",void 0),e([n()],b.prototype,"flags",void 0),e([n()],b.prototype,"gdbVersion",void 0),e([n()],b.prototype,"selectedTraces",void 0),e([n()],b.prototype,"selectOnComplete",void 0),e([n()],b.prototype,"showGraphicsOnComplete",void 0),e([n()],b.prototype,"showSelectionAttributes",void 0),e([n({readOnly:!0})],b.prototype,"state",null),e([n({value:null})],b.prototype,"view",null),b=e([c(w)],b);const v=b;export{v as default};
|