@arcgis/core 4.27.0-rc.1 → 4.27.0-rc.3
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/README.md +2 -2
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{a8565d1c676f3bfbcebb.js → 002fe1ec63ea33e6972d.js} +1 -1
- package/assets/esri/core/workers/chunks/{0610691a0c0d9fbbd6d2.js → 013de5c2955801b329b3.js} +1 -1
- package/assets/esri/core/workers/chunks/07163dcbb871f927a580.js +1 -0
- package/assets/esri/core/workers/chunks/0e46687004392c493c06.js +1 -0
- package/assets/esri/core/workers/chunks/0e65e00173b66c7fec2e.js +1 -0
- package/assets/esri/core/workers/chunks/1aa8dd317ecd3c41e0ea.js +1 -0
- package/assets/esri/core/workers/chunks/21328f3dd26abe84a10d.js +1 -0
- package/assets/esri/core/workers/chunks/28c67c98039503b62e6e.js +1 -0
- package/assets/esri/core/workers/chunks/2faa8f08f2fdaac3f4af.js +1 -0
- package/assets/esri/core/workers/chunks/{0407bf97ad621c89a734.js → 3160af63b860b52db389.js} +1 -1
- package/assets/esri/core/workers/chunks/3767b9e7660873b018c2.js +1 -0
- package/assets/esri/core/workers/chunks/39ae4b9b766f674bc6f2.js +1 -0
- package/assets/esri/core/workers/chunks/45629ff775e77234b227.js +1 -0
- package/assets/esri/core/workers/chunks/471f6eba213412b82840.js +1 -0
- package/assets/esri/core/workers/chunks/4a4f14a3d8da270059c4.js +1 -0
- package/assets/esri/core/workers/chunks/{3e239bfad611985e50fb.js → 50f910797c17c3028521.js} +1 -1
- package/assets/esri/core/workers/chunks/{f339db2b599fa9585283.js → 5e6471dd2a08e66b47d0.js} +79 -81
- package/assets/esri/core/workers/chunks/642c5a93c0a454bdd115.js +1 -0
- package/assets/esri/core/workers/chunks/{14145959a3dab1437818.js → 6627f1bc9ee6b620e3aa.js} +1 -1
- package/assets/esri/core/workers/chunks/{170bdbdb4e21bf91a17f.js → 6eaa7a51efde2dd4a5a4.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8bd3f498b3fa8153404.js → 6f510f28526c73ab453c.js} +1 -1
- package/assets/esri/core/workers/chunks/{2bdc63395c7466ce1641.js → 7053c2f5a958d4c8629b.js} +1 -1
- package/assets/esri/core/workers/chunks/{4c35c663528f710e8c78.js → 79cb672c85ea29e8484a.js} +1 -1
- package/assets/esri/core/workers/chunks/82939ead43848a13f765.js +1 -0
- package/assets/esri/core/workers/chunks/83e3d104886b48f00397.js +1 -0
- package/assets/esri/core/workers/chunks/89001ee8d3f69fa03cc1.js +1 -0
- package/assets/esri/core/workers/chunks/8b6b963230df56850580.js +1 -0
- package/assets/esri/core/workers/chunks/9472184ef1432fc55d6b.js +1 -0
- package/assets/esri/core/workers/chunks/{3c5a64a545272f148e93.js → 9621b7d8d951aa881686.js} +1 -1
- package/assets/esri/core/workers/chunks/a6ddf80eb324c35076e1.js +1 -0
- package/assets/esri/core/workers/chunks/a80a6267d88246ede5d3.js +1 -0
- package/assets/esri/core/workers/chunks/{b6e173eddaad4244cb5f.js → b31974524932e638df8c.js} +1 -1
- package/assets/esri/core/workers/chunks/{f505ebd4bd3bfb6c790d.js → b6a55fdfe16795ebf02c.js} +1 -1
- package/assets/esri/core/workers/chunks/bf9e1fde9f6b2b4f10c0.js +1 -0
- package/assets/esri/core/workers/chunks/cfa3b2b1e184681e9af4.js +1 -0
- package/assets/esri/core/workers/chunks/{92e7f224a80195e606d6.js → d4ba894a2583f3930a4f.js} +1 -1
- package/assets/esri/core/workers/chunks/d5dfd3d693d5e393a542.js +1 -0
- package/assets/esri/core/workers/chunks/dabd889e064c4e7807fa.js +1 -0
- package/assets/esri/core/workers/chunks/{74fd2059ddda9083cbcc.js → dc6c97a43d642eeaf477.js} +1 -1
- package/assets/esri/core/workers/chunks/{2154d395f405be3cd3ba.js → eca0c3d57b3a1e3a14ee.js} +1 -1
- package/assets/esri/core/workers/chunks/f35895e03c036d67b3ed.js +1 -0
- package/assets/esri/core/workers/chunks/f36697f6aac782007d1a.js +1 -0
- package/assets/esri/core/workers/chunks/f52054f27619a98b7bb7.js +1 -0
- package/assets/esri/core/workers/chunks/{c6efe2e04ea6a55bb6e3.js → f6e68befe2812b90b40d.js} +1 -1
- package/assets/esri/core/workers/chunks/fb7fe307a583b6a22218.js +1 -0
- package/assets/esri/core/workers/chunks/fbd3c78ee8e2219a6c7a.js +1 -0
- package/assets/esri/core/workers/chunks/ff42585e1b1d0c5497af.js +1 -0
- package/assets/esri/images/portal/livestreamvideolayer16.png +0 -0
- package/assets/esri/images/portal/{mediaservice16.png → videolayer16.png} +0 -0
- package/assets/esri/themes/base/widgets/_Feature.scss +4 -0
- package/assets/esri/themes/base/widgets/_FeatureContent.scss +9 -2
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +19 -2
- package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +1 -0
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/DefaultMaterial.glsl.js +3 -2
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/core/timeUtils.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/support/DoubleArray.js +1 -1
- package/geometry/support/meshVertexSpaceUtils.js +5 -0
- package/interfaces.d.ts +263 -31
- package/kernel.js +1 -1
- package/layers/VideoLayer.js +1 -1
- package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
- package/layers/graphics/controllers/StreamController.js +1 -1
- package/layers/graphics/data/QueryEngine.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/editingSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/support/editableLayers.js +1 -1
- package/layers/support/layerUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/layers/video/videoUtils.js +5 -0
- package/package.json +1 -1
- package/portal/PortalItem.js +1 -1
- package/request.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/smartMapping/symbology/flow.js +1 -1
- package/statistics/utils.js +1 -1
- package/support/requestUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/views/2d/layers/StreamLayerView2D.js +1 -1
- package/views/2d/layers/features/sources/StreamSource.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
- package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
- package/views/3d/layers/II3SMeshView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerWorker.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Transform.glsl.js +3 -9
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +12 -9
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/pbrUtils.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlightTechnique.js +1 -1
- package/views/draw/DrawGraphicTool.js +1 -1
- package/views/layers/GroupLayerView.js +1 -1
- package/webmap/initialViewPropertiesUtils.js +1 -1
- package/widgets/Daylight/DaylightViewModel.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/Workflow.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
- package/widgets/Feature/FeatureRelationship.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/EditableInput.d.ts +2 -2
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureForm/RelationshipInput.js +1 -1
- package/widgets/FeatureForm/css.js +1 -1
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.d.ts +4 -0
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker/ValuePickerBaseComponent.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/support/geolocationUtils.js +1 -1
- package/assets/esri/core/workers/chunks/07651ef8348f702d59ac.js +0 -1
- package/assets/esri/core/workers/chunks/0a02ac5628d1739372c6.js +0 -1
- package/assets/esri/core/workers/chunks/0fcb8d408696075338e2.js +0 -1
- package/assets/esri/core/workers/chunks/16e459b16bdd6e1a821b.js +0 -1
- package/assets/esri/core/workers/chunks/1b8074269800b384ecf6.js +0 -1
- package/assets/esri/core/workers/chunks/39714837f9d3708e3806.js +0 -1
- package/assets/esri/core/workers/chunks/3ba2fcb9110230f8790c.js +0 -1
- package/assets/esri/core/workers/chunks/474d9b334812533bab36.js +0 -1
- package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +0 -1
- package/assets/esri/core/workers/chunks/5706edf45402dff279a6.js +0 -1
- package/assets/esri/core/workers/chunks/659b7bad7281c0e2aed3.js +0 -1
- package/assets/esri/core/workers/chunks/785a6c925f29bc962992.js +0 -1
- package/assets/esri/core/workers/chunks/90da1ed112b82712d0ef.js +0 -1
- package/assets/esri/core/workers/chunks/9326120c750799eb2d28.js +0 -1
- package/assets/esri/core/workers/chunks/99e0cec47e3ef72c1de4.js +0 -1
- package/assets/esri/core/workers/chunks/9c0e1e87790424f42d7e.js +0 -1
- package/assets/esri/core/workers/chunks/9e66af3b1c70cf25fb32.js +0 -1
- package/assets/esri/core/workers/chunks/a1c31bb8c12831539328.js +0 -1
- package/assets/esri/core/workers/chunks/b0cda39b53ecd6c44cd0.js +0 -1
- package/assets/esri/core/workers/chunks/b5fc6f2044ed047c5afd.js +0 -1
- package/assets/esri/core/workers/chunks/c08e03165043df67c11b.js +0 -1
- package/assets/esri/core/workers/chunks/c26148d4bfab3b3dfab2.js +0 -1
- package/assets/esri/core/workers/chunks/d6b6bb8aecc85d2a3f6b.js +0 -1
- package/assets/esri/core/workers/chunks/eeaf8010e38b65a101ac.js +0 -1
- package/assets/esri/core/workers/chunks/f235392c56063fbf89c6.js +0 -1
- package/assets/esri/core/workers/chunks/fdd0d3616c97e408b104.js +0 -1
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../../chunks/tslib.es6.js";import{id as t}from"../../kernel.js";import s from"../../core/Collection.js";import r from"../../core/Error.js";import i from"../../core/Evented.js";import{HandleOwnerMixin as a}from"../../core/HandleOwner.js";import l from"../../core/Logger.js";import{when as o}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../geometry/Point.js";import{fetchMessageBundle as u}from"../../intl/messages.js";import p from"../../layers/support/CodedValueDomain.js";import d from"../../networks/UtilityNetwork.js";import{getObjectIdsFromElements as g,getFeaturesFromLayers as m}from"../../networks/support/utils.js";import{trace as y}from"../../rest/networks/trace.js";import f from"../../rest/networks/support/TraceLocation.js";import w from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as _}from"./support/GeometryHandler.js";import{GraphicHandler as b}from"./support/GraphicHandler.js";import{ResultAreaHandler as v}from"./support/ResultAreaHandler.js";const A=()=>u("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),R=()=>u("esri/core/t9n/Units");function I(e){return e instanceof p}function F(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function T(e){return void 0!==e.layerViews}let k=class extends(a(i.EventedAccessor)){constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._geometryHandler=null,this._graphicHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._traces=[],this._traceResults=[],this._watchHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.gdbVersion="sde.DEFAULT",this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.utilityNetwork=null}initialize(){this._geometryHandler=new _,this._graphicHandler=new b,this._resultAreaHandler=new v;(async()=>{const[e,t]=await Promise.all([A(),R()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e})}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&l.getLogger(this).error(new r("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e)}addFlagByHit(e,t){const s=e=>{const t=this.view?.popup;t&&(t.autoOpenEnabled=e)};return new Promise(((r,i)=>{s(!1),this._clickHandler?.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view?.on("click",(a=>{this.queryFlagByHitTest(a,e,t).then((i=>{s(!0),this._clickHandler?.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),r(i)})).catch((r=>{s(!0),this._clickHandler?.remove(),this.emit("add-flag-error",{type:e,symbol:t}),i(r)}))}))}))}async addFlagsOnLoad(){return new Promise((e=>{const t=[];this._watchHandler=o((()=>null!=this.view&&!this.view.updating),(async()=>{if(this._flags.length>0)e(t);else{const s=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"))}}));await Promise.all(s),e(t)}}),{initial:!0})}))}addResultAreaToMap(e){if(e.resultArea.show=!0,null!==e.results?.aggregatedGeometry){const t=this._geometryHandler.mergeAggregatedToGeometries(e.results?.aggregatedGeometry);if(t.length>0){const s=Array(t.length).fill(e.resultArea?.distance);this.createResultAreaGeometries(e,t,s)}}else{const t=this._groupResultsByNetworkSource(e.results.elements),s=[];for(const e in t)s.push(this.queryFeaturesById(t[e]));Promise.all(s).then((t=>{const s=[];for(const e of t)for(const t of e)for(const e of t.featureSet.features)s.push(e.geometry);const r=Array(s.length).fill(e.resultArea?.distance);this.createResultAreaGeometries(e,s,r)})).catch((e=>{console.log(e)}))}}async addResultGraphicToView(e,t){const{view:s}=this,{results:r}=e;if(s&&r)for(const i in r.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=r.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const r=await this._geometryHandler.projectGeometry(l,s.spatialReference),i={globalid:e.trace.globalId};if(null!==r){const e=this._graphicHandler.makeGraphic(r,t.color,i,s.spatialReference);s.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}async callTrace(){const e=this._traces.filter((e=>e.selected));return e.length>0&&(this._traceResults.length>0&&this._traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this._traceResults=[],this.removeSelection(),await Promise.all(e.map((async(e,t)=>{const s=e,r=new w({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.utilityNetwork.networkServiceUrl,r).then((e=>{if(e.hasOwnProperty("results")){const s={...e};if(null!==s.results){s.resultArea={...this.resultAreaProperties};const e=[...s.results.elements];s.results.elements.length=0;const r=new Map;for(const t of e)r.has(t.globalId)||(r.set(t.globalId,!0),s.results.elements.push(t));const i=[...this._traceResults];i.splice(t,0,s),this._traceResults=i,null!==s.results&&(this.selectOnComplete&&this.mergeSelection(!0,s.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(s,s.graphicColor),this.enableResultArea&&s.resultArea.show&&this.addResultAreaToMap(s))}else{const s=[...this._traceResults];s.splice(t,0,e),this._traceResults=s}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}))}))),!0)}changeResultAreaColor(e,t){e.resultArea&&(e.resultArea.color??=t,this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map))}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&&(s.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=!1;const s=this._flags.some((e=>"starting-point"===e.type)),r=this._flags.filter((e=>null!==e.allTerminals));r.length>0&&(t=r.some((e=>e.selectedTerminals.length<=0)));let i=[];return s?(i=this._traces.filter((e=>e.selected)),i.length<=0?(e.status=!1,e.issues=["noTrace"],t&&(e.status=!1,e.issues=["noTrace","noTerminalSelected"])):t&&(e.status=!1,e.issues=["noTerminalSelected"])):(i=this._traces.filter((e=>!0===e.selected)),i.length>0?(e.status=!1,e.issues=["noStart"],t&&(e.status=!1,e.issues=["noStart","noTerminalSelected"])):(e.status=!1,e.issues=["noStart","noTrace"],t&&(e.status=!1,e.issues=["noStart","noTrace","noTerminalSelected"]))),e}checkSelectionExist(){let e=!1;return this._highlightHandler.some((t=>{t&&(e=!0)})),e}clearResult(e){if(!this.view)return;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]),this.removeResultAreaToMap(s[0])),t=t.filter((t=>t.trace.globalId!==e.globalId))}this._traceResults=t,0===t.length?(this._resultAreaHandler?.removeResultAreaGrahicsLayer(this.view.map),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,s){if(!this.view)return;let r=[];if(r="convexhull"===this.resultAreaProperties?.type?this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):this._resultAreaHandler?.createBuffer(t,s,e.resultArea?.unit,!0),r&&r?.length>0)for(const i of r){const t=this.getResultAreaAttributes(e,i),s=this._resultAreaHandler?.createResultAreaGraphic(i,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);this._resultAreaHandler?.addResultAreaToMap(s,this.view.map)}}executeTrace(e,t,s){const r=this._processFlags(s.traceLocations);return s.traceLocations=r,y(t,s).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date})))}getResultAreaAttributes(e,s){const{messages:r}=this,i=[],a=[];this._flags.forEach((e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+r.attributeStrings.globalid+":"+e.globalId+";"+r.attributeStrings.terminalid+":"+e.terminalId+";"+r.attributeStrings.x+":"+e.mapPoint?.x+";"+r.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)}));return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:this.gdbVersion,username:t.credentials[0].userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:this._geometryHandler.calculateArea(s,e.resultArea?.areaUnit)}}getValidSources(){let e=[];const t=this.utilityNetwork.dataElement?.domainNetworks??[];for(const s of t)e=e.concat(s.junctionSources),e=e.concat(s.edgeSources);return e}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof d){try{const t=e.map;await t.loadAll(),this._populateOutfields()}catch(r){this._populateOutfields()}return this.utilityNetwork}return null}const t=e.map,s=t.utilityNetworks?.at(0);if(s){await s.load(),this.utilityNetwork=s;try{await t.loadAll(),this._populateOutfields()}catch(r){}finally{this._populateOutfields()}return s}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&&null!==t.results.elements&&(s=[...s,...t.results.elements??[]])})),this.selectResults([...new Set(s)])}async queryFeaturesById(e){const{view:t}=this;if(!t)return null;const r=g(this.utilityNetwork,e),i=this._getUniqueMapLayerViews(t),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 r=new s,i=e.layer;r.add(i);const l={layers:r,layerInfos:[a],returnGeometry:!0,outSpatialReference:t.spatialReference};return(await m(l))[0]})))).filter((e=>e.featureSet.features.length>0));return e.length>0?e:null}return null}queryFlagByHitTest(e,t,s){return this._lookupFlagByHit(e).then((e=>{const{view:r}=this;if(!r)return!1;if(e.length>0){const i=[...this._flags],a=s;return e.forEach((e=>{const s=e.graphic,l=s.attributes.hasOwnProperty("GLOBALID")?s.attributes.GLOBALID:s.attributes.globalid;if(i.filter((e=>e.globalId===l)).length<=0){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,a);r.graphics.add(e),i.push({...s,type:t,globalId:s.attributes.globalid||s.attributes.GLOBALID,details:s,mapGraphic:e,id:i.length+1})}else if(null!==s.percentAlong){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,a);r.graphics.add(e),i.push({...s,type:t,globalId:s.attributes.globalid||s.attributes.GLOBALID,details:s,mapGraphic:e,id:i.length+1})}})),this._flags=i,!0}return!1}))}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const s=t.graphics;e.graphicEnabled=!1;s.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId)).forEach((e=>{t.graphics.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeResultAreaGrahicsLayer(){this._resultAreaHandler?.removeResultAreaGrahicsLayer(this.view.map)}removeResultAreaToMap(e){e.resultArea.show=!1,this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map)}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}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}reset(){this._flags=[],this._traceResults=[];const e=[...this._traces];e.forEach((e=>{e.selected=!1})),this._traces=e,this.view&&(this.view.graphics.removeAll(),this.removeResultAreaGrahicsLayer(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}))}selectFeaturesById(e){const{view:t}=this;if(!t)return;const s=g(this.utilityNetwork,e);this._getUniqueMapLayerViews(t).forEach((e=>{e.layer?.parsedUrl?.path===s[0].layerUrl&&F(e)&&this._highlightHandler.push(e.highlight(s[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.utilityNetwork.hasOwnProperty("sharedNamedTraceConfigurations")&&(this._traces=[...this.utilityNetwork.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((({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e)).forEach((e=>{switch(e.layer.type){case"group":if(T(e))for(const s of e.layerViews)t.push(s);break;case"subtype-group":t.push(e);break;default:t.some((t=>t.layer.id===e.layer.id))||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 f({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:s,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}));else{const s=new f({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}})),t}_getDisplayField(e){return"subtype-sublayer"===e?.layer?.type?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",s="";const r=e.layer;t=this._checkParentForData(r,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(s=e.attributes[i],"assetgroup"===a||"assettype"===a?s=this._checkSubtype(r,r.subtypeCode):(s=this._checkDomain(r.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,r)))):(s=this._checkDomain(r.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,r)))}return{field:t,value:s.toString()}}_getDisplayFieldByFeatureLayer(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 a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),s=t.typeIdField,r=this._checkSubtype(t,a),""===s&&(t.templates&&t.templates.length>0?(s=t.templates[0]?.name,r=t.templates[0]?.name):(s=t.displayField,r=e.attributes[i]))}else r=this._checkDomain(t.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,t));else r=this._checkDomain(t.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,t))}return{field:s,value:r?r.toString():""}}_checkSubtype(e,t){let s=t;if("subtype-sublayer"===e.type){const r=this._checkParentForData(e,"subtypes");r?.length>0&&r.forEach((e=>{e.code===t&&(s=e.name)}))}else 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&&I(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter((({code:e})=>e===s));e.length>0&&(r=e[0].name)}return r}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}_groupBy(e,t){return e.reduce(((e,s)=>((e[s[t]]=e[s[t]]||[]).push(s),e)),{})}_groupResultsByNetworkSource(e){if(e.length>0){return this._groupBy(e,"networkSourceId")}return[]}_lookupFlagByHit(e){return this.view.hitTest(e.screenPoint).then((t=>{const s=[];if(t.results.length>0){const r=t.results.find((e=>null!==e.layer));if(r.graphic&&null!=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.utilityNetwork){const e=this.utilityNetwork.getTerminalConfiguration(r.graphic),t=this._getDisplayField(r.graphic);r.graphic.terminalId=e?e.terminals[0].id||null:1,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=e??null,r.graphic.selectedTerminals=[e?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()],k.prototype,"_activeProgress",void 0),e([n()],k.prototype,"_flags",void 0),e([n()],k.prototype,"_traces",void 0),e([n()],k.prototype,"_traceResults",void 0),e([n()],k.prototype,"defaultGraphicColor",void 0),e([n()],k.prototype,"enableResultArea",void 0),e([n()],k.prototype,"flags",void 0),e([n()],k.prototype,"gdbVersion",void 0),e([n()],k.prototype,"messages",void 0),e([n()],k.prototype,"messagesUnits",void 0),e([n()],k.prototype,"resultAreaProperties",null),e([n()],k.prototype,"selectedTraces",void 0),e([n()],k.prototype,"selectOnComplete",void 0),e([n()],k.prototype,"showGraphicsOnComplete",void 0),e([n()],k.prototype,"showSelectionAttributes",void 0),e([n({readOnly:!0})],k.prototype,"state",null),e([n()],k.prototype,"utilityNetwork",void 0),e([n({value:null})],k.prototype,"view",null),k=e([c("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],k);const S=k;export{S as default};
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import{id as t}from"../../kernel.js";import s from"../../core/Collection.js";import r from"../../core/Error.js";import i from"../../core/Evented.js";import{HandleOwnerMixin as a}from"../../core/HandleOwner.js";import l from"../../core/Logger.js";import{when as o}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as c}from"../../core/accessorSupport/decorators/subclass.js";import h from"../../geometry/Point.js";import{fetchMessageBundle as u}from"../../intl/messages.js";import p from"../../layers/support/CodedValueDomain.js";import d from"../../networks/UtilityNetwork.js";import{getObjectIdsFromElements as g,getFeaturesFromLayers as m}from"../../networks/support/utils.js";import{trace as y}from"../../rest/networks/trace.js";import f from"../../rest/networks/support/TraceLocation.js";import w from"../../rest/networks/support/TraceParameters.js";import{GeometryHandler as _}from"./support/GeometryHandler.js";import{GraphicHandler as b}from"./support/GraphicHandler.js";import{ResultAreaHandler as v}from"./support/ResultAreaHandler.js";const A=()=>u("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace"),R=()=>u("esri/core/t9n/Units");function I(e){return e instanceof p}function T(e){return"feature"===e.layer.type||"subtype-group"===e.layer.type}function F(e){return void 0!==e.layerViews}let k=class extends(a(i.EventedAccessor)){constructor(e){super(e),this._activeProgress=!1,this._clickHandler=null,this._flags=[],this._geometryHandler=null,this._graphicHandler=null,this._highlightHandler=[],this._resultAreaHandler=null,this._traces=[],this._watchHandler=null,this.defaultGraphicColor={color:[255,255,0,.6],haloOpacity:.9,fillOpacity:.2,hex:"#FFFF00"},this.enableResultArea=!1,this.flags=[],this.gdbVersion="sde.DEFAULT",this.messages=null,this.messagesUnits=null,this.defaultResultAreaProperties={type:"convexhull",distance:10,unit:"meters",areaUnit:"square-meters",color:{color:[255,165,0,.5],haloOpacity:.9,fillOpacity:.2,hex:"#ffa500"},show:!1},this.selectedTraces=[],this.selectOnComplete=!0,this.showGraphicsOnComplete=!0,this.showSelectionAttributes=!0,this.traceResults=[],this.utilityNetwork=null}initialize(){this._geometryHandler=new _,this._graphicHandler=new b,this._resultAreaHandler=new v;(async()=>{const[e,t]=await Promise.all([A(),R()]);this.set({messages:e,messagesUnits:t})})()}destroy(){this.view=null}get resultAreaProperties(){return this.defaultResultAreaProperties}set resultAreaProperties(e){this._set("resultAreaProperties",{...this.defaultResultAreaProperties,...e})}get state(){return this.view?.ready?"ready":"loading"}get view(){return this._get("view")}set view(e){e&&"2d"!==e.type&&l.getLogger(this).error(new r("view:invalid-view","SceneView is not supported",{view:e})),this._set("view",e)}addFlagByHit(e,t){const s=e=>{this.view?.popup&&(this.view.popupEnabled=e)};return new Promise(((r,i)=>{s(!1),this._clickHandler?.remove(),this.emit("add-flag",{type:e}),this._clickHandler=this.view?.on("click",(a=>{this.queryFlagByHitTest(a,e,t).then((i=>{s(!0),this._clickHandler?.remove(),this.emit("add-flag-complete",{type:e,symbol:t}),r(i)})).catch((r=>{s(!0),this._clickHandler?.remove(),this.emit("add-flag-error",{type:e,symbol:t}),i(r)}))}))}))}async addFlagsOnLoad(){return new Promise((e=>{const t=[];this._watchHandler=o((()=>null!=this.view&&!this.view.updating),(async()=>{if(this._flags.length>0)e(t);else{const s=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"))}}));await Promise.all(s),e(t)}}),{initial:!0})}))}addResultAreaToMap(e){if(e.resultArea.show=!0,null!==e.results?.aggregatedGeometry){const t=this._geometryHandler.mergeAggregatedToGeometries(e.results?.aggregatedGeometry);if(t.length>0){const s=Array(t.length).fill(e.resultArea?.distance);this.createResultAreaGeometries(e,t,s)}}else{const t=this._groupResultsByNetworkSource(e.results.elements),s=[];for(const e in t)s.push(this.queryFeaturesById(t[e]));Promise.all(s).then((t=>{const s=[];for(const e of t)for(const t of e)for(const e of t.featureSet.features)s.push(e.geometry);const r=Array(s.length).fill(e.resultArea?.distance);this.createResultAreaGeometries(e,s,r)})).catch((e=>{console.log(e)}))}}async addResultGraphicToView(e,t){const{view:s}=this,{results:r}=e;if(s&&r)for(const i in r.aggregatedGeometry)if("line,multipoint,polygon".includes(i)){const a=i,l=r.aggregatedGeometry[a];if(null!=l){l.spatialReference=this.utilityNetwork.spatialReference,e.graphicEnabled=!0;const r=await this._geometryHandler.projectGeometry(l,s.spatialReference),i={globalid:e.trace.globalId};if(null!==r){const e=this._graphicHandler.makeGraphic(r,t.color,i,s.spatialReference);s.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}async callTrace(){const e=this._traces.filter((e=>e.selected));return e.length>0&&(this.traceResults.length>0&&this.traceResults.forEach((e=>{this.removeResultGraphicFromView(e)})),this.traceResults=[],this.removeSelection(),await Promise.all(e.map((async(e,t)=>{const s=e,r=new w({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.utilityNetwork.networkServiceUrl,r).then((e=>{if(e.hasOwnProperty("results")){const s={...e};if(null!==s.results){s.resultArea={...this.resultAreaProperties};const e=[...s.results.elements];s.results.elements.length=0;const r=new Map;for(const t of e)r.has(t.globalId)||(r.set(t.globalId,!0),s.results.elements.push(t));const i=[...this.traceResults];i.splice(t,0,s),this.traceResults=i,null!==s.results&&(this.selectOnComplete&&this.mergeSelection(!0,s.trace),this.showGraphicsOnComplete&&this.addResultGraphicToView(s,s.graphicColor),this.enableResultArea&&s.resultArea.show&&this.addResultAreaToMap(s))}else{const s=[...this.traceResults];s.splice(t,0,e),this.traceResults=s}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}))}))),!0)}changeResultAreaColor(e,t){e.resultArea&&(e.resultArea.color??=t,this._resultAreaHandler?.changeResultAreaColor(e.trace.globalId,t,this.view.map))}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&&(s.mapGraphic.symbol=t)}))}checkCanTrace(){const e={status:!0,issues:[]};let t=!1;const s=this._flags.some((e=>"starting-point"===e.type)),r=this._flags.filter((e=>null!==e.allTerminals));r.length>0&&(t=r.some((e=>e.selectedTerminals.length<=0)));let i=[];return s?(i=this._traces.filter((e=>e.selected)),i.length<=0?(e.status=!1,e.issues=["noTrace"],t&&(e.status=!1,e.issues=["noTrace","noTerminalSelected"])):t&&(e.status=!1,e.issues=["noTerminalSelected"])):(i=this._traces.filter((e=>!0===e.selected)),i.length>0?(e.status=!1,e.issues=["noStart"],t&&(e.status=!1,e.issues=["noStart","noTerminalSelected"])):(e.status=!1,e.issues=["noStart","noTrace"],t&&(e.status=!1,e.issues=["noStart","noTrace","noTerminalSelected"]))),e}checkSelectionExist(){let e=!1;return this._highlightHandler.some((t=>{t&&(e=!0)})),e}clearResult(e){if(!this.view)return;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]),this.removeResultAreaToMap(s[0])),t=t.filter((t=>t.trace.globalId!==e.globalId))}this.traceResults=t,0===t.length?(this._resultAreaHandler?.removeResultAreaGrahicsLayer(this.view.map),this.removeSelection(),this.emit("clear-selection",{resultSet:[]})):this.mergeSelection(!1,e)}createResultAreaGeometries(e,t,s){if(!this.view||!this.resultAreaProperties)return;let r;if("convexhull"===this.resultAreaProperties?.type?r=this._resultAreaHandler?.createConvexHull(t,e.resultArea?.distance,e.resultArea?.unit):t&&(r=this._resultAreaHandler?.createBuffer(t,s,e.resultArea?.unit,!0)),r&&Array.isArray(r)){if(r.length>0)for(const i of r){const t=this.getResultAreaAttributes(e,i),s=this._resultAreaHandler?.createResultAreaGraphic(i,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);s&&this._resultAreaHandler?.addResultAreaToMap(s,this.view.map)}}else{const t=this.getResultAreaAttributes(e,r),s=this._resultAreaHandler?.createResultAreaGraphic(r,t,e.resultArea?.areaUnit,this.messages,this.messagesUnits,e.resultArea?.color);s&&this._resultAreaHandler?.addResultAreaToMap(s,this.view.map)}}executeTrace(e,t,s){const r=this._processFlags(s.traceLocations);return s.traceLocations=r,y(t,s).then((t=>({trace:e,results:t,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:"success",date:new Date}))).catch((t=>({trace:e,results:null,selectionEnabled:!1,graphicEnabled:!1,graphicColor:this.defaultGraphicColor,status:t.message,date:new Date})))}getResultAreaAttributes(e,s){const{messages:r}=this,i=[],a=[];this._flags.forEach((e=>{const t=e.displayValue?.field+":"+e.displayValue?.value+";"+r.attributeStrings.globalid+":"+e.globalId+";"+r.attributeStrings.terminalid+":"+e.terminalId+";"+r.attributeStrings.x+":"+e.mapPoint?.x+";"+r.attributeStrings.y+":"+e.mapPoint?.y;"starting-point"===e.type?i.push(t):a.push(t)}));return{traceId:e.trace.globalId,traceName:e.trace.title,traceDescription:e.trace.description??"",startingPoints:i.toString(),barriers:a.toString(),version:this.gdbVersion,username:t.credentials[0].userId,date:e.date,elementCount:e.results?.elements.length,functionResult:JSON.stringify(e.results?.globalFunctionResults),areaStatistic:this._geometryHandler.calculateArea(s,e.resultArea?.areaUnit)}}getValidSources(){let e=[];const t=this.utilityNetwork.dataElement?.domainNetworks??[];for(const s of t)e=e.concat(s.junctionSources),e=e.concat(s.edgeSources);return e}async loadUtilityNetwork(){const{view:e}=this;if(!e)return null;if(await e.when(),this.utilityNetwork){if(this.utilityNetwork.loaded||await this.utilityNetwork.load(),this.utilityNetwork instanceof d){try{const t=e.map;await t.loadAll(),this._populateOutfields()}catch(r){this._populateOutfields()}return this.utilityNetwork}return null}const t=e.map,s=t.utilityNetworks?.at(0);if(s){await s.load(),this.utilityNetwork=s;try{await t.loadAll(),this._populateOutfields()}catch(r){}finally{this._populateOutfields()}return s}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&&null!==t.results.elements&&(s=[...s,...t.results.elements??[]])})),this.selectResults([...new Set(s)])}async queryFeaturesById(e){const{view:t}=this;if(!t)return null;const r=g(this.utilityNetwork,e),i=this._getUniqueMapLayerViews(t),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 r=new s,i=e.layer;r.add(i);const l={layers:r,layerInfos:[a],returnGeometry:!0,outSpatialReference:t.spatialReference};return(await m(l))[0]})))).filter((e=>e.featureSet.features.length>0));return e.length>0?e:null}return null}queryFlagByHitTest(e,t,s){return this._lookupFlagByHit(e).then((e=>{const{view:r}=this;if(!r)return!1;if(e.length>0){const i=[...this._flags],a=s;return e.forEach((e=>{const s=e.graphic,l=s.attributes.hasOwnProperty("GLOBALID")?s.attributes.GLOBALID:s.attributes.globalid;if(i.filter((e=>e.globalId===l)).length<=0){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,a);r.graphics.add(e),i.push({...s,type:t,globalId:s.attributes.globalid||s.attributes.GLOBALID,details:s,mapGraphic:e,id:i.length+1})}else if(null!==s.percentAlong){const e=this._graphicHandler.getFlagGraphic(s.mapPoint,t,s,a);r.graphics.add(e),i.push({...s,type:t,globalId:s.attributes.globalid||s.attributes.GLOBALID,details:s,mapGraphic:e,id:i.length+1})}})),this._flags=i,!0}return!1}))}removeResultGraphicFromView(e){const{view:t}=this;if(!t)return;const s=t.graphics;e.graphicEnabled=!1;s.filter((t=>t.attributes[t.attributes.hasOwnProperty("GLOBALID")?"GLOBALID":"globalid"]===e.trace.globalId)).forEach((e=>{t.graphics.remove(e)}))}removeFlag(e){const t=this._flags.filter((t=>{if(t.id!==e.id)return t}));this._removeGraphic(e),this._flags=t}removeResultAreaGrahicsLayer(){this._resultAreaHandler?.removeResultAreaGrahicsLayer(this.view.map)}removeResultAreaToMap(e){e.resultArea.show=!1,this._resultAreaHandler?.removeResultArea(e.trace.globalId,this.view?.map)}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}removeFlagsOnLoadWatcher(){this._watchHandler&&null!==this._watchHandler&&this._watchHandler.remove()}reset(){this._flags=[],this.traceResults=[];const e=[...this._traces];e.forEach((e=>{e.selected=!1})),this._traces=e,this.view&&(this.view.graphics.removeAll(),this.removeResultAreaGrahicsLayer(),this.removeSelection(),this.emit("clear-selection",{resultSet:[]}))}selectFeaturesById(e){const{view:t}=this;if(!t)return;const s=g(this.utilityNetwork,e);this._getUniqueMapLayerViews(t).forEach((e=>{e.layer?.parsedUrl?.path===s[0].layerUrl&&T(e)&&this._highlightHandler.push(e.highlight(s[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.utilityNetwork.hasOwnProperty("sharedNamedTraceConfigurations")&&(this._traces=[...this.utilityNetwork.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((({layer:{type:e}})=>"feature"===e||"group"===e||"subtype-group"===e)).forEach((e=>{switch(e.layer.type){case"group":if(F(e))for(const s of e.layerViews)t.push(s);break;case"subtype-group":t.push(e);break;default:t.some((t=>t.layer.id===e.layer.id))||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 f({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:s,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(r)}));else{const s=new f({globalId:e.globalId,percentAlong:e.percentAlong,terminalId:null,type:e.type,isFilterBarrier:e.isFilterBarrier});t.push(s)}})),t}_getDisplayField(e){return"subtype-sublayer"===e?.layer?.type?this._getDisplayFieldBySublayer(e):this._getDisplayFieldByFeatureLayer(e)}_getDisplayFieldBySublayer(e){let t="",s="";const r=e.layer;t=this._checkParentForData(r,"displayField");for(const i in e.attributes){const a=i.toLowerCase();a===t?.toLowerCase()?(s=e.attributes[i],"assetgroup"===a||"assettype"===a?s=this._checkSubtype(r,r.subtypeCode):(s=this._checkDomain(r.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,r)))):(s=this._checkDomain(r.fields,i,s),"string"==typeof s&&(s=this._defaultDisplayField(s,r)))}return{field:t,value:s.toString()}}_getDisplayFieldByFeatureLayer(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 a=e.attributes[t.typeIdField.toUpperCase()];a||(a=e.attributes[t.typeIdField.toLowerCase()]),s=t.typeIdField,r=this._checkSubtype(t,a),""===s&&(t.templates&&t.templates.length>0?(s=t.templates[0]?.name,r=t.templates[0]?.name):(s=t.displayField,r=e.attributes[i]))}else r=this._checkDomain(t.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,t));else r=this._checkDomain(t.fields,i,r),"string"==typeof r&&(r=this._defaultDisplayField(r,t))}return{field:s,value:r?r.toString():""}}_checkSubtype(e,t){let s=t;if("subtype-sublayer"===e.type){const r=this._checkParentForData(e,"subtypes");r?.length>0&&r.forEach((e=>{e.code===t&&(s=e.name)}))}else 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&&I(i[0].domain)&&i[0].domain?.codedValues){const e=i[0].domain.codedValues.filter((({code:e})=>e===s));e.length>0&&(r=e[0].name)}return r}_checkParentForData(e,t){return e.parent?.[t]??null}_defaultDisplayField(e,t){return e.trim()?e:t.templates&&t.templates?.length>0?t.templates[0].name:t.title}_groupBy(e,t){return e.reduce(((e,s)=>((e[s[t]]=e[s[t]]||[]).push(s),e)),{})}_groupResultsByNetworkSource(e){if(e.length>0){return this._groupBy(e,"networkSourceId")}return[]}_lookupFlagByHit(e){return this.view.hitTest(e.screenPoint).then((t=>{const s=[];if(t.results.length>0){const r=t.results.find((e=>null!==e.layer));if(r.graphic&&null!=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.utilityNetwork){const e=this.utilityNetwork.getTerminalConfiguration(r.graphic),t=this._getDisplayField(r.graphic);r.graphic.terminalId=e?e.terminals[0].id||null:1,r.graphic.isFilterBarrier=!1,r.graphic.allTerminals=e??null,r.graphic.selectedTerminals=[e?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()],k.prototype,"_activeProgress",void 0),e([n()],k.prototype,"_flags",void 0),e([n()],k.prototype,"_traces",void 0),e([n()],k.prototype,"defaultGraphicColor",void 0),e([n()],k.prototype,"enableResultArea",void 0),e([n()],k.prototype,"flags",void 0),e([n()],k.prototype,"gdbVersion",void 0),e([n()],k.prototype,"messages",void 0),e([n()],k.prototype,"messagesUnits",void 0),e([n()],k.prototype,"resultAreaProperties",null),e([n()],k.prototype,"selectedTraces",void 0),e([n()],k.prototype,"selectOnComplete",void 0),e([n()],k.prototype,"showGraphicsOnComplete",void 0),e([n()],k.prototype,"showSelectionAttributes",void 0),e([n({readOnly:!0})],k.prototype,"state",null),e([n()],k.prototype,"traceResults",void 0),e([n()],k.prototype,"utilityNetwork",void 0),e([n({value:null})],k.prototype,"view",null),k=e([c("esri.widgets.UtilityNetworkTrace.UtilityNetworkTraceViewModel")],k);const S=k;export{S 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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import"../../../geometry.js";import{geodesicBuffer as e,buffer as t,convexHull as r,geodesicArea as
|
|
5
|
+
import"../../../geometry.js";import{geodesicBuffer as e,buffer as t,convexHull as r,geodesicArea as n,planarArea as o,cut as i,planarLength as s}from"../../../geometry/geometryEngine.js";import a from"../../../geometry/Polyline.js";import{project as c,load as l}from"../../../geometry/projection.js";import p from"../../../geometry/SpatialReference.js";function f(e){return"polygon"===e.type||"polyline"===e.type}function u(e){return e.hasOwnProperty("points")}function y(e){return u(e)&&2===e.points.length}class g{createBuffer(r,n,o,i){if(Array.isArray(r)){if(r.length>0){const s=p.fromJSON(r[0].spatialReference);return s.isWGS84||s.isWebMercator?e(r,n,o):t(r,n,o,i)}return}const s=p.fromJSON(r.spatialReference);return s.isWGS84||s.isWebMercator?e(r,n[0],o):t(r,n[0],o)}createConvexHull(e){if(Array.isArray(e)){if(1===e.length&&y(e[0])){const t=r(e[0]);if(f(t))return t}return r(e,!0).filter(f)}const t=r(e);if(f(t))return t}calculateArea(e,t){const r=new p({wkid:e.spatialReference.wkid});return r.isWGS84||r.isWebMercator?parseFloat(n(e,t).toFixed(2)):parseFloat(o(e,t).toFixed(2))}mergeAggregatedToGeometries(e){const t=[],{line:r,multipoint:n,polygon:o}=e;return r&&t.push(r),n&&t.push(n),o&&t.push(o),t}getPercentageAlong(e,t,r){let n=e;const o=this._createPolyline(e.paths,r.wkid);if("point"===t.type){const e=t.x-50,a=t.x+50,l=[[e,t.y-50],[a,t.y+50]];n=this._createPolyline(l,t.spatialReference.wkid);n=c(n,r);const p=i(o,n);if(p.length>0){const e=s(o,"feet");let t;t=p[0].paths[0][0][0]===o.paths[0][0][0]?s(p[0],"feet"):s(p[1],"feet");return[t/e]}return[.5]}n=c(t,r);const a=i(o,n);if(a.length>0){const e=s(o,"feet");return[s(a[0],"feet")/e]}return[.5]}async projectGeometry(e,t){return await l(),c(e,t)}_createPolyline(e,t){return new a({hasZ:!1,hasM:!0,paths:e,spatialReference:{wkid:t}})}}export{g as GeometryHandler};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../../Graphic.js";import r from"../../../layers/GraphicsLayer.js";import t from"../../../symbols/SimpleFillSymbol.js";import{GeometryHandler as o}from"./GeometryHandler.js";const a="utility-network-trace-result-area";function i(e){return!!e&&"graphics"===e.type}class n{constructor(){this.traceInformation={},this._geometryHandler=new o}addResultAreaToMap(e,r){const t=this._createGraphicLayer(r);t&&i(t)&&t.add(e)}changeResultAreaColor(e,r,o){const a=this._findGraphicsByTraceId(e,o);a&&a.forEach((e=>{const o=new t({color:r.color,style:"solid",outline:{color:r.color,width:1}});e.symbol=o}))}createBuffer(e,r,t,o){return this._geometryHandler.createBuffer(e,r,t,o)}createConvexHull(e,r,t){const o=this._geometryHandler.createConvexHull(e);return r>0?this.createBuffer(o,[r],t,!1):o}createResultAreaGraphic(r,o,a,i,n,s){const c=new t({color:s.color,style:"solid",outline:{color:s.color,width:1}}),l=[];for(const e in o)l.push({fieldName:e,label:"areaStatistic"===e?i.attributeStrings[e]+" ("+n.units[a]?.abbr+")":i.attributeStrings[e],value:o[e]});return new e({geometry:r,symbol:c,attributes:o,popupTemplate:{title:o.traceName,content:[{type:"fields",fieldInfos:l}]}})}removeResultArea(e,r){const t=r.findLayerById(a);if(t&&i(t)){const o=this._findGraphicsByTraceId(e,r);o&&t.removeMany(o)}}removeResultAreaGrahicsLayer(e){if(e){const r=e.findLayerById(a);r&&i(r)&&e.remove(r)}}_createGraphicLayer(e){if(!e.findLayerById(a)){const t=new r({id:a});return e.add(t),t}const t=e.findLayerById(a);return t&&i(t)?t:null}_findGraphicsByTraceId(e,r){const t=r.findLayerById(a);if(t&&i(t)){const r=t.graphics.filter((r=>r.attributes.traceId===e));return r.length>0?r.toArray():null}return null}}export{n as ResultAreaHandler};
|
|
5
|
+
import e from"../../../Graphic.js";import r from"../../../layers/GraphicsLayer.js";import t from"../../../symbols/SimpleFillSymbol.js";import{GeometryHandler as o}from"./GeometryHandler.js";const a="utility-network-trace-result-area";function i(e){return!!e&&"graphics"===e.type}class n{constructor(){this.traceInformation={},this._geometryHandler=new o}addResultAreaToMap(e,r){const t=this._createGraphicLayer(r);t&&i(t)&&t.add(e)}changeResultAreaColor(e,r,o){const a=this._findGraphicsByTraceId(e,o);a&&a.forEach((e=>{const o=new t({color:r.color,style:"solid",outline:{color:r.color,width:1}});e.symbol=o}))}createBuffer(e,r,t,o){return this._geometryHandler.createBuffer(e,r,t,o)}createConvexHull(e,r,t){const o=this._geometryHandler.createConvexHull(e);return r>0&&o?this.createBuffer(o,[r],t,!1):o}createResultAreaGraphic(r,o,a,i,n,s){const c=new t({color:s.color,style:"solid",outline:{color:s.color,width:1}}),l=[];for(const e in o)l.push({fieldName:e,label:"areaStatistic"===e?i.attributeStrings[e]+" ("+n.units[a]?.abbr+")":i.attributeStrings[e],value:o[e]});return new e({geometry:r,symbol:c,attributes:o,popupTemplate:{title:o.traceName,content:[{type:"fields",fieldInfos:l}]}})}removeResultArea(e,r){const t=r.findLayerById(a);if(t&&i(t)){const o=this._findGraphicsByTraceId(e,r);o&&t.removeMany(o)}}removeResultAreaGrahicsLayer(e){if(e){const r=e.findLayerById(a);r&&i(r)&&e.remove(r)}}_createGraphicLayer(e){if(!e.findLayerById(a)){const t=new r({id:a});return e.add(t),t}const t=e.findLayerById(a);return t&&i(t)?t:null}_findGraphicsByTraceId(e,r){const t=r.findLayerById(a);if(t&&i(t)){const r=t.graphics.filter((r=>r.attributes.traceId===e));return r.length>0?r.toArray():null}return null}}export{n as ResultAreaHandler};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import{HandleOwnerMixin as t}from"../core/HandleOwner.js";import{when as s,watch as i}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import{loadCalciteComponents as a}from"./support/componentsUtils.js";import{storeNode as n}from"./support/widgetUtils.js";import{messageBundle as c}from"./support/decorators/messageBundle.js";import{vmEvent as d}from"./support/decorators/vmEvent.js";import{tsx as h}from"./support/jsxFactory.js";import u from"./UtilityNetworkTrace/UtilityNetworkTraceViewModel.js";import{GraphicHandler as p,HIGHLIGHT_COLOR as g}from"./UtilityNetworkTrace/support/GraphicHandler.js";const m="esri-utility-trace-network",w={base:m,loaderContainer:`${m}__loader-container`,loader:`${m}__loader`,fadeIn:`${m}--fade-in`,addButtonContainer:`${m}__add-button-container`,noticeContainer:`${m}__notice-container`,listContainer:`${m}__list-container`,resultsContainer:`${m}__results-container`,flow:`${m}__flow`,numberInput:`${m}__number-input`,esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",esriWidgetDisabled:"esri-widget--disabled",esriButton:"esri-button",esriButtonTertiary:"esri-button--tertiary",esriInput:"esri-input",esriMatchHeight:"esri-match-height",iconHandle:"esri-icon-handle-vertical",iconPlus:"esri-icon-plus",iconEdit:"esri-icon-edit",iconHandleHorizontal:"esri-icon-handle-horizontal",iconRefresh:"esri-icon-refresh",iconLink:"esri-icon-link",iconRemove:"esri-icon-erase",widgetIcon:"esri-icon-UtilityNetworkTrace",header:"esri-widget__heading",loading:"esri-icon-loading-indicator",rotating:"esri-rotating"},_="esri.widgets.UtilityNetworkTrace";function b(e){return{height:e+"px"}}function v(e){return{width:e+"px"}}function y(){return{width:"75%"}}function T(){return{textAlign:"center",padding:"1rem"}}function S(){return{width:"100%"}}function f(){return{height:"100%"}}const R={NOEXTENTION:-2147208474};let A=class extends(t(o)){constructor(e,t){super(e,t),this._tracesExists=!0,this._graphicHandler=null,this._selectToolActive=!1,this._activeTrace=null,this._activeSwatch="",this._traceHeaderForFlow="",this._assetGroupHeader="",this._assetTypeHeader="",this._traceResultsFunctions=[],this._traceResultsAssetGroup=[],this._traceResultsAssetType=[],this._traceResultsIndividual=[],this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1,this._activeTab="input",this._flagViewType="starting-point",this._alertRemoveModal=!1,this._warningNoFlag=!1,this._warningNoTraceSelected=!1,this._warningNoStartAssetFound=!1,this._warningNoBarrierAssetFound=!1,this._warningNoTerminal=!1,this._confirmReset=!1,this._showResultOptions=!1,this._resultObjectIdField="objectid",this._resultDisplayField="objectid",this._resultSortField="objectid",this._resultSortOrder="desc",this._swatchNode=null,this._individualResultNode=null,this._symbolStartFlag=null,this._symbolBarrier=null,this._watchHandler=null,this._loadUNError=!0,this._errorMessage="",this.disabled=!0,this.iconClass=w.widgetIcon,this.inputSettings=[],this.messages=null,this.messagesUnits=null,this.viewModel=new u}initialize(){this._utilityNetworkTraceInitialized(),this._graphicHandler=new p}get defaultGraphicColor(){return this.viewModel.defaultGraphicColor}set defaultGraphicColor(e){this.viewModel.defaultGraphicColor=e}get flags(){return this.viewModel.flags}set flags(e){this.viewModel.flags=e}get gdbVersion(){return this.viewModel.gdbVersion}set gdbVersion(e){this.viewModel.gdbVersion=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get resultAreaProperties(){return this.viewModel.resultAreaProperties}set resultAreaProperties(e){this.viewModel.resultAreaProperties=e}get selectedTraces(){return this.viewModel.selectedTraces}set selectedTraces(e){this.viewModel.selectedTraces=e}get selectOnComplete(){return this.viewModel.selectOnComplete}set selectOnComplete(e){this.viewModel.selectOnComplete=e}get showGraphicsOnComplete(){return this.viewModel.showGraphicsOnComplete}set showGraphicsOnComplete(e){this.viewModel.showGraphicsOnComplete=e}get enableResultArea(){return this.viewModel.enableResultArea}set enableResultArea(e){this.viewModel.enableResultArea=e}get showSelectionAttributes(){return this.viewModel.showSelectionAttributes}set showSelectionAttributes(e){this.viewModel.showSelectionAttributes=e}get utilityNetwork(){return this.viewModel.utilityNetwork}set utilityNetwork(e){this.viewModel.utilityNetwork=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}async checkCanTrace(){this._confirmReset=!1;const e=this.viewModel.checkCanTrace();e.status?(this._warningNoFlag=!1,this._warningNoTraceSelected=!1,this._warningNoTraceSelected=!1,this._warningNoTerminal=!1,this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1,this.switchTab("result"),this.viewModel._activeProgress=!0,this.viewModel.removeResultAreaGrahicsLayer(),await this.viewModel.callTrace(),this.viewModel._activeProgress=!1):e.issues.forEach((e=>{switch(e){case"noStart":this._warningNoFlag=!0;break;case"noTerminalSelected":this._warningNoTerminal=!0;break;default:this._warningNoTraceSelected=!0}}))}confirmReset(){this._confirmReset=!0}render(){const{state:e}=this.viewModel;this._mixCustomStrings(),this._overrideFlagSymbol();const t="loading"===e?this.renderLoading():this.renderUtilityNetworkTrace();return h("div",{class:this.classes(w.base,w.esriWidget,w.esriWidgetPanel,{[w.esriWidgetDisabled]:this.disabled}),styles:f()},t)}loadDependencies(){return a({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),"action-pad":()=>import("@esri/calcite-components/dist/components/calcite-action-pad.js"),block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),"block-section":()=>import("@esri/calcite-components/dist/components/calcite-block-section.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),"color-picker-swatch":()=>import("@esri/calcite-components/dist/components/calcite-color-picker-swatch.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),modal:()=>import("@esri/calcite-components/dist/components/calcite-modal.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js"),tab:()=>import("@esri/calcite-components/dist/components/calcite-tab.js"),"tab-nav":()=>import("@esri/calcite-components/dist/components/calcite-tab-nav.js"),"tab-title":()=>import("@esri/calcite-components/dist/components/calcite-tab-title.js"),tabs:()=>import("@esri/calcite-components/dist/components/calcite-tabs.js")})}switchTab(e){this._activeTab=e}switchToFunctions(e,t){this._traceResultsFunctions=e,this._showTraceResultFunctions=t}switchToAssetGroup(e,t,s){this._traceHeaderForFlow=t,this._traceResultsAssetGroup=e,this._showTraceResultAssetGroup=s}switchToAssetType(e,t,s){this._assetGroupHeader=t,this._traceResultsAssetType=e,this._showTraceResultAssetType=s}switchToIndividualRecords(e,t,s){this._assetTypeHeader=t,this._traceResultsIndividual=e,this._showIndividualRecords=s}renderLoading(){return h("div",{class:w.loaderContainer,key:"loader"},h("div",{class:w.loader}))}renderUtilityNetworkTrace(){const{messages:e}=this;let t=h("calcite-tabs",{position:"top",layout:"center",styles:S()},h("calcite-tab-nav",{slot:"title-group"},h("calcite-tab-title",{selected:"input"===this._activeTab,onclick:()=>{this.switchTab("input")}},e.inputsStrings.headerTabInputs),h("calcite-tab-title",{selected:"result"===this._activeTab,onclick:()=>{this.switchTab("result")}},e.resultsStrings.headerTabResults)),h("calcite-tab",{selected:"input"===this._activeTab},this.renderInputPanel()),h("calcite-tab",{selected:"result"===this._activeTab},this.viewModel._activeProgress?h("calcite-loader",{label:e.alertsStrings.traceExecuting,text:e.alertsStrings.traceExecuting,type:"indeterminate"}):this.viewModel._traceResults.length>0?this.renderResultPanel():this.renderWarningMessage("noTraceExecuted",!1),h("calcite-modal",{open:this._confirmReset,kind:"brand",scale:"m",width:"s",onCalciteModalClose:()=>{this._confirmReset=!1}},h("h3",{slot:"header"},e.resultsStrings.startOverButton),h("div",{slot:"content"},e.resultsStrings.startOverValidation),h("calcite-button",{slot:"secondary",width:"full",appearance:"outline",onclick:()=>{this._confirmReset=!1}},e.globalStrings.cancel),h("calcite-button",{slot:"primary",width:"full",onclick:()=>{this._confirmReset=!1,this.viewModel.reset(),this.switchTab("input")}},e.globalStrings.ok))));return this._tracesExists||(t=h("calcite-panel",null,this.renderWarningMessage("noTraceConfig",!1))),this._loadUNError||(t=h("calcite-panel",null,this.renderWarningMessage("loadUNError",!1,this._errorMessage))),t}renderInputPanel(){const{messages:e}=this;return h("calcite-flow",{class:w.flow},h("calcite-flow-item",null,this._warningNoFlag?this.renderWarningMessage("flag",!0):null,this._warningNoTerminal?this.renderWarningMessage("noTerminal",!0):null,this._warningNoTraceSelected?this.renderWarningMessage("trace",!0):null,this.renderTraceSelectorContainer(),this.renderStartFlagsContainer(),this.renderBarriersFlagsContainer(),this._warningNoFlag&&this._warningNoTraceSelected?h("div",{styles:b(10)}):null,h("calcite-button",{slot:"footer",scale:"m",kind:"brand",width:"full",onclick:()=>{this.checkCanTrace()}},e.tracingStrings.runTrace)),this._selectToolActive?this.renderActiveTool():null)}renderResultPanel(){return h("calcite-flow",{styles:f()},this.renderTraceResults(),this._showTraceResultFunctions?this.renderTraceResultFunctions():null,this._showTraceResultAssetGroup?this.renderTraceResultByAssetGroup():null,this._showTraceResultAssetType?this.renderTraceResultByAssetType():null,this._showIndividualRecords?this.renderTraceResultIndividual():null,this._showIndividualRecords?this.renderTraceResultIndividualPopover():null)}renderStartFlagsContainer(){const{messages:e}=this,t=[];let s=[];s=this.viewModel._flags.filter((e=>"starting-point"===e.type)),s.forEach((e=>{e.displayValue&&t.push(this.renderFlagRow(e,"start"))}));let i=null;return this._symbolStartFlag&&(i=this._getSymbolIcon(this._symbolStartFlag)),h("calcite-block",{heading:e.inputsStrings.headerStartingPoint+" ("+s.length+")",open:!0,collapsible:!0},h("div",{slot:"icon"},i||h("calcite-icon",{icon:"pin",scale:"s"})),h("div",null,e.inputsStrings.startingPointHint),h("div",{class:w.listContainer},t),this._warningNoStartAssetFound?this.renderWarningMessage("noStartAsset",!0):null,h("div",{class:w.addButtonContainer},h("calcite-button",{alignment:"center",appearance:"outline",iconStart:"plus",scale:"m",href:"",label:e.inputsStrings.addPointOption,onclick:()=>{this._flagViewType="starting-point",this._selectToolActive=!0,this._warningNoStartAssetFound=!1,this.viewModel.addFlagByHit("starting-point",this._symbolStartFlag).then((e=>{e?this._warningNoFlag=!1:this._warningNoStartAssetFound=!0,this._selectToolActive=!1}))},round:!0})))}renderBarriersFlagsContainer(){const{messages:e}=this,t=[];let s=[];s=this.viewModel._flags.filter((e=>"barrier"===e.type)),s.forEach((e=>{e.displayValue&&t.push(this.renderFlagRow(e,"barrier"))}));let i=null;return this._symbolBarrier&&(i=this._getSymbolIcon(this._symbolBarrier)),h("calcite-block",{heading:e.inputsStrings.headerBarrier+" ("+s.length+")",open:!1,collapsible:!0},h("div",{slot:"icon"},i||h("calcite-icon",{icon:"x-circle-f",scale:"s"})),h("div",null,e.inputsStrings.barrierPointHint),h("div",{class:w.listContainer},t),this._warningNoBarrierAssetFound?this.renderWarningMessage("noBarrierAsset",!0):null,h("div",{class:w.addButtonContainer},h("calcite-button",{alignment:"center",appearance:"outline",kind:"brand",iconStart:"plus",scale:"m",href:"",round:!0,label:e.inputsStrings.addPointOption,onclick:()=>{this._flagViewType="barrier",this._selectToolActive=!0,this._warningNoBarrierAssetFound=!1,this.viewModel.addFlagByHit("barrier",this._symbolBarrier).then((e=>{e||(this._warningNoBarrierAssetFound=!0),this._selectToolActive=!1}))}})))}renderFlagRow(e,t){const{messages:s}=this,i=[];let r=!1;return null!=e.allTerminals&&e.allTerminals.terminals.length>0&&(r=!0,e.allTerminals.terminals.forEach((t=>{let s=!1;e?.selectedTerminals?.includes(t.id)&&(s=!0),i.push(h("calcite-combobox-item",{key:t.name,selected:s,value:t.id,textLabel:t.name}))}))),h("calcite-block",{key:"pop"+e.globalId+e.type+e.id+t,heading:e.displayValue?.value??"",collapsible:null!==e.allTerminals||"barrier"===e.type},h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:s.globalStrings.remove,label:s.globalStrings.remove,onclick:()=>{this.viewModel.removeFlag(e)},scale:"s",icon:"trash"}),h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:s.globalStrings.zoomToFeature,label:s.globalStrings.zoomToFeature,onclick:()=>{this.viewModel.zoomToAsset(e.details.geometry)},scale:"s",icon:"zoom-to-object"}),"barrier"===e.type?h("calcite-label",{scale:"s",layout:"inline"},h("calcite-checkbox",{checked:e.isFilterBarrier,scale:"s",onclick:()=>{this.viewModel.manageFilterBarrier(!e.isFilterBarrier,e)}}),s.inputsStrings.barrierFilter):null,r?h("calcite-combobox",{label:s.globalStrings.selectTerminalPlaceholder,placeholder:s.globalStrings.selectTerminalPlaceholder,selectionMode:"multiple",scale:"s",maxItems:0,onCalciteComboboxChange:t=>{t.target.selectedItems.length>0?(e.selectedTerminals=[],t.target.selectedItems.forEach((t=>{this.viewModel.addTerminal(t.value,e)}))):e.selectedTerminals=[]},onCalciteComboboxChipClose:t=>{t.preventDefault(),this.viewModel.removeTerminal(t.target.value,e)}},i):null)}renderActiveTool(){const{messages:e}=this;let t=null;return"starting-point"===this._flagViewType?this._symbolStartFlag&&(t=this._getSymbolIcon(this._symbolStartFlag)):this._symbolBarrier&&(t=this._getSymbolIcon(this._symbolBarrier)),h("calcite-flow-item",{onCalciteFlowItemBack:()=>{this.viewModel._clickHandler&&(this.viewModel._clickHandler.remove(),this.view?.popup&&(this.view.popup.autoOpenEnabled=!0)),this._selectToolActive=!1},heading:e.inputsStrings.addPointOption},h("calcite-block",{open:!0,collapsible:!1,heading:""},h("div",{styles:T()},t||h("calcite-icon",{icon:"starting-point"===this._flagViewType?"pin-plus":"x-circle-f",scale:"m"})),h("div",{styles:T()},e.inputsStrings.addPointHint)))}renderTraceSelectorContainer(){const{messages:e}=this,t=[];let s=e.tracingStrings.traceOperation,i=0;return this.viewModel._traces.length>0&&this.viewModel._traces.forEach((e=>{t.push(h("calcite-combobox-item",{key:e.globalId,selected:e.selected,value:e.globalId,textLabel:e.title,onCalciteComboboxItemChange:e=>{const t=e.target;this.viewModel.selectTraces(t.selected,t.value),this.viewModel._traces.length>0&&(this._warningNoTraceSelected=!1)}})),e.selected&&i++})),s+=` (${i})`,h("calcite-block",{heading:s,open:!0,collapsible:!0},h("calcite-icon",{icon:"utility-network-trace",scale:"s",slot:"icon"}),h("calcite-combobox",{label:e.inputsStrings.selectTraces,placeholder:e.inputsStrings.selectTraces,selectionMode:"multiple",overlayPositioning:"fixed",scale:"s",maxItems:0},t))}renderStartOverContainer(){const{messages:e}=this;return h("calcite-button",{slot:"footer",scale:"m",kind:"brand",width:"full",onclick:()=>{this.confirmReset()}},e.resultsStrings.startOverButton)}renderWarningMessage(e,t,s){const{messages:i}=this;let r=i.alertsStrings.NoRunAlertHeader,l=i.alertsStrings.noResultsInfo;switch(e){case"flag":r=i.alertsStrings.startingPointAlertHeader,l=i.alertsStrings.startingPointAlert;break;case"noTerminal":r=i.alertsStrings.noTerminalDefinedHeader,l=i.alertsStrings.noTerminalDefined;break;case"trace":r=i.alertsStrings.selectTraceAlertHeader,l=i.alertsStrings.selectTraceAlert;break;case"noTraceExecuted":r=i.alertsStrings.NoRunAlertHeader,l=i.alertsStrings.noResultsInfo;break;case"noBarrierAsset":case"noStartAsset":r=i.alertsStrings.noAssetsFoundHeader,l=i.alertsStrings.noAssetFound;break;case"noTraceConfig":r="",l=i.alertsStrings.noTraceSupported;break;default:r=i.alertsStrings.genericErrorHeader,l=s||""}return h("div",{class:w.noticeContainer,key:e},h("calcite-notice",{key:e,open:!0,closable:t,icon:!0,scale:"s",width:"auto",kind:"danger",onCalciteNoticeClose:()=>{switch(e){case"flag":this._warningNoFlag=!1;break;case"noTerminal":this._warningNoTerminal=!1;break;case"trace":this._warningNoTraceSelected=!1;break;case"noStartAsset":this._warningNoStartAssetFound=!1;break;case"noBarrierAsset":this._warningNoBarrierAssetFound=!1}}},h("div",{slot:"title"},r),h("div",{slot:"message"},l)))}renderRemoveTraceContainer(e){const{messages:t}=this;return h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:t.globalStrings.clearResults,label:t.globalStrings.clearResults,onclick:()=>{this._alertRemoveModal=!0,this._activeTrace=e.trace},scale:"s",icon:"trash"})}renderHighlightColorPicker(e,t,s){const{messages:i}=this,r=[];for(let l=0;l<g.length;l++)r.push(h("calcite-action",{key:l,text:i.resultsStrings.graphicColor,label:i.resultsStrings.graphicColor,scale:"s",onclick:()=>{"aggregate"===s?this.viewModel.changeResultGraphicColor(this._graphicHandler?.getHighlightColor(l),t):this.viewModel.changeResultAreaColor(t,this._graphicHandler?.getHighlightColor(l))}},h("calcite-color-picker-swatch",{scale:"s",color:this._graphicHandler?.getHighlightColor(l).hex,active:e.color===this._graphicHandler?.getHighlightColor(l).color})));return h("calcite-action-pad",{position:"start",layout:"grid",expandDisabled:!0},h("calcite-action-group",{layout:"grid",columns:4},r))}renderTraceResults(){const{messages:e}=this,t=this.viewModel._traceResults,s=[];return t.forEach(((t,i)=>{let r=[],l=[],o=!1,a=!1,n=!1,c="";null!==t.results&&t.results.hasOwnProperty("elements")?(null!==t.results.aggregatedGeometry&&(a=!0),null!==t.results.globalFunctionResults&&t.results.globalFunctionResults.length>0&&(l=t.results.globalFunctionResults,l.length>0&&(n=!0)),t.results.elements&&t.results.elements.length>0&&(r=t.results.elements,r.length>0&&(o=!0)),(a||o)&&(c=this.messagesUnits.units[t.resultArea?.unit]?.abbr),s.push(h("calcite-block",{key:t.trace.title,heading:t.trace.title,description:t.trace.description??"",collapsible:!0,open:!0},this.renderRemoveTraceContainer(t),h("calcite-list",null,n?h("calcite-list-item",{label:e.resultsStrings.functionHeader+" ("+l.length+")",onCalciteListItemSelect:()=>{this.switchToFunctions(l,!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})):null,o&&this.viewModel.showSelectionAttributes?h("calcite-list-item",{key:this.id,label:e.resultsStrings.viewFeatures+" ("+r.length+")",onCalciteListItemSelect:()=>{this.switchToAssetGroup(this._groupResultsByAssetGroup(t),t.trace.title+" ("+r.length+")",!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})):this.viewModel.showSelectionAttributes?h("calcite-label",{layout:"inline",scale:"s"},e.resultsStrings.noSelectionResults):null),o?h("calcite-label",{layout:"inline",scale:"s",onclick:e=>{e.preventDefault(),e.stopPropagation(),this.viewModel.mergeSelection(!t.selectionEnabled,t.trace)}},h("calcite-checkbox",{checked:t.selectionEnabled,scale:"m",onclick:e=>{e.preventDefault(),e.stopPropagation(),this.viewModel.mergeSelection(!t.selectionEnabled,t.trace)}}),this.viewModel.showSelectionAttributes?e.resultsStrings.selectFeatures:e.resultsStrings.selectFeatures+" ("+r.length+")"):null,a?h("calcite-block-section",{toggleDisplay:"switch",text:e.resultsStrings.highlightTrace,open:t.graphicEnabled,onCalciteBlockSectionToggle:e=>{e.target.open?this.viewModel.changeResultGraphicColor(t.graphicColor,t):this.viewModel.removeResultGraphicFromView(t)}},h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.graphicColor,onclick:e=>{const t=e.target;this._swatchNode=t,this._activeSwatch="aggGeom_"+i}},h("calcite-color-picker-swatch",{scale:"s",color:t.graphicColor.hex,slot:"actions-end"})))):null,this.enableResultArea&&(a||o)?h("calcite-block-section",{toggleDisplay:"switch",text:e.resultsStrings.resultAreaHeader,open:t.resultArea?.show,onCalciteBlockSectionToggle:e=>{e.target.open?this.viewModel.addResultAreaToMap(t):this.viewModel.removeResultAreaToMap(t)}},h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.graphicColor,onclick:e=>{const t=e.target;this._swatchNode=t,this._activeSwatch="resultArea_"+i}},h("calcite-color-picker-swatch",{scale:"s",color:t.resultArea?.color.hex,slot:"actions-end"}))),h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.resultAreaBuffer},h("calcite-input-number",{scale:"s",slot:"actions-end",max:999999,maxLength:999999,min:0,suffixText:c,value:t.resultArea?.distance.toString(),class:w.numberInput,onCalciteInputNumberChange:e=>{if(!this.view||!this.view.popup)return;this.view.popup.visible&&this.view.closePopup();const s=e.target;t.resultArea.distance>=0?(t.resultArea.distance=parseInt(s.value,10),this.viewModel.removeResultAreaToMap(t),this.viewModel.addResultAreaToMap(t)):(t.resultArea.distance=0,this.viewModel.removeResultAreaToMap(t),this.viewModel.addResultAreaToMap(t))}})))):null,h("calcite-popover",{autoClose:!0,closable:!0,label:e.resultsStrings.graphicColor,referenceElement:this._swatchNode,placement:"auto-start",offsetDistance:0,offsetSkidding:0,scale:"s",open:this._activeSwatch==="aggGeom_"+i||this._activeSwatch==="resultArea_"+i,onCalcitePopoverClose:()=>{this._swatchNode=null,this._activeSwatch=null}},this.renderHighlightColorPicker(this._activeSwatch==="resultArea_"+i?t.resultArea?.color:t.graphicColor,t,this._activeSwatch==="resultArea_"+i?"resultArea":"aggregate"))))):s.push(h("calcite-block",{key:"error-"+i,heading:t.trace.title,collapsible:!1,open:!0},this.renderRemoveTraceContainer(t),this.renderWarningMessage("noController",!1,t.status)))})),h("calcite-flow-item",{key:"traceResults",styles:f()},s,this.renderStartOverContainer(),h("calcite-modal",{open:this._alertRemoveModal,kind:"brand",scale:"m",width:"s",onCalciteModalClose:()=>{this._alertRemoveModal=!1}},h("h3",{slot:"header"},e.globalStrings.clearResults),h("div",{slot:"content"},e.alertsStrings.clearResultsAlert),h("calcite-button",{slot:"secondary",width:"full",appearance:"outline",onclick:()=>{this._alertRemoveModal=!1}},e.globalStrings.cancel),h("calcite-button",{slot:"primary",width:"full",onclick:()=>{this._activeTrace&&this.viewModel.clearResult(this._activeTrace),this._alertRemoveModal=!1,0===this.viewModel._traceResults.length?this.switchTab("input"):(this._activeTrace=this.viewModel._traceResults[0].trace,this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1)}},e.globalStrings.ok)))}renderTraceResultFunctions(){const{messages:e}=this,t=this._traceResultsFunctions,s=[];return t.forEach((e=>{s.push(this.renderResultRowFunctions(e))})),h("calcite-flow-item",{key:"functionResultMultiple",onCalciteFlowItemBack:()=>{this.switchToFunctions([],!1)},heading:e.resultsStrings.functionHeader},s,this.renderStartOverContainer())}renderTraceResultByAssetGroup(){const e=this._traceResultsAssetGroup,t=[];for(const s in e){const i=e[s];for(const e in i)t.push(this.renderResultRowAssetGroup(i[e]))}return h("calcite-flow-item",{key:"assetGroupResultMultiple",onCalciteFlowItemBack:()=>{this.switchToAssetGroup([],"",!1)},heading:this._traceHeaderForFlow},h("calcite-list",null,t),this.renderStartOverContainer())}renderTraceResultByAssetType(){const e=this._traceResultsAssetType,t=[];for(const s in e)e[s].length>0&&t.push(this.renderResultRowAssetType(e[s]));return h("calcite-flow-item",{key:"assetTypeResult",onCalciteFlowItemBack:()=>{this.switchToAssetType([],"",!1)},heading:this._assetGroupHeader},h("calcite-list",{selectionMode:"none"},t),this.renderStartOverContainer())}renderTraceResultIndividual(){const{messages:e}=this,t=this._traceResultsIndividual;t.sort(this._compare(this._resultSortField,this._resultSortOrder));const s=[];if(t.length>0){t[0].details.fields.some((e=>e.name.toLowerCase()===this._resultDisplayField.toLocaleLowerCase()))||(this._resultDisplayField=this._resultObjectIdField,this._resultSortField=this._resultObjectIdField),t.forEach((e=>{s.push(this.renderResultRowIndividual(e))}))}return h("calcite-flow-item",{key:"individualResult",onCalciteFlowItemBack:()=>{this._showResultOptions=!1,this.switchToIndividualRecords([],"",!1)},heading:this._assetTypeHeader},h("calcite-action",{slot:"header-actions-end",text:e.resultsStrings.displayAttribute,onclick:()=>{this._showResultOptions=!0},scale:"m",icon:"gear",label:e.resultsStrings.displayAttribute,id:"field_options"+this.id,afterCreate:n,bind:this,"data-node-ref":"_individualResultNode"}),h("calcite-list",{selectionMode:"none"},s),this.renderStartOverContainer())}renderTraceResultIndividualPopover(){const{messages:e}=this,t=this._traceResultsIndividual,s=[],i=[];return t.length>0&&t[0].details.fields.forEach((e=>{s.push(h("calcite-option",{key:"display"+e.name,label:e.alias,value:e.name,selected:e.name===this._resultDisplayField})),i.push(h("calcite-option",{key:"sort"+e.name,label:e.alias,value:e.name,selected:e.name===this._resultSortField}))})),h("calcite-popover",{autoClose:!0,label:e.resultsStrings.displayAttribute,referenceElement:this._individualResultNode,placement:"left-start",overlayPositioning:"fixed",offsetDistance:0,offsetSkidding:0,open:this._showResultOptions,styles:null!==this.domNode?v(.75*this.domNode.clientWidth):y()},h("calcite-block",{heading:"",open:!0},h("calcite-label",{scale:"s"},e.resultsStrings.displayAttribute,h("calcite-select",{scale:"s",label:e.resultsStrings.displayAttribute,onCalciteSelectChange:e=>{const t=e.target;this._resultDisplayField=t.selectedOption.value,this._showResultOptions=!1}},s)),h("calcite-label",{scale:"s"},e.resultsStrings.sortBy,h("calcite-select",{scale:"s",label:e.resultsStrings.sortBy,onCalciteSelectChange:e=>{const s=e.target;this._resultSortField=s.selectedOption.value,t.sort(this._compare(this._resultSortField,this._resultSortOrder)),this._traceResultsIndividual=t,this._showResultOptions=!1}},i))))}renderResultRow(e){let t=e[0].assetGroupCode;const s=this.viewModel.getValidSources().filter((t=>t.sourceId===e[0].networkSourceId));if(s.length>0){const i=s[0].assetGroups.filter((t=>t.assetGroupCode===e[0].assetGroupCode));i.length>0&&(t=i[0].assetGroupName)}return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.switchToAssetType(this._groupResultsByAssetType(e),t+" ("+e.length+")",!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"}))}renderResultRowFunctions(e){return h("calcite-block",{heading:e.networkAttributeName+" "+e.functionType+" = "+e.result,collapsible:!1})}renderResultRowAssetGroup(e){const t=this._getAssetGroupName(e[0]);return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.switchToAssetType(this._groupResultsByAssetType(e),t+" ("+e.length+")",!0)}},h("calcite-icon",{slot:"content-end",icon:"chevron-right",scale:"s"}))}renderResultRowAssetType(e){const t=this._getAssetTypeName(e[0]);return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.viewModel.queryFeaturesById(e).then((s=>{if(s?.length){this._resultObjectIdField=s[0].layer.objectIdField,"objectid"===this._resultDisplayField&&(this._resultDisplayField=s[0].layer.objectIdField),"objectid"===this._resultSortField&&(this._resultSortField=s[0].layer.objectIdField);const i=this._appendAttributes(e,s,"objectId");this.switchToIndividualRecords(i,t+" ("+e.length+")",!0)}else this.switchToIndividualRecords(e,t+" ("+e.length+")",!0)}))}},h("calcite-icon",{slot:"content-end",icon:"chevron-right",scale:"s"}))}renderResultRowIndividual(e){const{messages:t}=this;let s="",i=null;for(let r=0;r<e.details.fields.length;r++)e.details.fields[r].name===this._resultDisplayField&&(i=e.details.fields[r]);if("date"===i.type){s=new Date(e.details.attributes[this._resultDisplayField]).toDateString()}else if(null!==i.domain){const t=i.domain.codedValues;let r="";for(let s=0;s<t.length;s++)t[s].code===e.details.attributes[this._resultDisplayField]&&(r=t[s].name);s=r}else s="assetgroup"===this._resultDisplayField.toLocaleLowerCase()?this._getAssetGroupName(e):"assettype"===this._resultDisplayField.toLocaleLowerCase()?this._getAssetTypeName(e):e.details.attributes[this._resultDisplayField];return s&&""!==s&&null!==s?"string"==typeof s&&(s.trim()||(s=t.resultsStrings.noValue)):s=t.resultsStrings.noValue,h("calcite-list-item",{label:s,onCalciteListItemSelect:()=>{this.viewModel.zoomToAsset(e.details.geometry)}},h("calcite-icon",{icon:"zoom-to-object",textLabel:t.globalStrings.zoomToFeature,scale:"s",slot:"content-end"}))}_mixCustomStrings(){const{messages:e}=this;this.inputSettings.length>0&&this.inputSettings.forEach((t=>{"starting-point"===t.type&&(e.inputsStrings.headerStartingPoint=t.label,e.inputsStrings.startingPointHint=t.description),"barrier"===t.type&&(e.inputsStrings.headerBarrier=t.label,e.inputsStrings.barrierPointHint=t.description)}))}_overrideFlagSymbol(){this.inputSettings.length>0&&this.inputSettings.forEach((e=>{"starting-point"===e.type?this._symbolStartFlag=e.symbol:this._symbolBarrier=e.symbol,this.viewModel.changeFlagSymbol(e.type,e.symbol)}))}_utilityNetworkTraceInitialized(){return this.viewModel.loadUtilityNetwork().then((e=>e?(this.viewModel.selectTracesOnLoad(),this._registerWatchers(),this.viewModel._traces.length<=0&&(this._tracesExists=!1),this.viewModel.flags.length>0&&this._processFlagOnLoad(),this.view?.when().then((()=>{this._watchViewState()}))):(this._tracesExists=!1,this.view?.when().then((()=>{this._watchViewState()}))))).catch((e=>{const{messages:t}=this;this._loadUNError=!1,e.details.raw.extendedCode===R.NOEXTENTION?this._errorMessage=t?.alertsStrings?.noUserExtension||e.message:this._errorMessage=e.message,this.disabled=!1}))}_processFlagOnLoad(){return this.view?.when().then((()=>{this._watchHandler=s((()=>!this.view?.updating),(async()=>{this._warningNoFlag=!1,this._warningNoBarrierAssetFound=!1,this._warningNoStartAssetFound=!1;const e=await this.viewModel.addFlagsOnLoad();this.viewModel.removeFlagsOnLoadWatcher(),e.includes("barrier")&&(this._warningNoBarrierAssetFound=!0),e.includes("starting-point")&&(this._warningNoStartAssetFound=!0),this.disabled=!1,null!==this._watchHandler&&this._watchHandler.remove()}))}))}_registerWatchers(){this.addHandles([i((()=>this.selectedTraces),(()=>{this.viewModel.selectTracesOnLoad(),this.scheduleRender()})),i((()=>this.defaultGraphicColor),(()=>{this.viewModel._traceResults.length>0&&this.viewModel._traceResults.forEach((e=>{this.viewModel.changeResultGraphicColor(this.viewModel.defaultGraphicColor,e)})),this.scheduleRender()}))])}_groupResultsByAssetGroup(e){const t=[],s=e.results?.elements,i=this._groupBy(s??[],"networkSourceId");for(const r in i)t.push(this._groupBy(i[r],"assetGroupCode"));return t}_groupResultsByAssetType(e){return this._groupBy(e,"assetTypeCode")}_appendAttributes(e,t,s){const i=[];return e.forEach((e=>{t.forEach((t=>{t.featureSet.features.forEach((r=>{e[s]===r.attributes[this._resultObjectIdField]&&(e.details=r,e.details.fields=t.featureSet.fields,i.push(e))}))}))})),i}_getAssetGroupName(e){let t=e.assetGroupCode.toString();const s=e.assetGroupCode,i=this.viewModel.getValidSources().find((t=>t.sourceId===e.networkSourceId));if(i){const e=i.assetGroups.find((e=>e.assetGroupCode===s));e&&(t=e.assetGroupName)}return t}_getAssetTypeName(e){let t=e.assetTypeCode.toString();const s=e.assetGroupCode,i=this.viewModel.getValidSources().find((t=>t.sourceId===e.networkSourceId));if(i){const r=i.assetGroups.find((e=>e.assetGroupCode===s));if(r){const s=r.assetTypes.find((t=>t.assetTypeCode===e.assetTypeCode));s&&(t=s.assetTypeName)}}return t}_compare(e,t){return(s,i)=>{let r=0,l=s.details.attributes[e],o=i.details.attributes[e];return isNaN(l)&&(l=l.toLowerCase()),isNaN(o)&&(o=o.toLowerCase()),"desc"===t?l>o?r=1:l<o&&(r=-1):l<o?r=1:l>o&&(r=-1),r}}_groupBy(e,t){return e.reduce(((e,s)=>((e[s[t]]=e[s[t]]||[]).push(s),e)),{})}_getSymbolIcon(e){return"picture-marker"===e.type?h("img",{src:e.url??void 0,width:e.width,height:e.height}):null}_watchViewState(){this._watchHandler=s((()=>!this.view?.updating),(()=>{this.disabled=!1,null!==this._watchHandler&&this._watchHandler.remove()}),{initial:!0})}};e([r()],A.prototype,"_tracesExists",void 0),e([r()],A.prototype,"_selectToolActive",void 0),e([r()],A.prototype,"_activeTrace",void 0),e([r()],A.prototype,"_activeSwatch",void 0),e([r()],A.prototype,"_traceHeaderForFlow",void 0),e([r()],A.prototype,"_assetGroupHeader",void 0),e([r()],A.prototype,"_assetTypeHeader",void 0),e([r()],A.prototype,"_traceResultsFunctions",void 0),e([r()],A.prototype,"_traceResultsAssetGroup",void 0),e([r()],A.prototype,"_traceResultsAssetType",void 0),e([r()],A.prototype,"_traceResultsIndividual",void 0),e([r()],A.prototype,"_showTraceResultFunctions",void 0),e([r()],A.prototype,"_showTraceResultAssetGroup",void 0),e([r()],A.prototype,"_showTraceResultAssetType",void 0),e([r()],A.prototype,"_showIndividualRecords",void 0),e([r()],A.prototype,"_activeTab",void 0),e([r()],A.prototype,"_alertRemoveModal",void 0),e([r()],A.prototype,"_warningNoFlag",void 0),e([r()],A.prototype,"_warningNoTraceSelected",void 0),e([r()],A.prototype,"_confirmReset",void 0),e([r()],A.prototype,"_swatchNode",void 0),e([r()],A.prototype,"_errorMessage",void 0),e([r()],A.prototype,"defaultGraphicColor",null),e([r()],A.prototype,"disabled",void 0),e([r()],A.prototype,"flags",null),e([r()],A.prototype,"gdbVersion",null),e([r()],A.prototype,"iconClass",void 0),e([r()],A.prototype,"inputSettings",void 0),e([r()],A.prototype,"label",null),e([r(),c("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace")],A.prototype,"messages",void 0),e([r(),c("esri/core/t9n/Units")],A.prototype,"messagesUnits",void 0),e([r()],A.prototype,"resultAreaProperties",null),e([r()],A.prototype,"selectedTraces",null),e([r()],A.prototype,"selectOnComplete",null),e([r()],A.prototype,"showGraphicsOnComplete",null),e([r()],A.prototype,"enableResultArea",null),e([r()],A.prototype,"showSelectionAttributes",null),e([r()],A.prototype,"utilityNetwork",null),e([r()],A.prototype,"view",null),e([d(["add-flag","add-flag-complete","add-flag-error","select-features","clear-selection"]),r({type:u})],A.prototype,"viewModel",void 0),A=e([l(_)],A);const C=A;export{C as default};
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import{HandleOwnerMixin as t}from"../core/HandleOwner.js";import{when as s,watch as i}from"../core/reactiveUtils.js";import{property as r}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as l}from"../core/accessorSupport/decorators/subclass.js";import o from"./Widget.js";import{loadCalciteComponents as a}from"./support/componentsUtils.js";import{storeNode as n}from"./support/widgetUtils.js";import{messageBundle as c}from"./support/decorators/messageBundle.js";import{vmEvent as d}from"./support/decorators/vmEvent.js";import{tsx as h}from"./support/jsxFactory.js";import u from"./UtilityNetworkTrace/UtilityNetworkTraceViewModel.js";import{GraphicHandler as p,HIGHLIGHT_COLOR as g}from"./UtilityNetworkTrace/support/GraphicHandler.js";const m="esri-utility-trace-network",w={base:m,loaderContainer:`${m}__loader-container`,loader:`${m}__loader`,fadeIn:`${m}--fade-in`,addButtonContainer:`${m}__add-button-container`,noticeContainer:`${m}__notice-container`,listContainer:`${m}__list-container`,resultsContainer:`${m}__results-container`,flow:`${m}__flow`,numberInput:`${m}__number-input`,esriWidget:"esri-widget",esriWidgetPanel:"esri-widget--panel",esriWidgetDisabled:"esri-widget--disabled",esriButton:"esri-button",esriButtonTertiary:"esri-button--tertiary",esriInput:"esri-input",esriMatchHeight:"esri-match-height",iconHandle:"esri-icon-handle-vertical",iconPlus:"esri-icon-plus",iconEdit:"esri-icon-edit",iconHandleHorizontal:"esri-icon-handle-horizontal",iconRefresh:"esri-icon-refresh",iconLink:"esri-icon-link",iconRemove:"esri-icon-erase",widgetIcon:"esri-icon-UtilityNetworkTrace",header:"esri-widget__heading",loading:"esri-icon-loading-indicator",rotating:"esri-rotating"},_="esri.widgets.UtilityNetworkTrace";function b(e){return{height:e+"px"}}function v(e){return{width:e+"px"}}function y(){return{width:"75%"}}function T(){return{textAlign:"center",padding:"1rem"}}function S(){return{width:"100%"}}function f(){return{height:"100%"}}const R={NOEXTENTION:-2147208474};let A=class extends(t(o)){constructor(e,t){super(e,t),this._tracesExists=!0,this._graphicHandler=null,this._selectToolActive=!1,this._activeTrace=null,this._activeSwatch="",this._traceHeaderForFlow="",this._assetGroupHeader="",this._assetTypeHeader="",this._traceResultsFunctions=[],this._traceResultsAssetGroup=[],this._traceResultsAssetType=[],this._traceResultsIndividual=[],this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1,this._activeTab="input",this._flagViewType="starting-point",this._alertRemoveModal=!1,this._warningNoFlag=!1,this._warningNoTraceSelected=!1,this._warningNoStartAssetFound=!1,this._warningNoBarrierAssetFound=!1,this._warningNoTerminal=!1,this._confirmReset=!1,this._showResultOptions=!1,this._resultObjectIdField="objectid",this._resultDisplayField="objectid",this._resultSortField="objectid",this._resultSortOrder="desc",this._swatchNode=null,this._individualResultNode=null,this._symbolStartFlag=null,this._symbolBarrier=null,this._watchHandler=null,this._loadUNError=!0,this._errorMessage="",this.disabled=!0,this.iconClass=w.widgetIcon,this.inputSettings=[],this.messages=null,this.messagesUnits=null,this.viewModel=new u}initialize(){this._utilityNetworkTraceInitialized(),this._graphicHandler=new p}get defaultGraphicColor(){return this.viewModel.defaultGraphicColor}set defaultGraphicColor(e){this.viewModel.defaultGraphicColor=e}get flags(){return this.viewModel.flags}set flags(e){this.viewModel.flags=e}get gdbVersion(){return this.viewModel.gdbVersion}set gdbVersion(e){this.viewModel.gdbVersion=e}get label(){return this.messages?.widgetLabel??""}set label(e){this._overrideIfSome("label",e)}get resultAreaProperties(){return this.viewModel.resultAreaProperties}set resultAreaProperties(e){this.viewModel.resultAreaProperties=e}get selectedTraces(){return this.viewModel.selectedTraces}set selectedTraces(e){this.viewModel.selectedTraces=e}get selectOnComplete(){return this.viewModel.selectOnComplete}set selectOnComplete(e){this.viewModel.selectOnComplete=e}get showGraphicsOnComplete(){return this.viewModel.showGraphicsOnComplete}set showGraphicsOnComplete(e){this.viewModel.showGraphicsOnComplete=e}get enableResultArea(){return this.viewModel.enableResultArea}set enableResultArea(e){this.viewModel.enableResultArea=e}get showSelectionAttributes(){return this.viewModel.showSelectionAttributes}set showSelectionAttributes(e){this.viewModel.showSelectionAttributes=e}get utilityNetwork(){return this.viewModel.utilityNetwork}set utilityNetwork(e){this.viewModel.utilityNetwork=e}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}async checkCanTrace(){this._confirmReset=!1;const e=this.viewModel.checkCanTrace();e.status?(this._warningNoFlag=!1,this._warningNoTraceSelected=!1,this._warningNoTraceSelected=!1,this._warningNoTerminal=!1,this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1,this.switchTab("result"),this.viewModel._activeProgress=!0,this.viewModel.removeResultAreaGrahicsLayer(),await this.viewModel.callTrace(),this.viewModel._activeProgress=!1):e.issues.forEach((e=>{switch(e){case"noStart":this._warningNoFlag=!0;break;case"noTerminalSelected":this._warningNoTerminal=!0;break;default:this._warningNoTraceSelected=!0}}))}confirmReset(){this._confirmReset=!0}render(){const{state:e}=this.viewModel;this._mixCustomStrings(),this._overrideFlagSymbol();const t="loading"===e?this.renderLoading():this.renderUtilityNetworkTrace();return h("div",{class:this.classes(w.base,w.esriWidget,w.esriWidgetPanel,{[w.esriWidgetDisabled]:this.disabled}),styles:f()},t)}loadDependencies(){return a({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-group":()=>import("@esri/calcite-components/dist/components/calcite-action-group.js"),"action-pad":()=>import("@esri/calcite-components/dist/components/calcite-action-pad.js"),block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),"block-section":()=>import("@esri/calcite-components/dist/components/calcite-block-section.js"),button:()=>import("@esri/calcite-components/dist/components/calcite-button.js"),checkbox:()=>import("@esri/calcite-components/dist/components/calcite-checkbox.js"),"color-picker-swatch":()=>import("@esri/calcite-components/dist/components/calcite-color-picker-swatch.js"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox.js"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item.js"),flow:()=>import("@esri/calcite-components/dist/components/calcite-flow.js"),"flow-item":()=>import("@esri/calcite-components/dist/components/calcite-flow-item.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number.js"),label:()=>import("@esri/calcite-components/dist/components/calcite-label.js"),list:()=>import("@esri/calcite-components/dist/components/calcite-list.js"),"list-item":()=>import("@esri/calcite-components/dist/components/calcite-list-item.js"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader.js"),modal:()=>import("@esri/calcite-components/dist/components/calcite-modal.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),panel:()=>import("@esri/calcite-components/dist/components/calcite-panel.js"),popover:()=>import("@esri/calcite-components/dist/components/calcite-popover.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js"),tab:()=>import("@esri/calcite-components/dist/components/calcite-tab.js"),"tab-nav":()=>import("@esri/calcite-components/dist/components/calcite-tab-nav.js"),"tab-title":()=>import("@esri/calcite-components/dist/components/calcite-tab-title.js"),tabs:()=>import("@esri/calcite-components/dist/components/calcite-tabs.js")})}switchTab(e){this._activeTab=e}switchToFunctions(e,t){this._traceResultsFunctions=e,this._showTraceResultFunctions=t}switchToAssetGroup(e,t,s){this._traceHeaderForFlow=t,this._traceResultsAssetGroup=e,this._showTraceResultAssetGroup=s}switchToAssetType(e,t,s){this._assetGroupHeader=t,this._traceResultsAssetType=e,this._showTraceResultAssetType=s}switchToIndividualRecords(e,t,s){this._assetTypeHeader=t,this._traceResultsIndividual=e,this._showIndividualRecords=s}renderLoading(){return h("div",{class:w.loaderContainer,key:"loader"},h("div",{class:w.loader}))}renderUtilityNetworkTrace(){const{messages:e}=this;let t=h("calcite-tabs",{position:"top",layout:"center",styles:S()},h("calcite-tab-nav",{slot:"title-group"},h("calcite-tab-title",{selected:"input"===this._activeTab,onclick:()=>{this.switchTab("input")}},e.inputsStrings.headerTabInputs),h("calcite-tab-title",{selected:"result"===this._activeTab,onclick:()=>{this.switchTab("result")}},e.resultsStrings.headerTabResults)),h("calcite-tab",{selected:"input"===this._activeTab},this.renderInputPanel()),h("calcite-tab",{selected:"result"===this._activeTab},this.viewModel._activeProgress?h("calcite-loader",{label:e.alertsStrings.traceExecuting,text:e.alertsStrings.traceExecuting,type:"indeterminate"}):this.viewModel.traceResults.length>0?this.renderResultPanel():this.renderWarningMessage("noTraceExecuted",!1),h("calcite-modal",{open:this._confirmReset,kind:"brand",scale:"m",width:"s",onCalciteModalClose:()=>{this._confirmReset=!1}},h("h3",{slot:"header"},e.resultsStrings.startOverButton),h("div",{slot:"content"},e.resultsStrings.startOverValidation),h("calcite-button",{slot:"secondary",width:"full",appearance:"outline",onclick:()=>{this._confirmReset=!1}},e.globalStrings.cancel),h("calcite-button",{slot:"primary",width:"full",onclick:()=>{this._confirmReset=!1,this.viewModel.reset(),this.switchTab("input")}},e.globalStrings.ok))));return this._tracesExists||(t=h("calcite-panel",null,this.renderWarningMessage("noTraceConfig",!1))),this._loadUNError||(t=h("calcite-panel",null,this.renderWarningMessage("loadUNError",!1,this._errorMessage))),t}renderInputPanel(){const{messages:e}=this;return h("calcite-flow",{class:w.flow},h("calcite-flow-item",null,this._warningNoFlag?this.renderWarningMessage("flag",!0):null,this._warningNoTerminal?this.renderWarningMessage("noTerminal",!0):null,this._warningNoTraceSelected?this.renderWarningMessage("trace",!0):null,this.renderTraceSelectorContainer(),this.renderStartFlagsContainer(),this.renderBarriersFlagsContainer(),this._warningNoFlag&&this._warningNoTraceSelected?h("div",{styles:b(10)}):null,h("calcite-button",{slot:"footer",scale:"m",kind:"brand",width:"full",onclick:()=>{this.checkCanTrace()}},e.tracingStrings.runTrace)),this._selectToolActive?this.renderActiveTool():null)}renderResultPanel(){return h("calcite-flow",{styles:f()},this.renderTraceResults(),this._showTraceResultFunctions?this.renderTraceResultFunctions():null,this._showTraceResultAssetGroup?this.renderTraceResultByAssetGroup():null,this._showTraceResultAssetType?this.renderTraceResultByAssetType():null,this._showIndividualRecords?this.renderTraceResultIndividual():null,this._showIndividualRecords?this.renderTraceResultIndividualPopover():null)}renderStartFlagsContainer(){const{messages:e}=this,t=[];let s=[];s=this.viewModel._flags.filter((e=>"starting-point"===e.type)),s.forEach((e=>{e.displayValue&&t.push(this.renderFlagRow(e,"start"))}));let i=null;return this._symbolStartFlag&&(i=this._getSymbolIcon(this._symbolStartFlag)),h("calcite-block",{heading:e.inputsStrings.headerStartingPoint+" ("+s.length+")",open:!0,collapsible:!0},h("div",{slot:"icon"},i||h("calcite-icon",{icon:"pin",scale:"s"})),h("div",null,e.inputsStrings.startingPointHint),h("div",{class:w.listContainer},t),this._warningNoStartAssetFound?this.renderWarningMessage("noStartAsset",!0):null,h("div",{class:w.addButtonContainer},h("calcite-button",{alignment:"center",appearance:"outline",iconStart:"plus",scale:"m",href:"",label:e.inputsStrings.addPointOption,onclick:()=>{this._flagViewType="starting-point",this._selectToolActive=!0,this._warningNoStartAssetFound=!1,this.viewModel.addFlagByHit("starting-point",this._symbolStartFlag).then((e=>{e?this._warningNoFlag=!1:this._warningNoStartAssetFound=!0,this._selectToolActive=!1}))},round:!0})))}renderBarriersFlagsContainer(){const{messages:e}=this,t=[];let s=[];s=this.viewModel._flags.filter((e=>"barrier"===e.type)),s.forEach((e=>{e.displayValue&&t.push(this.renderFlagRow(e,"barrier"))}));let i=null;return this._symbolBarrier&&(i=this._getSymbolIcon(this._symbolBarrier)),h("calcite-block",{heading:e.inputsStrings.headerBarrier+" ("+s.length+")",open:!1,collapsible:!0},h("div",{slot:"icon"},i||h("calcite-icon",{icon:"x-circle-f",scale:"s"})),h("div",null,e.inputsStrings.barrierPointHint),h("div",{class:w.listContainer},t),this._warningNoBarrierAssetFound?this.renderWarningMessage("noBarrierAsset",!0):null,h("div",{class:w.addButtonContainer},h("calcite-button",{alignment:"center",appearance:"outline",kind:"brand",iconStart:"plus",scale:"m",href:"",round:!0,label:e.inputsStrings.addPointOption,onclick:()=>{this._flagViewType="barrier",this._selectToolActive=!0,this._warningNoBarrierAssetFound=!1,this.viewModel.addFlagByHit("barrier",this._symbolBarrier).then((e=>{e||(this._warningNoBarrierAssetFound=!0),this._selectToolActive=!1}))}})))}renderFlagRow(e,t){const{messages:s}=this,i=[];let r=!1;return null!=e.allTerminals&&e.allTerminals.terminals.length>0&&(r=!0,e.allTerminals.terminals.forEach((t=>{let s=!1;e?.selectedTerminals?.includes(t.id)&&(s=!0),i.push(h("calcite-combobox-item",{key:t.name,selected:s,value:t.id,textLabel:t.name}))}))),h("calcite-block",{key:"pop"+e.globalId+e.type+e.id+t,heading:e.displayValue?.value??"",collapsible:null!==e.allTerminals||"barrier"===e.type},h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:s.globalStrings.remove,label:s.globalStrings.remove,onclick:()=>{this.viewModel.removeFlag(e)},scale:"s",icon:"trash"}),h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:s.globalStrings.zoomToFeature,label:s.globalStrings.zoomToFeature,onclick:()=>{this.viewModel.zoomToAsset(e.details.geometry)},scale:"s",icon:"zoom-to-object"}),"barrier"===e.type?h("calcite-label",{scale:"s",layout:"inline"},h("calcite-checkbox",{checked:e.isFilterBarrier,scale:"s",onclick:()=>{this.viewModel.manageFilterBarrier(!e.isFilterBarrier,e)}}),s.inputsStrings.barrierFilter):null,r?h("calcite-combobox",{label:s.globalStrings.selectTerminalPlaceholder,placeholder:s.globalStrings.selectTerminalPlaceholder,selectionMode:"multiple",scale:"s",maxItems:0,onCalciteComboboxChange:t=>{t.target.selectedItems.length>0?(e.selectedTerminals=[],t.target.selectedItems.forEach((t=>{this.viewModel.addTerminal(t.value,e)}))):e.selectedTerminals=[]},onCalciteComboboxChipClose:t=>{t.preventDefault(),this.viewModel.removeTerminal(t.target.value,e)}},i):null)}renderActiveTool(){const{messages:e}=this;let t=null;return"starting-point"===this._flagViewType?this._symbolStartFlag&&(t=this._getSymbolIcon(this._symbolStartFlag)):this._symbolBarrier&&(t=this._getSymbolIcon(this._symbolBarrier)),h("calcite-flow-item",{onCalciteFlowItemBack:()=>{this.viewModel._clickHandler&&(this.viewModel._clickHandler.remove(),this.view?.popup&&(this.view.popupEnabled=!0)),this._selectToolActive=!1},heading:e.inputsStrings.addPointOption},h("calcite-block",{open:!0,collapsible:!1,heading:""},h("div",{styles:T()},t||h("calcite-icon",{icon:"starting-point"===this._flagViewType?"pin-plus":"x-circle-f",scale:"m"})),h("div",{styles:T()},e.inputsStrings.addPointHint)))}renderTraceSelectorContainer(){const{messages:e}=this,t=[];let s=e.tracingStrings.traceOperation,i=0;return this.viewModel._traces.length>0&&this.viewModel._traces.forEach((e=>{t.push(h("calcite-combobox-item",{key:e.globalId,selected:e.selected,value:e.globalId,textLabel:e.title,onCalciteComboboxItemChange:e=>{const t=e.target;this.viewModel.selectTraces(t.selected,t.value),this.viewModel._traces.length>0&&(this._warningNoTraceSelected=!1)}})),e.selected&&i++})),s+=` (${i})`,h("calcite-block",{heading:s,open:!0,collapsible:!0},h("calcite-icon",{icon:"utility-network-trace",scale:"s",slot:"icon"}),h("calcite-combobox",{label:e.inputsStrings.selectTraces,placeholder:e.inputsStrings.selectTraces,selectionMode:"multiple",overlayPositioning:"fixed",scale:"s",maxItems:0},t))}renderStartOverContainer(){const{messages:e}=this;return h("calcite-button",{slot:"footer",scale:"m",kind:"brand",width:"full",onclick:()=>{this.confirmReset()}},e.resultsStrings.startOverButton)}renderWarningMessage(e,t,s){const{messages:i}=this;let r=i.alertsStrings.NoRunAlertHeader,l=i.alertsStrings.noResultsInfo;switch(e){case"flag":r=i.alertsStrings.startingPointAlertHeader,l=i.alertsStrings.startingPointAlert;break;case"noTerminal":r=i.alertsStrings.noTerminalDefinedHeader,l=i.alertsStrings.noTerminalDefined;break;case"trace":r=i.alertsStrings.selectTraceAlertHeader,l=i.alertsStrings.selectTraceAlert;break;case"noTraceExecuted":r=i.alertsStrings.NoRunAlertHeader,l=i.alertsStrings.noResultsInfo;break;case"noBarrierAsset":case"noStartAsset":r=i.alertsStrings.noAssetsFoundHeader,l=i.alertsStrings.noAssetFound;break;case"noTraceConfig":r="",l=i.alertsStrings.noTraceSupported;break;default:r=i.alertsStrings.genericErrorHeader,l=s||""}return h("div",{class:w.noticeContainer,key:e},h("calcite-notice",{key:e,open:!0,closable:t,icon:!0,scale:"s",width:"auto",kind:"danger",onCalciteNoticeClose:()=>{switch(e){case"flag":this._warningNoFlag=!1;break;case"noTerminal":this._warningNoTerminal=!1;break;case"trace":this._warningNoTraceSelected=!1;break;case"noStartAsset":this._warningNoStartAssetFound=!1;break;case"noBarrierAsset":this._warningNoBarrierAssetFound=!1}}},h("div",{slot:"title"},r),h("div",{slot:"message"},l)))}renderRemoveTraceContainer(e){const{messages:t}=this;return h("calcite-action",{textEnabled:!0,slot:"header-menu-actions",text:t.globalStrings.clearResults,label:t.globalStrings.clearResults,onclick:()=>{this._alertRemoveModal=!0,this._activeTrace=e.trace},scale:"s",icon:"trash"})}renderHighlightColorPicker(e,t,s){const{messages:i}=this,r=[],l=new RegExp(`^${e.hex}$`,"i");for(let o=0;o<g.length;o++)r.push(h("calcite-action",{key:o,active:l.test(this._graphicHandler?.getHighlightColor(o).hex),text:i.resultsStrings.graphicColor,label:i.resultsStrings.graphicColor,scale:"s",onclick:()=>{"aggregate"===s?this.viewModel.changeResultGraphicColor(this._graphicHandler?.getHighlightColor(o),t):this.viewModel.changeResultAreaColor(t,this._graphicHandler?.getHighlightColor(o))}},h("calcite-color-picker-swatch",{scale:"s",color:this._graphicHandler?.getHighlightColor(o).hex,active:l.test(this._graphicHandler?.getHighlightColor(o).hex)})));return h("calcite-action-pad",{position:"start",layout:"grid",expandDisabled:!0},h("calcite-action-group",{layout:"grid",columns:4},r))}renderTraceResults(){const{messages:e}=this,t=this.viewModel.traceResults,s=[];return t.forEach(((t,i)=>{let r=[],l=[],o=!1,a=!1,n=!1,c="";null!==t.results&&t.results.hasOwnProperty("elements")?(null!==t.results.aggregatedGeometry&&(a=!0),null!==t.results.globalFunctionResults&&t.results.globalFunctionResults.length>0&&(l=t.results.globalFunctionResults,l.length>0&&(n=!0)),t.results.elements&&t.results.elements.length>0&&(r=t.results.elements,r.length>0&&(o=!0)),(a||o)&&(c=this.messagesUnits.units[t.resultArea?.unit]?.abbr),s.push(h("calcite-block",{key:t.trace.title,heading:t.trace.title,description:t.trace.description??"",collapsible:!0,open:!0},this.renderRemoveTraceContainer(t),h("calcite-list",null,n?h("calcite-list-item",{label:e.resultsStrings.functionHeader+" ("+l.length+")",onCalciteListItemSelect:()=>{this.switchToFunctions(l,!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})):null,o&&this.viewModel.showSelectionAttributes?h("calcite-list-item",{key:this.id,label:e.resultsStrings.viewFeatures+" ("+r.length+")",onCalciteListItemSelect:()=>{this.switchToAssetGroup(this._groupResultsByAssetGroup(t),t.trace.title+" ("+r.length+")",!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"})):this.viewModel.showSelectionAttributes?h("calcite-label",{layout:"inline",scale:"s"},e.resultsStrings.noSelectionResults):null),o?h("calcite-label",{layout:"inline",scale:"s",onclick:e=>{e.preventDefault(),e.stopPropagation(),this.viewModel.mergeSelection(!t.selectionEnabled,t.trace)}},h("calcite-checkbox",{checked:t.selectionEnabled,scale:"m",onclick:e=>{e.preventDefault(),e.stopPropagation(),this.viewModel.mergeSelection(!t.selectionEnabled,t.trace)}}),this.viewModel.showSelectionAttributes?e.resultsStrings.selectFeatures:e.resultsStrings.selectFeatures+" ("+r.length+")"):null,a?h("calcite-block-section",{toggleDisplay:"switch",text:e.resultsStrings.highlightTrace,open:t.graphicEnabled,onCalciteBlockSectionToggle:e=>{e.target.open?this.viewModel.changeResultGraphicColor(t.graphicColor,t):this.viewModel.removeResultGraphicFromView(t)}},h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.graphicColor,onclick:e=>{const t=e.target;this._swatchNode=t,this._activeSwatch="aggGeom_"+i}},h("calcite-color-picker-swatch",{scale:"s",color:t.graphicColor.hex,slot:"actions-end"})))):null,this.enableResultArea&&(a||o)?h("calcite-block-section",{toggleDisplay:"switch",text:e.resultsStrings.resultAreaHeader,open:t.resultArea?.show,onCalciteBlockSectionToggle:e=>{e.target.open?this.viewModel.addResultAreaToMap(t):this.viewModel.removeResultAreaToMap(t)}},h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.graphicColor,onclick:e=>{const t=e.target;this._swatchNode=t,this._activeSwatch="resultArea_"+i}},h("calcite-color-picker-swatch",{scale:"s",color:t.resultArea?.color.hex,slot:"actions-end"}))),h("calcite-list",{selectionMode:"none"},h("calcite-list-item",{label:e.resultsStrings.resultAreaBuffer},h("calcite-input-number",{scale:"s",slot:"actions-end",max:999999,maxLength:999999,min:0,suffixText:c,value:t.resultArea?.distance.toString(),class:w.numberInput,onCalciteInputNumberChange:e=>{if(!this.view||!this.view.popup)return;this.view.popup.visible&&this.view.closePopup();const s=e.target;t.resultArea.distance>=0?(t.resultArea.distance=parseInt(s.value,10),this.viewModel.removeResultAreaToMap(t),this.viewModel.addResultAreaToMap(t)):(t.resultArea.distance=0,this.viewModel.removeResultAreaToMap(t),this.viewModel.addResultAreaToMap(t))}})))):null,h("calcite-popover",{autoClose:!0,closable:!0,label:e.resultsStrings.graphicColor,referenceElement:this._swatchNode,placement:"auto-start",offsetDistance:0,offsetSkidding:0,scale:"s",open:this._activeSwatch==="aggGeom_"+i||this._activeSwatch==="resultArea_"+i,onCalcitePopoverClose:()=>{this._swatchNode=null,this._activeSwatch=null}},this.renderHighlightColorPicker(this._activeSwatch==="resultArea_"+i?t.resultArea?.color:t.graphicColor,t,this._activeSwatch==="resultArea_"+i?"resultArea":"aggregate"))))):s.push(h("calcite-block",{key:"error-"+i,heading:t.trace.title,collapsible:!1,open:!0},this.renderRemoveTraceContainer(t),this.renderWarningMessage("noController",!1,t.status)))})),h("calcite-flow-item",{key:"traceResults",styles:f()},s,this.renderStartOverContainer(),h("calcite-modal",{open:this._alertRemoveModal,kind:"brand",scale:"m",width:"s",onCalciteModalClose:()=>{this._alertRemoveModal=!1}},h("h3",{slot:"header"},e.globalStrings.clearResults),h("div",{slot:"content"},e.alertsStrings.clearResultsAlert),h("calcite-button",{slot:"secondary",width:"full",appearance:"outline",onclick:()=>{this._alertRemoveModal=!1}},e.globalStrings.cancel),h("calcite-button",{slot:"primary",width:"full",onclick:()=>{this._activeTrace&&this.viewModel.clearResult(this._activeTrace),this._alertRemoveModal=!1,0===this.viewModel.traceResults.length?this.switchTab("input"):(this._activeTrace=this.viewModel.traceResults[0].trace,this._showTraceResultFunctions=!1,this._showTraceResultAssetGroup=!1,this._showTraceResultAssetType=!1,this._showIndividualRecords=!1)}},e.globalStrings.ok)))}renderTraceResultFunctions(){const{messages:e}=this,t=this._traceResultsFunctions,s=[];return t.forEach((e=>{s.push(this.renderResultRowFunctions(e))})),h("calcite-flow-item",{key:"functionResultMultiple",onCalciteFlowItemBack:()=>{this.switchToFunctions([],!1)},heading:e.resultsStrings.functionHeader},s,this.renderStartOverContainer())}renderTraceResultByAssetGroup(){const e=this._traceResultsAssetGroup,t=[];for(const s in e){const i=e[s];for(const e in i)t.push(this.renderResultRowAssetGroup(i[e]))}return h("calcite-flow-item",{key:"assetGroupResultMultiple",onCalciteFlowItemBack:()=>{this.switchToAssetGroup([],"",!1)},heading:this._traceHeaderForFlow},h("calcite-list",null,t),this.renderStartOverContainer())}renderTraceResultByAssetType(){const e=this._traceResultsAssetType,t=[];for(const s in e)e[s].length>0&&t.push(this.renderResultRowAssetType(e[s]));return h("calcite-flow-item",{key:"assetTypeResult",onCalciteFlowItemBack:()=>{this.switchToAssetType([],"",!1)},heading:this._assetGroupHeader},h("calcite-list",{selectionMode:"none"},t),this.renderStartOverContainer())}renderTraceResultIndividual(){const{messages:e}=this,t=this._traceResultsIndividual;t.sort(this._compare(this._resultSortField,this._resultSortOrder));const s=[];if(t.length>0){t[0].details.fields.some((e=>e.name.toLowerCase()===this._resultDisplayField.toLocaleLowerCase()))||(this._resultDisplayField=this._resultObjectIdField,this._resultSortField=this._resultObjectIdField),t.forEach((e=>{s.push(this.renderResultRowIndividual(e))}))}return h("calcite-flow-item",{key:"individualResult",onCalciteFlowItemBack:()=>{this._showResultOptions=!1,this.switchToIndividualRecords([],"",!1)},heading:this._assetTypeHeader},h("calcite-action",{slot:"header-actions-end",text:e.resultsStrings.displayAttribute,onclick:()=>{this._showResultOptions=!0},scale:"m",icon:"gear",label:e.resultsStrings.displayAttribute,id:"field_options"+this.id,afterCreate:n,bind:this,"data-node-ref":"_individualResultNode"}),h("calcite-list",{selectionMode:"none"},s),this.renderStartOverContainer())}renderTraceResultIndividualPopover(){const{messages:e}=this,t=this._traceResultsIndividual,s=[],i=[];return t.length>0&&t[0].details.fields.forEach((e=>{s.push(h("calcite-option",{key:"display"+e.name,label:e.alias,value:e.name,selected:e.name===this._resultDisplayField})),i.push(h("calcite-option",{key:"sort"+e.name,label:e.alias,value:e.name,selected:e.name===this._resultSortField}))})),h("calcite-popover",{autoClose:!0,label:e.resultsStrings.displayAttribute,referenceElement:this._individualResultNode,placement:"left-start",overlayPositioning:"fixed",offsetDistance:0,offsetSkidding:0,open:this._showResultOptions,styles:null!==this.domNode?v(.75*this.domNode.clientWidth):y()},h("calcite-block",{heading:"",open:!0},h("calcite-label",{scale:"s"},e.resultsStrings.displayAttribute,h("calcite-select",{scale:"s",label:e.resultsStrings.displayAttribute,onCalciteSelectChange:e=>{const t=e.target;this._resultDisplayField=t.selectedOption.value,this._showResultOptions=!1}},s)),h("calcite-label",{scale:"s"},e.resultsStrings.sortBy,h("calcite-select",{scale:"s",label:e.resultsStrings.sortBy,onCalciteSelectChange:e=>{const s=e.target;this._resultSortField=s.selectedOption.value,t.sort(this._compare(this._resultSortField,this._resultSortOrder)),this._traceResultsIndividual=t,this._showResultOptions=!1}},i))))}renderResultRow(e){let t=e[0].assetGroupCode;const s=this.viewModel.getValidSources().filter((t=>t.sourceId===e[0].networkSourceId));if(s.length>0){const i=s[0].assetGroups.filter((t=>t.assetGroupCode===e[0].assetGroupCode));i.length>0&&(t=i[0].assetGroupName)}return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.switchToAssetType(this._groupResultsByAssetType(e),t+" ("+e.length+")",!0)}},h("calcite-icon",{icon:"chevron-right",scale:"s",slot:"content-end"}))}renderResultRowFunctions(e){return h("calcite-block",{heading:e.networkAttributeName+" "+e.functionType+" = "+e.result,collapsible:!1})}renderResultRowAssetGroup(e){const t=this._getAssetGroupName(e[0]);return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.switchToAssetType(this._groupResultsByAssetType(e),t+" ("+e.length+")",!0)}},h("calcite-icon",{slot:"content-end",icon:"chevron-right",scale:"s"}))}renderResultRowAssetType(e){const t=this._getAssetTypeName(e[0]);return h("calcite-list-item",{label:t+" ("+e.length+")",onCalciteListItemSelect:()=>{this.viewModel.queryFeaturesById(e).then((s=>{if(s?.length){this._resultObjectIdField=s[0].layer.objectIdField,"objectid"===this._resultDisplayField&&(this._resultDisplayField=s[0].layer.objectIdField),"objectid"===this._resultSortField&&(this._resultSortField=s[0].layer.objectIdField);const i=this._appendAttributes(e,s,"objectId");this.switchToIndividualRecords(i,t+" ("+e.length+")",!0)}else this.switchToIndividualRecords(e,t+" ("+e.length+")",!0)}))}},h("calcite-icon",{slot:"content-end",icon:"chevron-right",scale:"s"}))}renderResultRowIndividual(e){const{messages:t}=this;let s="",i=null;for(let r=0;r<e.details.fields.length;r++)e.details.fields[r].name===this._resultDisplayField&&(i=e.details.fields[r]);if("date"===i.type){s=new Date(e.details.attributes[this._resultDisplayField]).toDateString()}else if(null!==i.domain){const t=i.domain.codedValues;let r="";for(let s=0;s<t.length;s++)t[s].code===e.details.attributes[this._resultDisplayField]&&(r=t[s].name);s=r}else s="assetgroup"===this._resultDisplayField.toLocaleLowerCase()?this._getAssetGroupName(e):"assettype"===this._resultDisplayField.toLocaleLowerCase()?this._getAssetTypeName(e):e.details.attributes[this._resultDisplayField];return s&&""!==s&&null!==s?"string"==typeof s&&(s.trim()||(s=t.resultsStrings.noValue)):s=t.resultsStrings.noValue,h("calcite-list-item",{label:s,onCalciteListItemSelect:()=>{this.viewModel.zoomToAsset(e.details.geometry)}},h("calcite-icon",{icon:"zoom-to-object",textLabel:t.globalStrings.zoomToFeature,scale:"s",slot:"content-end"}))}_mixCustomStrings(){const{messages:e}=this;this.inputSettings.length>0&&this.inputSettings.forEach((t=>{"starting-point"===t.type&&(e.inputsStrings.headerStartingPoint=t.label,e.inputsStrings.startingPointHint=t.description),"barrier"===t.type&&(e.inputsStrings.headerBarrier=t.label,e.inputsStrings.barrierPointHint=t.description)}))}_overrideFlagSymbol(){this.inputSettings.length>0&&this.inputSettings.forEach((e=>{"starting-point"===e.type?this._symbolStartFlag=e.symbol:this._symbolBarrier=e.symbol,this.viewModel.changeFlagSymbol(e.type,e.symbol)}))}_utilityNetworkTraceInitialized(){return this.viewModel.loadUtilityNetwork().then((e=>{if(e)return this.viewModel.selectTracesOnLoad(),this._registerWatchers(),this.viewModel._traces.length<=0&&(this._tracesExists=!1),this.viewModel.flags.length>0&&this._processFlagOnLoad(),this.view?.when().then((()=>{this._watchViewState()}));this._tracesExists=!1,this.disabled=!1})).catch((e=>{const{messages:t}=this;this._loadUNError=!1,e.details.raw.extendedCode===R.NOEXTENTION?this._errorMessage=t?.alertsStrings?.noUserExtension||e.message:this._errorMessage=e.message,this.disabled=!1}))}_processFlagOnLoad(){return this.view?.when().then((()=>{this._watchHandler=s((()=>!this.view?.updating),(async()=>{this._warningNoFlag=!1,this._warningNoBarrierAssetFound=!1,this._warningNoStartAssetFound=!1;const e=await this.viewModel.addFlagsOnLoad();this.viewModel.removeFlagsOnLoadWatcher(),e.includes("barrier")&&(this._warningNoBarrierAssetFound=!0),e.includes("starting-point")&&(this._warningNoStartAssetFound=!0),this.disabled=!1,null!==this._watchHandler&&this._watchHandler.remove()}))}))}_registerWatchers(){this.addHandles([i((()=>this.selectedTraces),(()=>{this.viewModel.selectTracesOnLoad(),this.scheduleRender()})),i((()=>this.defaultGraphicColor),(()=>{this.viewModel.traceResults.length>0&&this.viewModel.traceResults.forEach((e=>{this.viewModel.changeResultGraphicColor(this.viewModel.defaultGraphicColor,e)})),this.scheduleRender()}))])}_groupResultsByAssetGroup(e){const t=[],s=e.results?.elements,i=this._groupBy(s??[],"networkSourceId");for(const r in i)t.push(this._groupBy(i[r],"assetGroupCode"));return t}_groupResultsByAssetType(e){return this._groupBy(e,"assetTypeCode")}_appendAttributes(e,t,s){const i=[];return e.forEach((e=>{t.forEach((t=>{t.featureSet.features.forEach((r=>{e[s]===r.attributes[this._resultObjectIdField]&&(e.details=r,e.details.fields=t.featureSet.fields,i.push(e))}))}))})),i}_getAssetGroupName(e){let t=e.assetGroupCode.toString();const s=e.assetGroupCode,i=this.viewModel.getValidSources().find((t=>t.sourceId===e.networkSourceId));if(i){const e=i.assetGroups.find((e=>e.assetGroupCode===s));e&&(t=e.assetGroupName)}return t}_getAssetTypeName(e){let t=e.assetTypeCode.toString();const s=e.assetGroupCode,i=this.viewModel.getValidSources().find((t=>t.sourceId===e.networkSourceId));if(i){const r=i.assetGroups.find((e=>e.assetGroupCode===s));if(r){const s=r.assetTypes.find((t=>t.assetTypeCode===e.assetTypeCode));s&&(t=s.assetTypeName)}}return t}_compare(e,t){return(s,i)=>{let r=0,l=s.details.attributes[e],o=i.details.attributes[e];return isNaN(l)&&(l=l.toLowerCase()),isNaN(o)&&(o=o.toLowerCase()),"desc"===t?l>o?r=1:l<o&&(r=-1):l<o?r=1:l>o&&(r=-1),r}}_groupBy(e,t){return e.reduce(((e,s)=>((e[s[t]]=e[s[t]]||[]).push(s),e)),{})}_getSymbolIcon(e){return"picture-marker"===e.type?h("img",{src:e.url??void 0,width:e.width,height:e.height}):null}_watchViewState(){this._watchHandler=s((()=>!this.view?.updating),(()=>{this.disabled=!1,null!==this._watchHandler&&this._watchHandler.remove()}),{initial:!0})}};e([r()],A.prototype,"_tracesExists",void 0),e([r()],A.prototype,"_selectToolActive",void 0),e([r()],A.prototype,"_activeTrace",void 0),e([r()],A.prototype,"_activeSwatch",void 0),e([r()],A.prototype,"_traceHeaderForFlow",void 0),e([r()],A.prototype,"_assetGroupHeader",void 0),e([r()],A.prototype,"_assetTypeHeader",void 0),e([r()],A.prototype,"_traceResultsFunctions",void 0),e([r()],A.prototype,"_traceResultsAssetGroup",void 0),e([r()],A.prototype,"_traceResultsAssetType",void 0),e([r()],A.prototype,"_traceResultsIndividual",void 0),e([r()],A.prototype,"_showTraceResultFunctions",void 0),e([r()],A.prototype,"_showTraceResultAssetGroup",void 0),e([r()],A.prototype,"_showTraceResultAssetType",void 0),e([r()],A.prototype,"_showIndividualRecords",void 0),e([r()],A.prototype,"_activeTab",void 0),e([r()],A.prototype,"_alertRemoveModal",void 0),e([r()],A.prototype,"_warningNoFlag",void 0),e([r()],A.prototype,"_warningNoTraceSelected",void 0),e([r()],A.prototype,"_confirmReset",void 0),e([r()],A.prototype,"_swatchNode",void 0),e([r()],A.prototype,"_errorMessage",void 0),e([r()],A.prototype,"defaultGraphicColor",null),e([r()],A.prototype,"disabled",void 0),e([r()],A.prototype,"flags",null),e([r()],A.prototype,"gdbVersion",null),e([r()],A.prototype,"iconClass",void 0),e([r()],A.prototype,"inputSettings",void 0),e([r()],A.prototype,"label",null),e([r(),c("esri/widgets/UtilityNetworkTrace/t9n/UtilityNetworkTrace")],A.prototype,"messages",void 0),e([r(),c("esri/core/t9n/Units")],A.prototype,"messagesUnits",void 0),e([r()],A.prototype,"resultAreaProperties",null),e([r()],A.prototype,"selectedTraces",null),e([r()],A.prototype,"selectOnComplete",null),e([r()],A.prototype,"showGraphicsOnComplete",null),e([r()],A.prototype,"enableResultArea",null),e([r()],A.prototype,"showSelectionAttributes",null),e([r()],A.prototype,"utilityNetwork",null),e([r()],A.prototype,"view",null),e([d(["add-flag","add-flag-complete","add-flag-error","select-features","clear-selection"]),r({type:u})],A.prototype,"viewModel",void 0),A=e([l(_)],A);const C=A;export{C 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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../../chunks/tslib.es6.js";import"../../intl.js";import e from"../../core/Accessor.js";import i from"../../core/Collection.js";import r from"../../core/Error.js";import{HandleOwnerMixin as
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import"../../intl.js";import e from"../../core/Accessor.js";import i from"../../core/Collection.js";import r from"../../core/Error.js";import{HandleOwnerMixin as s}from"../../core/HandleOwner.js";import{watch as o,on as a}from"../../core/reactiveUtils.js";import{property as n}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as l}from"../../core/accessorSupport/decorators/subclass.js";import d from"../../geometry/Extent.js";import{isFeatureLayer as y}from"../../layers/support/layerUtils.js";import c from"../../rest/networks/support/ValidateNetworkTopologyParameters.js";import{onLocaleChange as p}from"../../intl/locale.js";import{fetchMessageBundle as h}from"../../intl/messages.js";const m={noDirtyAreasInExtent:-2147208940,noUtilityNetworkExtension:-2147208474,cannotAcquireVersionLock_v10:-2147217146,cannotAcquireVersionLock_v11:-2147220947};let u=class extends(s(e)){constructor(t){super(t),this._activeOperationDidSucceed=!1,this._initialValidationsFinished=!1,this._dirtyAreasLayer=null,this.executionError="",this.extentToValidate="current",this.loadErrors=new i}initialize(){const t=async()=>{this.messages||(this.messages=await h("esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology"))};t().then((()=>{this.utilityNetwork||this.loadErrors.push(this.messages.info.noUtilityNetwork),this.addHandles([o((()=>this.utilityNetwork),(async t=>{t&&"utility"===t.type?(t.loaded||await t.load(),await this._onUtilityNetworkLoad(),this._initialValidationsFinished=!0):this.loadErrors.push(this.messages.info.noUtilityNetwork)}),{initial:!0}),a((()=>this.view?.map.layers),"change",(()=>{const{loadErrors:t,messages:e}=this,i=e.info,r=t.find((t=>t===i.noUtilityNetwork)),s=t.find((t=>t===i.noUtilityNetworkServiceUserTypeExtension));r||(t.removeAll(),s&&t.push(i.noUtilityNetworkServiceUserTypeExtension),this._setDirtyAreasLayer())})),p(t)])}))}get state(){return this.loadErrors.length?"disabled":this.executionError?"failed":this.updatingHandles.updating?"executing":this._activeOperationDidSucceed?"success":this._initialValidationsFinished?"ready":"loading"}set utilityNetwork(t){this._get("utilityNetwork")!==t&&(this._initialValidationsFinished=!1,this.loadErrors.removeAll(),this._dirtyAreasLayer=null,this._set("utilityNetwork",t))}get view(){return this._get("view")}set view(t){this._set("view",t)}async validateTopology(){const{messages:t,utilityNetwork:e,view:i}=this;if(!this.loadErrors.length){let s;this._activeOperationDidSucceed=!1,this._set("executionError",""),s="current"===this.extentToValidate?{xmin:i.extent.xmin,ymin:i.extent.ymin,xmax:i.extent.xmax,ymax:i.extent.ymax,spatialReference:{wkid:i.spatialReference.wkid,latestWkid:i.spatialReference.latestWkid}}:{xmin:e.fullExtent?.xmin,ymin:e.fullExtent?.ymin,xmax:e.fullExtent?.xmax,ymax:e.fullExtent?.ymax,spatialReference:{wkid:e.spatialReference.wkid,latestWkid:e.spatialReference.latestWkid}},this.updatingHandles.addPromise(e.validateTopology(new c({gdbVersion:this._dirtyAreasLayer.gdbVersion,validateArea:new d(s)})).then((()=>{this._activeOperationDidSucceed=!0}),(e=>{let i="Error: "+e;e instanceof r&&e.details&&e.details.raw&&(e.details.raw.extendedCode===m.noDirtyAreasInExtent?i=t.info.noDirtyAreasInExtent:e.details.raw.extendedCode!==m.cannotAcquireVersionLock_v10&&e.details.raw.extendedCode!==m.cannotAcquireVersionLock_v11||(i=t.info.cannotAcquireVersionLock)),this._set("executionError",i)})))}}_setDirtyAreasLayer(){const t=this.view.map.layers;if(t){const e=t.items.filter((t=>y(t))).find((t=>t.parsedUrl?.path===this.utilityNetwork.networkSystemLayers.dirtyAreasLayerUrl));e?this._dirtyAreasLayer=e:this.loadErrors.push(this.messages.info.noDirtyAreasLayer)}}async _onUtilityNetworkLoad(){await this._checkUtilityNetworkExtension(),this._setDirtyAreasLayer()}async _checkUtilityNetworkExtension(){await this.utilityNetwork.queryNamedTraceConfigurations({globalIds:["{AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA}"]}).catch((t=>{t.details.raw.extendedCode===m.noUtilityNetworkExtension?this.loadErrors.push(this.messages.info.noUtilityNetworkServiceUserTypeExtension):this.loadErrors.push(t.message)}))}};t([n()],u.prototype,"_initialValidationsFinished",void 0),t([n()],u.prototype,"_dirtyAreasLayer",void 0),t([n({readOnly:!0})],u.prototype,"executionError",void 0),t([n()],u.prototype,"extentToValidate",void 0),t([n()],u.prototype,"loadErrors",void 0),t([n()],u.prototype,"messages",void 0),t([n({readOnly:!0})],u.prototype,"state",null),t([n()],u.prototype,"utilityNetwork",null),t([n()],u.prototype,"view",null),u=t([l("esri.widgets.UtilityNetworkValidateTopology.UtilityNetworkValidateTopologyViewModel")],u);const w=u;export{w 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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as t}from"../chunks/tslib.es6.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import{loadCalciteComponents as s}from"./support/componentsUtils.js";import"./support/widgetUtils.js";import{messageBundle as n}from"./support/decorators/messageBundle.js";import{tsx as a}from"./support/jsxFactory.js";import l from"./UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js";const r={container:"esri-un-validate-topology__container",content:"esri-un-validate-topology__content",controlsContainer:"esri-un-validate-topology__controls-container",statusIconError:"esri-un-validate-topology__status-icon-error",statusIconSuccess:"esri-un-validate-topology__status-icon-success",statusIconContainer:"esri-un-validate-topology__status-icon-container"};let c=class extends i{constructor(t,e){super(t,e),this.messages=null,this.viewModel=new l}loadDependencies(){return s({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get extentToValidate(){return this.viewModel.extentToValidate}set extentToValidate(t){this.viewModel.extentToValidate=t}get label(){return this.messages?.label??""}set label(t){this._overrideIfSome("label",t)}get utilityNetwork(){return this.viewModel.utilityNetwork}set utilityNetwork(t){this.viewModel.utilityNetwork=t}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}render(){const{viewModel:t}=this;return"disabled"===t.state?a("div",{class:r.container},a("calcite-block",{heading:this.label,class:r.content,collapsible:!1,open:!0},this._renderLoadErrorStatusIcon(),this._renderLoadErrorsNotices())):a("div",{class:r.container},a("calcite-block",{heading:this.label,class:r.content,collapsible:!0,open:!
|
|
5
|
+
import{_ as t}from"../chunks/tslib.es6.js";import{property as e}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as o}from"../core/accessorSupport/decorators/subclass.js";import i from"./Widget.js";import{loadCalciteComponents as s}from"./support/componentsUtils.js";import"./support/widgetUtils.js";import{messageBundle as n}from"./support/decorators/messageBundle.js";import{tsx as a}from"./support/jsxFactory.js";import l from"./UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js";const r={container:"esri-un-validate-topology__container",content:"esri-un-validate-topology__content",controlsContainer:"esri-un-validate-topology__controls-container",statusIconError:"esri-un-validate-topology__status-icon-error",statusIconSuccess:"esri-un-validate-topology__status-icon-success",statusIconContainer:"esri-un-validate-topology__status-icon-container"};let c=class extends i{constructor(t,e){super(t,e),this.messages=null,this.viewModel=new l}loadDependencies(){return s({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),block:()=>import("@esri/calcite-components/dist/components/calcite-block.js"),icon:()=>import("@esri/calcite-components/dist/components/calcite-icon.js"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice.js"),option:()=>import("@esri/calcite-components/dist/components/calcite-option.js"),select:()=>import("@esri/calcite-components/dist/components/calcite-select.js"),tooltip:()=>import("@esri/calcite-components/dist/components/calcite-tooltip.js")})}get extentToValidate(){return this.viewModel.extentToValidate}set extentToValidate(t){this.viewModel.extentToValidate=t}get label(){return this.messages?.label??""}set label(t){this._overrideIfSome("label",t)}get utilityNetwork(){return this.viewModel.utilityNetwork}set utilityNetwork(t){this.viewModel.utilityNetwork=t}get view(){return this.viewModel.view}set view(t){this.viewModel.view=t}render(){const{viewModel:t}=this;return"disabled"===t.state?a("div",{class:r.container},a("calcite-block",{heading:this.label,class:r.content,collapsible:!1,open:!0},this._renderLoadErrorStatusIcon(),this._renderLoadErrorsNotices())):a("div",{class:r.container},a("calcite-block",{heading:this.label,class:r.content,collapsible:!0,open:!1},this._renderStatusIcon(),this._renderValidateTopologyAction(),this._renderControls()))}_extentOptionSelectChange(t){this.extentToValidate=t.target.value}_getLoadErrorMessagesAsNotices(t,e){return a("calcite-notice",{key:"error-notice-"+e,open:!0,closable:!1,kind:"warning",scale:"s"},a("div",{slot:"message"},t))}_handleValidateTopologyAction(){this.viewModel.validateTopology().catch((()=>{}))}_renderControls(){const{viewModel:t}=this;return"failed"===t.state?a("div",{class:r.controlsContainer},this._renderExtentOptionSelect(),this._renderStatusNotice()):this._renderExtentOptionSelect()}_renderExtentOptionSelect(){const{messages:t,viewModel:e}=this;return a("div",{key:"selectExtentDiv"},a("calcite-select",{bind:this,label:t.input.extentToValidate,disabled:"loading"===e.state||"executing"===e.state,onCalciteSelectChange:this._extentOptionSelectChange},a("calcite-option",{value:"current"},t.input.currentExtent),a("calcite-option",{value:"entire"},t.input.entireExtent)))}_renderLoadErrorsNotices(){const{viewModel:t}=this;return a("div",{key:"loadErrorsDiv",class:r.controlsContainer},t.loadErrors.items.map(this._getLoadErrorMessagesAsNotices))}_renderLoadErrorStatusIcon(){return a("div",{key:"statusDiv",slot:"control",class:r.statusIconContainer},a("calcite-icon",{icon:"exclamation-mark-triangle",scale:"s",class:r.statusIconError}))}_renderStatusIcon(){const{messages:t,viewModel:e}=this,o=`${this.id}-validation-status-action`,i=`${this.id}-error-status-icon`,s=`${this.id}-success-status-icon`,n=t=>{setTimeout((()=>{t.innerHTML=""}),3500)};return"executing"===e.state?a("div",{key:"statusDivExecuting",slot:"control"},a("calcite-action",{id:o,text:t.status.executing,textEnabled:!1,loading:!0}),a("calcite-tooltip",{referenceElement:o,label:t.status.executing},a("span",null,t.status.executing))):"success"===e.state?a("div",{key:"statusDivSuccess",slot:"control",class:r.statusIconContainer,afterCreate:n},a("calcite-icon",{id:s,icon:"check-circle",scale:"s",class:r.statusIconSuccess}),a("calcite-tooltip",{referenceElement:s,label:t.status.success},a("span",null,t.status.success))):"failed"===e.state?a("div",{key:"statusDivFailed",slot:"control",class:r.statusIconContainer},a("calcite-icon",{id:i,icon:"exclamation-mark-triangle",scale:"s",class:r.statusIconError}),a("calcite-tooltip",{referenceElement:i,label:e.executionError},a("span",null,e.executionError))):a("div",{key:"statusDiv",slot:"control",class:r.statusIconContainer})}_renderStatusNotice(){const{viewModel:t}=this;return a("div",{key:"executionErrorDiv"},a("calcite-notice",{open:!0,closable:!0,kind:"warning",scale:"s"},a("div",{slot:"message"},t.executionError)))}_renderValidateTopologyAction(){const{messages:t,viewModel:e}=this,o=`${this.id}-validation-action`;return a("div",{key:"actionDiv",slot:"control"},a("calcite-action",{id:o,bind:this,icon:"play-f",disabled:"executing"===e.state,text:t.input.validateTopology,textEnabled:!1,loading:"loading"===e.state,onclick:this._handleValidateTopologyAction}),a("calcite-tooltip",{referenceElement:o,label:t.input.validateTopology},a("span",null,"loading"===e.state?t.status.loading:t.input.validateTopology)))}};t([e()],c.prototype,"extentToValidate",null),t([e()],c.prototype,"label",null),t([e(),n("esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology")],c.prototype,"messages",void 0),t([e()],c.prototype,"utilityNetwork",null),t([e()],c.prototype,"view",null),t([e({type:l})],c.prototype,"viewModel",void 0),c=t([o("esri.widgets.UtilityNetworkValidateTopology")],c);const d=c;export{d 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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as
|
|
5
|
+
import{_ as o}from"../../chunks/tslib.es6.js";import{property as r}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as e}from"../../core/accessorSupport/decorators/subclass.js";import s from"../Widget.js";let t=class extends s{constructor(o,r){super(o,r),this.type=null,this.viewModel=null}};o([r()],t.prototype,"type",void 0),o([r()],t.prototype,"viewModel",void 0),t=o([e("esri.widgets.ValuePicker.ValuePickerBaseComponent")],t);const p=t;export{p as default};
|
package/widgets/ValuePicker.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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as e}from"../chunks/tslib.es6.js";import{
|
|
5
|
+
import{_ as e}from"../chunks/tslib.es6.js";import{on as t}from"../core/reactiveUtils.js";import{property as o}from"../core/accessorSupport/decorators/property.js";import"../core/accessorSupport/ensureType.js";import"../core/arrayUtils.js";import"../core/has.js";import{subclass as i}from"../core/accessorSupport/decorators/subclass.js";import s from"./Widget.js";import{loadCalciteComponents as l}from"./support/componentsUtils.js";import"./support/widgetUtils.js";import{messageBundle as a}from"./support/decorators/messageBundle.js";import{vmEvent as r}from"./support/decorators/vmEvent.js";import{tsx as n}from"./support/jsxFactory.js";import p from"./ValuePicker/ValuePickerCollection.js";import c from"./ValuePicker/ValuePickerCombobox.js";import u from"./ValuePicker/ValuePickerLabel.js";import d from"./ValuePicker/ValuePickerSlider.js";import m from"./ValuePicker/ValuePickerViewModel.js";import h from"./ValuePicker/ValuePickerVisibleElements.js";const v="esri-value-picker",y={actionBar:`${v}__action-bar`,caption:`${v}__caption`,captionBorder:`${v}__caption-border`,captionText:`${v}__caption-text`,disabled:"esri-disabled",separator:`${v}__separator`,widget:"esri-widget",widgetIcon:"esri-icon-play-circled"},b={base:null,key:"type",typeMap:{collection:p,combobox:c,label:u,slider:d}};let w=class extends s{constructor(e,t){super(e,t),this.caption=null,this.messages=null,this.messagesCommon=null,this.viewModel=new m,this.visibleElements=new h}initialize(){this.addHandles([t((()=>this.viewModel),"animate",(({first:e})=>{this.component?.animate(e)})),t((()=>this.viewModel),"next",(()=>{this.component?.next()})),t((()=>this.viewModel),"previous",(()=>{this.component?.previous()}))])}loadDependencies(){return l({action:()=>import("@esri/calcite-components/dist/components/calcite-action.js"),"action-bar":()=>import("@esri/calcite-components/dist/components/calcite-action-bar.js")})}get canNext(){return this.component?.canNext??!0}get canPlay(){return this.component?.canPlay??!0}get canPrevious(){return this.component?.canPrevious??!0}set component(e){e&&(e.viewModel??=this.viewModel),this._set("component",e)}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get label(){return this.messages.widgetLabel}set label(e){this._overrideIfSome("label",e)}get layout(){return this.viewModel.layout}set layout(e){this.viewModel.layout=e}get loop(){return this.viewModel.loop}set loop(e){this.viewModel.loop=e}get playRate(){return this.viewModel.playRate}set playRate(e){this.viewModel.playRate=e}get values(){return this.viewModel.values}set values(e){this.viewModel.values=e}next(){this.viewModel.next()}pause(){this.viewModel.pause()}play(){this.viewModel.play()}previous(){this.viewModel.previous()}render(){const{disabled:e,state:t}=this.viewModel,o="playing"===t,i="horizontal"===this.layout,{control:s,pagination:l}=this.messagesCommon,{pause:a,play:r}=s,{previous:p,up:c,next:u,down:d}=l,m=this.visibleElements.playButton&&n("calcite-action",{active:o,alignment:"center",bind:this,disabled:e||!this.canPlay,icon:o?"pause":"play",key:"play",onclick:o?this.pause:this.play,text:o?a:r}),h=this.visibleElements.previousButton&&n("calcite-action",{alignment:"center",bind:this,disabled:e||o||!this.canPrevious,icon:i?"chevron-left":"chevron-up",key:"previous",onclick:this.previous,text:i?p:c}),b=this.visibleElements.nextButton&&n("calcite-action",{alignment:"center",bind:this,disabled:e||o||!this.canNext,icon:i?"chevron-right":"chevron-down",key:"next",onclick:this.next,text:i?u:d}),w=this.caption&&n("div",{class:y.caption},n("div",{class:y.captionBorder},n("div",{class:y.captionText},this.caption))),g="combobox"===this.component?.type||"label"===this.component?.type||"slider"===this.component?.type,x=(m||h||b)&&(w||g)&&n("div",{class:y.separator}),k=this.component?.render();return n("div",{"aria-label":this.label,class:this.classes(v,y.widget,`${v}__layout--${this.layout}`,`${v}__type--${this.component?.type}`)},n("calcite-action-bar",{expandDisabled:!0,layout:this.layout,class:y.actionBar},[m,h,b,x,w,k]))}};e([o()],w.prototype,"canNext",null),e([o()],w.prototype,"canPlay",null),e([o()],w.prototype,"canPrevious",null),e([o()],w.prototype,"caption",void 0),e([o({types:b,value:null})],w.prototype,"component",null),e([o()],w.prototype,"disabled",null),e([o()],w.prototype,"label",null),e([o()],w.prototype,"layout",null),e([o()],w.prototype,"loop",null),e([o(),a("esri/widgets/ValuePicker/t9n/ValuePicker")],w.prototype,"messages",void 0),e([o(),a("esri/t9n/common")],w.prototype,"messagesCommon",void 0),e([o()],w.prototype,"playRate",null),e([o()],w.prototype,"values",null),e([o(),r(["animate","next","pause","play","previous"])],w.prototype,"viewModel",void 0),e([o({type:h,nonNullable:!0})],w.prototype,"visibleElements",void 0),w=e([i("esri.widgets.ValuePicker")],w);const g=w;export{g 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.27/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../config.js";import t from"../../core/Error.js";import has from"../../core/has.js";import
|
|
5
|
+
import e from"../../config.js";import t from"../../core/Error.js";import has from"../../core/has.js";import o from"../../core/Logger.js";import r from"../../geometry/Point.js";import{geographicToWebMercator as i}from"../../geometry/support/webMercatorUtils.js";import n from"../../portal/Portal.js";import{project as c}from"../../rest/geometryService/project.js";import s from"../../rest/support/ProjectParameters.js";const u=o.getLogger("esri.widgets.support.geolocationUtils"),a={maximumAge:0,timeout:15e3,enableHighAccuracy:!0};function m(){const e=has("esri-geolocation");return e||u.warn("geolocation-unsupported","Geolocation unsupported."),e}function l(){const e=window.isSecureContext;return e||u.warn("insecure-context","Geolocation requires a secure origin."),e}function g(){return m()&&l()}function p(e){const o=15e3;return e||(e=a),new Promise(((r,i)=>{setTimeout((()=>i(new t("geolocation:timeout","getting the current geolocation position timed out"))),o),navigator.geolocation.getCurrentPosition(r,i,e??void 0)}))}let d;function f(e,o){if(d)return d(e,o);const{position:r,view:i}=e,n=v(r),c=n?.coords;if(!c)throw new t("geometry-service:no-coords","Geolocation has no coordinates");return h(y(c),i,o)}function w(e){d=e}function v(e){const t=e&&e.coords||{},o={accuracy:t.accuracy,altitude:t.altitude,altitudeAccuracy:t.altitudeAccuracy,heading:t.heading,latitude:t.latitude,longitude:t.longitude,speed:t.speed};return e?{coords:o,timestamp:e.timestamp}:e}function y({longitude:e,latitude:t,altitude:o}){return new r({longitude:e,latitude:t,z:o||void 0,spatialReference:{wkid:4326}})}function h(e,o,r){if(!o)return Promise.resolve(e);const n=o.spatialReference;return n.isWGS84?Promise.resolve(e):n.isWebMercator?Promise.resolve(i(e)):j(r).then((o=>{if(!o)throw new t("geometry-service:missing-url","Geometry service URL is missing");const i=new s({geometries:[e],outSpatialReference:n});return c(o,i,r).then((e=>e[0]))}))}function j(t){if(e.geometryServiceUrl)return Promise.resolve(e.geometryServiceUrl);const o=n.getDefault();return o.load(t).catch((()=>{})).then((()=>o.get("helperServices.geometry.url")))}export{p as getCurrentPosition,w as overridePositionToPoint,f as positionToPoint,g as supported};
|