@arcgis/core 4.32.0-next.20241114 → 4.32.0-next.20241116
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/WebLinkChart.d.ts +2 -2
- package/WebLinkChart.js +1 -1
- package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +4 -0
- package/applications/KnowledgeStudio/generalSharedKgUtils.js +5 -0
- package/applications/KnowledgeStudio/layerInternalAccessUtils.d.ts +4 -0
- package/applications/KnowledgeStudio/layerInternalAccessUtils.js +5 -0
- package/applications/KnowledgeStudio/resourceSerializationUtils.d.ts +4 -0
- package/applications/KnowledgeStudio/resourceSerializationUtils.js +5 -0
- package/arcade/featureSetUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{e93f863337e1fedf1803.js → 12238b444292f9ffc91a.js} +1 -1
- package/assets/esri/core/workers/chunks/{b78589d316ad52341c64.js → 16529f37ed830df98255.js} +1 -1
- package/assets/esri/core/workers/chunks/1a74f18246fe4b9da854.js +1 -0
- package/assets/esri/core/workers/chunks/{5a39a370a29fc2fb15bf.js → 22b19f090b4d3c271d8e.js} +5 -5
- package/assets/esri/core/workers/chunks/2946aad6e01da0c96d7b.js +1 -0
- package/assets/esri/core/workers/chunks/3373e90831494ce3752c.js +1 -0
- package/assets/esri/core/workers/chunks/3ab65304541b8232b408.js +1 -0
- package/assets/esri/core/workers/chunks/{81f621dfeb4e5c50bf09.js → 43922f303a2f2c89069f.js} +1 -1
- package/assets/esri/core/workers/chunks/4e0c9b4df505c2fd95e9.js +1 -0
- package/assets/esri/core/workers/chunks/608fd132daa79e661afb.js +1 -0
- package/assets/esri/core/workers/chunks/{99b8586c725ebf4a9aa6.js → 62d1e3bf4db8321e421e.js} +1 -1
- package/assets/esri/core/workers/chunks/70b0bdc943c657c1ac17.js +1 -0
- package/assets/esri/core/workers/chunks/762567124623f6d11e67.js +1 -0
- package/assets/esri/core/workers/chunks/76a8c42066de07fa092f.js +1 -0
- package/assets/esri/core/workers/chunks/{02569bc18b44e1d770f8.js → 7b69cc7383f544617fce.js} +1 -1
- package/assets/esri/core/workers/chunks/807c806bc863d5453f0c.js +1 -0
- package/assets/esri/core/workers/chunks/{7412655d0552ef9a13eb.js → 82c11ebe1af111aceb31.js} +1 -1
- package/assets/esri/core/workers/chunks/840e82bd34f043a74dd3.js +1 -0
- package/assets/esri/core/workers/chunks/87eb7a789063b208ac76.js +1 -0
- package/assets/esri/core/workers/chunks/969d6d1d885483da703b.js +1 -0
- package/assets/esri/core/workers/chunks/97063dd4b36d2d69d18d.js +1 -0
- package/assets/esri/core/workers/chunks/9980467d7bcfb55879b3.js +1 -0
- package/assets/esri/core/workers/chunks/a118e2aa1dd24982ea23.js +1 -0
- package/assets/esri/core/workers/chunks/a165eec3603591b63272.js +1 -0
- package/assets/esri/core/workers/chunks/{2946ac049400958d5f9b.js → a3ca621d94e035236304.js} +1 -1
- package/assets/esri/core/workers/chunks/af7fc0a4272c71994a84.js +1 -0
- package/assets/esri/core/workers/chunks/b764f4acd40de58f9708.js +1 -0
- package/assets/esri/core/workers/chunks/c1315c5610326a98811b.js +1 -0
- package/assets/esri/core/workers/chunks/c601a4c1dca8690c8617.js +1 -0
- package/assets/esri/core/workers/chunks/ca203af1475fb4573b68.js +1 -0
- package/assets/esri/core/workers/chunks/{d2eb973756817425751a.js → ca7ec95779a165ce5d8a.js} +1 -1
- package/assets/esri/core/workers/chunks/d0093ec96d21ee7fcb27.js +1 -0
- package/assets/esri/core/workers/chunks/{f4747538a1e42cc08ccb.js → d7113c54736637315c9c.js} +1 -1
- package/assets/esri/core/workers/chunks/d80e8edb62a7a2163031.js +1 -0
- package/assets/esri/core/workers/chunks/e3bf96af6e6f95566a09.js +1 -0
- package/assets/esri/core/workers/chunks/ebca9217355dbb03af3c.js +1 -0
- package/assets/esri/core/workers/chunks/ef398394d17581bc7d60.js +1 -0
- package/assets/esri/core/workers/chunks/f717ca7c2581c31de7a6.js +1 -0
- package/assets/esri/core/workers/chunks/fd463eace6b31d0f52e4.js +1 -0
- package/assets/esri/geometry/support/pe-wasm.wasm +0 -0
- package/assets/esri/themes/base/widgets/_ElevationProfile.scss +14 -13
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/CheckerBoard.glsl.js +3 -3
- package/chunks/ColorMaterial.glsl.js +6 -6
- package/chunks/ComponentShader.glsl.js +24 -24
- package/chunks/DefaultMaterial.glsl.js +3 -3
- package/chunks/EdgeShader.glsl.js +1 -1
- package/chunks/ImageMaterial.glsl.js +6 -6
- package/chunks/LineMarker.glsl.js +32 -32
- package/chunks/OITBlend.glsl.js +15 -8
- package/chunks/Path.glsl.js +13 -13
- package/chunks/Pattern.glsl.js +3 -3
- package/chunks/RealisticTree.glsl.js +3 -3
- package/chunks/RibbonLine.glsl.js +2 -2
- package/chunks/ShadedColorMaterial.glsl.js +9 -9
- package/chunks/Viewshed.glsl.js +2 -1
- package/chunks/WaterSurface.glsl.js +1 -1
- package/chunks/pe-wasm.js +1 -1
- package/core/uuid.js +1 -1
- package/geometry/support/WKIDUnitConversion.js +1 -1
- package/geometry/support/spatialReferenceUtils.js +1 -1
- package/interfaces.d.ts +997 -157
- package/layers/FeatureLayer.js +1 -1
- package/layers/KnowledgeGraphLayer.js +1 -1
- package/layers/LinkChartLayer.js +1 -1
- package/layers/MediaLayer.js +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
- package/layers/knowledgeGraph/cypherUtils.d.ts +4 -0
- package/layers/knowledgeGraph/cypherUtils.js +1 -1
- package/layers/knowledgeGraph/supportUtils.d.ts +4 -0
- package/layers/knowledgeGraph/supportUtils.js +1 -1
- package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/libs/linkchartlayout/LinkChartLayout.js +1 -1
- package/linkChart/ChronologicalLayoutSettings.d.ts +4 -0
- package/linkChart/LayoutSettings.d.ts +4 -0
- package/linkChart/LinkChartProperties.d.ts +4 -0
- package/linkChart/LinkChartProperties.js +1 -1
- package/linkChart/NonspatialDataDisplay.d.ts +4 -0
- package/linkChart/OrganicLayoutSettings.d.ts +4 -0
- package/package.json +1 -1
- package/rest/knowledgeGraph/GraphQueryResultHeader.d.ts +4 -0
- package/rest/knowledgeGraph/SourceTypeValueBehavior.d.ts +4 -0
- package/smartMapping/raster/renderers/classBreaks.js +1 -1
- package/smartMapping/raster/support/utils.d.ts +2 -2
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/predominance.js +1 -1
- package/smartMapping/renderers/relationship.js +1 -1
- package/smartMapping/renderers/size.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.js +1 -1
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/renderers/univariateColorSize.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/animationUtils.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/processor/FeatureUpdateStrategy.js +1 -1
- package/views/2d/layers/features/support/AttributeStore.js +1 -1
- package/views/2d/layers/features/support/DisplayIdGenerator.js +1 -1
- package/views/3d/layers/i3s/featureEditing.js +1 -1
- package/views/3d/state/ViewStateManager.js +1 -1
- package/views/3d/support/cameraUtils.js +1 -1
- package/views/3d/support/viewpointUtils.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDOcclusionPass.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceReflections.glsl.js +11 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/TerrainDepthTest.glsl.js +4 -4
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +5 -0
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
- package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
- package/views/webgl/TextureDescriptor.js +1 -1
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/ElevationProfile/components/SettingsButton.js +1 -1
- package/widgets/ElevationProfile/support/chartUtils.js +1 -1
- package/widgets/ElevationProfile/support/constants.js +1 -1
- package/widgets/ElevationProfile.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/LayerList.js +1 -1
- package/widgets/Locate.js +1 -1
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/TableList.js +1 -1
- package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
- package/widgets/support/GridControls.js +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/assets/esri/core/workers/chunks/01caa27a799d6e778569.js +0 -1
- package/assets/esri/core/workers/chunks/0a85f7d5ee317e3ebc96.js +0 -1
- package/assets/esri/core/workers/chunks/0e292550c6e214dd160b.js +0 -1
- package/assets/esri/core/workers/chunks/102d34831eb02d9d7f9b.js +0 -1
- package/assets/esri/core/workers/chunks/115d2364f15685ed82bd.js +0 -1
- package/assets/esri/core/workers/chunks/1748409cdabdfbfa1175.js +0 -1
- package/assets/esri/core/workers/chunks/1c958d0379b5bbc365b0.js +0 -1
- package/assets/esri/core/workers/chunks/2c0ba70971956f4e5747.js +0 -1
- package/assets/esri/core/workers/chunks/2e5959f6f9b1b4189488.js +0 -1
- package/assets/esri/core/workers/chunks/2f0497c4a6330224615b.js +0 -1
- package/assets/esri/core/workers/chunks/307088484fa25e9e3b10.js +0 -1
- package/assets/esri/core/workers/chunks/356d126d55d8f3bc35e1.js +0 -1
- package/assets/esri/core/workers/chunks/3a875f82159c77355b28.js +0 -1
- package/assets/esri/core/workers/chunks/41731dd40de3e01eb587.js +0 -1
- package/assets/esri/core/workers/chunks/4f4698f16ba83901c878.js +0 -1
- package/assets/esri/core/workers/chunks/58aca25f67096846bf87.js +0 -1
- package/assets/esri/core/workers/chunks/6586b466def89894e0d2.js +0 -1
- package/assets/esri/core/workers/chunks/69505d1ac8a1fc23b791.js +0 -1
- package/assets/esri/core/workers/chunks/73c38971d3501285d48b.js +0 -1
- package/assets/esri/core/workers/chunks/80376cecdcf248b404c8.js +0 -1
- package/assets/esri/core/workers/chunks/8de59c0066341bab51c5.js +0 -1
- package/assets/esri/core/workers/chunks/8eb389007e028f1e48cc.js +0 -1
- package/assets/esri/core/workers/chunks/9cfaf1cbbb1d6453e939.js +0 -1
- package/assets/esri/core/workers/chunks/aed302b53cc6c623108a.js +0 -1
- package/assets/esri/core/workers/chunks/b6044b20fb38524a268f.js +0 -1
- package/assets/esri/core/workers/chunks/b741d9290e15606c8ef6.js +0 -1
- package/assets/esri/core/workers/chunks/ba2947221d3afe705a11.js +0 -1
- package/assets/esri/core/workers/chunks/bcf1ae5fc1edf1dbd253.js +0 -1
- package/assets/esri/core/workers/chunks/d0c90b0f9638f7091c40.js +0 -1
- package/assets/esri/core/workers/chunks/f1313389eeb7a2350db3.js +0 -1
- package/assets/esri/core/workers/chunks/fed7b9cc6e6f1435223c.js +0 -1
package/WebLinkChart.d.ts
CHANGED
package/WebLinkChart.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.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{_ as
|
|
5
|
+
import{_ as t}from"./chunks/tslib.es6.js";import r from"./WebDocument2D.js";import e from"./core/Error.js";import{property as a}from"./core/accessorSupport/decorators/property.js";import"./core/has.js";import"./core/Logger.js";import"./core/RandomLCG.js";import{subclass as i}from"./core/accessorSupport/decorators/subclass.js";import{libraryLayoutToWebSpecLayoutMap as n,convertLayoutSettingsAPIFormatToInMemoryFormat as o,convertLayoutTypeToJSONFormat as s}from"./layers/knowledgeGraph/supportUtils.js";import h from"./linkChart/ChronologicalLayoutSettings.js";import c from"./linkChart/LayoutSettings.js";import l from"./linkChart/LinkChartProperties.js";import p from"./linkChart/NonspatialDataDisplay.js";import y from"./webmap/InitialViewProperties.js";import{currentVersion as u}from"./webmap/utils.js";import{Version as L}from"./webmap/Version.js";var g;const k={currentVersion:u,createInitialViewProperties:()=>new y,parseVersion:L.parse,itemType:"Web Link Chart",name:"linkchart",origin:"link-chart"};let C=g=class extends r{constructor(t){super(t),this.mapType="webLinkChart",this.linkChartProperties=new l}get activeLinkChartLayer(){return this.layers.find((({type:t})=>"link-chart"===t))}get context(){return k}async applyLayout(t="RADIAL_TREE",r){return this.linkChartProperties.layoutType=n[t],r?.chronologicalLayoutSettings&&r?.organicLayoutSettings||!this.linkChartProperties.layoutSettings?this.linkChartProperties.layoutSettings=new c({organicLayoutSettings:o({organicLayoutSettings:r?.organicLayoutSettings}).organicLayoutSettings,chronologicalLayoutSettings:new h(r?.chronologicalLayoutSettings)}):this.linkChartProperties.layoutSettings=new c({organicLayoutSettings:r?.organicLayoutSettings?o({organicLayoutSettings:r?.organicLayoutSettings}).organicLayoutSettings:this.linkChartProperties.layoutSettings?.organicLayoutSettings,chronologicalLayoutSettings:r?.chronologicalLayoutSettings?new h(r?.chronologicalLayoutSettings):this.linkChartProperties.layoutSettings?.chronologicalLayoutSettings}),this.activeLinkChartLayer?.applyNewLinkChartLayout(t,r)}changeNonspatialDataDisplay(t){this.activeLinkChartLayer&&(this.linkChartProperties.nonspatialDataDisplay||(this.linkChartProperties.nonspatialDataDisplay=new p),this.linkChartProperties.nonspatialDataDisplay.mode=t)}async addRecords(t){return this.activeLinkChartLayer?.addRecords(t)}async removeRecords(t){this.activeLinkChartLayer?.removeRecords(t)}async expand(t,r){const e=await(this.activeLinkChartLayer?.expand(t,r));return e?.records??[]}async refreshLinkChartData(t){return this.activeLinkChartLayer?.refreshLinkChartCache(t)}async connectBetweenEntities(t){const r=await(this.activeLinkChartLayer?.connectBetweenEntities(t));return r?.records??[]}async connectFromEntities(t){const r=await(this.activeLinkChartLayer?.connectFromEntities(t));return r?.records??[]}getMemberIdsByType(t){return this.activeLinkChartLayer?Array.from(this.activeLinkChartLayer.dataManager.sublayerCaches.get(t)?.keys()??[]):[]}get diagramNodesExtent(){return this.activeLinkChartLayer?.linkChartExtent}get entityCount(){return this.activeLinkChartLayer?.entityLinkChartDiagramLookup.size??0}get relationshipCount(){return this.activeLinkChartLayer?.relationshipLinkChartDiagramLookup.size??0}get knowledgeGraph(){return this.activeLinkChartLayer?.knowledgeGraph}add(t){if(this.activeLinkChartLayer&&"type"in t&&"link-chart"===t.type)throw new e("linkchart:one-link-chart-layer","Web Link Charts can only have one Link Chart Layer, another cannot be added");if(super.add(t),"type"in t&&"link-chart"===t.type){const r=t.defaultLinkChartConfig?.layoutMode;r&&(this.linkChartProperties.layoutType=s(r));const e=t.defaultLinkChartConfig?.layoutOptions;e&&(this.linkChartProperties.layoutSettings=o(e))}}static fromJSON(t){if(t)return new g({resourceInfo:t});throw new e("linkchart:empty-resource","Expected a JSON resource but got nothing")}};t([a({readOnly:!0})],C.prototype,"activeLinkChartLayer",null),t([a({json:{write:!0}})],C.prototype,"mapType",void 0),t([a({type:l,nonNullable:!0,json:{write:!0}})],C.prototype,"linkChartProperties",void 0),t([a({readOnly:!0})],C.prototype,"diagramNodesExtent",null),t([a({readOnly:!0})],C.prototype,"entityCount",null),t([a({readOnly:!0})],C.prototype,"relationshipCount",null),t([a({readOnly:!0})],C.prototype,"knowledgeGraph",null),C=g=t([i("esri.WebLinkChart")],C);const m=C;export{m 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.32/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import n from"../../core/Error.js";function e(e){if(!e.spatialReference.isWGS84)throw new n("knowledge-graph:layer-support-utils","The extentToInBoundsRings function only supports WGS84 spatial references.");return e.clone().normalize().map((n=>[[n.xmin,n.ymin],[n.xmin,n.ymax],[n.xmax,n.ymax],[n.xmax,n.ymin],[n.xmin,n.ymin]]))}export{e as extentToInBoundsRings};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
function n(n){return n.dataManager.inclusionModeDefinition}function i(n){n.dataManager.inclusionModeDefinition=null}export{n as getInclusionDefinitionFromLayer,i as removeInclusionDefinitionFromLayer};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*
|
|
2
|
+
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
|
+
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
|
+
*/
|
|
5
|
+
import e from"../../request.js";import t from"../../core/Error.js";import{getOrCreateMapValue as r}from"../../core/MapUtils.js";import{convertFromGeometry as i}from"../../layers/graphics/featureConversionUtils.js";import n from"../../layers/graphics/OptimizedGeometry.js";import{ProtoOutboundRelationshipFeatureCollectionAttributionIndexes as s,ProtoInboundFeatureCollectionAttributionNames as a,ProtoOutboundEntityFeatureCollectionAttributionIndexes as o}from"../../rest/knowledgeGraph/ProtoFeatureCollection.js";import{getWasmInterface as l}from"../../rest/knowledgeGraph/wasmInterface/knowledgeWasmAccess.js";import{EsriFieldTypes as c}from"../../rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js";import{WasmQuantizeOriginPositionTypeCode as d,SqlTypeCode as u,IdArrayType as y}from"../../rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js";import{wasmToProtoFeatureCollection as f}from"../../rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js";async function p(e){const t=[],r={generateAllSublayers:!1,namedTypeDefinitions:new Map};return e.entitiesUrl&&t.push(E(e.entitiesUrl).then((e=>{I(e,r)}))),e.relationshipsUrl&&t.push(E(e.relationshipsUrl).then((e=>{I(e,r)}))),await Promise.all(t),r}async function m(e,t){t??=!1;const r={generateAllSublayers:t,namedTypeDefinitions:new Map};return await k(e).then((e=>{M(e,r)})),r}async function _(e,t,r){const i=await l(),n=new i.FeatureCollection,s=new i.FeatureCollection;try{T(n,i,e,"entities",t,r),T(s,i,e,"relationships",t,r);const a=new i.FeatureCollectionEncoder,o=new i.FeatureCollectionEncoder,l=C(n,a),c=structuredClone(l),d=C(s,o),u={entitiesFC:c,relationshipsFC:structuredClone(d)};return a.delete(),o.delete(),u}finally{n.delete(),s.delete()}}async function w(e,t,r){const i=await l(),n=new i.FeatureCollection;try{T(n,i,e,"entities",t,r);const s=new i.FeatureCollectionEncoder,a=C(n,s),o=structuredClone(a);return s.delete(),o}finally{n.delete()}}async function g(e,t,r){const i=await l(),n=new i.FeatureCollection;try{T(n,i,e,"relationships",t,r);const s=new i.FeatureCollectionEncoder,a=C(n,s),o=structuredClone(a);return s.delete(),o}finally{n.delete()}}async function h(e){const r=await l(),i=new r.MapOfObjectIdentifierSets;b(i,r,e);const n=new r.MapOfObjectIdentifierSetsEncoder;try{n.set_map_of_identifier_sets(i),n.encode();const e=n.get_encoding_result();if(0!==e.error.error_code)throw new t("knowledge-graph:layer-support-utils",e.error.error_message);const r=structuredClone(e.get_byte_buffer());return n.delete(),r}finally{i.delete()}}function T(e,t,r,n,a,l){e.version="";const y=new t.QueryResult,f=new t.FeatureResult,p="entities"===n?o:s;f.unique_id_field={name:p[p.ELEMENTUID],isSystemMaintained:!1},f.globalid_field_name=p[p.ELEMENTUID],f.geohash_field_name="",f.geometry_properties={shapeAreaFieldName:"",shapeLengthFieldName:"",units:""},f.spatial_reference={wkid:4326,latestWkid:4326,vcsWkid:0,latestVcsWkid:0,wkt:""},f.exceeded_transfer_limit=!1,f.has_z=!1,f.has_m=!1,f.transform={quantizeOriginPosition:{value:d.upperLeft},scale:{xScale:1e-9,yScale:1e-9,mScale:1e-4,zScale:1e-4},translate:{xTranslate:-400,yTranslate:-400,mTranslate:-1e5,zTranslate:-1e5}};for(const i of Object.keys(p).filter((e=>isNaN(Number(e))))){const e=new t.Field;if(e.name=i,e.alias=i,e.sql_type={value:u.sqlTypeBigInt},"entities"===n)switch(i){case p[p.ELEMENTUID]:case p[p.TYPENAME]:e.field_type={value:c.esriFieldTypeString}}else switch(i){case p[p.ELEMENTUID]:case p[p.TYPENAME]:case s[s.FROMUID]:case s[s.TOUID]:e.field_type={value:c.esriFieldTypeString}}e.domain="",f.add_field(e),e.delete()}const m=new Map;for(const i of a.dataModel.entityTypes)m.set(i.name,"entities");for(const i of a.dataModel.relationshipTypes)m.set(i.name,"relationships");for(const[o,c]of r.namedTypeDefinitions)if(n===m.get(o))for(const e of c.members.values()){const r=new t.Feature;for(const i of Object.keys(p).filter((e=>isNaN(Number(e)))))if("entities"===n)switch(i){case p[p.ELEMENTUID]:r.add_attribute(e.id,t.esriFieldType.esriFieldTypeString);break;case p[p.TYPENAME]:r.add_attribute(o,t.esriFieldType.esriFieldTypeString)}else switch(i){case p[p.ELEMENTUID]:r.add_attribute(e.id,t.esriFieldType.esriFieldTypeString);break;case s[s.FROMUID]:r.add_attribute(l.has(e.id)?l.get(e.id)[0]:"",t.esriFieldType.esriFieldTypeString);break;case s[s.TOUID]:r.add_attribute(l.has(e.id)?l.get(e.id)[1]:"",t.esriFieldType.esriFieldTypeString);break;case p[p.TYPENAME]:r.add_attribute(o,t.esriFieldType.esriFieldTypeString)}let a;if(e.linkChartLocation&&"x"in e.linkChartLocation?a=i(e.linkChartLocation):e.linkChartLocation&&(a=e.linkChartLocation),e.linkChartLocation&&a){const e=new t.FeatureCollectionGeometry;let i=!1;switch(n){case"entities":e.geometry_type=t.esriGeometryType.esriGeometryPoint,i=!0;break;case"relationships":e.geometry_type=t.esriGeometryType.esriGeometryPolyline}e.coords=new Float64Array(a.coords),e.lengths=new Uint32Array(i?[1]:a.lengths),r.set_compressed_geometry(e),e.delete()}f.add_feature(r),r.delete()}switch(n){case"entities":f.geometry_type=t.esriGeometryType.esriGeometryPoint;break;case"relationships":f.geometry_type=t.esriGeometryType.esriGeometryPolyline}return y.set_feature_result(f),e.set_query_result(y),f.delete(),y.delete(),e}function b(e,t,r){for(const[i,n]of r.namedTypeDefinitions){if(!n.members||n.useAllData)continue;const r=n.members.keys();let s=!1,a=!0;const o=new t.ObjectIdArray,l=new t.StringArray,c=new t.GlobalIdArray,d=new t.IdentifierArray,u=new t.ObjectIdentifierSet;for(const e of r)a&&(s=!isNaN(Number(e)),a=!1),s?o.add_objectid(Number(e)):(l.add_string(e),c.add_globalid(e)),d.add_identifier(e);u.set_oid_array(o),u.set_string_array(l),u.set_globalid_array(c),u.set_identifier_array(d),o.delete(),l.delete(),c.delete(),d.delete(),e.put_identifier_set(i,u),u.delete()}return e}async function E(t){const r=await e(t,{responseType:"array-buffer"});return F(await r.data)}async function F(e){const r=new((await l()).FeatureCollectionDecoder),i=r.decode(new Uint8Array(e));if(0!==i.error_code)throw new t("knowledge-graph:layer-support-utils",i.error_message);const n=r.get_feature_collection(),s=f(n);return r.delete(),s}async function k(t){const r=await e(t,{responseType:"array-buffer"}),i=await r.data;return A(new Uint8Array(i))}async function A(e){const r=new((await l()).MapOfObjectIdentifierSetsDecoder),i=r.decode(new Uint8Array(e)),n=new Map;if(0!==i.error_code)throw new t("knowledge-graph:layer-support-utils",i.error_message);const s=r.get_map_of_identifier_sets(),a=s.keys,o=a.size();for(let l=0;l<o;l++){const e=a.get(l),r=s.query_identifier_set(e),i=[];if(r.id_array_type.value===y.GLOBALID_ARRAY){const e=r.get_globalid_array(),t=e.count();for(let r=0;r<t;r++)i.push(e.get_globalid_at(r))}else if(r.id_array_type.value===y.IDENTIFIER_ARRAY){const e=r.get_identifier_array(),t=e.count();for(let r=0;r<t;r++)i.push(e.get_identifier_at(r).toString())}else if(r.id_array_type.value===y.STRING_ARRAY){const e=r.get_string_array(),t=e.count();for(let r=0;r<t;r++)i.push(e.get_string_at(r))}else{if(r.id_array_type.value!==y.OID_ARRAY)throw new t("knowledge-graph:layer-support-utils","Tried to encode an unexpected ID Array type.");{const e=r.get_oid_array(),t=e.count();for(let r=0;r<t;r++)i.push(e.get_objectid_at(r).toString())}}n.set(e,i)}return r.delete(),n}function I(e,t){if(!e?.queryResult?.featureResult)return t;const i=e.queryResult.featureResult.fieldNameToAttributeIndexMap;for(const s of e.queryResult.featureResult.features){const e=s.attributes[i[a.TYPENAME]],o=r(t.namedTypeDefinitions,e,(()=>({useAllData:!1,members:new Map}))),l=s.attributes[i[a.ELEMENTUID]];if(s.compressedGeometry?.coords?.length>0){let e=s.compressedGeometry.lengths;"esriGeometryPoint"===s.compressedGeometry.geometryType&&(e=[]),o.members.set(l,{id:l,linkChartLocation:new n(e,s.compressedGeometry.coords)})}else o.members.set(l,{id:l})}return t}function M(e,t){for(const[i,n]of e){const e=r(t.namedTypeDefinitions,i,(()=>({useAllData:!1,members:new Map})));for(const t of n)e.members.has(t)||e.members.set(t,{id:t})}return t}const C=(e,r)=>{r.set_feature_collection(e),r.encode();const i=r.get_encoding_result();if(0!==i.error.error_code)throw new t("knowledge-graph:layer-support-utils",i.error.error_message);return i.get_byte_buffer()},D={fetchAndConvertSerializedLinkChart:e=>p(e)};export{I as addFeatureCollectionToInclusionDefinition,M as addIdMapToInclusionDefinition,F as deserializeFeatureCollection,A as deserializeIdCollectionMap,m as fetchAndConvertSerializedKnowledgeIdMap,p as fetchAndConvertSerializedLinkChart,E as fetchAndDeserializeFeatureCollection,k as fetchAndDeserializeIdCollectionMap,D as serializationUtilsModuleWrapper,_ as serializeInclusionDefinitionToAllPbf,w as serializeInclusionDefinitionToEntitiesPbf,h as serializeInclusionDefinitionToIdCollectionsMapPbf,g as serializeInclusionDefinitionToRelationshipsPbf,T as setFeatureCollectionProperties};
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright ESRI, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/4.32/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../request.js";import t from"./featureSetCollection.js";import{r as a,Z as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import i from"./featureset/actions/GroupBy.js";import l from"./featureset/actions/OrderBy.js";import s from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import f from"./featureset/support/cache.js";import{FeatureSetError as p,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,extractServiceUrl as h,isSupportedLayer as w}from"./featureset/support/shared.js";import _ from"../core/Loadable.js";import{WhereClause as L}from"../core/sql/WhereClause.js";import I from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===f.applicationCache&&(f.applicationCache=new f)}async function F(e,t,a){if(f.applicationCache){const a=f.applicationCache.getLayerInfo(e);if(a){const r=await a;return new I({url:e,outFields:t,sourceJSON:r})}const n=new I({url:e,outFields:t}),i=(async()=>(await n.load(),n.sourceJSON))();if(f.applicationCache){f.applicationCache.setLayerInfo(e,i);try{return await i,n}catch(r){throw f.applicationCache.clearLayerInfo(e),r}}return await i,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new I({url:e,outFields:t,sourceJSON:a})}const i=new I({url:e,outFields:t}),l=(async()=>(await i.load(),i.sourceJSON))();a.setCachedLayerMetadata(e,l);try{return await l,i}catch(n){throw a.removeCachedLayerMetadata(e,l),n}}return new I({url:e,outFields:t})}async function N(e,t,a,r,n,i=null){return T(await F(e,["*"],n),t,a,r,n,i)}function T(e,t=null,a=null,r=!0,n=null,i=null){switch(e.type){case"catalog-footprint":return T(e.parent,t,a,r,n,i);case"subtype-sublayer":{const l=T(e.parent,t,a,r,n,i);return l.filter(L.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const l={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i};return!e.url&&e.source?new c(l):new u(l)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function A(t){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw f.applicationCache.clearLayerInfo(t),r}}return a}async function b(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new p(m.DataElementsNotFound)})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(r,n);try{return await n}catch(i){throw f.applicationCache.clearLayerInfo(r),i}}return n}async function k(t,a){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw f.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(i){throw a.removeCachedServiceMetadata(t,r),i}}return r}async function O(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await k(e,null);if(a.metadata=r,void 0!==r.controllerDatasetLayers?.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const i=await b(e,n);if(i){a.queryelem=i,a.queryelem?.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await A(e+"/"+n);if(void 0!==r.systemLayers?.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let i=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await i.load(),a.unVersion>=4&&(i=i.filter(L.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:i.getFieldsIndex(),timeZone:i.dateFieldsTimeZoneDefaultUTC})),await i.load()),{lkp:a.lkp,associations:i,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function E(e,t,a,r=null,n=null,i=!0,l=null,s=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,i,l,s);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:i,lrucache:l,interceptor:s})}n.registerAction(),i.registerAction(),l.registerAction(),s.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.title===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e={...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])l.name===e&&(i=l);if(!i)for(const l of n.tables??[])l.name===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(!i)for(const l of n.tables??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function v(e,t,a=null,r=null){return new j(e,t,a,r)}function R(e,t,a=null,r=null){return new D(e,t,a,r)}function M(e,t,n,i,l){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return T(a,l,a.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(a,l,a.outFields,!0,n,i)}return null}if(r(e)){switch(t){case"datasource":return T(e.parent,l,e.parent.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(e,l,e.parent.outFields,!0,n,i)}return null}return null}async function q(e,t,a,r,n,i,l,s=null){if(f.applicationCache){const o=f.applicationCache.getLayerInfo(e+":"+i.url);if(o)return G(await o,t,a,r,n,l,s)}if(null!=l){const o=l.getCachedPortalItem(i.url,e);if(null!=o)return await G(await o,t,a,r,n,l,s)}const o=new C({id:e,portal:i}).load();f.applicationCache?f.applicationCache.setLayerInfo(e+":"+i.url,o):null!=l&&l.setCachedPortalItem(i.url,e,o);try{return await G(await o,t,a,r,n,l,s)}catch(u){throw f.applicationCache&&f.applicationCache.clearLayerInfo(e+":"+i.url),null!=l&&l.removeCachedPortalItem(i.url,e,o),u}}async function G(e,t,a,r,n,i,l){let s;if("Feature Service"===e.type)s=await F(h(e.url??"")+"/"+t,["*"],i);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=i){const t=i.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)s=await t;else{const t=S.fromPortalItem(e);i.setCachedPortalItemLayer(e.portal.url,e.id,t);try{s=await t}catch(o){throw i.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else s=await S.fromPortalItem(e)}return T(s,a,r,n,i,l)}export{O as constructAssociationMetaDataFeatureSetFromUrl,T as constructFeatureSet,q as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,M as convertToFeatureSet,v as createFeatureSetCollectionFromMap,R as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
|
|
5
|
+
import e from"../request.js";import t from"./featureSetCollection.js";import{r as a,Z as r}from"../chunks/languageUtils.js";import n from"./featureset/actions/AttributeFilter.js";import i from"./featureset/actions/GroupBy.js";import l from"./featureset/actions/OrderBy.js";import s from"./featureset/actions/SpatialFilter.js";import o from"./featureset/actions/Top.js";import u from"./featureset/sources/FeatureLayerDynamic.js";import c from"./featureset/sources/FeatureLayerMemory.js";import d from"./featureset/sources/FeatureLayerRelated.js";import f from"./featureset/support/cache.js";import{FeatureSetError as p,FeatureSetErrorCodes as m}from"./featureset/support/errorsupport.js";import{isSupportedSourceLayer as y,extractServiceUrl as h,isSupportedLayer as w}from"./featureset/support/shared.js";import _ from"../core/Loadable.js";import{WhereClause as L}from"../core/sql/WhereClause.js";import I from"../layers/FeatureLayer.js";import S from"../layers/Layer.js";import C from"../portal/PortalItem.js";function g(){null===f.applicationCache&&(f.applicationCache=new f)}async function F(e,t,a){if(f.applicationCache){const a=f.applicationCache.getLayerInfo(e);if(a){const r=await a;return new I({url:e,outFields:t,sourceJSON:r})}const n=new I({url:e,outFields:t}),i=(async()=>(await n.load(),n.sourceJSON))();if(f.applicationCache){f.applicationCache.setLayerInfo(e,i);try{return await i,n}catch(r){throw f.applicationCache.clearLayerInfo(e),r}}return await i,n}if(null!=a){const r=a.getCachedLayerMetadata(e);if(r){const a=await r;return new I({url:e,outFields:t,sourceJSON:a})}const i=new I({url:e,outFields:t}),l=(async()=>(await i.load(),i.sourceJSON))();a.setCachedLayerMetadata(e,l);try{return await l,i}catch(n){throw a.removeCachedLayerMetadata(e,l),n}}return new I({url:e,outFields:t})}async function N(e,t,a,r,n,i=null){return T(await F(e,["*"],n),t,a,r,n,i)}function T(e,t=null,a=null,r=!0,n=null,i=null){switch(e.type){case"catalog-footprint":return T(e.parent,t,a,r,n,i);case"subtype-sublayer":{const l=T(e.parent,t,a,r,n,i);return l.filter(L.create(e.parent.subtypeField+"="+e.subtypeCode.toString(),{fieldsIndex:e.parent.fieldsIndex,timeZone:l.dateFieldsTimeZoneDefaultUTC}))}case"csv":case"geojson":case"wfs":return new c({layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i});case"catalog":case"feature":case"oriented-imagery":case"subtype-group":{const l={layer:e,spatialReference:t,outFields:a,includeGeometry:r,lrucache:n,interceptor:i};return!e.url&&e.source?new c(l):new u(l)}default:throw new Error(`Unsupported layer type: ${e.type}`)}}async function A(t){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}const a=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});return a.data?a.data:null})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,a);try{return await a}catch(r){throw f.applicationCache.clearLayerInfo(t),r}}return a}async function b(t,a){const r="QUERYDATAELEMTS:"+a.toString()+":"+t;if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(r);if(null!==e)return e}const n=(async()=>{const r=await e(t+"/queryDataElements",{method:"post",responseType:"json",query:{layers:JSON.stringify([a.toString()]),f:"json"}});if(r.data){const e=r.data;if(e.layerDataElements?.[0])return e.layerDataElements[0]}throw new p(m.DataElementsNotFound)})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(r,n);try{return await n}catch(i){throw f.applicationCache.clearLayerInfo(r),i}}return n}async function k(t,a){if(null!==f.applicationCache){const e=f.applicationCache.getLayerInfo(t);if(null!==e)return e}if(null!=a){const e=a.getCachedServiceMetadata(t);if(null!=e)return e}const r=(async()=>{const a=await e(t,{responseType:"json",query:{f:"json"}});if(a.data){const e=a.data;return e.layers||(e.layers=[]),e.tables||(e.tables=[]),e}return{layers:[],tables:[]}})();if(null!==f.applicationCache){f.applicationCache.setLayerInfo(t,r);try{return await r}catch(n){throw f.applicationCache.clearLayerInfo(t),n}}if(null!=a){a.setCachedServiceMetadata(t,r);try{return await r}catch(i){throw a.removeCachedServiceMetadata(t,r),i}}return r}async function O(e,t){const a={metadata:null,networkId:-1,unVersion:3,terminals:[],queryelem:null,layerNameLkp:{},lkp:null},r=await k(e,null);if(a.metadata=r,void 0!==r.controllerDatasetLayers?.utilityNetworkLayerId&&null!==r.controllerDatasetLayers.utilityNetworkLayerId){if(r.layers)for(const e of r.layers)a.layerNameLkp[e.id]=e.name;if(r.tables)for(const e of r.tables)a.layerNameLkp[e.id]=e.name;const n=r.controllerDatasetLayers.utilityNetworkLayerId;a.networkId=n;const i=await b(e,n);if(i){a.queryelem=i,a.queryelem?.dataElement&&void 0!==a.queryelem.dataElement.schemaGeneration&&(a.unVersion=a.queryelem.dataElement.schemaGeneration),a.lkp={},a.queryelem.dataElement.domainNetworks||(a.queryelem.dataElement.domainNetworks=[]);for(const e of a.queryelem.dataElement.domainNetworks){for(const t of e.edgeSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}for(const t of e.junctionSources??[]){const e={layerId:t.layerId,sourceId:t.sourceId,className:a.layerNameLkp[t.layerId]??null};e.className&&(a.lkp[e.className]=e)}}if(a.queryelem.dataElement.terminalConfigurations)for(const e of a.queryelem.dataElement.terminalConfigurations)for(const t of e.terminals)a.terminals.push({terminalId:t.terminalId,terminalName:t.terminalName});const r=await A(e+"/"+n);if(void 0!==r.systemLayers?.associationsTableId&&null!==r.systemLayers.associationsTableId){const n=[];a.unVersion>=4&&(n.push("STATUS"),n.push("PERCENTALONG"));let i=await N(e+"/"+r.systemLayers.associationsTableId.toString(),t,["OBJECTID","FROMNETWORKSOURCEID","TONETWORKSOURCEID","FROMGLOBALID","TOGLOBALID","TOTERMINALID","FROMTERMINALID","ASSOCIATIONTYPE","ISCONTENTVISIBLE","GLOBALID",...n],!1,null,null);return await i.load(),a.unVersion>=4&&(i=i.filter(L.create("STATUS NOT IN (1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 25, 26, 27, 28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, 41, 42, 43, 44, 45, 46, 47, 49, 50, 51, 52, 53, 54, 55, 57, 58, 59, 60, 61, 62, 63)",{fieldsIndex:i.getFieldsIndex(),timeZone:i.dateFieldsTimeZoneDefaultUTC})),await i.load()),{lkp:a.lkp,associations:i,unVersion:a.unVersion,terminals:a.terminals}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}return{associations:null,unVersion:a.unVersion,lkp:null,terminals:[]}}async function E(e,t,a,r=null,n=null,i=!0,l=null,s=null){let o=e.serviceUrl();if(!o)return null;o="/"===o.charAt(o.length-1)?o+t.relatedTableId.toString():o+"/"+t.relatedTableId.toString();const u=await N(o,r,n,i,l,s);return new d({layer:e,relatedLayer:u,relationship:t,objectId:a,spatialReference:r,outFields:n,includeGeometry:i,lrucache:l,interceptor:s})}n.registerAction(),i.registerAction(),l.registerAction(),s.registerAction(),o.registerAction();class j extends t{constructor(e,t=null,a=null,r=null){super(),this._map=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this._instantLayers=[]}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache,this._interceptor);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async featureSetByName(e,t=!0,a=null){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetByName(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.title===e));if(null!=n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.title===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e=r.outFields?r:{...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}async featureSetById(e,t=!0,a=["*"]){if(_.isLoadable(this._map)&&!this._map.loaded)return await this._map.load(),this.featureSetById(e,t,a);null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let i=0;i<this._instantLayers.length;i++){const a=this._instantLayers[i];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[i].featureset}const n=this._map.allLayers.find((t=>w(t)&&t.id===e));if(n)return this._makeAndAddFeatureSet(n,t,a);if(this._map.tables){const r=this._map.tables.find((t=>t.id===e));if(null!=r){if(r instanceof I)return this._makeAndAddFeatureSet(r,t,a);if(null==r._materializedTable){const e={...r,outFields:["*"]};r._materializedTable=new I(e)}return await r._materializedTable.load(),this._makeAndAddFeatureSet(r._materializedTable,t,a)}}return null}}class D extends t{constructor(e,t=null,a=null,r=null){super(),this._url=e,this._overrideSpatialReference=t,this._lrucache=a,this._interceptor=r,this.metadata=null,this._instantLayers=[]}get url(){return this._url}_makeAndAddFeatureSet(e,t=!0,a=null){const r=T(e,this._overrideSpatialReference,null===a?["*"]:a,t,this._lrucache);return this._instantLayers.push({featureset:r,opitem:e,includeGeometry:t,outFields:JSON.stringify(a)}),r}async _loadMetaData(){const e=await k(this._url,this._lrucache);return this.metadata=e,e}load(){return this._loadMetaData()}clone(){return new D(this._url,this._overrideSpatialReference,this._lrucache,this._interceptor)}async featureSetByName(e,t=!0,a=null){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.title===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])l.name===e&&(i=l);if(!i)for(const l of n.tables??[])l.name===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}async featureSetById(e,t=!0,a=["*"]){null===a&&(a=["*"]),a=(a=a.slice()).sort();const r=JSON.stringify(a);e=null!=e?e.toString():"";for(let l=0;l<this._instantLayers.length;l++){const a=this._instantLayers[l];if(a.opitem.id===e&&a.includeGeometry===t&&a.outFields===r)return this._instantLayers[l].featureset}const n=await this._loadMetaData();let i=null;for(const l of n.layers??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(!i)for(const l of n.tables??[])null!==l.id&&void 0!==l.id&&l.id.toString()===e&&(i=l);if(i){const e=await F(this._url+"/"+i.id,["*"],this._lrucache);return this._makeAndAddFeatureSet(e,t,a)}return null}}function v(e,t,a=null,r=null){return new j(e,t,a,r)}function R(e,t,a=null,r=null){return new D(e,t,a,r)}function M(e,t,n,i,l){if(null===e)return null;if(a(e)){switch(t){case"datasource":return e.getDataSourceFeatureSet();case"parent":return e;case"root":return e.getRootFeatureSet()}return null}if(e instanceof S&&y(e)){const a=e;switch(t){case"datasource":return T(a,l,a.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(a,l,a.outFields,!0,n,i)}return null}if(r(e)){switch(t){case"datasource":return T(e.parent,l,e.parent.outFields,!0,n,i).getDataSourceFeatureSet();case"parent":case"root":return T(e,l,e.parent.outFields,!0,n,i)}return null}return null}async function q(e,t,a,r,n,i,l,s=null){if(f.applicationCache){const o=f.applicationCache.getLayerInfo(e+":"+i.url);if(o)return G(await o,t,a,r,n,l,s)}if(null!=l){const o=l.getCachedPortalItem(i.url,e);if(null!=o)return await G(await o,t,a,r,n,l,s)}const o=new C({id:e,portal:i}).load();f.applicationCache?f.applicationCache.setLayerInfo(e+":"+i.url,o):null!=l&&l.setCachedPortalItem(i.url,e,o);try{return await G(await o,t,a,r,n,l,s)}catch(u){throw f.applicationCache&&f.applicationCache.clearLayerInfo(e+":"+i.url),null!=l&&l.removeCachedPortalItem(i.url,e,o),u}}async function G(e,t,a,r,n,i,l){let s;if("Feature Service"===e.type||"Map Service"===e.type)s=await F(h(e.url??"")+"/"+t,["*"],i);else{if(t)throw new Error(`layerId=${t} provided for ${e.type} item`);if(null!=i){const t=i.getCachedPortalItemLayer(e.portal.url,e.id);if(null!=t)s=await t;else{const t=S.fromPortalItem(e);i.setCachedPortalItemLayer(e.portal.url,e.id,t);try{s=await t}catch(o){throw i.removeCachedPortalItemLayer(e.portal.url,e.id,t),o}}}else s=await S.fromPortalItem(e)}return T(s,a,r,n,i,l)}export{O as constructAssociationMetaDataFeatureSetFromUrl,T as constructFeatureSet,q as constructFeatureSetFromPortalItem,E as constructFeatureSetFromRelationship,N as constructFeatureSetFromUrl,M as convertToFeatureSet,v as createFeatureSetCollectionFromMap,R as createFeatureSetCollectionFromService,g as initialiseMetaDataCache};
|