@arcgis/core 5.2.0-next.117 → 5.2.0-next.119
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/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -1
- package/analysis/featureReferenceUtils.js +1 -1
- package/arcade.d.ts +1 -1
- package/arcade.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/03918a862455191a8910.js +1 -0
- package/assets/esri/core/workers/chunks/{9b9a60f1e0c48aa701f0.js → 066b7f6866d602f963e0.js} +1 -1
- package/assets/esri/core/workers/chunks/{564fdf0d663b773806cc.js → 114bc14c49176f64a2c5.js} +1 -1
- package/assets/esri/core/workers/chunks/1630913399384030d0b9.js +1 -0
- package/assets/esri/core/workers/chunks/{db141122060d8d9b38da.js → 1742dbc6a827cfda471b.js} +1 -1
- package/assets/esri/core/workers/chunks/{045ff98313b06a2188b7.js → 1a39335aa2dce6d564d9.js} +1 -1
- package/assets/esri/core/workers/chunks/{caf38cf4d8542fb11c46.js → 20e4277a4a6c57957202.js} +1 -1
- package/assets/esri/core/workers/chunks/{f42243c62dd0b6993816.js → 24014f3701c31ee74bc2.js} +1 -1
- package/assets/esri/core/workers/chunks/{62b1f94f4fa978d4da48.js → 354912041363502c6a89.js} +1 -1
- package/assets/esri/core/workers/chunks/37cf4ca2083cd3b6002e.js +1 -0
- package/assets/esri/core/workers/chunks/{3b499cfc89c8f87cdb20.js → 3c3e5e952fd6740bb234.js} +1 -1
- package/assets/esri/core/workers/chunks/{44d3fe10cb35d16f0b33.js → 4396ef5ab3eb9e9a7df2.js} +1 -1
- package/assets/esri/core/workers/chunks/{56989b48c0a5d7fe85e6.js → 4c4ba466e23159991322.js} +1 -1
- package/assets/esri/core/workers/chunks/{b9023cc3298ee4fddea7.js → 54f3bc940cea15fce2c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{7e42be27ead91a4cc0f1.js → 581285e4d7bbe1b7c27a.js} +1 -1
- package/assets/esri/core/workers/chunks/5938d5f6e37f49867d5a.js +1 -0
- package/assets/esri/core/workers/chunks/{05584d8828ae7bca0fc5.js → 64ee22134fda2f09c094.js} +1 -1
- package/assets/esri/core/workers/chunks/6efc5873747b9cd44fb9.js +1 -0
- package/assets/esri/core/workers/chunks/{0463c807b37f01bbc35c.js → 70347d25968975126fa7.js} +1 -1
- package/assets/esri/core/workers/chunks/{4bfd63f3cf9208eb839b.js → 723478607badcde5706b.js} +43 -43
- package/assets/esri/core/workers/chunks/{42c4d0c1c08bf111e5a4.js → 731ec5de16753e10b963.js} +1 -1
- package/assets/esri/core/workers/chunks/{5965a947f68b707eaa6b.js → 82ce034b5ba54de9b970.js} +1 -1
- package/assets/esri/core/workers/chunks/{1eafb214519d8fc63ccb.js → 8465e2c7221125fd3cc4.js} +1 -1
- package/assets/esri/core/workers/chunks/862e1acd80c4e43831dc.js +1 -0
- package/assets/esri/core/workers/chunks/{fd808d38ae2d475ac442.js → 8675ab3c4dec2f13b9c6.js} +1 -1
- package/assets/esri/core/workers/chunks/{925a0b29d3ed7165b8dd.js → 8984d02c0ce828fd223a.js} +1 -1
- package/assets/esri/core/workers/chunks/{57328c206f1e699ac06f.js → 89edaa1ffa566908ebca.js} +1 -1
- package/assets/esri/core/workers/chunks/97fea852f8e93e1286e4.js +1 -0
- package/assets/esri/core/workers/chunks/{bb4cbf6b7c35e8c78cc7.js → a917a1df8270860dc514.js} +1 -1
- package/assets/esri/core/workers/chunks/{996438b3afec92c5c68e.js → b0058619e0363002ad86.js} +1 -1
- package/assets/esri/core/workers/chunks/{9fb46ccd4be4c3b61c31.js → b5a102cf9f4377fb9842.js} +1 -1
- package/assets/esri/core/workers/chunks/b6409d89914030d5854a.js +1 -0
- package/assets/esri/core/workers/chunks/{fa869977ac2abb063925.js → b9c834e3c0701e9b14a2.js} +1 -1
- package/assets/esri/core/workers/chunks/{32dd990a3bd93cbad309.js → c0ec87800faf99cbd8bd.js} +1 -1
- package/assets/esri/core/workers/chunks/{20de0ea9fa08a6545978.js → cf1106eda10f3cccb1bd.js} +1 -1
- package/assets/esri/core/workers/chunks/{ed988360264574cd8f6b.js → cf7c06702babd6fa88b4.js} +1 -1
- package/assets/esri/core/workers/chunks/cfd8317ecd2e63af7c40.js +1 -0
- package/assets/esri/core/workers/chunks/d090baaa974e1e83fa44.js +1 -0
- package/assets/esri/core/workers/chunks/{c5ceceb0683671f92efa.js → da6583e8d88441a1c02a.js} +1 -1
- package/assets/esri/core/workers/chunks/{e1f2b07be33e33117313.js → dd02cc18ebebb90778c6.js} +1 -1
- package/assets/esri/core/workers/chunks/de8a3a0796bd115426c0.js +1 -0
- package/assets/esri/core/workers/chunks/{05b373a663cb5d4d722f.js → deb5b1d772ca407654d4.js} +1 -1
- package/assets/esri/core/workers/chunks/{10fa8fbade8ae084c307.js → e22a013ec38989caf9de.js} +1 -1
- package/assets/esri/core/workers/chunks/{c7e6b5594fed5bb16691.js → e4016ae9cb8f16e3efc3.js} +1 -1
- package/assets/esri/core/workers/chunks/e5f0c47957a4e9663720.js +1 -0
- package/assets/esri/core/workers/chunks/{a3f4818f4190fa92331d.js → edd36e98355f1655e5c8.js} +1 -1
- package/assets/esri/core/workers/chunks/ef6e52f9b656751eebaf.js +1 -0
- package/assets/esri/core/workers/chunks/f0709c48daca93e759c8.js +1 -0
- package/assets/esri/core/workers/chunks/f5423006fb07db7dd6ee.js +1 -0
- package/assets/esri/core/workers/chunks/{d926bffc3ff9f87e9081.js → f890359d972cce54459e.js} +1 -1
- package/assets/esri/core/workers/chunks/fb11ff3f2eae5f072560.js +1 -0
- package/assets/esri/core/workers/chunks/fdad31bbe8aee68a6eaf.js +1 -0
- package/assets/esri/core/workers/chunks/fe1787a8d499832996b3.js +1 -0
- package/chunks/CloudsComposition.glsl.js +2 -2
- package/chunks/ColorMaterial.glsl.js +3 -3
- package/chunks/Compositing.glsl.js +4 -4
- package/chunks/DeepSky.glsl.js +3 -3
- package/chunks/EdgeShader.glsl.js +6 -6
- package/chunks/FocusArea.glsl.js +1 -1
- package/chunks/GlobalIllumination.glsl.js +7 -7
- package/chunks/HUDMaterial.glsl.js +5 -5
- package/chunks/LaserlinePath.glsl.js +5 -5
- package/chunks/LineCallout.glsl.js +2 -2
- package/chunks/LineMarker.glsl.js +30 -30
- package/chunks/NavigationDepth.glsl.js +1 -1
- package/chunks/OccludedGeometryDepth.glsl.js +2 -2
- package/chunks/Path.glsl.js +12 -12
- package/chunks/PointRenderer.glsl.js +5 -5
- package/chunks/Precipitation.glsl.js +7 -7
- package/chunks/RibbonLine.glsl.js +50 -50
- package/chunks/SimpleAtmosphere.glsl.js +9 -9
- package/chunks/Stars.glsl.js +5 -5
- package/chunks/Terrain.glsl.js +18 -16
- package/chunks/Viewshed.glsl.js +3 -3
- package/chunks/VolumeMask.glsl.js +2 -2
- package/chunks/Water.glsl.js +38 -48
- package/config.js +1 -1
- package/core/NestedMap.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +2 -1
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/CatalogLayer.d.ts +2 -1
- package/layers/CatalogLayer.js +1 -1
- package/layers/DimensionFeatureLayer.d.ts +2 -1
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +2 -30
- package/layers/FeatureLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +2 -1
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/mixins/FeatureLayerBase.js +1 -1
- package/layers/mixins/FeatureLayerReload.d.ts +26 -0
- package/layers/mixins/FeatureLayerReload.js +2 -0
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/support/TimeInfo.d.ts +2 -2
- package/layers/support/TimeInfo.js +1 -1
- package/layers/support/fieldUtils.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +3 -3
- package/support/revision.js +1 -1
- package/symbols/cim/animationUtils.js +1 -1
- package/time/timeZoneUtils.js +1 -1
- package/views/2d/engine/webgl/animations/instructions.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
- package/views/3d/analysis/LineOfSightAnalysisView3D.js +1 -1
- package/views/3d/camera/constraintUtils.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/state/controllers/GroundNavigationController.js +1 -1
- package/views/3d/state/controllers/InteractiveController.js +1 -1
- package/views/3d/state/controllers/momentum/GroundNavigationMomentumController.js +1 -1
- package/views/3d/state/controllers/momentum/MomentumController.js +1 -1
- package/views/3d/state/utils/OffsetCorrectionController.js +2 -0
- package/views/3d/support/engineContent/line.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepthToWriteShadowMap.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +9 -9
- package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +15 -15
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +23 -23
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +2 -0
- package/views/3d/webgl-engine/effects/AmbientIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
- package/views/3d/webgl-engine/effects/stars/DeepSky.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/LineMaterial.js +1 -1
- package/views/3d/webgl-engine/lib/Program.js +1 -1
- package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +4 -4
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/PolygonOffset.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/ViewingModeConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +26 -26
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCalloutTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/shaders/MeasurementArrowTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/NativeLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/NavigationDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/OccludedGeometryDepth.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/VolumeMask.glsl.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -1
- package/widgets/Measurement.d.ts +1 -2
- package/widgets/Measurement.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +13 -0
- package/widgets/Sketch/SketchViewModel.js +1 -1
- package/widgets/Sketch/VisibleElements.d.ts +8 -1
- package/widgets/Sketch/VisibleElements.js +1 -1
- package/widgets/Sketch/support/PluginManager.d.ts +11 -1
- package/widgets/ValuePicker.d.ts +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +4 -2
- package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
- package/widgets/VideoPlayer.js +1 -1
- package/assets/esri/core/workers/chunks/0630e650abdfea1792e4.js +0 -1
- package/assets/esri/core/workers/chunks/0edebc6c516f0b9dac7b.js +0 -1
- package/assets/esri/core/workers/chunks/25c5e1b14b184b1228a3.js +0 -1
- package/assets/esri/core/workers/chunks/2e0fd0536408053ac6f5.js +0 -1
- package/assets/esri/core/workers/chunks/573e8fa0af8711ffec45.js +0 -1
- package/assets/esri/core/workers/chunks/5b9925f23d4b10a7087e.js +0 -1
- package/assets/esri/core/workers/chunks/66c46c5a7147550ea3ed.js +0 -1
- package/assets/esri/core/workers/chunks/6c7cb7974969e3167f2b.js +0 -1
- package/assets/esri/core/workers/chunks/729d458e9e28641227cd.js +0 -1
- package/assets/esri/core/workers/chunks/7bbc3d22383388d11345.js +0 -1
- package/assets/esri/core/workers/chunks/7edf57e31ff07af9032b.js +0 -1
- package/assets/esri/core/workers/chunks/8bd187b48a4e4296e3d8.js +0 -1
- package/assets/esri/core/workers/chunks/9acaabe950319d031f2e.js +0 -1
- package/assets/esri/core/workers/chunks/ac02df176f9ea94278bb.js +0 -1
- package/assets/esri/core/workers/chunks/b4222152efaf73b37b53.js +0 -1
- package/assets/esri/core/workers/chunks/c0855be20ffcd52c7026.js +0 -1
- package/assets/esri/core/workers/chunks/e606be4ece4eac1e9bbe.js +0 -1
- package/assets/esri/core/workers/chunks/f05622413cadfd14553e.js +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import e from"../../config.js";import{id as r}from"../../kernel.js";import s from"../../request.js";import{result as i}from"../../core/asyncUtils.js";import a from"../../core/Error.js";import{abortHandle as o}from"../../core/handleUtils.js";import l from"../../core/Logger.js";import{destroyMaybe as p}from"../../core/maybe.js";import{throwIfAborted as n,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as m,hasSamePortal as c,normalize as h}from"../../core/urlUtils.js";import{property as f,subclass as g}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as y}from"../support/layerUtils.js";import I from"../../portal/Portal.js";import v from"../../portal/PortalItem.js";import P from"../../portal/PortalUser.js";import{getUserPrivileges as w}from"../../portal/support/portalItemUtils.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as j}from"../../core/accessorSupport/decorators/writer.js";const _=_=>{const H=_;let b=class extends H{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=p(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,r){if(e.itemId)return new v({id:e.itemId,portal:r?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:r}=await(import("../../portal/support/layersLoader.js"));return n(e),await r({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(r){throw u(r)||l.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${r}`),r}}async reloadFromPortal(t){if(!this.loaded||!this.portalItem?.id)return!1;try{const{reload:
|
|
2
|
+
import{__decorate as t}from"tslib";import e from"../../config.js";import{id as r}from"../../kernel.js";import s from"../../request.js";import{result as i}from"../../core/asyncUtils.js";import a from"../../core/Error.js";import{abortHandle as o}from"../../core/handleUtils.js";import l from"../../core/Logger.js";import{destroyMaybe as p}from"../../core/maybe.js";import{throwIfAborted as n,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as m,hasSamePortal as c,normalize as h}from"../../core/urlUtils.js";import{property as f,subclass as g}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as y}from"../support/layerUtils.js";import I from"../../portal/Portal.js";import v from"../../portal/PortalItem.js";import P from"../../portal/PortalUser.js";import{getUserPrivileges as w}from"../../portal/support/portalItemUtils.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as j}from"../../core/accessorSupport/decorators/writer.js";const _=_=>{const H=_;let b=class extends H{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=p(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get("portalItem")}set portalItem(t){t!==this._get("portalItem")&&(this.removeOrigin("portal-item"),this._set("portalItem",t))}readPortalItem(t,e,r){if(e.itemId)return new v({id:e.itemId,portal:r?.portal})}writePortalItem(t,e){t?.id&&(e.itemId=t.id)}async loadFromPortal(t,e){if(this.portalItem?.id)try{const{load:r}=await(import("../../portal/support/layersLoader.js"));return n(e),await r({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e)}catch(r){throw u(r)||l.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${r}`),r}}async reloadFromPortal(t,e){if(!this.loaded||!this.portalItem?.id)return!1;const r=e?.signal?null:new AbortController;try{const{reload:s}=await(import("../../portal/support/layersLoader.js"));return r&&this.addHandles(o(r),"reloadFromPortal"),await s({instance:this,supportedTypes:t.supportedTypes,validateItem:t.validateItem,supportsData:t.supportsData,layerModuleTypeMap:t.layerModuleTypeMap,populateGroupLayer:t.populateGroupLayer},e?.signal?e:{signal:r.signal})}catch(s){throw u(s)||l.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${s}`),s}finally{r&&this.removeHandles("reloadFromPortal")}}async finishLoadEditablePortalLayer(t){this._set("userHasEditingPrivileges",await this._fetchUserHasEditingPrivileges(t).catch(t=>(d(t),!0)))}async setUserPrivileges(t,r){if(!e.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(r);if(this.url)try{const{features:{edit:e,fullEdit:s},content:{updateItem:i}}=await this._fetchUserPrivileges(t,r);this._set("userHasEditingPrivileges",e),this._set("userHasFullEditingPrivileges",s),this._set("userHasUpdateItemPrivileges",i)}catch(s){d(s)}}async _fetchUserPrivileges(t,e){let s=this.portalItem;if(!t||!s||!s.loaded||s.sourceUrl)return this._fetchFallbackUserPrivileges(e);const i=!r?.findCredential(this.url),a=t===s.id;if(a&&s.portal.user)return this._getUserPrivileges(s,i);let o,l;if(a)o=s.portal.url;else try{o=await y(this.url,e)}catch(c){d(c)}if(!o||!m(o,s.portal.url))return this._fetchFallbackUserPrivileges(e);try{const t=null!=e?e.signal:null;l=await(r?.getCredential(`${o}/sharing`,{prompt:!1,signal:t}))}catch(c){d(c)}const p=!0,n=!1,u=!1;if(!l)return{features:{edit:p,fullEdit:n},content:{updateItem:u}};try{if(a?await s.reload():(s=new v({id:t,portal:{url:o}}),await s.load(e)),s.portal.user)return this._getUserPrivileges(s,i)}catch(c){d(c)}return{features:{edit:p,fullEdit:n},content:{updateItem:u}}}_getUserPrivileges(t,e){const r=w(t);return e&&(r.features.edit=!0),r}async _fetchFallbackUserPrivileges(t){let e=!0;try{e=await this._fetchUserHasEditingPrivileges(t)}catch(r){d(r)}return{features:{edit:e,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(t){const e=this.url?r?.findCredential(this.url):null;if(!e)return!0;const s=E.credential===e?E.user:await this._fetchEditingUser(t);return E.credential=e,E.user=s,null==s?.privileges||s.privileges.includes("features:user:edit")}async _fetchEditingUser(t){const e=this.portalItem?.portal?.user;if(e)return e;const a=r?.findServerInfo(this.url??"");if(!a?.owningSystemUrl)return null;const o=`${a.owningSystemUrl}/sharing/rest`,l=I.getDefault();if(l&&l.loaded&&h(l.restUrl)===h(o))return l.user;const p=`${o}/community/self`,n=null!=t?t.signal:null,u=await i(s(p,{authMode:"no-prompt",query:{f:"json"},signal:n}));return u.ok?P.fromJSON(u.value.data):null}read(t,e){e&&(e.layer=this),super.read(t,e)}write(t,e){const r=e?.portal,s=this.portalItem?.id&&(this.portalItem.portal||I.getDefault());return r&&s&&!c(s.restUrl,r.restUrl)?(e.messages&&e.messages.push(new a("layer:cross-portal",`The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save, set layer.portalItem to null or save to the same portal as the item associated with the layer`,{layer:this})),null):super.write(t,{...e,layer:this})}};return t([f({type:v})],b.prototype,"portalItem",null),t([U("web-document","portalItem",["itemId"])],b.prototype,"readPortalItem",null),t([j("web-document","portalItem",{itemId:{type:String}})],b.prototype,"writePortalItem",null),t([f({clonable:!1})],b.prototype,"resourceReferences",void 0),t([f({type:Boolean,readOnly:!0})],b.prototype,"userHasEditingPrivileges",void 0),t([f({type:Boolean,readOnly:!0})],b.prototype,"userHasFullEditingPrivileges",void 0),t([f({type:Boolean,readOnly:!0})],b.prototype,"userHasUpdateItemPrivileges",void 0),b=t([g("esri.layers.mixins.PortalLayer")],b),b},E={credential:null,user:null};export{_ as PortalLayer};
|
|
@@ -13,7 +13,7 @@ export interface TimeInfoProperties extends Partial<Pick<TimeInfo, "endField" |
|
|
|
13
13
|
* @since 4.12
|
|
14
14
|
* @example
|
|
15
15
|
* const { start, end } = featureLayer.timeInfo.fullTimeExtent;
|
|
16
|
-
* const range = end - start; // milliseconds
|
|
16
|
+
* const range = end.getTime() - start.getTime(); // milliseconds
|
|
17
17
|
* const days = range / ( 1000 * 60 * 60 * 24 ); // days
|
|
18
18
|
* console.log(`The layer's temporal extent is ${days} days.`);
|
|
19
19
|
*/
|
|
@@ -63,7 +63,7 @@ export default class TimeInfo extends TimeInfoSuperclass {
|
|
|
63
63
|
* @since 4.12
|
|
64
64
|
* @example
|
|
65
65
|
* const { start, end } = featureLayer.timeInfo.fullTimeExtent;
|
|
66
|
-
* const range = end - start; // milliseconds
|
|
66
|
+
* const range = end.getTime() - start.getTime(); // milliseconds
|
|
67
67
|
* const days = range / ( 1000 * 60 * 60 * 24 ); // days
|
|
68
68
|
* console.log(`The layer's temporal extent is ${days} days.`);
|
|
69
69
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as t}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import{JSONSupport as
|
|
2
|
+
import{__decorate as t}from"tslib";import{ClonableMixin as e}from"../../core/Clonable.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as i,subclass as o}from"../../core/accessorSupport/decorators.js";import l from"../../time/TimeExtent.js";import n from"../../time/TimeInterval.js";import{timeZoneProperty as a}from"../../time/timeZoneUtils.js";import{reader as m}from"../../core/accessorSupport/decorators/reader.js";import{writer as s}from"../../core/accessorSupport/decorators/writer.js";function p(t,e,r){return{enabled:!1!==r?.writeExportOptions}}function u(t,e){return n.fromJSON({value:t,unit:e})}let d=class extends(e(r)){constructor(t){super(t),this.cumulative=!1,this.endField=null,this.fullTimeExtent=null,this.hasLiveData=!1,this.interval=null,this.startField=null,this.timeZone=null,this.trackIdField=null,this.useTime=!0,this.stops=null}readFullTimeExtent(t,e){return e.timeExtent&&Array.isArray(e.timeExtent)&&2===e.timeExtent.length?l.fromArray(e.timeExtent):null}writeFullTimeExtent(t,e){null!=t?.start&&null!=t.end&&(e.timeExtent=t.toArray())}readInterval(t,e){return e.timeInterval&&e.timeIntervalUnits?u(e.timeInterval,e.timeIntervalUnits):e.defaultTimeInterval&&e.defaultTimeIntervalUnits?u(e.defaultTimeInterval,e.defaultTimeIntervalUnits):null}writeInterval(t,e){e.timeInterval=t?.toJSON().value??null,e.timeIntervalUnits=t?.toJSON().unit??null}};t([i({type:Boolean,json:{name:"exportOptions.timeDataCumulative",write:{overridePolicy:p}}})],d.prototype,"cumulative",void 0),t([i({type:String,json:{name:"endTimeField",write:!0}})],d.prototype,"endField",void 0),t([i({type:l,json:{write:!0}})],d.prototype,"fullTimeExtent",void 0),t([m("fullTimeExtent",["timeExtent"])],d.prototype,"readFullTimeExtent",null),t([s("fullTimeExtent")],d.prototype,"writeFullTimeExtent",null),t([i({type:Boolean,json:{default:!1,write:!0}})],d.prototype,"hasLiveData",void 0),t([i({type:n,json:{write:!0}})],d.prototype,"interval",void 0),t([m("interval",["timeInterval","timeIntervalUnits","defaultTimeInterval","defaultTimeIntervalUnits"])],d.prototype,"readInterval",null),t([s("interval")],d.prototype,"writeInterval",null),t([i({type:String,json:{name:"startTimeField",write:!0}})],d.prototype,"startField",void 0),t([i(a("timeReference",!0,!1))],d.prototype,"timeZone",void 0),t([i({type:String,json:{write:!0}})],d.prototype,"trackIdField",void 0),t([i({type:Boolean,json:{name:"exportOptions.useTime",write:{overridePolicy:p}}})],d.prototype,"useTime",void 0),t([i({type:[Date],json:{read:!1}})],d.prototype,"stops",void 0),d=t([o("esri.layers.support.TimeInfo")],d);export{d as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as t}from"../../core/object.js";import{union as i}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{DomainValidationError as l,getDomainRange as o}from"./domainUtils.js";import{getFieldNameFromSimpleExpression as s}from"../../support/arcadeExpressionUtils.js";import{isStringOrNull as a,isString as u}from"../../support/guards.js";import{loadArcade as f}from"../../support/loadArcade.js";const c=/^([0-9_])/,d=/[^a-z0-9_\u0080-\uffff]+/gi;function p(e){if(null==e)return null;return e.trim().replaceAll(d,"_").replace(c,"F$1")||null}const m=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],y=["field","normalizationField"];function g(e,n){if(null!=e&&null!=n)for(const t of Array.isArray(e)?e:[e])if(F(m,t,n),"visualVariables"in t&&t.visualVariables)for(const e of t.visualVariables)F(y,e,n)}function F(e,i,r){if(e)for(const l of e){const e=n(l,i),o=e&&"function"!=typeof e&&r.get(e);o&&t(l,o.name,i)}}function I(e,n){if(null!=e&&n?.fields?.length)if("startField"in e){const t=n.get(e.startField),i=n.get(e.endField);e.startField=t?.name??null,e.endField=i?.name??null}else{const t=n.get(e.startTimeField),i=n.get(e.endTimeField);e.startTimeField=t?.name??null,e.endTimeField=i?.name??null}}const b=new Set;function w(e,n){return e&&n?(b.clear(),x(b,e,n),Array.from(b).sort()):[]}function x(e,n,t){if(t)if(n?.fields?.length)if(t.includes("*"))for(const{name:i}of n.fields)e.add(i);else for(const i of t)T(e,n,i);else{if(t.includes("*"))return e.clear(),void e.add("*");for(const n of t)null!=n&&e.add(n)}}function T(e,n,t){if("string"==typeof t)if(n){const i=n.get(t);i&&e.add(i.name)}else e.add(t)}function h(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map(e=>e.name):n}function _(e,n,t=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const i=w(e,n);return i.length/e.fields.length>=t?["*"]:i}async function E(e,n,t,i){if(!i)return;const r=s(i);if(r)T(e,n,r);else{const{arcadeUtils:r}=await f(),l=r.extractFieldNames(i,t?.partitions??n?.fields?.map(e=>e.name));for(const i of l)T(e,t?.index??n,i)}}async function A(n,t,i){if(i&&"1=1"!==i){const l=await r(i,t);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:i});x(n,t,l.fieldNames)}}function v({displayField:e,fields:n}){return e||(n?.length?S(n):null)}function S(e){return L(e,"name-or-title")||L(e,"unique-identifier")||L(e,"type-or-category")||N(e)}function N(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function L(e,n){for(const t of e)if(t?.valueType&&t.valueType===n)return t.name;return null}async function $(e){if(!e)return[];const n=new Set;return await O(n,e),Array.from(n).sort()}async function O(e,n){if(!n)return;const t=n.elevationInfo?.featureExpressionInfo;return t?t.collectRequiredFields(e,n.fieldsIndex):void 0}function M(e,n,t){t.onStatisticExpression?E(e,n,null,t.onStatisticExpression.expression):e.add(t.onStatisticField)}async function D(e,n,t){if(!n||!t||!("fields"in t))return;const i=[],r=t.popupTemplate;i.push(R(e,n,r)),t.fields&&i.push(...t.fields.map(async t=>M(e,n.fieldsIndex,t))),await Promise.all(i)}async function V(e,n){const{fieldsIndex:t,trackInfo:i}=n;if(!n||!i||!t)return;const r=[i.latestObservations.renderer?.collectRequiredFields(e,t),i.previousObservations.renderer?.collectRequiredFields(e,t),i.trackLines.renderer?.collectRequiredFields(e,t)];i.popupTemplate&&r.push(R(e,n,i.popupTemplate));for(const l of[i.latestObservations.labelingInfo,i.previousObservations.labelingInfo,i.trackLines.labelingInfo])if(l)for(const n of l)r.push(ne(e,t,n));await Promise.all(r)}async function R(e,n,t){const i=[];t?.expressionInfos&&i.push(...t.expressionInfos.map(t=>E(e,n.fieldsIndex,null,t.expression)));const r=t?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&i.push(E(e,n.fieldsIndex,null,l.expressionInfo.expression));await Promise.all(i)}async function j(e,n,t){n&&(n.timeInfo&&t?.timeExtent&&x(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&x(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=t?.where&&await A(e,n.fieldsIndex,t.where))}async function U(e,n,t){n&&t&&await Promise.all(t.map(t=>C(e,n,t)))}async function C(e,n,t){n&&t&&(t.valueExpression?await E(e,n.fieldsIndex,null,t.valueExpression):t.field&&T(e,n.fieldsIndex,t.field))}async function k(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?w(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function G(e){return e?w(e.fieldsIndex,J(e)):[]}function P(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?w(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}async function q(e,n,t){if(!n||!t)return;const i=n.fieldsIndex;await Promise.all(t.filters.map(n=>A(e,i,n.where)))}const z=new Set(["oid","global-id","guid"]),X=new Set(["oid","global-id"]),B=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^shape$/i,/^shape_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/objectid/i,/^perimeter_/i,/_perimeter$/i,/_i$/i];function Y(e){const n=new Set;W(e).forEach(e=>n.add(e)),P(e).forEach(e=>n.add(e.toLowerCase()));const t=e&&"infoFor3D"in e?e.infoFor3D:void 0;return t&&(Object.values(t.assetMapFieldRoles).forEach(e=>n.add(e.toLowerCase())),Object.values(t.transformFieldRoles).forEach(e=>n.add(e.toLowerCase()))),Array.from(n)}function J(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:t,creatorField:i,editDateField:r,editorField:l}=n;return[t,i,r,l].filter(Boolean)}function W(e){return J(e).map(e=>e.toLowerCase())}function H(e){return!!e.type}function K(e,n){return!!e.editable&&H(e)&&!z.has(e.type)&&!W(n).includes(e.name?.toLowerCase()??"")}function Q(e,n){const t=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&t===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&t===n.globalIdField.toLowerCase()||Y(n).includes(t)||X.has(e.type)||B.some(e=>e.test(t)))}async function Z(e){if(!e)return[];const n=new Set;return await ee(n,e),Array.from(n).sort()}async function ee(e,n){const{labelingInfo:t,fieldsIndex:i}=n;t?.length&&await Promise.all(t.map(n=>ne(e,i,n)))}async function ne(e,n,t){if(!t)return;const i=t.getLabelExpression(),r=t.where;if("arcade"===i.type)await E(e,n,null,i.expression);else{const t=i.expression.match(/{[^}]*}/g);t&&t.forEach(t=>{T(e,n,t.slice(1,-1))})}await A(e,n,r)}function te(e){const n=e.defaultValue;return void 0!==n&&ae(e,n)?n:e.nullable?null:void 0}function ie(e){const n="string"==typeof e?{type:e}:e;return be(n)?255:"esriFieldTypeDate"===n.type||"date"===n.type?8:void 0}function re(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function le(e){return null===e||re(e)}function oe(e){return null===e||Number.isInteger(e)}function se(){return!0}function ae(e,n){let t;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":t=e.nullable?oe:Number.isInteger;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":t=e.nullable?le:re;break;case"string":case"esriFieldTypeString":t=e.nullable?a:u;break;default:t=se}return 1===arguments.length?t:t(n)}const ue=["integer","small-integer","big-integer","long"],fe=["single","double"],ce=[...ue,...fe],de=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeLong","esriFieldTypeBigInteger"],pe=["esriFieldTypeSingle","esriFieldTypeDouble"],me=new Set([...ue,...de]),ye=new Set([...fe,...pe]),ge=i(me,ye);function Fe(e){return null!=e&&me.has(e.type)}function Ie(e){return null!=e&&ge.has(e.type)}function be(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function we(e){return null!=e&&("date"===e.type||"esriFieldTypeDate"===e.type)}function xe(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function Te(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function he(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function _e(e){return null!=e&&("date"===e.type||"date-only"===e.type||"time-only"===e.type||"timestamp-offset"===e.type)}function Ee(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function Ae(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function ve(e,n){return null===Oe(e,n)}const Se={OUT_OF_RANGE:"numeric-range-validation-error::out-of-range"},Ne={INVALID_TYPE:"type-validation-error::invalid-type"};function Le(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function $e(e){return parseFloat(e.replaceAll("_",""))}function Oe(e,n){return null==e||e.nullable&&null===n?null:ae(e,n)?Ie(e)&&!Me(e.type,Number(n))?Se.OUT_OF_RANGE:null:Ne.INVALID_TYPE}function Me(e,n){const t="string"==typeof e?Ve(e):e;if(!t)return!1;const i=t.min,r=t.max;return t.isInteger?Number.isInteger(n)&&n>=i&&n<=r:n>=i&&n<=r}function De(e,n){const t=o(e,n);return t||(Ie(e)?Ve(e.type):void 0)}function Ve(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return je;case"esriFieldTypeInteger":case"esriFieldTypeLong":case"integer":case"long":return ke;case"esriFieldTypeBigInteger":case"big-integer":return Ge;case"esriFieldTypeSingle":case"single":return qe;case"esriFieldTypeDouble":case"double":return ze}}function Re(e){if(!re(e))return null;if(Number.isInteger(e)){if(e>=je.min&&e<=je.max)return"esriFieldTypeSmallInteger";if(e>=ke.min&&e<=ke.max)return"esriFieldTypeInteger";if(e>=Ge.min&&e<=Ge.max)return"esriFieldTypeBigInteger"}return e>=qe.min&&e<=qe.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}const je={min:-32768,max:32767,isInteger:!0,rawMin:-32768,rawMax:32767},Ue=-2147483648,Ce=2**31-1,ke={min:Ue,max:Ce,isInteger:!0,rawMin:Ue,rawMax:Ce},Ge={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0,rawMin:-Number.MAX_SAFE_INTEGER,rawMax:Number.MAX_SAFE_INTEGER},Pe=(2-2**-23)*2**127,qe={min:-Pe,max:Pe,isInteger:!1,rawMin:-Pe,rawMax:Pe},ze={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1,rawMin:-Number.MAX_VALUE,rawMax:Number.MAX_VALUE};function Xe(e,n,t){switch(e){case l.INVALID_CODED_VALUE:return`Value ${t} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case l.VALUE_OUT_OF_RANGE:return`Value ${t} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case Ne.INVALID_TYPE:return`Value ${t} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case Se.OUT_OF_RANGE:{const{min:e,max:i}=Ve(n.type);return`Value ${t} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${i}`}}}function Be(e,n){return!Ye(e,n,null)}function Ye(e,n,t){if(!e?.attributes||!n){if(null!=t)for(const e of n??[])t.add(e);return!0}const i=new Set(Object.keys(e.attributes));let r=!1;for(const l of n)if(!i.has(l)){if(r=!0,null==t)break;t.add(l)}return r}async function Je(e,n){const t=new Set;for(const i of n)await E(t,e.fieldsIndex,null,i);return Array.from(t).sort()}function We(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some(n=>e.toLowerCase().startsWith(n))}async function He(e,n){const t=new Set;return e?.collectRequiredFields&&await e.collectRequiredFields(t,n),Array.from(t).sort()}function Ke(e){const n=e?.match(/{[^}]+}/g);return n?n.map(e=>e.slice(1,-1).split(":")[0].trim()):[]}function Qe(e,n){const{statisticType:t,onStatisticField:i,onStatisticExpression:r}=e,l=n.get(i),o=Ie(l),s=r?.returnType;switch(t){case"avg":case"avg_angle":return l?o||we(l)?"double":null:s&&"number"===s?"double":null;case"count":return"integer";case"min":case"max":return l?o||_e(l)?l?.type??null:null:s&&"number"===s?"double":null;case"sum":return l?o?l?.type??null:null:s&&"number"===s?"double":null;case"mode":return l?l?.type??null:s?"number"===s?"double":"string":null;default:return null}}function Ze(e){const{fieldName:n,fieldsMap:t,normalizedFieldsMap:i}=e;if(!n)return;let r=t.get(n);return r||(r=t.get(en(n))??i.get(nn(n)),r&&t.set(n,r),r)}function en(e){return e.trim().toLowerCase()}function nn(e){return p(e)?.toLowerCase()??""}export{Se as NumericRangeValidationError,Ne as TypeValidationError,en as applyLowerCaseFieldName,Ge as bigIntegerRange,E as collectArcadeFieldNames,q as collectDisplayFilterFields,O as collectElevationFields,D as collectFeatureReductionFields,T as collectField,x as collectFields,j as collectFilterFields,ee as collectLabelingFields,U as collectOrderByInfos,R as collectPopupTemplateFields,A as collectSQLFieldNames,V as collectTrackInfoFields,ze as doubleRange,Ke as extractSubstitutionTemplatesFromString,Be as featureHasFields,w as fixFields,g as fixRendererFields,I as fixTimeInfoFields,pe as floatJSONTypes,fe as floatTypes,Qe as getAggregateFieldType,v as getDisplayFieldName,S as getDisplayFieldNameFromFields,J as getEditTrackingFields,$ as getElevationFields,Je as getExpressionFields,G as getFeatureEditFields,P as getFeatureGeometryFields,ie as getFieldDefaultLength,te as getFieldDefaultValue,Ze as getFieldFromIndex,De as getFieldRange,Z as getLabelingFields,Y as getLowerCaseDefaultHiddenFields,W as getLowerCaseEditTrackingFields,Re as getNumericTypeForValue,He as getRendererFields,k as getTimeFields,de as integerJSONTypes,ke as integerRange,ue as integerTypes,we as isDateField,xe as isDateOnlyField,K as isFieldEditable,Q as isFieldVisibleByDefault,H as isFieldWithType,Ae as isGlobalIDField,Fe as isIntegerField,Me as isNumberInRange,Ie as isNumericField,Ee as isObjectIDField,We as isRasterPixelValueField,be as isStringField,he as isTimeOnlyField,Te as isTimestampOffsetField,ve as isValidFieldValue,ae as isValueMatchingFieldType,nn as lowerCaseNormalizedFieldName,p as normalizeFieldName,ce as numericTypes,_ as packFields,Ye as populateMissingFields,m as rendererFields,Le as sanitizeNullFieldValue,$e as sanitizedParseFloat,qe as singleRange,je as smallIntegerRange,h as unpackFieldNames,Oe as validateFieldValue,Xe as validationErrorToString,y as visualVariableFields};
|
|
2
|
+
import e from"../../core/Error.js";import{getDeepValue as n,setDeepValue as t}from"../../core/object.js";import{union as i}from"../../core/SetUtils.js";import{parseWhereClause as r}from"../../core/sql.js";import{DomainValidationError as l,getDomainRange as o}from"./domainUtils.js";import{getFieldNameFromSimpleExpression as s}from"../../support/arcadeExpressionUtils.js";import{isStringOrNull as a,isString as u}from"../../support/guards.js";import{loadArcade as f}from"../../support/loadArcade.js";const c=/^([0-9_])/,d=/[^a-z0-9_\u0080-\uffff]+/gi;function p(e){if(null==e)return null;return e.trim().replaceAll(d,"_").replace(c,"F$1")||null}const m=["field","field2","field3","normalizationField","rotationInfo.field","proportionalSymbolInfo.field","proportionalSymbolInfo.normalizationField","colorInfo.field","colorInfo.normalizationField"],y=["field","normalizationField"];function g(e,n){if(null!=e&&null!=n)for(const t of Array.isArray(e)?e:[e])if(F(m,t,n),"visualVariables"in t&&t.visualVariables)for(const e of t.visualVariables)F(y,e,n)}function F(e,i,r){if(e)for(const l of e){const e=n(l,i),o=e&&"function"!=typeof e&&r.get(e);o&&t(l,o.name,i)}}function I(e,n){if(null==e||!n?.fields?.length)return;if("startField"in e){const t=n.get(e.startField),i=n.get(e.endField);e.startField=t?.name??null,e.endField=i?.name??null}else{const t=n.get(e.startTimeField),i=n.get(e.endTimeField);e.startTimeField=t?.name??null,e.endTimeField=i?.name??null}const t=n.get(e.trackIdField);e.trackIdField=t?.name??null}const b=new Set;function w(e,n){return e&&n?(b.clear(),x(b,e,n),Array.from(b).sort()):[]}function x(e,n,t){if(t)if(n?.fields?.length)if(t.includes("*"))for(const{name:i}of n.fields)e.add(i);else for(const i of t)T(e,n,i);else{if(t.includes("*"))return e.clear(),void e.add("*");for(const n of t)null!=n&&e.add(n)}}function T(e,n,t){if("string"==typeof t)if(n){const i=n.get(t);i&&e.add(i.name)}else e.add(t)}function h(e,n){return null==n||null==e?[]:n.includes("*")?(e.fields??[]).map(e=>e.name):n}function _(e,n,t=1){if(!n||!e)return[];if(n.includes("*"))return["*"];const i=w(e,n);return i.length/e.fields.length>=t?["*"]:i}async function E(e,n,t,i){if(!i)return;const r=s(i);if(r)T(e,n,r);else{const{arcadeUtils:r}=await f(),l=r.extractFieldNames(i,t?.partitions??n?.fields?.map(e=>e.name));for(const i of l)T(e,t?.index??n,i)}}async function A(n,t,i){if(i&&"1=1"!==i){const l=await r(i,t);if(!l.isStandardized)throw new e("fieldUtils:collectFilterFields","Where clause is not standardized",{where:i});x(n,t,l.fieldNames)}}function v({displayField:e,fields:n}){return e||(n?.length?S(n):null)}function S(e){return L(e,"name-or-title")||L(e,"unique-identifier")||L(e,"type-or-category")||N(e)}function N(e){for(const n of e){if(!n?.name)continue;const e=n.name.toLowerCase();if(e.includes("name")||e.includes("title"))return n.name}return null}function L(e,n){for(const t of e)if(t?.valueType&&t.valueType===n)return t.name;return null}async function $(e){if(!e)return[];const n=new Set;return await O(n,e),Array.from(n).sort()}async function O(e,n){if(!n)return;const t=n.elevationInfo?.featureExpressionInfo;return t?t.collectRequiredFields(e,n.fieldsIndex):void 0}function M(e,n,t){t.onStatisticExpression?E(e,n,null,t.onStatisticExpression.expression):e.add(t.onStatisticField)}async function D(e,n,t){if(!n||!t||!("fields"in t))return;const i=[],r=t.popupTemplate;i.push(R(e,n,r)),t.fields&&i.push(...t.fields.map(async t=>M(e,n.fieldsIndex,t))),await Promise.all(i)}async function V(e,n){const{fieldsIndex:t,trackInfo:i}=n;if(!n||!i||!t)return;const r=[i.latestObservations.renderer?.collectRequiredFields(e,t),i.previousObservations.renderer?.collectRequiredFields(e,t),i.trackLines.renderer?.collectRequiredFields(e,t)];i.popupTemplate&&r.push(R(e,n,i.popupTemplate));for(const l of[i.latestObservations.labelingInfo,i.previousObservations.labelingInfo,i.trackLines.labelingInfo])if(l)for(const n of l)r.push(ne(e,t,n));await Promise.all(r)}async function R(e,n,t){const i=[];t?.expressionInfos&&i.push(...t.expressionInfos.map(t=>E(e,n.fieldsIndex,null,t.expression)));const r=t?.content;if(Array.isArray(r))for(const l of r)"expression"===l.type&&l.expressionInfo&&i.push(E(e,n.fieldsIndex,null,l.expressionInfo.expression));await Promise.all(i)}async function j(e,n,t){n&&(n.timeInfo&&t?.timeExtent&&x(e,n.fieldsIndex,[n.timeInfo.startField,n.timeInfo.endField]),n.floorInfo&&x(e,n.fieldsIndex,[n.floorInfo.floorField]),null!=t?.where&&await A(e,n.fieldsIndex,t.where))}async function U(e,n,t){n&&t&&await Promise.all(t.map(t=>k(e,n,t)))}async function k(e,n,t){n&&t&&(t.valueExpression?await E(e,n.fieldsIndex,null,t.valueExpression):t.field&&T(e,n.fieldsIndex,t.field))}async function C(e){if(!e)return[];const n="timeInfo"in e&&e.timeInfo;return n?w(e.fieldsIndex,[e.trackIdField,n.startField,n.endField]):[]}function G(e){return e?w(e.fieldsIndex,J(e)):[]}function P(e){if(!e)return[];const n=e.geometryFieldsInfo;return n?w(e.fieldsIndex,[n.shapeAreaField,n.shapeLengthField]):[]}async function q(e,n,t){if(!n||!t)return;const i=n.fieldsIndex;await Promise.all(t.filters.map(n=>A(e,i,n.where)))}const z=new Set(["oid","global-id","guid"]),X=new Set(["oid","global-id"]),B=[/^fnode_$/i,/^tnode_$/i,/^lpoly_$/i,/^rpoly_$/i,/^poly_$/i,/^shape$/i,/^shape_$/i,/^subclass$/i,/^subclass_$/i,/^rings_ok$/i,/^rings_nok$/i,/objectid/i,/^perimeter_/i,/_perimeter$/i,/_i$/i];function Y(e){const n=new Set;W(e).forEach(e=>n.add(e)),P(e).forEach(e=>n.add(e.toLowerCase()));const t=e&&"infoFor3D"in e?e.infoFor3D:void 0;return t&&(Object.values(t.assetMapFieldRoles).forEach(e=>n.add(e.toLowerCase())),Object.values(t.transformFieldRoles).forEach(e=>n.add(e.toLowerCase()))),Array.from(n)}function J(e){if(!e)return[];const n="editFieldsInfo"in e&&e.editFieldsInfo;if(!n)return[];const{creationDateField:t,creatorField:i,editDateField:r,editorField:l}=n;return[t,i,r,l].filter(Boolean)}function W(e){return J(e).map(e=>e.toLowerCase())}function H(e){return!!e.type}function K(e,n){return!!e.editable&&H(e)&&!z.has(e.type)&&!W(n).includes(e.name?.toLowerCase()??"")}function Q(e,n){const t=e.name?.toLowerCase()??"";return!(null!=n?.objectIdField&&t===n.objectIdField.toLowerCase()||null!=n?.globalIdField&&t===n.globalIdField.toLowerCase()||Y(n).includes(t)||X.has(e.type)||B.some(e=>e.test(t)))}async function Z(e){if(!e)return[];const n=new Set;return await ee(n,e),Array.from(n).sort()}async function ee(e,n){const{labelingInfo:t,fieldsIndex:i}=n;t?.length&&await Promise.all(t.map(n=>ne(e,i,n)))}async function ne(e,n,t){if(!t)return;const i=t.getLabelExpression(),r=t.where;if("arcade"===i.type)await E(e,n,null,i.expression);else{const t=i.expression.match(/{[^}]*}/g);t&&t.forEach(t=>{T(e,n,t.slice(1,-1))})}await A(e,n,r)}function te(e){const n=e.defaultValue;return void 0!==n&&ae(e,n)?n:e.nullable?null:void 0}function ie(e){const n="string"==typeof e?{type:e}:e;return be(n)?255:"esriFieldTypeDate"===n.type||"date"===n.type?8:void 0}function re(e){return"number"==typeof e&&!isNaN(e)&&isFinite(e)}function le(e){return null===e||re(e)}function oe(e){return null===e||Number.isInteger(e)}function se(){return!0}function ae(e,n){let t;switch(e.type){case"date":case"integer":case"long":case"small-integer":case"big-integer":case"esriFieldTypeDate":case"esriFieldTypeInteger":case"esriFieldTypeLong":case"esriFieldTypeSmallInteger":case"esriFieldTypeBigInteger":t=e.nullable?oe:Number.isInteger;break;case"double":case"single":case"esriFieldTypeSingle":case"esriFieldTypeDouble":t=e.nullable?le:re;break;case"string":case"esriFieldTypeString":t=e.nullable?a:u;break;default:t=se}return 1===arguments.length?t:t(n)}const ue=["integer","small-integer","big-integer","long"],fe=["single","double"],ce=[...ue,...fe],de=["esriFieldTypeInteger","esriFieldTypeSmallInteger","esriFieldTypeLong","esriFieldTypeBigInteger"],pe=["esriFieldTypeSingle","esriFieldTypeDouble"],me=new Set([...ue,...de]),ye=new Set([...fe,...pe]),ge=i(me,ye);function Fe(e){return null!=e&&me.has(e.type)}function Ie(e){return null!=e&&ge.has(e.type)}function be(e){return null!=e&&("string"===e.type||"esriFieldTypeString"===e.type)}function we(e){return null!=e&&("date"===e.type||"esriFieldTypeDate"===e.type)}function xe(e){return null!=e&&("date-only"===e.type||"esriFieldTypeDateOnly"===e.type)}function Te(e){return null!=e&&("timestamp-offset"===e.type||"esriFieldTypeTimestampOffset"===e.type)}function he(e){return null!=e&&("time-only"===e.type||"esriFieldTypeTimeOnly"===e.type)}function _e(e){return null!=e&&("date"===e.type||"date-only"===e.type||"time-only"===e.type||"timestamp-offset"===e.type)}function Ee(e){return null!=e&&("oid"===e.type||"esriFieldTypeOID"===e.type)}function Ae(e){return null!=e&&("global-id"===e.type||"esriFieldTypeGlobalID"===e.type)}function ve(e,n){return null===Oe(e,n)}const Se={OUT_OF_RANGE:"numeric-range-validation-error::out-of-range"},Ne={INVALID_TYPE:"type-validation-error::invalid-type"};function Le(e){return null==e||"number"==typeof e&&isNaN(e)?null:e}function $e(e){return parseFloat(e.replaceAll("_",""))}function Oe(e,n){return null==e||e.nullable&&null===n?null:ae(e,n)?Ie(e)&&!Me(e.type,Number(n))?Se.OUT_OF_RANGE:null:Ne.INVALID_TYPE}function Me(e,n){const t="string"==typeof e?Ve(e):e;if(!t)return!1;const i=t.min,r=t.max;return t.isInteger?Number.isInteger(n)&&n>=i&&n<=r:n>=i&&n<=r}function De(e,n){const t=o(e,n);return t||(Ie(e)?Ve(e.type):void 0)}function Ve(e){switch(e){case"esriFieldTypeSmallInteger":case"small-integer":return je;case"esriFieldTypeInteger":case"esriFieldTypeLong":case"integer":case"long":return Ce;case"esriFieldTypeBigInteger":case"big-integer":return Ge;case"esriFieldTypeSingle":case"single":return qe;case"esriFieldTypeDouble":case"double":return ze}}function Re(e){if(!re(e))return null;if(Number.isInteger(e)){if(e>=je.min&&e<=je.max)return"esriFieldTypeSmallInteger";if(e>=Ce.min&&e<=Ce.max)return"esriFieldTypeInteger";if(e>=Ge.min&&e<=Ge.max)return"esriFieldTypeBigInteger"}return e>=qe.min&&e<=qe.max?"esriFieldTypeSingle":"esriFieldTypeDouble"}const je={min:-32768,max:32767,isInteger:!0,rawMin:-32768,rawMax:32767},Ue=-2147483648,ke=2**31-1,Ce={min:Ue,max:ke,isInteger:!0,rawMin:Ue,rawMax:ke},Ge={min:-Number.MAX_SAFE_INTEGER,max:Number.MAX_SAFE_INTEGER,isInteger:!0,rawMin:-Number.MAX_SAFE_INTEGER,rawMax:Number.MAX_SAFE_INTEGER},Pe=(2-2**-23)*2**127,qe={min:-Pe,max:Pe,isInteger:!1,rawMin:-Pe,rawMax:Pe},ze={min:-Number.MAX_VALUE,max:Number.MAX_VALUE,isInteger:!1,rawMin:-Number.MAX_VALUE,rawMax:Number.MAX_VALUE};function Xe(e,n,t){switch(e){case l.INVALID_CODED_VALUE:return`Value ${t} is not in the coded domain - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case l.VALUE_OUT_OF_RANGE:return`Value ${t} is out of the range of valid values - field: ${n.name}, domain: ${JSON.stringify(n.domain)}`;case Ne.INVALID_TYPE:return`Value ${t} is not a valid value for the field type - field: ${n.name}, type: ${n.type}, nullable: ${n.nullable}`;case Se.OUT_OF_RANGE:{const{min:e,max:i}=Ve(n.type);return`Value ${t} is out of range for the number type - field: ${n.name}, type: ${n.type}, value range is ${e} to ${i}`}}}function Be(e,n){return!Ye(e,n,null)}function Ye(e,n,t){if(!e?.attributes||!n){if(null!=t)for(const e of n??[])t.add(e);return!0}const i=new Set(Object.keys(e.attributes));let r=!1;for(const l of n)if(!i.has(l)){if(r=!0,null==t)break;t.add(l)}return r}async function Je(e,n){const t=new Set;for(const i of n)await E(t,e.fieldsIndex,null,i);return Array.from(t).sort()}function We(e){return!!e&&["raster.itempixelvalue","raster.servicepixelvalue"].some(n=>e.toLowerCase().startsWith(n))}async function He(e,n){const t=new Set;return e?.collectRequiredFields&&await e.collectRequiredFields(t,n),Array.from(t).sort()}function Ke(e){const n=e?.match(/{[^}]+}/g);return n?n.map(e=>e.slice(1,-1).split(":")[0].trim()):[]}function Qe(e,n){const{statisticType:t,onStatisticField:i,onStatisticExpression:r}=e,l=n.get(i),o=Ie(l),s=r?.returnType;switch(t){case"avg":case"avg_angle":return l?o||we(l)?"double":null:s&&"number"===s?"double":null;case"count":return"integer";case"min":case"max":return l?o||_e(l)?l?.type??null:null:s&&"number"===s?"double":null;case"sum":return l?o?l?.type??null:null:s&&"number"===s?"double":null;case"mode":return l?l?.type??null:s?"number"===s?"double":"string":null;default:return null}}function Ze(e){const{fieldName:n,fieldsMap:t,normalizedFieldsMap:i}=e;if(!n)return;let r=t.get(n);return r||(r=t.get(en(n))??i.get(nn(n)),r&&t.set(n,r),r)}function en(e){return e.trim().toLowerCase()}function nn(e){return p(e)?.toLowerCase()??""}export{Se as NumericRangeValidationError,Ne as TypeValidationError,en as applyLowerCaseFieldName,Ge as bigIntegerRange,E as collectArcadeFieldNames,q as collectDisplayFilterFields,O as collectElevationFields,D as collectFeatureReductionFields,T as collectField,x as collectFields,j as collectFilterFields,ee as collectLabelingFields,U as collectOrderByInfos,R as collectPopupTemplateFields,A as collectSQLFieldNames,V as collectTrackInfoFields,ze as doubleRange,Ke as extractSubstitutionTemplatesFromString,Be as featureHasFields,w as fixFields,g as fixRendererFields,I as fixTimeInfoFields,pe as floatJSONTypes,fe as floatTypes,Qe as getAggregateFieldType,v as getDisplayFieldName,S as getDisplayFieldNameFromFields,J as getEditTrackingFields,$ as getElevationFields,Je as getExpressionFields,G as getFeatureEditFields,P as getFeatureGeometryFields,ie as getFieldDefaultLength,te as getFieldDefaultValue,Ze as getFieldFromIndex,De as getFieldRange,Z as getLabelingFields,Y as getLowerCaseDefaultHiddenFields,W as getLowerCaseEditTrackingFields,Re as getNumericTypeForValue,He as getRendererFields,C as getTimeFields,de as integerJSONTypes,Ce as integerRange,ue as integerTypes,we as isDateField,xe as isDateOnlyField,K as isFieldEditable,Q as isFieldVisibleByDefault,H as isFieldWithType,Ae as isGlobalIDField,Fe as isIntegerField,Me as isNumberInRange,Ie as isNumericField,Ee as isObjectIDField,We as isRasterPixelValueField,be as isStringField,he as isTimeOnlyField,Te as isTimestampOffsetField,ve as isValidFieldValue,ae as isValueMatchingFieldType,nn as lowerCaseNormalizedFieldName,p as normalizeFieldName,ce as numericTypes,_ as packFields,Ye as populateMissingFields,m as rendererFields,Le as sanitizeNullFieldValue,$e as sanitizedParseFloat,qe as singleRange,je as smallIntegerRange,h as unpackFieldNames,Oe as validateFieldValue,Xe as validationErrorToString,y as visualVariableFields};
|