@arcgis/core 4.27.0-next.20230521 → 4.27.0-next.20230522
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Graphic.js +1 -1
- package/arcade/featureset/actions/SpatialFilter.js +1 -1
- package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
- package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
- package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
- package/arcade/functions/featuresetbase.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0d02856e55d20b99fc8b.js +1 -0
- package/assets/esri/core/workers/chunks/{69242c66492717c7388c.js → 0fcb8d408696075338e2.js} +1 -1
- package/assets/esri/core/workers/chunks/{1edc5c06874cb12c5478.js → 17f313e548281bb5db3e.js} +1 -1
- package/assets/esri/core/workers/chunks/{b91c155de9a89e4e6971.js → 187c3b971ed0fc4363ef.js} +1 -1
- package/assets/esri/core/workers/chunks/{85c6ce93aa41e6b65997.js → 18db07d739a713cc0465.js} +1 -1
- package/assets/esri/core/workers/chunks/28286014a575042619ee.js +1 -0
- package/assets/esri/core/workers/chunks/{692dfeb2e255fdc0ade2.js → 39288fa69561d21f04f8.js} +1 -1
- package/assets/esri/core/workers/chunks/{2b9d3e60977934a6d471.js → 3bc6b5f0643364749ef8.js} +1 -1
- package/assets/esri/core/workers/chunks/45e5ad704d18dd0857ce.js +1 -0
- package/assets/esri/core/workers/chunks/{62d9d15f0d00a75da42c.js → 4670b17ae2ed3c13d344.js} +1 -1
- package/assets/esri/core/workers/chunks/4d24efa01d1accc5a5f0.js +1 -0
- package/assets/esri/core/workers/chunks/52575f021a14dd961de8.js +1 -0
- package/assets/esri/core/workers/chunks/{6312783626bacf52df7a.js → 55486c644e8b01326a0d.js} +1 -1
- package/assets/esri/core/workers/chunks/5576858f56314afcb4d5.js +1 -0
- package/assets/esri/core/workers/chunks/5a4c04bf4f57e74457c5.js +1 -0
- package/assets/esri/core/workers/chunks/70d6e5edf05ef7079fa8.js +1 -0
- package/assets/esri/core/workers/chunks/71bdf8f10aee0077f681.js +1 -0
- package/assets/esri/core/workers/chunks/72b2c3c8e76da699690c.js +1 -0
- package/assets/esri/core/workers/chunks/78ce0b1af62435d8ebf4.js +1 -0
- package/assets/esri/core/workers/chunks/791f529e90135398b3d5.js +1 -0
- package/assets/esri/core/workers/chunks/8d3abfe6fdc5ac8d6cb7.js +1 -0
- package/assets/esri/core/workers/chunks/96d339abcd917f1f0ae1.js +1 -0
- package/assets/esri/core/workers/chunks/97cdbec7532cfcdf9ad2.js +1 -0
- package/assets/esri/core/workers/chunks/{f3f6035a17f7dcd19675.js → 9ab400a89dd701778d2c.js} +1 -1
- package/assets/esri/core/workers/chunks/{1488b3d48232844b8bb4.js → 9fe349f43d5ff5a4ac2d.js} +1 -1
- package/assets/esri/core/workers/chunks/{22396dd3717d17a5d235.js → a1c31bb8c12831539328.js} +1 -1
- package/assets/esri/core/workers/chunks/b4e2dc6b3d06b426e596.js +1 -0
- package/assets/esri/core/workers/chunks/{48abcb2d88f22e6e9fde.js → c2cb9fa18c77f0c5104e.js} +1 -1
- package/assets/esri/core/workers/chunks/cad7a2092ea7f51dbd8b.js +1 -0
- package/assets/esri/core/workers/chunks/d725dbbdeb05322e6d88.js +1 -0
- package/assets/esri/core/workers/chunks/df3e497d12ed77bae168.js +1 -0
- package/assets/esri/core/workers/chunks/{4d5f71d84c85f45c97ea.js → ed6f6e539a915ba9e64d.js} +1 -1
- package/assets/esri/core/workers/chunks/fb080339bfaf32731ca6.js +1 -0
- package/assets/esri/themes/base/_core.scss +2 -0
- package/assets/esri/themes/base/widgets/_FloorFilter.scss +6 -0
- package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +40 -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/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nb.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
- package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology.json +1 -1
- package/assets/esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology_en.json +1 -1
- package/chunks/mat4.js +1 -1
- package/core/accessorSupport/write.js +1 -1
- package/core/fontUtils.js +1 -1
- package/core/libs/gl-matrix-2/math/mat4.js +1 -1
- package/geometry/Mesh.js +1 -1
- package/geometry/support/MeshGeoreferencedRelativeVertexSpace.d.ts +4 -0
- package/geometry/support/MeshGeoreferencedRelativeVertexSpace.js +5 -0
- package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +4 -0
- package/geometry/support/MeshGeoreferencedVertexSpace.js +5 -0
- package/geometry/support/MeshLocalVertexSpace.d.ts +4 -0
- package/geometry/support/MeshLocalVertexSpace.js +5 -0
- package/geometry/support/MeshTransform.d.ts +4 -0
- package/geometry/support/MeshTransform.js +1 -1
- package/geometry/support/meshUtils/ElevationSamplerWorker.js +1 -1
- package/geometry/support/meshUtils/centerAt.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/geometry.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
- package/geometry/support/meshUtils/geographicUtils.js +1 -1
- package/geometry/support/meshUtils/georeference.js +1 -1
- package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
- package/geometry/support/meshUtils/merge.js +1 -1
- package/geometry/support/meshUtils/offset.js +1 -1
- package/geometry/support/meshUtils/primitives.js +1 -1
- package/geometry/support/meshUtils/rotate.js +1 -1
- package/geometry/support/meshUtils/scale.js +1 -1
- package/interfaces.d.ts +227 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/networks/support/TopologyValidationJobInfo.js +1 -1
- package/package.json +1 -1
- package/popup/FieldInfo.js +1 -1
- package/portal/Portal.js +1 -1
- package/rest/support/FeatureSet.js +1 -1
- package/rest/support/meshFeatureSet.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
- package/views/3d/interactive/editingTools/meshFastUpdateUtils.js +1 -1
- package/views/3d/interactive/editingTools/moveGraphic/GraphicMoveTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/GraphicTransformTool.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/ScaleRotateMeshAdapter.js +1 -1
- package/views/3d/interactive/editingTools/transformGraphic/undoRecords.js +1 -1
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/i3s/I3SClientNodeLoader.js +1 -1
- package/views/3d/layers/i3s/I3SOverrides.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/DisplayQualityProfile.js +1 -1
- package/views/3d/support/QualitySettings.js +1 -1
- package/views/3d/webgl-engine/lib/Camera.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/RenderPluginManager.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/TextRenderParameters.js +1 -1
- package/views/interactive/dragEventPipeline.js +1 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
- package/widgets/Editor/Edits.js +1 -1
- package/widgets/Editor/Upload.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkValidateTopology/UtilityNetworkValidateTopologyViewModel.js +5 -0
- package/widgets/UtilityNetworkValidateTopology.js +5 -0
- package/assets/esri/core/workers/chunks/163bf2e13abbdd298374.js +0 -1
- package/assets/esri/core/workers/chunks/23f73f81aea461c0c6e6.js +0 -1
- package/assets/esri/core/workers/chunks/2640204c4655aa535ccb.js +0 -1
- package/assets/esri/core/workers/chunks/2bf42d060f877566b989.js +0 -1
- package/assets/esri/core/workers/chunks/34ec9623a1bece86a82b.js +0 -1
- package/assets/esri/core/workers/chunks/3bf52139340827794c3b.js +0 -1
- package/assets/esri/core/workers/chunks/52d02021e858820bc4fa.js +0 -1
- package/assets/esri/core/workers/chunks/64b8f65e2ef6cbf08380.js +0 -1
- package/assets/esri/core/workers/chunks/78aede1e114deefacb54.js +0 -1
- package/assets/esri/core/workers/chunks/7ef100158ca28631fcaf.js +0 -1
- package/assets/esri/core/workers/chunks/93ad67930aa7d4a4b0ac.js +0 -1
- package/assets/esri/core/workers/chunks/964795dfb57f0d0635d0.js +0 -1
- package/assets/esri/core/workers/chunks/99ce0a202dcd3d7dc290.js +0 -1
- package/assets/esri/core/workers/chunks/abe6c99a1a719543dbe8.js +0 -1
- package/assets/esri/core/workers/chunks/c3bf44146fddfe8990f7.js +0 -1
- package/assets/esri/core/workers/chunks/cbe817e966b57599bafd.js +0 -1
- package/assets/esri/core/workers/chunks/e15b5d7e46a834eacc57.js +0 -1
- package/assets/esri/core/workers/chunks/e1e0b3580e2c3098c9f4.js +0 -1
- package/assets/esri/core/workers/chunks/e305d20e4424451cab5b.js +0 -1
- package/assets/esri/core/workers/chunks/e6836c84470fb6bd25bf.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"../../geometry.js";import{isSome as
|
|
5
|
+
import"../../geometry.js";import{isSome as e}from"../../core/arrayUtils.js";import"../../core/has.js";import{clone as t}from"../../core/lang.js";import{clamp as n}from"../../core/mathUtils.js";import{createScreenPoint as r}from"../../core/screenUtils.js";import{a}from"../../chunks/vec3f64.js";import{project as o}from"../../geometry/projection.js";import{hydratedSpatialReference as l,clonePoint as s}from"../../layers/graphics/hydratedFeatures.js";import{MeshTransformUpdateAction as c}from"../../layers/graphics/sources/interfaces.js";import{getZForElevationMode as i}from"../../support/elevationInfoUtils.js";import{ViewingMode as u}from"../ViewingMode.js";import{move as p}from"../draw/support/drawUtils.js";import m from"../../geometry/Point.js";function f(e,t){let n=null,r=null;return a=>{if("cancel"===a.action)return void(null!=r&&(r.execute({action:"cancel"}),n=null,r=null));const o={action:a.action,screenStart:a.start,screenEnd:a.screenPoint};"start"===a.action&&null==n&&(n=new U,r=new U,t(e,n,r,a.pointerType,o)),null!=n&&n.execute(o),"end"===a.action&&null!=n&&(n=null,r=null)}}function d(e,t){return e.events.on("drag",f(e,t))}function y(e,t){const n=[e.x,e.y,e.z??0],r=t,a=[Math.cos(r),Math.sin(r)],o=Math.sqrt(a[0]*a[0]+a[1]*a[1]);if(0===o)return null;a[0]/=o,a[1]/=o;const l=e=>{const t=(e.x-n[0])*a[0]+(e.y-n[1])*a[1];e.x=n[0]+t*a[0],e.y=n[1]+t*a[1]};return e=>(l(e.mapStart),l(e.mapEnd),{...e,axis:a})}function x(e,t){let n=null;return r=>{if("start"===r.action&&(n=h(e,r.mapStart.spatialReference,t)),null==n)return null;const a=r.mapEnd.x-r.mapStart.x,o=r.mapEnd.y-r.mapStart.y,l=r.mapEnd.z-r.mapStart.z;return n.move(a,o,l,r.action),{...r,translationX:a,translationY:o,translationZ:l}}}function g(e,t){return null==e?null:e.spatialReference.equals(t)?e.clone():o(e,t)}function h(e,t,n){const r=e.geometry,a=l(t);if(null==r)return null;if("mesh"===r.type)return E(e,r,a,n);const s=g(r,a),c=r.spatialReference;return null==s?null:{move:(t,n,r)=>{const a=p(s.clone(),t,n,r);a.spatialReference.equals(c)?e.geometry=a:e.geometry=o(a,c)}}}function E(e,t,n,r){if(t.vertexSpace.isRelative)return S(e,t,t.vertexSpace,n);if(!t.spatialReference.equals(n))return null;let a=0,o=0,l=0;return{move:(n,s,c)=>{const i=n-a,p=s-o,f=c-l;if(i||p||f){const d=new m(t.origin.x+i,t.origin.y+p,(t.origin.z??0)+f,t.origin.spatialReference);t.centerAt(d,{geographic:t.vertexSpace.isRelative?void 0:r===u.Global}),e.notifyGeometryChanged(),a=n,o=s,l=c}}}}function S(e,t,n,r){const a=g(n.getOriginPoint(t.spatialReference),r),l=t.spatialReference;return null==a?null:{move:(t,r,s,i)=>{const u=p(a.clone(),t,r,s);if(u.spatialReference.equals(l))n.setOriginFormPoint(u);else{const e=o(u,l);null!=e&&n.setOriginFormPoint(e)}if(n.isGeoreferenced)e.notifyGeometryChanged();else{const t="end"===i;e.notifyMeshTransformChanged(t?{action:c.UpdateFastLocalOrigin}:{})}}}}function v(e,t=null,n){let r=null;const a=null==t||e.spatialReference?.equals(t)?e=>e:e=>null!=e?o(e,t):e,l={exclude:[],...n};return t=>{if("start"===t.action&&(r=a(e.toMap(t.screenStart,l))),null==r)return null;const n=a(e.toMap(t.screenEnd,l));return null!=n?{...t,mapStart:r,mapEnd:n}:null}}function j(t,n){const r=t.map((e=>x(e,n))).filter(e);return e=>{const t=e.mapEnd.x-e.mapStart.x,n=e.mapEnd.y-e.mapStart.y,a=e.mapEnd.z-e.mapStart.z;return r.forEach((t=>t(e))),{...e,translationX:t,translationY:n,translationZ:a}}}function R(e,n){const r=new Map;for(const a of n)r.set(a,t(e[a]));return t=>(r.forEach(((t,n)=>{e[n]=t})),t)}function z(e){return null!=e.geometry&&"mesh"===e.geometry.type?M(e,e.geometry):R(e,["geometry"])}function M(e,t){const{vertexSpace:n}=t;if(n.isGeoreferenced){const n=t.vertexAttributes.clonePositional();return r=>(t.vertexAttributes=n,e.notifyGeometryChanged(),r)}const r=a(n.origin),o=t.transform?.clone();return n=>(t.transform=o,t.vertexSpace.origin=r,e.notifyMeshTransformChanged(),n)}function w(e){const t=e.map((e=>z(e))).filter((e=>null!=e));return e=>(t.forEach((t=>t(e))),e)}function P(){let e=0,t=0,n=0;return r=>{"start"===r.action&&(e=r.mapStart.x,t=r.mapStart.y,n=r.mapStart.z);const a=r.mapEnd.x-e,o=r.mapEnd.y-t,l=r.mapEnd.z-n;return e=r.mapEnd.x,t=r.mapEnd.y,n=r.mapEnd.z,{...r,mapDeltaX:a,mapDeltaY:o,mapDeltaZ:l,mapDeltaSpatialReference:r.mapStart.spatialReference}}}function q(){let e=0,t=0;return n=>{"start"===n.action&&(e=n.screenStart.x,t=n.screenStart.y);const r=n.screenEnd.x-e,a=n.screenEnd.y-t;return e=n.screenEnd.x,t=n.screenEnd.y,{...n,screenDeltaX:r,screenDeltaY:a}}}function D(e,t){let a=null,o=0,l=0;return s=>{if("start"===s.action&&(a=e.toScreen?.(t),null!=a&&(a.x<0||a.x>e.width||a.y<0||a.y>e.height?a=null:(o=s.screenStart.x-a.x,l=s.screenStart.y-a.y))),null==a)return null;const c=n(s.screenEnd.x-o,0,e.width),i=n(s.screenEnd.y-l,0,e.height),u=r(c,i);return s.screenStart=a,s.screenEnd=u,s}}const G=()=>{};class U{constructor(){this.execute=G}next(e,t=new U){return null!=e&&(this.execute=n=>{const r=e(n);null!=r&&t.execute(r)}),t}}function C(e,t,n=[]){if("2d"===e.type)return e=>e;let r=null;return a=>{"start"===a.action&&(r=e.toMap(a.screenStart,{exclude:n}),null!=r&&(r.z=i(r,e,t)));const o=e.toMap(a.screenEnd,{exclude:n});null!=o&&(o.z=i(o,e,t));const l=null!=r&&null!=o?{sceneStart:r,sceneEnd:o}:null;return{...a,scenePoints:l}}}function F(e,t,n){const r=t.elevationProvider.getElevation(e.x,e.y,e.z??0,e.spatialReference,"scene")??0,a=s(e);return a.z=r,a.hasZ=!0,a.z=i(a,t,n),a}function O(e,t){if("2d"===e.type)return e=>e;let n=null;return r=>{"start"===r.action&&(n=F(r.mapStart,e,t));const a=F(r.mapEnd,e,t),o=null!=n&&null!=a?{sceneStart:n,sceneEnd:a}:null;return{...r,scenePoints:o}}}export{U as EventPipeline,P as addMapDelta,q as addScreenDelta,y as constrainToMapAxis,f as createDragEventPipelineCallback,d as createManipulatorDragEventPipeline,D as dragAtLocation,x as dragGraphic,j as dragGraphicMany,z as resetGraphic,w as resetGraphicMany,R as resetProperties,C as sceneSnappingAtLocation,O as sceneSnappingAtProjectedLocation,v as screenToMap};
|
|
@@ -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
|
|
5
|
+
import{_ as t}from"../../../chunks/tslib.es6.js";import e from"../../../Basemap.js";import s from"../../../core/Collection.js";import a from"../../../core/Error.js";import r from"../../../core/Handles.js";import o from"../../../core/Loadable.js";import l from"../../../core/Logger.js";import{EsriPromiseMixin as i}from"../../../core/Promise.js";import{isAbortError as p}from"../../../core/promiseUtils.js";import{watch as n,initial as h}from"../../../core/reactiveUtils.js";import{property as m}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 u from"../../../portal/Portal.js";import d from"./LocalBasemapsSource.js";const y=s.ofType(e);let f=class extends(o.LoadableMixin(i(d))){constructor(t){super(t),this._handles=new r,this._lastPortalBasemapFetchController=null,this.basemaps=new y,this.filterFunction=null,this.portal=u.getDefault(),this.query=null,this.updateBasemapsCallback=null,this.viewType=null}initialize(){this._handles.add([n((()=>[this.filterFunction,this.loadStatus,this.portal?.basemapGalleryGroupQuery,this.portal?.basemapGalleryGroupQuery3D,this.portal?.user,this.query,this.updateBasemapsCallback]),(()=>this.refresh()),h)])}destroy(){this._handles.destroy(),this._handles=null,this.filterFunction=null,this.portal=null}get state(){return"not-loaded"===this.loadStatus?"not-loaded":"loading"===this.loadStatus||this._lastPortalBasemapFetchController?"loading":"ready"}load(t){return this.addResolvingPromise(this.portal.load(t)),Promise.resolve(this)}async refresh(){if("loaded"!==this.loadStatus)return;this._lastPortalBasemapFetchController&&(this._lastPortalBasemapFetchController.abort(),this._lastPortalBasemapFetchController=null);const t=this.portal,e=new AbortController;this._lastPortalBasemapFetchController=e,this.notifyChange("state");try{const s=await t.fetchBasemaps(this._toQueryString(this.query),{signal:e.signal,include3d:"3d"===this.viewType||void 0});await this._updateBasemaps(s)}catch(s){if(p(s))throw s;l.getLogger(this).warn(new a("basemap-source:fetch-basemaps-error","Could not fetch basemaps from portal.",{error:s})),await this._updateBasemaps()}this._lastPortalBasemapFetchController=null,this.notifyChange("state")}_toQueryString(t){return t&&"string"!=typeof t?Object.keys(t).map((e=>`${e}:${t[e]}`)).join(" AND "):t}async _updateBasemaps(t=[]){let e=await this._filterBasemaps(t);e=this.updateBasemapsCallback?this.updateBasemapsCallback(e):e,this.basemaps.removeAll(),this.basemaps.addMany(e)}async _filterBasemaps(t){if(!this.filterFunction)return t;const e=t.map(this.filterFunction),s=await Promise.all(e);return t.filter(((t,e)=>s[e]))}};t([m({readOnly:!0,type:y})],f.prototype,"basemaps",void 0),t([m()],f.prototype,"filterFunction",void 0),t([m({type:u})],f.prototype,"portal",void 0),t([m()],f.prototype,"query",void 0),t([m({readOnly:!0})],f.prototype,"state",null),t([m()],f.prototype,"updateBasemapsCallback",void 0),t([m()],f.prototype,"viewType",void 0),f=t([c("esri.widgets.BasemapGallery.support.PortalBasemapsSource")],f);const B=f;export{B as default};
|
package/widgets/Editor/Edits.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 t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";function o(t){return null==t?null:JSON.stringify(t)}let n=class extends(r(e)){constructor(t){super(t),this._baselineAttributesJSON=null,this._baselineGeometryJSON=null,this._stagedForDelete=!1,this.feature=null}get attributesModified(){const t=this.feature?.attributes;return null!=t&&this._baselineAttributesJSON!==this._stringifyAttributes(t)}get geometryModified(){const t=this.feature?.geometry;return null!=t&&this._baselineGeometryJSON!==this._stringifyGeometry(t)}get stagedForDelete(){return this._stagedForDelete}get modified(){return this.attributesModified||this.geometryModified||this._stagedForDelete}stageDelete(){this._stagedForDelete=!0}unstageDelete(){this._stagedForDelete=!1}trackChanges(){const{feature:t}=this;if(!t)return;const{attributes:e,geometry:r}=t;this._baselineAttributesJSON=this._stringifyAttributes(e),this._baselineGeometryJSON=this._stringifyGeometry(r),this.notifyChange("attributesModified"),this.notifyChange("geometryModified")}updateAttributes(t){const{feature:e}=this;e&&(e.attributes=t,this.notifyChange("attributesModified"))}updateGeometry(t){const{feature:e}=this;e&&(e.geometry=t,this.notifyChange("geometryModified"))}_stringifyAttributes(t){return o(t)}_stringifyGeometry(t){return o("mesh"===t?.type?{transform:t.transform}:t)}};t([s()],n.prototype,"_stagedForDelete",void 0),t([s()],n.prototype,"attributesModified",null),t([s()],n.prototype,"feature",void 0),t([s()],n.prototype,"geometryModified",null),t([s()],n.prototype,"modified",null),n=t([i("esri.widgets.Editor.Edits")],n);export{n as Edits};
|
|
5
|
+
import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import{HandleOwnerMixin as r}from"../../core/HandleOwner.js";import{property as s}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as i}from"../../core/accessorSupport/decorators/subclass.js";function o(t){return null==t?null:JSON.stringify(t)}let n=class extends(r(e)){constructor(t){super(t),this._baselineAttributesJSON=null,this._baselineGeometryJSON=null,this._stagedForDelete=!1,this.feature=null}get attributesModified(){const t=this.feature?.attributes;return null!=t&&this._baselineAttributesJSON!==this._stringifyAttributes(t)}get geometryModified(){const t=this.feature?.geometry;return null!=t&&this._baselineGeometryJSON!==this._stringifyGeometry(t)}get stagedForDelete(){return this._stagedForDelete}get modified(){return this.attributesModified||this.geometryModified||this._stagedForDelete}stageDelete(){this._stagedForDelete=!0}unstageDelete(){this._stagedForDelete=!1}trackChanges(){const{feature:t}=this;if(!t)return;const{attributes:e,geometry:r}=t;this._baselineAttributesJSON=this._stringifyAttributes(e),this._baselineGeometryJSON=this._stringifyGeometry(r),this.notifyChange("attributesModified"),this.notifyChange("geometryModified")}updateAttributes(t){const{feature:e}=this;e&&(e.attributes=t,this.notifyChange("attributesModified"))}updateGeometry(t){const{feature:e}=this;e&&(e.geometry=t,this.notifyChange("geometryModified"))}_stringifyAttributes(t){return o(t)}_stringifyGeometry(t){return o("mesh"===t?.type?{transform:t.transform,vertexSpace:t.vertexSpace}:t)}};t([s()],n.prototype,"_stagedForDelete",void 0),t([s()],n.prototype,"attributesModified",null),t([s()],n.prototype,"feature",void 0),t([s()],n.prototype,"geometryModified",null),t([s()],n.prototype,"modified",null),n=t([i("esri.widgets.Editor.Edits")],n);export{n as Edits};
|
package/widgets/Editor/Upload.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 o from"../../core/Accessor.js";import{createTask as r}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import{abortMaybe as s}from"../../core/maybe.js";import{isAbortError as n,throwIfAborted as i,createAbortError as
|
|
5
|
+
import{_ as e}from"../../chunks/tslib.es6.js";import o from"../../core/Accessor.js";import{createTask as r}from"../../core/asyncUtils.js";import t from"../../core/Error.js";import{abortMaybe as s}from"../../core/maybe.js";import{isAbortError as n,throwIfAborted as i,createAbortError as c,throwIfNotAbortError as a,createResolver as l}from"../../core/promiseUtils.js";import{property as p}from"../../core/accessorSupport/decorators/property.js";import"../../core/accessorSupport/ensureType.js";import"../../core/arrayUtils.js";import"../../core/has.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import m from"../../geometry/Point.js";import{getFilePickerAcceptTypes as d,getSupportedExtensions as f}from"../../layers/support/infoFor3D.js";let h=class extends o{constructor(){super({}),this._uploadTask=null}destroy(){this.cancel()}get state(){const e=this._uploadTask;return e?e.finished?e.error?n(e.error)?"canceled":"error":"success":"pending":"default"}get result(){return this._uploadTask?.value??null}get error(){return this._uploadTask?.error??null}uploadTo(e){this.cancel(),this._uploadTask=r((async o=>{const r=await w(e);if(i(o),0===r.length)throw c();const s=(await import("../../geometry/Mesh.js")).default;i(o);const n=new m({x:0,y:0,z:0,spatialReference:e.spatialReference}),a=await s.createFromFiles(n,r,{layer:e,signal:o});if(i(o),!a)throw new t("editor:upload","could not upload or convert model");return a.load()}))}cancel(){this._uploadTask=s(this._uploadTask)}};e([p()],h.prototype,"state",null),e([p()],h.prototype,"result",null),e([p()],h.prototype,"error",null),e([p()],h.prototype,"_uploadTask",void 0),h=e([u("esri.widgets.Editor.Upload")],h);let y=null;async function w(e){return"showOpenFilePicker"in window&&!y?j(e):g(e)}async function j(e){try{const o=await window.showOpenFilePicker({multiple:!0,excludeAcceptAllOption:!0,types:d(e.infoFor3D)});return Promise.all(o.map((e=>e.getFile())))}catch(o){return a(o),[]}}async function g(e){const o=l();let r;const t=document.createElement("input");function s(){return t.files?Array.from(t.files):[]}function n(){i(),o.resolve(s())}function i(){clearTimeout(r),t.removeEventListener("change",n),window.removeEventListener("focus",c)}function c(){r=setTimeout((()=>{const e=s();0===e.length&&(i(),o.resolve(e))}),k)}return t.type="file",t.multiple=!0,t.accept=f(e.infoFor3D).join(","),t.addEventListener("change",n),window.addEventListener("focus",c,{once:!0}),y?y(t):t.click(),o.promise.finally(i)}function T(e){y=o=>{setTimeout((()=>{const r=new DataTransfer;e.forEach((e=>r.items.add(e))),o.files=r.files,o.dispatchEvent(new Event("change"))}))}}function v(){y=null}const k=5e3;export{h as Upload,v as clearPromptForFilesStub,T as simulateSelectingFiles};
|
|
@@ -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{createTask as t}from"../../core/asyncUtils.js";import"../../core/has.js";import{handlesGroup as r,makeHandle as n}from"../../core/handleUtils.js";import{clone as i}from"../../core/lang.js";import{throwIfAborted as a,whenOrAbort as s,eachAlways as o}from"../../core/promiseUtils.js";import{watch as l,whenOnce as c}from"../../core/reactiveUtils.js";import{px2pt as u}from"../../core/screenUtils.js";import{diff as p}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as y}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as f}from"../../renderers/support/lengthUtils.js";import{getTransformationType as d,TransformationType as m}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as g,getSize as h}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{sceneLayerEditingEnabled as b,i3sPatchingEnabled as w}from"../../support/featureFlags.js";import{to3D as v}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as S}from"../../symbols/support/symbolUtils.js";import{GraphicState as j}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as I}from"../../views/support/drapedUtils.js";import{hitTestSelectSimilarDistance as U,filterGraphicHits as V}from"../../views/support/hitTestSelectUtils.js";function F(e){const t=e.sourceLayer;if(!t||"feature"!==t.type||!A(t.renderer))return{rotation:null,size:null};let r=null,n=null;const i=t.renderer.getVisualVariablesForType("rotation").filter((t=>(!t.axis||"heading"===t.axis)&&t.field&&!t.valueExpression&&null!=g(t,e)));1===i.length&&(r=T(i[0],t));const a=t.renderer.getVisualVariablesForType("size").filter((t=>t.field&&!t.useSymbolValue&&!t.valueExpression&&d(t)===m.RealWorldSize&&null!=h(t,e)));return 1===a.length&&(n=L(a[0],t)),{rotation:r,size:n}}function T(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,n=e.field,i=t.fields&&t.fields.filter((e=>e.name===n)),a=i&&1===i.length?i[0].type:"double",s={initial:0,current:0};return{field:n,fieldType:a,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-r*e,E((s.current+360)%360,a)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function z(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function x(e,t,r){if(null==t)return 0;const{symbol:n}=v(t);if(null==n||"web-style"===n.type||"cim"===n.type)return 0;const i=n.symbolLayers.at(0);if(!i)return 0;switch(i.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return i.size||Math.min(Y.icon,(await e(i,Y.icon))[0])||Y.icon}case"text":return i.size||Y.text;case"line":return i.size||Y.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return z(await t(i,e.scale/Y.viewScaleSizeFactor),r)}case"path":return(null!=i.width?i.width:i.height)||e.scale/Y.viewScaleSizeFactor;case"extrude":return i.size||e.scale/Y.viewScaleSizeFactor;default:return 0}}function L(e,t){const r=e.field,n=e.axis,i=t.fields&&t.fields.filter((e=>e.name===r)),a=i&&1===i.length?i[0].type:"double",s={updating:!1,initial:0,current:0},o=f[e.valueUnit]??1;let l;return l="area"===e.valueRepresentation?e=>(e*o/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*o/2:e=>e*o,{field:r,fieldType:a,getDefault:async(e,t)=>E(l(await x(t,e,n)),a),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,E(s.current,a)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1,displayUnit:re(e.valueUnit),axis:e.axis}}function E(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function A(e){switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function M(e,t){const r=await S(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t});null!=p(e.symbol,r)&&(e.symbol=r)}function O(e){if(!e)throw new Error("no geometry type");return"multipatch"===e?"mesh":e}async function R(e,t,i,a){await k(e,t,a);const s=e.on("create",(async r=>{if("cancel"===r.state)return k(e,t,a);if("complete"===r.state){const e=r.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await M(e,a),i(e)}}));return r([s,n((()=>e.cancel()))])}async function k(e,t,r){const n=t.layer,i={...t.template.prototype.attributes};await G(e,n,i,r),e.layer.elevationInfo=n.elevationInfo,await e.create(O(n.geometryType),{graphicProperties:{attributes:i,sourceLayer:n},hasZ:n.capabilities.data.supportsZ,geometryToPlace:t.geometryToPlace??void 0})}async function G(t,r,n,i){const a=new e({sourceLayer:r,attributes:n}),{rotation:s,size:o}=F(a);let l=await S(a,{useSourceLayer:!0,webStyleCache:i}),c=!1;for(const e of[o,s]){if(null==e)continue;null==n[e.field]&&(n[e.field]=await e.getDefault(l,t.view),c=!0)}switch(c&&(l=await S(a,{useSourceLayer:!0,webStyleCache:i})),l?.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=l;break;case"simple-line":case"line-3d":t.polylineSymbol=l;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":t.pointSymbol=l}P(t.tooltipOptions,o,s)}function P(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function D(e,t){return e?e.find((e=>e.layer===t)):void 0}async function C(e,t,r,n){if(0===e.length)return[];const{updatable:i,graphicsByLayer:a}=await r.async((async()=>{const{results:i}=await s(U(t,r),n),a=new Map,o=e=>{const t=e.layer,r=a.get(t);if(!r){const e=new Array;return a.set(t,e),e}return r};V(i).forEach((({graphic:e})=>o(e).push(e)));const l=e.filter((({supports:e,layer:t})=>e.includes("update")&&a.has(t)));return 0!==l.length&&r.stopPropagation(),{updatable:l,graphicsByLayer:a}}));return s(o(i.map((async({layer:e})=>{const{objectIdField:t}=e,r="displayField"in e?e.displayField:null,i=[t];null!=r&&e.fieldsIndex.has(r)&&i.push(r);const s=a.get(e);if(!!s.some((e=>i.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=i,t.returnGeometry=!1,t.objectIds=s.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:n}).then((({features:e})=>e))}return s}))),n)}async function q(e,t,r,n){if(0===e.length)return[];let i=null;const a=await r.async((async()=>{const{results:a}=await s(t.hitTest(r),n);if(0===a.length)return[];const o=new Set;i=V(a),i.forEach((({graphic:e})=>e&&o.add(e.layer)));const l=e.items.filter((({layer:e,supports:t,attachmentsOnUpdateEnabled:r})=>o.has(e)&&(t.includes("update")||t.includes("delete")||r)));return l.length>0&&r.stopPropagation(),l}));return s(o(a.map((({layer:e})=>{const a=e.objectIdField,s="displayField"in e?e.displayField:null,o=[a];null!=s&&e.fieldsIndex.has(s)&&o.push(s);const l=e.createQuery();l.outFields=o,l.returnGeometry=!1;const c="renderer"in e?y({renderer:e.renderer,event:r}):0;return l.geometry=I(r.mapPoint,c,t),l.outSpatialReference=t.spatialReference,e.queryFeatures(l,{signal:n}).then((({features:t})=>(i?.forEach((({graphic:r})=>{r.layer!==e||t.some((e=>e.getObjectId()===r.getObjectId()))||t.push(r)})),t)))}))),n)}async function Z(e,t,r,n){switch(t.type){case"3d":return C(e,t,r,n);case"2d":return q(e,t,r,n)}}async function Q(e,t,r){const{sourceLayer:n}=e,i=n.createQuery();i.objectIds=[e.getAttribute(n.objectIdField)],i.outFields=["*"],i.outSpatialReference=t,i.returnM=n.capabilities.data.supportsM,i.returnZ=n.capabilities.data.supportsZ,b()&&w()&&"scene"===n.type&&null!=n.infoFor3D&&(i.returnGeometry=!0,i.formatOf3DObjects="3D_glb");const s=await n.queryFeatures(i,{signal:r});a(r);const o=s.features[0];if("mesh"===o.geometry?.type&&!o.geometry.transform){const e=(await import("../../geometry/support/MeshTransform.js")).default;a(r),o.geometry.transform=new e({geographic:!0})}return o}async function B(e,t,r,n,i){let a=!1;const{rotation:s,size:o}=n;[s,o].forEach((async r=>{if(null==r)return;const n=t.getAttribute(r.field);if(null!=n)r.initValue(n);else{const n=await r.getDefault(t.symbol,e.view);r.initValue(n),t.setAttribute(r.field,n),a=!0}})),a&&await M(t,i);const l={multipleSelectionEnabled:!1};return"point"===r.geometryType&&(l.enableRotation=null!=s,l.enableScaling=null!=o),P(e.tooltipOptions,o,s),e.layer.elevationInfo=r.elevationInfo,e.update(t,l)}function W(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function _(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function H(e,t,r,n,i){if(null==t.geometry||"point"!==t.geometry?.type)return;const a=n.rotation,s=W(r.toolEventInfo);if(null!=a&&null!=s)if("rotate-stop"===s.type)a.isUpdatingInteractively=!1,a.initValue();else{a.isUpdatingInteractively=!0;const{field:r,getValue:n}=a;t.setAttribute(r,n(s.angle,e))}const o=n.size,l=_(r.toolEventInfo);if(null!=o&&null!=l)if("scale-stop"===l.type)o.isUpdatingInteractively=!1,o.initValue();else{o.isUpdatingInteractively=!0;const{field:r,getValue:n}=o;t.setAttribute(r,n(l.xScale,e))}await M(t,i)}async function J(e,t,i,a,s,o){const c=ue(e);await M(c,o),a.map.add(i.layer),i.layer.add(c);const u=e.sourceLayer,p=se(a,u);await X(a,c),await B(i,c,u,t,o);const y=K(i,e,c);let f=null;p.then((e=>f=e)).catch((()=>{}));const d=t.size,m=t.rotation,g=l((()=>e.attributes),(async e=>{let t=!1;for(const r in e){const n=e[r];n!==c.getAttribute(r)&&(c.setAttribute(r,n),null==d||d.isUpdatingInteractively||d.field!==r||d.initValue(n),null==m||m.isUpdatingInteractively||m.field!==r||m.initValue(n),(null==f||f.requiredFields.includes(r))&&(t=!0))}t&&await M(c,o)})),h=i.on("update",(async e=>{const r=e.graphics[0];if("complete"===e.state)return B(i,r,u,t,o);await H(a,r,e,t,o),s(ue(r),e)})),b=i.on(["undo","redo"],(async e=>{s(ue(e.graphics[0]),e)}));return{interactive:r([b,h,n((()=>i.cancel())),g]),visual:y}}function K(e,i,s){const o=e.view,l=i.sourceLayer,u=i.layer,p=i.getAttribute(u.objectIdField);let y=null;function f(e){y?.abort(),y=t((async t=>{const r=await se(o,l);a(t),r.setVisibility?.(p,e)}))}return f(!1),r([N(o,s,(e=>f(!e))),n((async()=>{f(!0);const t=await se(o,l);await c((()=>!t.updating)),e.layer.remove(s)}))])}function N(e,t,n){if("3d"===e.type){const i=new j({graphic:t});return r([e.trackGraphicState(i),l((()=>i.displaying),n)])}return l((()=>t.visible),n)}async function X(e,t){if("3d"===e.type){const r=new j({graphic:t}),n=e.trackGraphicState(r);await c((()=>r.displaying)),n.remove()}else await c((()=>t.visible))}const Y={icon:u(24),text:u(12),line:u(1),viewScaleSizeFactor:100};function $(e,t,r){let n=!1;return e.filter((e=>!!n||(n=e===t,n))).map((e=>r[e]()))}function ee(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function te(e,t){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===t[0].id){const r=ee(e.viewModel.featureTemplatesViewModel.items);null==r||r.supportsUpload||(e.creationInfo=r,t.shift())}return t}function re(e){switch(e){case"unknown":case"decimal-degrees":return null;default:return e}}function ne(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}function ie(e){const{creationInfo:t,viewModel:r}=e;if(!t)return!1;const{layer:n}=t,i=r.editableItems.find((e=>e.layer===n));if(i)return i.attachmentsOnCreateEnabled;const a=n.capabilities?.data,s=r.layerInfos?.find((e=>e.layer===n));return!(!(a&&"supportsAttachment"in a&&a.supportsAttachment)||s&&(!1===s.allowAttachments||!1===s.attachmentsOnUpdateEnabled))}const ae=e=>/-stop/.test(e)||/vertex-/.test(e),se=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function oe(e){return"createInteractiveEditSession"in e}const le=Symbol();function ce(e){return e&&"object"==typeof e&&le in e}function ue(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=i(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function pe(e){const t=e.cursor;return e.cursor="progress",n((()=>e.cursor=t))}export{le as UsesSketchViewModelSymbol,te as avoidFeatureTemplateSelectionWithOnlyOneItem,oe as canCreateInteractiveEditSession,ue as cloneGraphicExceptMesh,$ as createWorkflowSteps,Z as fetchCandidates,Q as fetchFullFeature,D as findLayerInfo,F as getVisualVariableAttributes,ae as isTerminalUpdateEventType,ne as prepareAttachmentsForCreateWorkflow,R as setUpFeatureAdd,J as setUpGeometryUpdate,ie as shouldShowAttachmentsForCreateWorkflow,pe as showProgressCursor,Y as sizeDefaults,re as sizeVariableUnitToLengthUnit,k as startCreatingNewFeature,B as startUpdatingFeature,M as updateGraphicSymbolWhenRequired,H as visualVariableInteractiveUpdate,se as whenEditorLayerView,X as whenGraphicDisplayed,ce as workflowUsesSketchViewModel};
|
|
5
|
+
import e from"../../Graphic.js";import{createTask as t}from"../../core/asyncUtils.js";import"../../core/has.js";import{handlesGroup as n,makeHandle as r}from"../../core/handleUtils.js";import{clone as i}from"../../core/lang.js";import{throwIfAborted as a,whenOrAbort as s,eachAlways as l}from"../../core/promiseUtils.js";import{watch as o,whenOnce as c}from"../../core/reactiveUtils.js";import{px2pt as u}from"../../core/screenUtils.js";import{diff as p}from"../../core/accessorSupport/diffUtils.js";import{calculateTolerance as y}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as f}from"../../renderers/support/lengthUtils.js";import{getTransformationType as d,TransformationType as m}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{getRotationAngle as g,getSize as h}from"../../renderers/visualVariables/support/visualVariableUtils.js";import{sceneLayerEditingEnabled as b,i3sPatchingEnabled as w}from"../../support/featureFlags.js";import{to3D as v}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as S}from"../../symbols/support/symbolUtils.js";import{GraphicState as j}from"../../views/3d/layers/graphics/GraphicState.js";import{createQueryGeometry as I}from"../../views/support/drapedUtils.js";import{hitTestSelectSimilarDistance as U,filterGraphicHits as V}from"../../views/support/hitTestSelectUtils.js";function F(e){const t=e.sourceLayer;if(!t||"feature"!==t.type||!A(t.renderer))return{rotation:null,size:null};let n=null,r=null;const i=t.renderer.getVisualVariablesForType("rotation").filter((t=>(!t.axis||"heading"===t.axis)&&t.field&&!t.valueExpression&&null!=g(t,e)));1===i.length&&(n=T(i[0],t));const a=t.renderer.getVisualVariablesForType("size").filter((t=>t.field&&!t.useSymbolValue&&!t.valueExpression&&d(t)===m.RealWorldSize&&null!=h(t,e)));return 1===a.length&&(r=L(a[0],t)),{rotation:n,size:r}}function T(e,t){const n="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,r=e.field,i=t.fields&&t.fields.filter((e=>e.name===r)),a=i&&1===i.length?i[0].type:"double",s={initial:0,current:0};return{field:r,fieldType:a,getDefault:()=>Promise.resolve(0),getValue:e=>(s.current=s.initial-n*e,E((s.current+360)%360,a)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function z(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function x(e,t,n){if(null==t)return 0;const{symbol:r}=v(t);if(null==r||"web-style"===r.type||"cim"===r.type)return 0;const i=r.symbolLayers.at(0);if(!i)return 0;switch(i.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return i.size||Math.min(Y.icon,(await e(i,Y.icon))[0])||Y.icon}case"text":return i.size||Y.text;case"line":return i.size||Y.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return z(await t(i,e.scale/Y.viewScaleSizeFactor),n)}case"path":return(null!=i.width?i.width:i.height)||e.scale/Y.viewScaleSizeFactor;case"extrude":return i.size||e.scale/Y.viewScaleSizeFactor;default:return 0}}function L(e,t){const n=e.field,r=e.axis,i=t.fields&&t.fields.filter((e=>e.name===n)),a=i&&1===i.length?i[0].type:"double",s={updating:!1,initial:0,current:0},l=f[e.valueUnit]??1;let o;return o="area"===e.valueRepresentation?e=>(e*l/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*l/2:e=>e*l,{field:n,fieldType:a,getDefault:async(e,t)=>E(o(await x(t,e,r)),a),getValue:(e,t)=>(s.initial||(s.initial=t.pixelSizeAt(t.center)),s.current=s.initial*e,E(s.current,a)),initValue:e=>{s.initial=null!=e?e:s.current,s.current=0},isUpdatingInteractively:!1,displayUnit:ne(e.valueUnit),axis:e.axis}}function E(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function A(e){switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function O(e,t){const n=await S(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t});null!=p(e.symbol,n)&&(e.symbol=n)}function M(e){if(!e)throw new Error("no geometry type");return"multipatch"===e?"mesh":e}async function R(e,t,i,a){await k(e,t,a);const s=e.on("create",(async n=>{if("cancel"===n.state)return k(e,t,a);if("complete"===n.state){const e=n.graphic;e.sourceLayer||(e.sourceLayer=t.layer),e.attributes||(e.attributes={...t.template.prototype.attributes}),await O(e,a),i(e)}}));return n([s,r((()=>e.cancel()))])}async function k(e,t,n){const r=t.layer,i={...t.template.prototype.attributes};await G(e,r,i,n),e.layer.elevationInfo=r.elevationInfo,await e.create(M(r.geometryType),{graphicProperties:{attributes:i,sourceLayer:r},hasZ:r.capabilities.data.supportsZ,geometryToPlace:t.geometryToPlace??void 0})}async function G(t,n,r,i){const a=new e({sourceLayer:n,attributes:r}),{rotation:s,size:l}=F(a);let o=await S(a,{useSourceLayer:!0,webStyleCache:i}),c=!1;for(const e of[l,s]){if(null==e)continue;null==r[e.field]&&(r[e.field]=await e.getDefault(o,t.view),c=!0)}switch(c&&(o=await S(a,{useSourceLayer:!0,webStyleCache:i})),o?.type){case"simple-fill":case"polygon-3d":t.polygonSymbol=o;break;case"simple-line":case"line-3d":t.polylineSymbol=o;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":t.pointSymbol=o}P(t.tooltipOptions,l,s)}function P(e,t,n){e.visualVariables=null!=t||null!=n?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=n?{valueType:n.fieldType,rotationType:n.rotationType??"geographic"}:null}:null}function D(e,t){return e?e.find((e=>e.layer===t)):void 0}async function C(e,t,n,r){if(0===e.length)return[];const{updatable:i,graphicsByLayer:a}=await n.async((async()=>{const{results:i}=await s(U(t,n),r),a=new Map,l=e=>{const t=e.layer,n=a.get(t);if(!n){const e=new Array;return a.set(t,e),e}return n};V(i).forEach((({graphic:e})=>l(e).push(e)));const o=e.filter((({supports:e,layer:t})=>e.includes("update")&&a.has(t)));return 0!==o.length&&n.stopPropagation(),{updatable:o,graphicsByLayer:a}}));return s(l(i.map((async({layer:e})=>{const{objectIdField:t}=e,n="displayField"in e?e.displayField:null,i=[t];null!=n&&e.fieldsIndex.has(n)&&i.push(n);const s=a.get(e);if(!!s.some((e=>i.some((t=>!(t in e.attributes)))))){const t=e.createQuery();return t.outFields=i,t.returnGeometry=!1,t.objectIds=s.map((e=>e.getObjectId())),e.queryFeatures(t,{signal:r}).then((({features:e})=>e))}return s}))),r)}async function q(e,t,n,r){if(0===e.length)return[];let i=null;const a=await n.async((async()=>{const{results:a}=await s(t.hitTest(n),r);if(0===a.length)return[];const l=new Set;i=V(a),i.forEach((({graphic:e})=>e&&l.add(e.layer)));const o=e.items.filter((({layer:e,supports:t,attachmentsOnUpdateEnabled:n})=>l.has(e)&&(t.includes("update")||t.includes("delete")||n)));return o.length>0&&n.stopPropagation(),o}));return s(l(a.map((({layer:e})=>{const a=e.objectIdField,s="displayField"in e?e.displayField:null,l=[a];null!=s&&e.fieldsIndex.has(s)&&l.push(s);const o=e.createQuery();o.outFields=l,o.returnGeometry=!1;const c="renderer"in e?y({renderer:e.renderer,event:n}):0;return o.geometry=I(n.mapPoint,c,t),o.outSpatialReference=t.spatialReference,e.queryFeatures(o,{signal:r}).then((({features:t})=>(i?.forEach((({graphic:n})=>{n.layer!==e||t.some((e=>e.getObjectId()===n.getObjectId()))||t.push(n)})),t)))}))),r)}async function Z(e,t,n,r){switch(t.type){case"3d":return C(e,t,n,r);case"2d":return q(e,t,n,r)}}async function Q(e,t,n){const{sourceLayer:r}=e,i=r.createQuery();i.objectIds=[e.getAttribute(r.objectIdField)],i.outFields=["*"],i.outSpatialReference=t,i.returnM=r.capabilities.data.supportsM,i.returnZ=r.capabilities.data.supportsZ,b()&&w()&&"scene"===r.type&&null!=r.infoFor3D&&(i.returnGeometry=!0,i.formatOf3DObjects="3D_glb");const s=await r.queryFeatures(i,{signal:n});a(n);return s.features[0]}async function B(e,t,n,r,i){let a=!1;const{rotation:s,size:l}=r;[s,l].forEach((async n=>{if(null==n)return;const r=t.getAttribute(n.field);if(null!=r)n.initValue(r);else{const r=await n.getDefault(t.symbol,e.view);n.initValue(r),t.setAttribute(n.field,r),a=!0}})),a&&await O(t,i);const o={multipleSelectionEnabled:!1};return"point"===n.geometryType&&(o.enableRotation=null!=s,o.enableScaling=null!=l),P(e.tooltipOptions,l,s),e.layer.elevationInfo=n.elevationInfo,e.update(t,o)}function W(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function _(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}async function H(e,t,n,r,i){if(null==t.geometry||"point"!==t.geometry?.type)return;const a=r.rotation,s=W(n.toolEventInfo);if(null!=a&&null!=s)if("rotate-stop"===s.type)a.isUpdatingInteractively=!1,a.initValue();else{a.isUpdatingInteractively=!0;const{field:n,getValue:r}=a;t.setAttribute(n,r(s.angle,e))}const l=r.size,o=_(n.toolEventInfo);if(null!=l&&null!=o)if("scale-stop"===o.type)l.isUpdatingInteractively=!1,l.initValue();else{l.isUpdatingInteractively=!0;const{field:n,getValue:r}=l;t.setAttribute(n,r(o.xScale,e))}await O(t,i)}async function J(e,t,i,a,s,l){const c=ue(e);await O(c,l),a.map.add(i.layer),i.layer.add(c);const u=e.sourceLayer,p=se(a,u);await X(a,c),await B(i,c,u,t,l);const y=K(i,e,c);let f=null;p.then((e=>f=e)).catch((()=>{}));const d=t.size,m=t.rotation,g=o((()=>e.attributes),(async e=>{let t=!1;for(const n in e){const r=e[n];r!==c.getAttribute(n)&&(c.setAttribute(n,r),null==d||d.isUpdatingInteractively||d.field!==n||d.initValue(r),null==m||m.isUpdatingInteractively||m.field!==n||m.initValue(r),(null==f||f.requiredFields.includes(n))&&(t=!0))}t&&await O(c,l)})),h=i.on("update",(async e=>{const n=e.graphics[0];if("complete"===e.state)return B(i,n,u,t,l);await H(a,n,e,t,l),s(ue(n),e)})),b=i.on(["undo","redo"],(async e=>{s(ue(e.graphics[0]),e)}));return{interactive:n([b,h,r((()=>i.cancel())),g]),visual:y}}function K(e,i,s){const l=e.view,o=i.sourceLayer,u=i.layer,p=i.getAttribute(u.objectIdField);let y=null;function f(e){y?.abort(),y=t((async t=>{const n=await se(l,o);a(t),n.setVisibility?.(p,e)}))}return f(!1),n([N(l,s,(e=>f(!e))),r((async()=>{f(!0);const t=await se(l,o);await c((()=>!t.updating)),e.layer.remove(s)}))])}function N(e,t,r){if("3d"===e.type){const i=new j({graphic:t});return n([e.trackGraphicState(i),o((()=>i.displaying),r)])}return o((()=>t.visible),r)}async function X(e,t){if("3d"===e.type){const n=new j({graphic:t}),r=e.trackGraphicState(n);await c((()=>n.displaying)),r.remove()}else await c((()=>t.visible))}const Y={icon:u(24),text:u(12),line:u(1),viewScaleSizeFactor:100};function $(e,t,n){let r=!1;return e.filter((e=>!!r||(r=e===t,r))).map((e=>n[e]()))}function ee(e){if(1!==e.length)return null;const t=e[0];if("items"in t){const e=t;return 1===e.items.length?e.items[0]:null}return t}function te(e,t){if(e.viewModel.refreshCreationTemplates(),"awaiting-feature-creation-info"===t[0].id){const n=ee(e.viewModel.featureTemplatesViewModel.items);null==n||n.supportsUpload||(e.creationInfo=n,t.shift())}return t}function ne(e){switch(e){case"unknown":case"decimal-degrees":return null;default:return e}}function re(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}function ie(e){const{creationInfo:t,viewModel:n}=e;if(!t)return!1;const{layer:r}=t,i=n.editableItems.find((e=>e.layer===r));if(i)return i.attachmentsOnCreateEnabled;const a=r.capabilities?.data,s=n.layerInfos?.find((e=>e.layer===r));return!(!(a&&"supportsAttachment"in a&&a.supportsAttachment)||s&&(!1===s.allowAttachments||!1===s.attachmentsOnUpdateEnabled))}const ae=e=>/-stop/.test(e)||/vertex-/.test(e),se=(e,t)=>{const n="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(n)};function le(e){return"createInteractiveEditSession"in e}const oe=Symbol();function ce(e){return e&&"object"==typeof e&&oe in e}function ue(e){const t=e.geometry;if("mesh"===t?.type){const n=e.cloneShallow();return n.attributes=i(e.attributes),n.geometry=t.cloneShallow(),n.geometry.transform=t.transform?.clone()??null,n}return e.clone()}function pe(e){const t=e.cursor;return e.cursor="progress",r((()=>e.cursor=t))}export{oe as UsesSketchViewModelSymbol,te as avoidFeatureTemplateSelectionWithOnlyOneItem,le as canCreateInteractiveEditSession,ue as cloneGraphicExceptMesh,$ as createWorkflowSteps,Z as fetchCandidates,Q as fetchFullFeature,D as findLayerInfo,F as getVisualVariableAttributes,ae as isTerminalUpdateEventType,re as prepareAttachmentsForCreateWorkflow,R as setUpFeatureAdd,J as setUpGeometryUpdate,ie as shouldShowAttachmentsForCreateWorkflow,pe as showProgressCursor,Y as sizeDefaults,ne as sizeVariableUnitToLengthUnit,k as startCreatingNewFeature,B as startUpdatingFeature,O as updateGraphicSymbolWhenRequired,H as visualVariableInteractiveUpdate,se as whenEditorLayerView,X as whenGraphicDisplayed,ce as workflowUsesSketchViewModel};
|
|
@@ -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"../../../intl.js";import e from"../../../core/Logger.js";import{replace as t}from"../../../core/string.js";import{formatDate as r,convertDateFormatToIntlOptions as n}from"../../../intl/date.js";import{formatNumber as i,convertNumberFormatToIntlOptions as o}from"../../../intl/number.js";import{isRasterPixelValueField as a,featureHasFields as l}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as u}from"../../../layers/support/layerUtils.js";import s from"../../../popup/support/FieldInfoFormat.js";import{loadArcade as f}from"../../../support/arcadeOnDemand.js";const c="esri.widgets.Feature.support.featureUtils",d=e.getLogger(c),p=/href=(""|'')/gi,y=/(\{([^\{\r\n]+)\})/g,m=/\'/g,g=/^\s*expression\//i,h=/(\n)/gi,I=/[\u00A0-\u9999<>\&]/gim,b=/href\s*=\s*(?:\"([^\"]+)\"|\'([^\']+)\')/gi,F=/^(?:mailto:|tel:)/,w="relationships/",j=n("short-date-short-time");function N(e){if(null!=e)return e.get("sourceLayer")||e.get("layer")}async function E(e,t){return"function"==typeof e?e(t):e}function T(e=""){if(e)return!F.test(e.trim().toLowerCase())}function x(e){return!!e&&g.test(e)}function C(e,t){if(!x(t)||!e)return null;const r=t.replace(g,"").toLowerCase();let n=null;return e.some((e=>e.name.toLowerCase()===r&&(n=e,!0))),n}function q(e,t){const r=C(t,e?.fieldName);return r?r.title||null:e?e.label||e.fieldName:null}function A(e,t){const r=t.get(e.toLowerCase());return`{${r&&r.fieldName||e}}`}function M(e){return e.replaceAll(p,"")}function R(e,t){const r=v(t,e);return r?r.name:e}function D(e,t){return e&&e.map((e=>R(e,t)))}function v(e,t){return e&&"function"==typeof e.getField&&t?e.getField(t)??null:null}function L(e){return`${e}`.trim()}function U({attributes:e,globalAttributes:t,layer:r,text:n,expressionAttributes:i,fieldInfoMap:o}){return n?$({formattedAttributes:t,template:P(n,{...t,...i,...e},r),fieldInfoMap:o}):""}function $({formattedAttributes:e,template:r,fieldInfoMap:n}){return L(M(t(t(r,(e=>A(e,n))),e)))}function O(e,t,r=!1){const n=t[e];if("string"==typeof n){const i="%27",o=(r?encodeURIComponent(n):n).replaceAll(m,i);t[e]=o}}function S(e,t=!1){const r={...e};return Object.keys(r).forEach((e=>O(e,r,t))),r}function G(e,r,n){const i=(r=L(r))&&"{"!==r[0];return t(e,S(n,i||!1))}function k(e,t){return e.replaceAll(y,((e,r,n)=>{const i=v(t,n);return i?`{${i.name}}`:r}))}function P(e,t,r){const n=k(e,r);return n?n.replaceAll(b,((e,r,n)=>G(e,r||n,t))):n}function Q(e,t){if("string"==typeof e&&t&&null==t.dateFormat&&(null!=t.places||null!=t.digitSeparator)){const t=Number(e);if(!isNaN(t))return t}return e}function _(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function z(e){return null!=e&&"object"==typeof e&&"layer"in e&&!!e.layer}function H(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-image"===e.type}function V(e){return null!=e&&"object"==typeof e&&"fieldsIndex"in e&&"geometryType"in e&&"getField"in e&&"load"in e&&"loaded"in e&&"objectIdField"in e&&"spatialReference"in e&&"type"in e&&"feature"===e.type&&"when"in e}function Z(e){return null!=e&&"object"==typeof e&&"createQuery"in e&&"queryFeatureCount"in e&&"queryObjectIds"in e&&"queryRelatedFeatures"in e&&"queryRelatedFeaturesCount"in e&&"relationships"in e}function B(e){return V(e)&&Z(e)}function J(e,t){const{fieldInfos:r,fieldName:n,preventPlacesFormatting:l,layer:u}=t,f=K(r,n),c=f?.clone(),d=v(u,n);if(c&&!a(n)){const t=d?.type;if("date"===t||"date-only"===t||"time-only"===t||"timestamp-offset"===t){const r=c.format??new s;if(r.dateFormat??="date-only"===t?"short-date":"short-date-short-time","number"==typeof e){const t=!z(u)&&_(u)&&u.datesInUnknownTimezone||z(u)&&H(u.layer)&&u.layer.datesInUnknownTimezone;return r.formatDate(e,t)}switch(t){case"date-only":return r.formatDateOnly(e);case"time-only":return r.formatTimeOnly(e);case"timestamp-offset":return r.formatTimestamp(e)}}}const p=c?.format;return"string"==typeof e&&a(n)&&p?p.formatRasterPixelValue(e):"string"==typeof(e=Q(e,p))||null==e||null==p?ne(e):l?i(e,{...o(p),minimumFractionDigits:0,maximumFractionDigits:20}):p.formatNumber(e)}function K(e,t){if(e&&e.length&&t)return e.find((e=>e.fieldName?.toLowerCase()===t.toLowerCase()))}function W({fieldName:e,graphic:t,layer:r}){if(se(e))return null;if(!r||"function"!=typeof r.getFeatureType)return null;const{typeIdField:n}=r;if(!n||e!==n)return null;const i=r.getFeatureType(t);return i?i.name:null}function X({fieldName:e,value:t,graphic:r,layer:n}){if(se(e))return null;if(!n||"function"!=typeof n.getFieldDomain)return null;const i=r&&n.getFieldDomain(e,{feature:r});return i&&"coded-value"===i.type?i.getName(t):null}function Y(e,t){const{creatorField:n,creationDateField:i,editorField:o,editDateField:a}=e;if(!t)return;const l=t[a];if("number"==typeof l){const e=t[o];return{type:"edit",date:r(l,j),user:e}}const u=t[i];if("number"==typeof u){const e=t[n];return{type:"create",date:r(u,j),user:e}}return null}function ee(e,t){const r=new Map;return e?(e.forEach((e=>{const n=R(e.fieldName,t);e.fieldName=n,r.set(n.toLowerCase(),e)})),r):r}function te(e){const t=[];if(!e)return t;const{fieldInfos:r,content:n}=e;return r&&t.push(...r),n&&Array.isArray(n)?(n.forEach((e=>{if("fields"===e.type){const r=e&&e.fieldInfos;r&&t.push(...r)}})),t):t}function re(e){return e.replaceAll(I,(e=>`&#${e.charCodeAt(0)};`))}function ne(e){return"string"==typeof e?e.replaceAll(h,'<br class="esri-text-new-line" />'):e}function ie(e){const{value:t,fieldName:n,fieldInfos:i,fieldInfoMap:o,layer:a,graphic:l}=e;if(null==t)return"";const u=X({fieldName:n,value:t,graphic:l,layer:a});if(u)return u;const s=W({fieldName:n,graphic:l,layer:a});if(s)return s;if(o.get(n.toLowerCase()))return J(t,{fieldInfos:i||Array.from(o.values()),fieldName:n,layer:a});const f=a&&a.fieldsIndex;return f&&f.isDateField(n)?r(t,j):ne(t)}function oe({fieldInfos:e,attributes:t,layer:r,graphic:n,fieldInfoMap:i,relatedInfos:o}){const a={};return o?.forEach((t=>de({attributes:a,relatedInfo:t,fieldInfoMap:i,fieldInfos:e,layer:r}))),t&&Object.keys(t).forEach((o=>{const l=t[o];a[o]=ie({fieldName:o,fieldInfos:e,fieldInfoMap:i,layer:r,value:l,graphic:n})})),a}async function ae(e,t){const{layer:r,graphic:n,outFields:i,objectIds:o,returnGeometry:a,spatialReference:l}=e,s=o[0];if("number"!=typeof s&&"string"!=typeof s){const e="Could not query required fields for the specified feature. The feature's ID is invalid.",t={layer:r,graphic:n,objectId:s,requiredFields:i};return d.warn(e,t),null}if(!u(r)?.operations?.supportsQuery){const e="The specified layer cannot be queried. The following fields will not be available.",t={layer:r,graphic:n,requiredFields:i,returnGeometry:a};return d.warn(e,t),null}const f=r.createQuery();f.objectIds=o,f.outFields=i?.length?i:[r.objectIdField],f.returnGeometry=!!a,f.returnZ=!!a,f.returnM=!!a,f.outSpatialReference=l;return(await r.queryFeatures(f,t)).features[0]}async function le(e){if(!e.expressionInfos?.length)return!1;const t=await f(),{arcadeUtils:{hasGeometryFunctions:r}}=t;return r(e)}async function ue({graphic:e,popupTemplate:t,layer:r,spatialReference:n},i){if(!r||!t)return;if("function"==typeof r.load&&await r.load(i),!e.attributes)return;const o=e.attributes[r.objectIdField];if(null==o)return;const a=[o],u=await t.getRequiredFields(r.fieldsIndex),s=l(u,e),f=s?[]:u,c=t.returnGeometry||await le(t);if(s&&!c)return;const d=await ae({layer:r,graphic:e,outFields:f,objectIds:a,returnGeometry:c,spatialReference:n},i);d&&(d.geometry&&(e.geometry=d.geometry),d.attributes&&(e.attributes={...e.attributes,...d.attributes}))}function se(e=""){return!!e&&e.includes(w)}function fe(e){return e?`${w}${e.layerId}/${e.fieldName}`:""}function ce({attributes:e,graphic:t,relatedInfo:r,fieldInfos:n,fieldInfoMap:i,layer:o}){e&&t&&r&&Object.keys(t.attributes).forEach((a=>{const l=fe({layerId:r.relation.id.toString(),fieldName:a}),u=t.attributes[a];e[l]=ie({fieldName:l,fieldInfos:n,fieldInfoMap:i,layer:o,value:u,graphic:t})}))}function de({attributes:e,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}){e&&t&&(t.relatedFeatures&&t.relatedFeatures&&t.relatedFeatures.forEach((o=>ce({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}))),t.relatedStatsFeatures&&t.relatedStatsFeatures&&t.relatedStatsFeatures.forEach((o=>ce({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}))))}const pe=e=>{if(!e)return!1;const t=e.toUpperCase();return t.includes("CURRENT_TIMESTAMP")||t.includes("CURRENT_DATE")||t.includes("CURRENT_TIME")},ye=({layer:e,method:t,query:r,definitionExpression:n})=>{if(!e.capabilities?.query?.supportsCacheHint||"attachments"===t)return;const i=null!=r.where?r.where:null,o=null!=r.geometry?r.geometry:null;pe(n)||pe(i)||"extent"===o?.type||"tile"===r.resultType||(r.cacheHint=!0)},me=({query:e,layer:t,method:r})=>{ye({layer:t,method:r,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression}`})},ge=({queryPayload:e,layer:t,method:r})=>{ye({layer:t,method:r,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression}`})};function he(e,t,r){return e&&t&&r?Ie(e.allLayers,t,r)||Ie(e.allTables,t,r):null}function Ie(e,t,r){return e.filter(B).find((e=>e!==t&&e.url===t.url&&e.layerId===r.relatedTableId))}export{ne as applyTextFormattingHTML,ee as createfieldInfoMap,he as findRelatedLayer,k as fixTokens,oe as formatAttributes,Y as formatEditInfo,J as formatValueToFieldInfo,te as getAllFieldInfos,K as getFieldInfo,q as getFieldInfoLabel,R as getFixedFieldName,D as getFixedFieldNames,N as getSourceLayer,E as graphicCallback,re as htmlEntities,x as isExpressionField,V as isFeatureSupportedLayer,B as isRelatableFeatureSupportedLayer,Z as isRelatableLayer,se as isRelatedField,me as preLayerQueryCallback,ge as preRequestCallback,ae as querySourceLayer,ue as queryUpdatedFeature,T as shouldOpenInNewTab,$ as substituteAttributes,U as substituteFieldsInLinksAndAttributes};
|
|
5
|
+
import"../../../intl.js";import e from"../../../core/Logger.js";import{replace as t}from"../../../core/string.js";import{formatDate as r,convertDateFormatToIntlOptions as n}from"../../../intl/date.js";import{formatNumber as i,convertNumberFormatToIntlOptions as o}from"../../../intl/number.js";import{isRasterPixelValueField as a,featureHasFields as l}from"../../../layers/support/fieldUtils.js";import{getEffectiveLayerCapabilities as u}from"../../../layers/support/layerUtils.js";import s from"../../../popup/support/FieldInfoFormat.js";import{loadArcade as f}from"../../../support/arcadeOnDemand.js";const c="esri.widgets.Feature.support.featureUtils",d=e.getLogger(c),p=/href=(""|'')/gi,y=/(\{([^\{\r\n]+)\})/g,m=/\'/g,g=/^\s*expression\//i,h=/(\n)/gi,I=/[\u00A0-\u9999<>\&]/gim,b=/href\s*=\s*(?:\"([^\"]+)\"|\'([^\']+)\')/gi,F=/^(?:mailto:|tel:)/,w="relationships/",j=n("short-date-short-time");function N(e){if(null!=e)return e.get("sourceLayer")||e.get("layer")}async function E(e,t){return"function"==typeof e?e(t):e}function T(e=""){if(e)return!F.test(e.trim().toLowerCase())}function x(e){return!!e&&g.test(e)}function C(e,t){if(!x(t)||!e)return null;const r=t.replace(g,"").toLowerCase();let n=null;return e.some((e=>e.name.toLowerCase()===r&&(n=e,!0))),n}function q(e,t){const r=C(t,e?.fieldName);return r?r.title||null:e?e.label||e.fieldName:null}function A(e,t){const r=t.get(e.toLowerCase());return`{${r&&r.fieldName||e}}`}function M(e){return e.replaceAll(p,"")}function R(e,t){const r=v(t,e);return r?r.name:e}function D(e,t){return e&&e.map((e=>R(e,t)))}function v(e,t){return e&&"function"==typeof e.getField&&t?e.getField(t)??null:null}function L(e){return`${e}`.trim()}function U({attributes:e,globalAttributes:t,layer:r,text:n,expressionAttributes:i,fieldInfoMap:o}){return n?$({formattedAttributes:t,template:P(n,{...t,...i,...e},r),fieldInfoMap:o}):""}function $({formattedAttributes:e,template:r,fieldInfoMap:n}){return L(M(t(t(r,(e=>A(e,n))),e)))}function O(e,t,r=!1){const n=t[e];if("string"==typeof n){const i="%27",o=(r?encodeURIComponent(n):n).replaceAll(m,i);t[e]=o}}function S(e,t=!1){const r={...e};return Object.keys(r).forEach((e=>O(e,r,t))),r}function G(e,r,n){const i=(r=L(r))&&"{"!==r[0];return t(e,S(n,i||!1))}function k(e,t){return e.replaceAll(y,((e,r,n)=>{const i=v(t,n);return i?`{${i.name}}`:r}))}function P(e,t,r){const n=k(e,r);return n?n.replaceAll(b,((e,r,n)=>G(e,r||n,t))):n}function Q(e,t){if("string"==typeof e&&t&&null==t.dateFormat&&(null!=t.places||null!=t.digitSeparator)){const t=Number(e);if(!isNaN(t))return t}return e}function _(e){return null!=e&&"object"==typeof e&&"type"in e&&"feature"===e.type}function z(e){return null!=e&&"object"==typeof e&&"layer"in e&&!!e.layer}function H(e){return null!=e&&"object"==typeof e&&"type"in e&&"map-image"===e.type}function V(e){return null!=e&&"object"==typeof e&&"fieldsIndex"in e&&"geometryType"in e&&"getField"in e&&"load"in e&&"loaded"in e&&"objectIdField"in e&&"spatialReference"in e&&"type"in e&&"feature"===e.type&&"when"in e}function Z(e){return null!=e&&"object"==typeof e&&"createQuery"in e&&"queryFeatureCount"in e&&"queryObjectIds"in e&&"queryRelatedFeatures"in e&&"queryRelatedFeaturesCount"in e&&"relationships"in e}function B(e){return V(e)&&Z(e)}function J(e,t){const{fieldInfos:r,fieldName:n,preventPlacesFormatting:l,layer:u}=t,f=K(r,n),c=f?.clone(),d=v(u,n);if(c&&!a(n)){const t=d?.type;if("date"===t||"date-only"===t||"time-only"===t||"timestamp-offset"===t){const r=c.format??new s;if(r.dateFormat??="date-only"===t?"short-date":"short-date-short-time","number"==typeof e){const t=!z(u)&&_(u)&&u.datesInUnknownTimezone||z(u)&&H(u.layer)&&u.layer.datesInUnknownTimezone;return r.formatDate(e,t)}switch(t){case"date-only":return r.formatDateOnly(e);case"time-only":return r.formatTimeOnly(e);case"timestamp-offset":return r.formatTimestamp(e)}}}const p=c?.format;return"string"==typeof e&&a(n)&&p?p.formatRasterPixelValue(e):"string"==typeof(e=Q(e,p))||null==e||null==p?ne(e):l?i(e,{...o(p),minimumFractionDigits:0,maximumFractionDigits:20}):p.formatNumber(e)}function K(e,t){if(e&&e.length&&t)return e.find((e=>e.fieldName?.toLowerCase()===t.toLowerCase()))}function W({fieldName:e,graphic:t,layer:r}){if(se(e))return null;if(!r||"function"!=typeof r.getFeatureType)return null;const{typeIdField:n}=r;if(!n||e!==n)return null;const i=r.getFeatureType(t);return i?i.name:null}function X({fieldName:e,value:t,graphic:r,layer:n}){if(se(e))return null;if(!n||"function"!=typeof n.getFieldDomain)return null;const i=r&&n.getFieldDomain(e,{feature:r});return i&&"coded-value"===i.type?i.getName(t):null}function Y(e,t){const{creatorField:n,creationDateField:i,editorField:o,editDateField:a}=e;if(!t)return;const l=t[a];if("number"==typeof l){const e=t[o];return{type:"edit",date:r(l,j),user:e}}const u=t[i];if("number"==typeof u){const e=t[n];return{type:"create",date:r(u,j),user:e}}return null}function ee(e,t){const r=new Map;return e?(e.forEach((e=>{const n=R(e.fieldName,t);e.fieldName=n,r.set(n.toLowerCase(),e)})),r):r}function te(e){const t=[];if(!e)return t;const{fieldInfos:r,content:n}=e;return r&&t.push(...r),n&&Array.isArray(n)?(n.forEach((e=>{if("fields"===e.type){const r=e&&e.fieldInfos;r&&t.push(...r)}})),t):t}function re(e){return e.replaceAll(I,(e=>`&#${e.charCodeAt(0)};`))}function ne(e){return"string"==typeof e?e.replaceAll(h,'<br class="esri-text-new-line" />'):e}function ie(e){const{value:t,fieldName:n,fieldInfos:i,fieldInfoMap:o,layer:a,graphic:l}=e;if(null==t)return"";const u=X({fieldName:n,value:t,graphic:l,layer:a});if(u)return u;const s=W({fieldName:n,graphic:l,layer:a});if(s)return s;if(o.get(n.toLowerCase()))return J(t,{fieldInfos:i||Array.from(o.values()),fieldName:n,layer:a});const f=a&&a.fieldsIndex;return f&&f.isDateField(n)?r(t,j):ne(t)}function oe({fieldInfos:e,attributes:t,layer:r,graphic:n,fieldInfoMap:i,relatedInfos:o}){const a={};return o?.forEach((t=>de({attributes:a,relatedInfo:t,fieldInfoMap:i,fieldInfos:e,layer:r}))),t&&Object.keys(t).forEach((o=>{const l=t[o];a[o]=ie({fieldName:o,fieldInfos:e,fieldInfoMap:i,layer:r,value:l,graphic:n})})),a}async function ae(e,t){const{layer:r,graphic:n,outFields:i,objectIds:o,returnGeometry:a,spatialReference:l}=e,s=o[0];if("number"!=typeof s&&"string"!=typeof s){const e="Could not query required fields for the specified feature. The feature's ID is invalid.",t={layer:r,graphic:n,objectId:s,requiredFields:i};return d.warn(e,t),null}if(!u(r)?.operations?.supportsQuery){const e="The specified layer cannot be queried. The following fields will not be available.",t={layer:r,graphic:n,requiredFields:i,returnGeometry:a};return d.warn(e,t),null}const f=r.createQuery();f.objectIds=o,f.outFields=i?.length?i:[r.objectIdField],f.returnGeometry=!!a,f.returnZ=!!a,f.returnM=!!a,f.outSpatialReference=l;return(await r.queryFeatures(f,t)).features[0]}async function le(e){if(!e.expressionInfos?.length)return!1;const t=await f(),{arcadeUtils:{hasGeometryFunctions:r}}=t;return r(e)}async function ue({graphic:e,popupTemplate:t,layer:r,spatialReference:n},i){if(!r||!t)return;if("function"==typeof r.load&&await r.load(i),!e.attributes)return;const o=e.attributes[r.objectIdField];if(null==o)return;const a=[o],u=await t.getRequiredFields(r.fieldsIndex),s=l(u,e),f=s?[]:u,c=t.returnGeometry||await le(t);if(s&&!c)return;const d=await ae({layer:r,graphic:e,outFields:f,objectIds:a,returnGeometry:c,spatialReference:n},i);d&&(d.geometry&&(e.geometry=d.geometry),d.attributes&&(e.attributes={...e.attributes,...d.attributes}))}function se(e=""){return!!e&&e.includes(w)}function fe(e){return e?`${w}${e.layerId}/${e.fieldName}`:""}function ce({attributes:e,graphic:t,relatedInfo:r,fieldInfos:n,fieldInfoMap:i,layer:o}){e&&t&&r&&Object.keys(t.attributes).forEach((a=>{const l=fe({layerId:r.relation.id.toString(),fieldName:a}),u=t.attributes[a];e[l]=ie({fieldName:l,fieldInfos:n,fieldInfoMap:i,layer:o,value:u,graphic:t})}))}function de({attributes:e,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}){e&&t&&(t.relatedFeatures&&t.relatedFeatures&&t.relatedFeatures.forEach((o=>ce({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}))),t.relatedStatsFeatures&&t.relatedStatsFeatures&&t.relatedStatsFeatures.forEach((o=>ce({attributes:e,graphic:o,relatedInfo:t,fieldInfoMap:r,fieldInfos:n,layer:i}))))}const pe=e=>{if(!e)return!1;const t=e.toUpperCase();return t.includes("CURRENT_TIMESTAMP")||t.includes("CURRENT_DATE")||t.includes("CURRENT_TIME")},ye=({layer:e,method:t,query:r,definitionExpression:n})=>{if(!e.capabilities?.query?.supportsCacheHint||"attachments"===t)return;const i=null!=r.where?r.where:null,o=null!=r.geometry?r.geometry:null;pe(n)||pe(i)||"extent"===o?.type||"tile"===r.resultType||(r.cacheHint=!0)},me=({query:e,layer:t,method:r})=>{ye({layer:t,method:r,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression}`})},ge=({queryPayload:e,layer:t,method:r})=>{ye({layer:t,method:r,query:e,definitionExpression:`${t.definitionExpression} ${t.serviceDefinitionExpression}`})};function he(e,t,r){return e&&t&&r?Ie(e.allLayers,t,r)||Ie(e.allTables,t,r):null}function Ie(e,t,r){return e.filter(B).find((e=>e!==t&&e.url===t.url&&e.layerId===r.relatedTableId))}export{ne as applyTextFormattingHTML,ee as createfieldInfoMap,he as findRelatedLayer,k as fixTokens,oe as formatAttributes,Y as formatEditInfo,J as formatValueToFieldInfo,te as getAllFieldInfos,K as getFieldInfo,q as getFieldInfoLabel,R as getFixedFieldName,D as getFixedFieldNames,N as getSourceLayer,E as graphicCallback,re as htmlEntities,x as isExpressionField,_ as isFeatureLayer,V as isFeatureSupportedLayer,B as isRelatableFeatureSupportedLayer,Z as isRelatableLayer,se as isRelatedField,me as preLayerQueryCallback,ge as preRequestCallback,ae as querySourceLayer,ue as queryUpdatedFeature,T as shouldOpenInNewTab,$ as substituteAttributes,U as substituteFieldsInLinksAndAttributes};
|
|
@@ -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&&this._defaultDisplayField(s,r))):(s=this._checkDomain(r.fields,i,s),"string"==typeof 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&&this._defaultDisplayField(r,t);else r=this._checkDomain(t.fields,i,r),"string"==typeof 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 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};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
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 o}from"../../core/HandleOwner.js";import{watch as s,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 c from"../../rest/networks/support/ValidateNetworkTopologyParameters.js";import{isFeatureLayer as y}from"../Feature/support/featureUtils.js";import{onLocaleChange as p}from"../../intl/locale.js";import{fetchMessageBundle as m}from"../../intl/messages.js";const h={noDirtyAreasInExtent:-2147208940,noUtilityNetworkExtension:-2147208474,cannotAcquireVersionLock_v10:-2147217146,cannotAcquireVersionLock_v11:-2147220947};let u=class extends(o(e)){constructor(t){super(t),this._activeOperationDidSucceed=!1,this._dirtyAreasLayer=null,this.executionError="",this.extentToValidate="current",this.loadErrors=new i}initialize(){const t=async()=>{this.messages||(this.messages=await m("esri/widgets/UtilityNetworkValidateTopology/t9n/UtilityNetworkValidateTopology"))};t().then((()=>{this.utilityNetwork||this.loadErrors.push(this.messages.info.noUtilityNetwork),this.addHandles([s((()=>this.utilityNetwork),(async t=>{t&&"utility"===t.type?(t.loaded||await t.load(),this._onUtilityNetworkLoad()):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)),o=t.find((t=>t===i.noUtilityNetworkServiceUserTypeExtension));r||(t.removeAll(),o&&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.view.ready&&this.utilityNetwork.loaded?"ready":"loading"}set utilityNetwork(t){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 o;this._activeOperationDidSucceed=!1,this._set("executionError",""),o="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(o)})).then((()=>{this._activeOperationDidSucceed=!0}),(e=>{let i="Error: "+e;e instanceof r&&e.details&&e.details.raw&&(e.details.raw.extendedCode===h.noDirtyAreasInExtent?i=t.info.noDirtyAreasInExtent:e.details.raw.extendedCode!==h.cannotAcquireVersionLock_v10&&e.details.raw.extendedCode!==h.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===h.noUtilityNetworkExtension?this.loadErrors.push(this.messages.info.noUtilityNetworkServiceUserTypeExtension):this.loadErrors.push(t.message)}))}};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};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.27/esri/copyright.txt for details.
|
|
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:!0},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(){return"failed"===this.viewModel.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};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8758],{48758:(e,n,t)=>{t.r(n),t.d(n,{registerFunctions:()=>v});var a=t(48853),r=t(28228),i=t(33586),s=t(27535),l=t(15274),o=t(28924),u=t(50954),f=t(12384),c=t(61363),d=t(26520),m=t(70409),y=t(84328),p=t(85065),h=t(63991),g=t(75148),w=t(17805),F=t(3823),I=t(90658),D=t(36515),E=t(24240),x=t(95330),N=t(41534),S=t(19238),b=t(1231),C=t(48522);async function A(e,n,t){const a=e.getVariables();if(a.length>0){const r=[];for(let e=0;e<a.length;e++){const i={name:a[e]};r.push(await n.evaluateIdentifier(t,i))}const i={};for(let e=0;e<a.length;e++)i[a[e]]=r[e];return e.parameters=i,e}return e}function T(e,n,t=null){for(const t in e)if(t.toLowerCase()===n.toLowerCase())return e[t];return t}function P(e){if(null===e)return null;const n={type:T(e,"type",""),name:T(e,"name","")};if("range"===n.type)n.range=T(e,"range",[]);else{n.codedValues=[];for(const t of T(e,"codedValues",[]))n.codedValues.push({name:T(t,"name",""),code:T(t,"code",null)})}return n}function $(e){if(null===e)return null;const n={},t=T(e,"wkt",null);null!==t&&(n.wkt=t);const a=T(e,"wkid",null);return null!==a&&(n.wkid=a),n}function H(e){if(null===e)return null;const n={hasZ:T(e,"hasz",!1),hasM:T(e,"hasm",!1)},t=T(e,"spatialreference",null);t&&(n.spatialReference=$(t));const a=T(e,"x",null);if(null!==a)return n.x=a,n.y=T(e,"y",null),n;const r=T(e,"rings",null);if(null!==r)return n.rings=r,n;const i=T(e,"paths",null);if(null!==i)return n.paths=i,n;const s=T(e,"points",null);if(null!==s)return n.points=s,n;for(const t of["xmin","xmax","ymin","ymax","zmin","zmax","mmin","mmax"]){const a=T(e,t,null);null!==a&&(n[t]=a)}return n}function v(e){"async"===e.mode&&(e.functions.timezone=function(n,t){return e.standardFunctionAsync(n,t,(async(e,r,l)=>{if((0,c.C)(l,1,2,n,t),(0,c.r)(l[0])){if(await l[0].load(),1===l.length||null===l[1])return l[0].dateTimeReferenceFieldIndex.layerDateFieldsTimeZone;if(!(l[1]instanceof i.Z)||!1===l[1].hasField("type"))throw new s.aV(n,s.rH.InvalidParameter,t);const e=l[1].field("type");if(!1===(0,c.c)(e))throw new s.aV(n,s.rH.InvalidParameter,t);switch((0,c.j)(e).toLowerCase()){case"preferredtimezone":return l[0].dateTimeReferenceFieldIndex.layerPreferredTimeZone;case"editfieldsinfo":return l[0].dateTimeReferenceFieldIndex.layerEditFieldsTimeZone;case"timeinfo":return l[0].dateTimeReferenceFieldIndex.layerTimeInfoTimeZone;case"field":if(l[1].hasField("fieldname")&&(0,c.c)(l[1].field("fieldname")))return l[0].dateTimeReferenceFieldIndex.fieldTimeZone((0,c.j)(l[1].field("fieldname")))}throw new s.aV(n,s.rH.InvalidParameter,t)}const o=(0,c.l)(l[0],(0,c.G)(n));if(null===o)return null;const u=o.timeZone;return"system"===u?a.iG.systemTimeZoneCanonicalName:u}))},e.functions.sqltimestamp=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{(0,c.C)(r,1,3,n,t);const i=r[0];if((0,c.k)(i)){if(1===r.length)return i.toSQLString();if(2===r.length)return i.changeTimeZone((0,c.j)(r[1])).toSQLString();throw new s.aV(n,s.rH.InvalidParameter,t)}if((0,c.r)(i)){if(3!==r.length)throw new s.aV(n,s.rH.InvalidParameter,t);await i.load();const e=(0,c.j)(r[1]);if(!1===(0,c.k)(r[2]))throw new s.aV(n,s.rH.InvalidParameter,t);const a=i.fieldTimeZone(e);return null===a?r[2].toSQLString():r[2].changeTimeZone(a).toSQLString()}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"sqltimestamp",min:2,max:4}),e.functions.featuresetbyid=function(n,t){return e.standardFunctionAsync(n,t,((e,a,r)=>{if((0,c.C)(r,2,4,n,t),r[0]instanceof o.Z){const e=(0,c.j)(r[1]);let a=(0,c.D)(r[2],null);const i=(0,c.h)((0,c.D)(r[3],!0));if(null===a&&(a=["*"]),!1===(0,c.m)(a))throw new s.aV(n,s.rH.InvalidParameter,t);return r[0].featureSetById(e,i,a)}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"featuresetbyid",min:2,max:4}),e.functions.getfeatureset=function(n,t){return e.standardFunctionAsync(n,t,((e,a,r)=>{if((0,c.C)(r,1,2,n,t),(0,c.p)(r[0])){let e=(0,c.D)(r[1],"datasource");return null===e&&(e="datasource"),e=(0,c.j)(e).toLowerCase(),(0,u.convertToFeatureSet)(r[0].fullSchema(),e,n.lrucache,n.interceptor,n.spatialReference)}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"getfeatureset",min:1,max:2}),e.functions.featuresetbyportalitem=function(n,t){return e.standardFunctionAsync(n,t,((e,a,i)=>{if((0,c.C)(i,2,5,n,t),null===i[0])throw new s.aV(n,s.rH.PortalRequired,t);if(i[0]instanceof r.Z){const e=(0,c.j)(i[1]),a=(0,c.j)(i[2]);let r=(0,c.D)(i[3],null);const l=(0,c.h)((0,c.D)(i[4],!0));if(null===r&&(r=["*"]),!1===(0,c.m)(r))throw new s.aV(n,s.rH.InvalidParameter,t);let o=null;return o=n.services&&n.services.portal?n.services.portal:C.Z.getDefault(),o=(0,d._)(i[0],o),(0,u.constructFeatureSetFromPortalItem)(e,a,n.spatialReference,r,l,o,n.lrucache,n.interceptor)}if(!1===(0,c.c)(i[0]))throw new s.aV(n,s.rH.PortalRequired,t);const l=(0,c.j)(i[0]),o=(0,c.j)(i[1]);let f=(0,c.D)(i[2],null);const m=(0,c.h)((0,c.D)(i[3],!0));if(null===f&&(f=["*"]),!1===(0,c.m)(f))throw new s.aV(n,s.rH.InvalidParameter,t);return(0,u.constructFeatureSetFromPortalItem)(l,o,n.spatialReference,f,m,n.services?.portal??C.Z.getDefault(),n.lrucache,n.interceptor)}))},e.signatures.push({name:"featuresetbyportalitem",min:2,max:5}),e.functions.featuresetbyname=function(n,t){return e.standardFunctionAsync(n,t,((e,a,r)=>{if((0,c.C)(r,2,4,n,t),r[0]instanceof o.Z){const e=(0,c.j)(r[1]);let a=(0,c.D)(r[2],null);const i=(0,c.h)((0,c.D)(r[3],!0));if(null===a&&(a=["*"]),!1===(0,c.m)(a))throw new s.aV(n,s.rH.InvalidParameter,t);return r[0].featureSetByName(e,i,a)}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"featuresetbyname",min:2,max:4}),e.functions.featureset=function(n,t){return e.standardFunction(n,t,((e,a,r)=>{(0,c.C)(r,1,1,n,t);let l=r[0];const o={layerDefinition:{geometryType:"",objectIdField:"",globalIdField:"",typeIdField:"",fields:[]},featureSet:{geometryType:"",features:[]}};if((0,c.c)(l))l=JSON.parse(l),void 0!==l.layerDefinition?(o.layerDefinition=l.layerDefinition,o.featureSet=l.featureSet,l.layerDefinition.spatialReference&&(o.layerDefinition.spatialReference=l.layerDefinition.spatialReference)):(o.featureSet.features=l.features,o.featureSet.geometryType=l.geometryType,o.layerDefinition.geometryType=o.featureSet.geometryType,o.layerDefinition.objectIdField=l.objectIdFieldName??"",o.layerDefinition.typeIdField=l.typeIdFieldName,o.layerDefinition.globalIdField=l.globalIdFieldName,o.layerDefinition.fields=l.fields,l.spatialReference&&(o.layerDefinition.spatialReference=l.spatialReference));else{if(!(r[0]instanceof i.Z))throw new s.aV(n,s.rH.InvalidParameter,t);{l=JSON.parse(r[0].castToText(!0));const e=T(l,"layerdefinition");if(null!==e){o.layerDefinition.geometryType=T(e,"geometrytype",""),o.featureSet.geometryType=o.layerDefinition.geometryType,o.layerDefinition.globalIdField=T(e,"globalidfield",""),o.layerDefinition.objectIdField=T(e,"objectidfield",""),o.layerDefinition.typeIdField=T(e,"typeidfield","");const n=T(e,"spatialreference",null);n&&(o.layerDefinition.spatialReference=$(n));for(const n of T(e,"fields",[])){const e={name:T(n,"name",""),alias:T(n,"alias",""),type:T(n,"type",""),nullable:T(n,"nullable",!0),editable:T(n,"editable",!0),length:T(n,"length",null),domain:P(T(n,"domain"))};o.layerDefinition.fields.push(e)}const t=T(l,"featureset",null);if(t){const e={};for(const n of o.layerDefinition.fields)e[n.name.toLowerCase()]=n.name;for(const n of T(t,"features",[])){const t={},a=T(n,"attributes",{});for(const n in a)t[e[n.toLowerCase()]]=a[n];o.featureSet.features.push({attributes:t,geometry:H(T(n,"geometry",null))})}}}else{o.layerDefinition.geometryType=T(l,"geometrytype",""),o.featureSet.geometryType=o.layerDefinition.geometryType,o.layerDefinition.objectIdField=T(l,"objectidfieldname",""),o.layerDefinition.typeIdField=T(l,"typeidfieldname","");const e=T(l,"spatialreference",null);e&&(o.layerDefinition.spatialReference=$(e));let n=T(l,"fields",null);if((0,c.m)(n))for(const e of n){const n={name:T(e,"name",""),alias:T(e,"alias",""),type:T(e,"type",""),nullable:T(e,"nullable",!0),editable:T(e,"editable",!0),length:T(e,"length",null),domain:P(T(e,"domain"))};o.layerDefinition.fields.push(n)}else n=null,o.layerDefinition.fields=n;const t={};for(const e of o.layerDefinition.fields)t[e.name.toLowerCase()]=e.name;let a=T(l,"features",null);if((0,c.m)(a))for(const e of a){const n={},a=T(e,"attributes",{});for(const e in a)n[t[e.toLowerCase()]]=a[e];o.featureSet.features.push({attributes:n,geometry:H(T(e,"geometry",null))})}else a=null,o.featureSet.features=a}}}if(!1===function(e){return!!e.layerDefinition&&!!e.featureSet&&!1!==function(e,n){for(const n of["",null,"esriGeometryNull","esriGeometryPoint","esriGeometryPolyline","esriGeometryPolygon","esriGeometryMultipoint","esriGeometryEnvelope"])if(n===e)return!0;return!1}(e.layerDefinition.geometryType)&&!1!==(0,c.m)(e.layerDefinition.fields)&&!1!==(0,c.m)(e.featureSet.features)}(o))throw new s.aV(n,s.rH.InvalidParameter,t);return""===(o?.layerDefinition?.geometryType||"")&&(o.layerDefinition.geometryType="esriGeometryNull"),w.Z.create(o,n.spatialReference)}))},e.signatures.push({name:"featureset",min:1,max:1}),e.functions.filter=function(n,t){return e.standardFunctionAsync(n,t,(async(a,r,i)=>{if((0,c.C)(i,2,2,n,t),(0,c.m)(i[0])||(0,c.o)(i[0])){const e=[];let a=i[0];a instanceof f.Z&&(a=a.toArray());let r=null;if(!(0,c.i)(i[1]))throw new s.aV(n,s.rH.InvalidParameter,t);r=i[1].createFunction(n);for(const n of a){const t=r(n);(0,x.y8)(t)?!0===await t&&e.push(n):!0===t&&e.push(n)}return e}if((0,c.r)(i[0])){const t=await i[0].load(),a=N.WhereClause.create(i[1],t.getFieldsIndex()),r=a.getVariables();if(r.length>0){const t=[];for(let a=0;a<r.length;a++){const i={name:r[a]};t.push(await e.evaluateIdentifier(n,i))}const s={};for(let e=0;e<r.length;e++)s[r[e]]=t[e];return a.parameters=s,new y.Z({parentfeatureset:i[0],whereclause:a})}return new y.Z({parentfeatureset:i[0],whereclause:a})}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"filter",min:2,max:2}),e.functions.orderby=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{if((0,c.C)(r,2,2,n,t),(0,c.r)(r[0])){const e=new F.Z(r[1]);return new p.Z({parentfeatureset:r[0],orderbyclause:e})}throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"orderby",min:2,max:2}),e.functions.top=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{if((0,c.C)(r,2,2,n,t),(0,c.r)(r[0]))return new h.Z({parentfeatureset:r[0],topnum:r[1]});if((0,c.m)(r[0]))return(0,c.g)(r[1])>=r[0].length?r[0].slice(0):r[0].slice(0,(0,c.g)(r[1]));if((0,c.o)(r[0]))return(0,c.g)(r[1])>=r[0].length()?r[0].slice(0):r[0].slice(0,(0,c.g)(r[1]));throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"top",min:2,max:2}),e.functions.first=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{if((0,c.C)(r,1,1,n,t),(0,c.r)(r[0])){const t=await r[0].first(e.abortSignal);if(null!==t){const e=l.Z.createFromGraphicLikeObject(t.geometry,t.attributes,r[0],n.timeReference);return e._underlyingGraphic=t,e}return t}return(0,c.m)(r[0])?0===r[0].length?null:r[0][0]:(0,c.o)(r[0])?0===r[0].length()?null:r[0].get(0):null}))},e.signatures.push({name:"first",min:1,max:1}),e.functions.attachments=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{(0,c.C)(r,1,2,n,t);const l={minsize:-1,maxsize:-1,types:null,returnMetadata:!1};if(r.length>1)if(r[1]instanceof i.Z){if(r[1].hasField("minsize")&&(l.minsize=(0,c.g)(r[1].field("minsize"))),r[1].hasField("metadata")&&(l.returnMetadata=(0,c.h)(r[1].field("metadata"))),r[1].hasField("maxsize")&&(l.maxsize=(0,c.g)(r[1].field("maxsize"))),r[1].hasField("types")){const e=(0,c._)(r[1].field("types"),!1);e.length>0&&(l.types=e)}}else if(null!==r[1])throw new s.aV(n,s.rH.InvalidParameter,t);if((0,c.p)(r[0])){let e=r[0]._layer;return e instanceof S.default&&(e=(0,u.constructFeatureSet)(e,n.spatialReference,["*"],!0,n.lrucache,n.interceptor)),null===e||!1===(0,c.r)(e)?[]:(await e.load(),e.queryAttachments(r[0].field(e.objectIdField),l.minsize,l.maxsize,l.types,l.returnMetadata))}if(null===r[0])return[];throw new s.aV(n,s.rH.InvalidParameter,t)}))},e.signatures.push({name:"attachments",min:1,max:2}),e.functions.featuresetbyrelationshipname=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{(0,c.C)(r,2,4,n,t);const i=r[0],l=(0,c.j)(r[1]);let o=(0,c.D)(r[2],null);const f=(0,c.h)((0,c.D)(r[3],!0));if(null===o&&(o=["*"]),!1===(0,c.m)(o))throw new s.aV(n,s.rH.InvalidParameter,t);if(null===r[0])return null;if(!(0,c.p)(r[0]))throw new s.aV(n,s.rH.InvalidParameter,t);let d=i._layer;if(d instanceof S.default&&(d=(0,u.constructFeatureSet)(d,n.spatialReference,["*"],!0,n.lrucache,n.interceptor)),null===d)return null;if(!1===(0,c.r)(d))return null;d=await d.load();const m=d.relationshipMetaData().filter((e=>e.name===l));if(0===m.length)return null;if(void 0!==m[0].relationshipTableId&&null!==m[0].relationshipTableId&&m[0].relationshipTableId>-1)return(0,u.constructFeatureSetFromRelationship)(d,m[0],i.field(d.objectIdField),d.spatialReference,o,f,n.lrucache,n.interceptor);let y=d.serviceUrl();if(!y)return null;y="/"===y.charAt(y.length-1)?y+m[0].relatedTableId.toString():y+"/"+m[0].relatedTableId.toString();const p=await(0,u.constructFeatureSetFromUrl)(y,d.spatialReference,o,f,n.lrucache,n.interceptor);await p.load();let h=p.relationshipMetaData();if(h=h.filter((e=>e.id===m[0].id)),!1===i.hasField(m[0].keyField)||null===i.field(m[0].keyField)){const e=await d.getFeatureByObjectId(i.field(d.objectIdField),[m[0].keyField]);if(e){const n=N.WhereClause.create(h[0].keyField+"= @id",p.getFieldsIndex());return n.parameters={id:e.attributes[m[0].keyField]},p.filter(n)}return new g.Z({parentfeatureset:p})}const w=N.WhereClause.create(h[0].keyField+"= @id",p.getFieldsIndex());return w.parameters={id:i.field(m[0].keyField)},p.filter(w)}))},e.signatures.push({name:"featuresetbyrelationshipname",min:2,max:4}),e.functions.featuresetbyassociation=function(n,t){return e.standardFunctionAsync(n,t,(async(e,a,r)=>{(0,c.C)(r,2,3,n,t);const i=r[0],l=(0,c.j)((0,c.D)(r[1],"")).toLowerCase(),o=(0,c.c)(r[2])?(0,c.j)(r[2]):null;if(null===r[0])return null;if(!(0,c.p)(r[0]))throw new s.aV(n,s.rH.InvalidParameter,t);let f=i._layer;if(f instanceof S.default&&(f=(0,u.constructFeatureSet)(f,n.spatialReference,["*"],!0,n.lrucache,n.interceptor)),null===f)return null;if(!1===(0,c.r)(f))return null;await f.load();const d=f.serviceUrl(),y=await(0,u.constructAssociationMetaDataFeatureSetFromUrl)(d,n.spatialReference);let p=null,h=null,g=!1;if(null!==o&&""!==o&&void 0!==o){for(const e of y.terminals)e.terminalName===o&&(h=e.terminalId);null===h&&(g=!0)}const w=y.associations.getFieldsIndex(),F=w.get("TOGLOBALID").name,D=w.get("FROMGLOBALID").name,E=w.get("TOTERMINALID").name,x=w.get("FROMTERMINALID").name,C=w.get("FROMNETWORKSOURCEID").name,A=w.get("TONETWORKSOURCEID").name,T=w.get("ASSOCIATIONTYPE").name,P=w.get("ISCONTENTVISIBLE").name,$=w.get("OBJECTID").name;for(const e of f.fields)if("global-id"===e.type){p=i.field(e.name);break}let H=null,v=new m.yN(new b.Z({name:"percentalong",alias:"percentalong",type:"double"}),N.WhereClause.create("0",y.associations.getFieldsIndex())),L=new m.yN(new b.Z({name:"side",alias:"side",type:"string"}),N.WhereClause.create("''",y.associations.getFieldsIndex()));const V="globalid",R="globalId",Z={};for(const e in y.lkp)Z[e]=y.lkp[e].sourceId;const j=new m.TO(new b.Z({name:"classname",alias:"classname",type:"string"}),null,Z);let W="";switch(l){case"midspan":{W=`((${F}='${p}') OR ( ${D}='${p}')) AND (${T} IN (5))`,j.codefield=N.WhereClause.create(`CASE WHEN (${F}='${p}') THEN ${C} ELSE ${A} END`,y.associations.getFieldsIndex());const e=(0,I.JW)(m.Xx.findField(y.associations.fields,D));e.name=V,e.alias=V,H=new m.yN(e,N.WhereClause.create(`CASE WHEN (${D}='${p}') THEN ${F} ELSE ${D} END`,y.associations.getFieldsIndex())),v=y.unVersion>=4?new m.$X(m.Xx.findField(y.associations.fields,w.get("PERCENTALONG").name)):new m.yN(new b.Z({name:"percentalong",alias:"percentalong",type:"double"}),N.WhereClause.create("0",y.associations.getFieldsIndex()));break}case"junctionedge":{W=`((${F}='${p}') OR ( ${D}='${p}')) AND (${T} IN (4,6))`,j.codefield=N.WhereClause.create(`CASE WHEN (${F}='${p}') THEN ${C} ELSE ${A} END`,y.associations.getFieldsIndex());const e=(0,I.JW)(m.Xx.findField(y.associations.fields,D));e.name=V,e.alias=V,H=new m.yN(e,N.WhereClause.create(`CASE WHEN (${D}='${p}') THEN ${F} ELSE ${D} END`,y.associations.getFieldsIndex())),L=new m.yN(new b.Z({name:"side",alias:"side",type:"string"}),N.WhereClause.create(`CASE WHEN (${T}=4) THEN 'from' ELSE 'to' END`,y.associations.getFieldsIndex()));break}case"connected":{let e=`${F}='@T'`,n=`${D}='@T'`;null!==h&&(e+=` AND ${E}=@A`,n+=` AND ${x}=@A`),W="(("+e+") OR ("+n+"))",W=(0,c.P)(W,"@T",p??""),e=(0,c.P)(e,"@T",p??""),null!==h&&(e=(0,c.P)(e,"@A",h.toString()),W=(0,c.P)(W,"@A",h.toString())),j.codefield=N.WhereClause.create("CASE WHEN "+e+` THEN ${C} ELSE ${A} END`,y.associations.getFieldsIndex());const t=(0,I.JW)(m.Xx.findField(y.associations.fields,D));t.name=V,t.alias=V,H=new m.yN(t,N.WhereClause.create("CASE WHEN "+e+` THEN ${D} ELSE ${F} END`,y.associations.getFieldsIndex()));break}case"container":W=`${F}='${p}' AND ${T} = 2`,null!==h&&(W+=` AND ${E} = `+h.toString()),j.codefield=C,W="( "+W+" )",H=new m.QP(m.Xx.findField(y.associations.fields,D),V,V);break;case"content":W=`(${D}='${p}' AND ${T} = 2)`,null!==h&&(W+=` AND ${x} = `+h.toString()),j.codefield=A,W="( "+W+" )",H=new m.QP(m.Xx.findField(y.associations.fields,F),V,V);break;case"structure":W=`(${F}='${p}' AND ${T} = 3)`,null!==h&&(W+=` AND ${E} = `+h.toString()),j.codefield=C,W="( "+W+" )",H=new m.QP(m.Xx.findField(y.associations.fields,D),V,R);break;case"attached":W=`(${D}='${p}' AND ${T} = 3)`,null!==h&&(W+=` AND ${x} = `+h.toString()),j.codefield=A,W="( "+W+" )",H=new m.QP(m.Xx.findField(y.associations.fields,F),V,R);break;default:throw new s.aV(n,s.rH.InvalidParameter,t)}return g&&(W="1 <> 1"),new m.Xx({parentfeatureset:y.associations,adaptedFields:[new m.$X(m.Xx.findField(y.associations.fields,$)),new m.$X(m.Xx.findField(y.associations.fields,P)),H,L,j,v],extraFilter:W?N.WhereClause.create(W,y.associations.getFieldsIndex()):null})}))},e.signatures.push({name:"featuresetbyassociation",min:2,max:6}),e.functions.groupby=function(n,t){return e.standardFunctionAsync(n,t,(async(a,r,l)=>{if((0,c.C)(l,3,3,n,t),!(0,c.r)(l[0]))throw new s.aV(n,s.rH.InvalidParameter,t);const o=await l[0].load(),u=[],f=[];let d=!1,m=[];if((0,c.c)(l[1]))m.push(l[1]);else if(l[1]instanceof i.Z)m.push(l[1]);else if((0,c.m)(l[1]))m=l[1];else{if(!(0,c.o)(l[1]))throw new s.aV(n,s.rH.InvalidParameter,t);m=l[1].toArray()}for(const e of m)if((0,c.c)(e)){const n=N.WhereClause.create((0,c.j)(e),o.getFieldsIndex()),t=!0===(0,D.y5)(n)?(0,c.j)(e):"%%%%FIELDNAME";u.push({name:t,expression:n}),"%%%%FIELDNAME"===t&&(d=!0)}else{if(!(e instanceof i.Z))throw new s.aV(n,s.rH.InvalidParameter,t);{const a=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",r=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===a&&(d=!0),!a)throw new s.aV(n,s.rH.InvalidParameter,t);u.push({name:a,expression:N.WhereClause.create(r||a,o.getFieldsIndex())})}}if(m=[],(0,c.c)(l[2]))m.push(l[2]);else if((0,c.m)(l[2]))m=l[2];else if((0,c.o)(l[2]))m=l[2].toArray();else{if(!(l[2]instanceof i.Z))throw new s.aV(n,s.rH.InvalidParameter,t);m.push(l[2])}for(const e of m){if(!(e instanceof i.Z))throw new s.aV(n,s.rH.InvalidParameter,t);{const a=e.hasField("name")?e.field("name"):"",r=e.hasField("statistic")?e.field("statistic"):"",i=e.hasField("expression")?e.field("expression"):"";if(!a||!r||!i)throw new s.aV(n,s.rH.InvalidParameter,t);f.push({name:a,statistic:r.toLowerCase(),expression:N.WhereClause.create(i,o.getFieldsIndex())})}}if(d){const e={};for(const n of o.fields)e[n.name.toLowerCase()]=1;for(const n of u)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);for(const n of f)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let n=0;for(const t of u)if("%%%%FIELDNAME"===t.name){for(;1===e["field_"+n.toString()];)n++;e["field_"+n.toString()]=1,t.name="FIELD_"+n.toString()}}for(const t of u)await A(t.expression,e,n);for(const t of f)await A(t.expression,e,n);return l[0].groupby(u,f)}))},e.signatures.push({name:"groupby",min:3,max:3}),e.functions.distinct=function(n,t){return e.standardFunctionAsync(n,t,(async(a,r,l)=>{if((0,c.r)(l[0])){(0,c.C)(l,2,2,n,t);const a=await l[0].load(),r=[];let o=[];if((0,c.c)(l[1]))o.push(l[1]);else if(l[1]instanceof i.Z)o.push(l[1]);else if((0,c.m)(l[1]))o=l[1];else{if(!(0,c.o)(l[1]))throw new s.aV(n,s.rH.InvalidParameter,t);o=l[1].toArray()}let u=!1;for(const e of o)if((0,c.c)(e)){const n=N.WhereClause.create((0,c.j)(e),a.getFieldsIndex()),t=!0===(0,D.y5)(n)?(0,c.j)(e):"%%%%FIELDNAME";r.push({name:t,expression:n}),"%%%%FIELDNAME"===t&&(u=!0)}else{if(!(e instanceof i.Z))throw new s.aV(n,s.rH.InvalidParameter,t);{const i=e.hasField("name")?e.field("name"):"%%%%FIELDNAME",l=e.hasField("expression")?e.field("expression"):"";if("%%%%FIELDNAME"===i&&(u=!0),!i)throw new s.aV(n,s.rH.InvalidParameter,t);r.push({name:i,expression:N.WhereClause.create(l||i,a.getFieldsIndex())})}}if(u){const e={};for(const n of a.fields)e[n.name.toLowerCase()]=1;for(const n of r)"%%%%FIELDNAME"!==n.name&&(e[n.name.toLowerCase()]=1);let n=0;for(const t of r)if("%%%%FIELDNAME"===t.name){for(;1===e["field_"+n.toString()];)n++;e["field_"+n.toString()]=1,t.name="FIELD_"+n.toString()}}for(const t of r)await A(t.expression,e,n);return l[0].groupby(r,[])}return function(e,n,t,a){if(1===a.length){if((0,c.m)(a[0]))return(0,E.t)(e,a[0],-1);if((0,c.o)(a[0]))return(0,E.t)(e,a[0].toArray(),-1)}return(0,E.t)(e,a,-1)}("distinct",0,0,l)}))})}},26520:(e,n,t)=>{t.d(n,{_:()=>s,q:()=>l});var a=t(40330),r=t(3172),i=t(48522);function s(e,n){return null===e?n:new i.Z({url:e.field("url")})}async function l(e,n,t){const i=a.id?.findCredential(e.restUrl);if(!i)return null;if("loaded"===e.loadStatus&&""===n&&e.user&&e.user.sourceJSON&&!1===t)return e.user.sourceJSON;if(""===n){const n=await(0,r.default)(e.restUrl+"/community/self",{responseType:"json",query:{f:"json",...!1===t?{}:{returnUserLicenseTypeExtensions:!0}}});if(n.data){const e=n.data;if(e&&e.username)return e}return null}const s=await(0,r.default)(e.restUrl+"/community/users/"+n,{responseType:"json",query:{f:"json"}});if(s.data){const e=s.data;return e.error?null:e}return null}}}]);
|