@arcgis/core 5.2.0-next.147 → 5.2.0-next.148
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/03afeefb9d16b6f1d844.js +1 -0
- package/assets/esri/core/workers/chunks/{79c83f4e066682543ca1.js → 0a078721c7e0e24027f0.js} +1 -1
- package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → 112befb3b5b406f29298.js} +1 -1
- package/assets/esri/core/workers/chunks/131e89663014bc76c4ee.js +1 -0
- package/assets/esri/core/workers/chunks/{392bcef780df52fb4cca.js → 16053ce50642c5ffbfa9.js} +1 -1
- package/assets/esri/core/workers/chunks/19689c66776b39cec234.js +1 -0
- package/assets/esri/core/workers/chunks/{ba46869e700ba1d2787f.js → 1b3f59fcad6e14c4d0e0.js} +1 -1
- package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
- package/assets/esri/core/workers/chunks/{305a718719ef15fda90c.js → 20458fffda7692c78135.js} +1 -1
- package/assets/esri/core/workers/chunks/219d0935ce281902a49f.js +1 -0
- package/assets/esri/core/workers/chunks/2416518db4a0117541a8.js +1 -0
- package/assets/esri/core/workers/chunks/{8b1c17cc52d989924313.js → 27a425d87c57b91489b3.js} +1 -1
- package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
- package/assets/esri/core/workers/chunks/{06e7400f5ebe0719b81c.js → 2e75df54852d65e71330.js} +1 -1
- package/assets/esri/core/workers/chunks/39d1d2fbe94afcd0a590.js +1 -0
- package/assets/esri/core/workers/chunks/{d01381b548c204835509.js → 3e9f056e4d1f0d067fc6.js} +1 -1
- package/assets/esri/core/workers/chunks/407f1e8176f3b0af73b4.js +1 -0
- package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
- package/assets/esri/core/workers/chunks/43321f244effd3d67069.js +1 -0
- package/assets/esri/core/workers/chunks/47e6b5631a625298db5b.js +1 -0
- package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
- package/assets/esri/core/workers/chunks/4fc337240e7cddd0e988.js +1 -0
- package/assets/esri/core/workers/chunks/52c25809edf7ac008a52.js +1 -0
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
- package/assets/esri/core/workers/chunks/561c48cb4d49b150765b.js +1 -0
- package/assets/esri/core/workers/chunks/{5c855af73ee3c3e764fb.js → 5732fdf6d8b87739aeea.js} +1 -1
- package/assets/esri/core/workers/chunks/5924ec3167a2941ebb1f.js +1 -0
- package/assets/esri/core/workers/chunks/5f0c06f59121e09091f7.js +1 -0
- package/assets/esri/core/workers/chunks/5fa1ec357c3ad1f91bc7.js +1 -0
- package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
- package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{6f358116f79021ff9687.js → 612104dff305ff062dfa.js} +2 -2
- package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
- package/assets/esri/core/workers/chunks/6eb5cc8ddf772c0062e6.js +1 -0
- package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
- package/assets/esri/core/workers/chunks/70ee81ba22badbbf045c.js +1 -0
- package/assets/esri/core/workers/chunks/731018c0deffc41ffc97.js +1 -0
- package/assets/esri/core/workers/chunks/7320a4913b6cad7cc5d7.js +1 -0
- package/assets/esri/core/workers/chunks/7a4f1484b119ebafc2e7.js +1 -0
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
- package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → 830ab9b8d000169da675.js} +1 -1
- package/assets/esri/core/workers/chunks/8602b3587d4bdd9cc9f5.js +1 -0
- package/assets/esri/core/workers/chunks/{956a40f40bde416efe93.js → 898f43feeec74acde1ec.js} +1 -1
- package/assets/esri/core/workers/chunks/{700b1d5bc67b7e1b3ff3.js → 8aa80b892fde552577e8.js} +1 -1
- package/assets/esri/core/workers/chunks/8ef802ef8d108ae2e473.js +1 -0
- package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
- package/assets/esri/core/workers/chunks/925271bb763607a326ae.js +1 -0
- package/assets/esri/core/workers/chunks/937824bc7948f7bc7845.js +1 -0
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
- package/assets/esri/core/workers/chunks/{a52bf03bffb6ffac3b54.js → a101b89c18488f213d80.js} +1 -1
- package/assets/esri/core/workers/chunks/a337ca943862b30b978d.js +1 -0
- package/assets/esri/core/workers/chunks/ac03976b8450331aa31e.js +1 -0
- package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
- package/assets/esri/core/workers/chunks/afc3b2af20e9d1dfd260.js +1 -0
- package/assets/esri/core/workers/chunks/{97dbbedea9fe03bd1306.js → b0fd7cd5fc9526d30ddc.js} +1 -1
- package/assets/esri/core/workers/chunks/b3e812c3a06b486f05d2.js +1 -0
- package/assets/esri/core/workers/chunks/{6883a5c6883eccaddf64.js → b6ba66a05030d3815dfd.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
- package/assets/esri/core/workers/chunks/c598b22f78ccc57f9d6d.js +1 -0
- package/assets/esri/core/workers/chunks/c5d85be6e16bc895e7fb.js +1 -0
- package/assets/esri/core/workers/chunks/c62738f84c914671b143.js +1 -0
- package/assets/esri/core/workers/chunks/{820f41d66b2056a3ebc8.js → c7699edd14497d174445.js} +1 -1
- package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
- package/assets/esri/core/workers/chunks/dbcac8c1a76d4a9db13d.js +1 -0
- package/assets/esri/core/workers/chunks/{4ed8655770a3e018e366.js → de8d7f11f5a078c01b83.js} +1 -1
- package/assets/esri/core/workers/chunks/e0351753f6b4d1adf11e.js +1 -0
- package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
- package/assets/esri/core/workers/chunks/{4479a166b5ac8db1e12e.js → f2b69bd704db62915a6b.js} +1 -1
- package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
- package/assets/esri/core/workers/chunks/fdbf6208df5c58746d9d.js +1 -0
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ar.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bg.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.bs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ca.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.cs.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.da.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.de.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.el.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.es.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.et.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.fr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.he.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.hu.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.id.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.it.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ja.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ko.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lt.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.lv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.nl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.no.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-BR.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.pt-PT.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ro.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.ru.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sl.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.sv.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.th.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.tr.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.uk.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.vi.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-CN.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-HK.json +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.zh-TW.json +1 -1
- package/config.js +1 -1
- package/geometry/support/TileClipper.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/geometry/support/scaleUtils.js +1 -1
- package/kernel.js +1 -1
- package/layers/CSVLayer.d.ts +1 -1
- package/layers/CatalogLayer.d.ts +1 -1
- package/layers/FeatureLayer.d.ts +1 -1
- package/layers/GeoJSONLayer.d.ts +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/ParquetLayer.d.ts +4 -3
- package/layers/ParquetLayer.js +1 -1
- package/layers/SceneLayer.d.ts +4 -5
- package/layers/SceneLayer.js +1 -1
- package/layers/SketchLayer.d.ts +0 -1
- package/layers/SubtypeGroupLayer.d.ts +1 -1
- package/layers/WFSLayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
- package/layers/catalog/CatalogFootprintLayer.d.ts +1 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +1 -1
- package/layers/mixins/ArcGISImageService.d.ts +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/utils.js +1 -1
- package/layers/support/FeatureFilter.d.ts +1 -1
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/PortalItemData.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.d.ts +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/package.json +2 -2
- package/popup/FeaturesModel.d.ts +26 -5
- package/popup/FeaturesModel.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/rest/print.js +1 -1
- package/rest/support/printTaskUtils.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +3 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/View2D.d.ts +1 -1
- package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +1 -1
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +3 -4
- package/views/layers/PointCloudLayerView.d.ts +1 -1
- package/views/layers/SceneLayerView.d.ts +1 -1
- package/views/layers/ViewshedLayerView.d.ts +5 -6
- package/views/support/layerViewUtils.js +1 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/unsupportedErrors.js +1 -1
- package/widgets/Editor.d.ts +10 -0
- package/widgets/Legend.d.ts +1 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
- package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
- package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
- package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
- package/assets/esri/core/workers/chunks/0bb11751efa2023ec937.js +0 -1
- package/assets/esri/core/workers/chunks/2062d46f638eabfc9499.js +0 -1
- package/assets/esri/core/workers/chunks/222af8522773c7dc80b1.js +0 -1
- package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
- package/assets/esri/core/workers/chunks/347bf269c2b1583d2dca.js +0 -1
- package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
- package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
- package/assets/esri/core/workers/chunks/3e81dfc9d621ece038fe.js +0 -1
- package/assets/esri/core/workers/chunks/46b2d4addfc73f9183a4.js +0 -1
- package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
- package/assets/esri/core/workers/chunks/4f48d45baa8ada16f579.js +0 -1
- package/assets/esri/core/workers/chunks/50ca55ad2f5421acc492.js +0 -1
- package/assets/esri/core/workers/chunks/5450f339f97b2b042ee2.js +0 -1
- package/assets/esri/core/workers/chunks/55cc8581978c71b17998.js +0 -1
- package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
- package/assets/esri/core/workers/chunks/641d196a554bd07f729e.js +0 -1
- package/assets/esri/core/workers/chunks/655c3afda1eef01611dd.js +0 -1
- package/assets/esri/core/workers/chunks/6569797d3c22442e5e97.js +0 -1
- package/assets/esri/core/workers/chunks/70793967db45fb142962.js +0 -1
- package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
- package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
- package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
- package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
- package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
- package/assets/esri/core/workers/chunks/9401cc22373566e1171e.js +0 -1
- package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
- package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
- package/assets/esri/core/workers/chunks/9c1e69ac82e2bf746191.js +0 -1
- package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
- package/assets/esri/core/workers/chunks/a05790444115e4cf1bcc.js +0 -1
- package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
- package/assets/esri/core/workers/chunks/b2c29bc48c7b3b0c9357.js +0 -1
- package/assets/esri/core/workers/chunks/b7d77dd2abb255fd2e5a.js +0 -1
- package/assets/esri/core/workers/chunks/b8054adc45bca069b948.js +0 -1
- package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
- package/assets/esri/core/workers/chunks/d21257d2e2a37266c0f7.js +0 -1
- package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
- package/assets/esri/core/workers/chunks/d4f038e04c42aed588c1.js +0 -1
- package/assets/esri/core/workers/chunks/e32b96c08cb272a59851.js +0 -1
- package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
- package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
- package/assets/esri/core/workers/chunks/f511a304e9dea9eb3e01.js +0 -1
package/layers/SceneLayer.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../Graphic.js";import n from"../PopupTemplate.js";import{ClonableMixin as r}from"../core/Clonable.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{abortHandle as o}from"../core/handleUtils.js";import s from"../core/Logger.js";import{destroyMaybe as c}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,throwIfAborted as d,isAbortError as f,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{whenOnce as m}from"../core/reactiveUtils.js";import{property as h,subclass as g}from"../core/accessorSupport/decorators.js";import{getProperties as _}from"../core/accessorSupport/utils.js";import v from"../geometry/Point.js";import{projectAsync as y}from"../geometry/projectionUtils.js";import b from"../graphic/SceneGraphicOrigin.js";import x from"./Layer.js";import{NoModelError as ee,MultipleModelsError as S}from"./graphics/sources/support/uploadAssetErrors.js";import{APIKeyMixin as C}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{CustomParametersMixin as te}from"./mixins/CustomParametersMixin.js";import{EditBusLayer as ne}from"./mixins/EditBusLayer.js";import{OperationalLayer as re}from"./mixins/OperationalLayer.js";import{PortalLayer as ie}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as ae}from"./mixins/ScaleRangeLayer.js";import{SceneService as oe}from"./mixins/SceneService.js";import{useViewTimeProperty as se}from"./mixins/TemporalLayer.js";import{isHostedAgolService as T}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as ce}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as le}from"./support/capabilities.js";import{elevationInfo as E,labelsVisible as D,legendEnabled as O,popupEnabled as k,attributeTableTemplate as A,screenSizePerspectiveEnabled as j,timeInfo as M}from"./support/commonProperties.js";import{getFieldDomain as N,computeEffectiveEditingEnabled as P,getGlobalIdToObjectIdMap as F}from"./support/featureLayerUtils.js";import I from"./support/FeatureReductionSelection.js";import{defineFieldProperties as L}from"./support/fieldProperties.js";import R from"./support/FieldsIndex.js";import{fixRendererFields as z,fixTimeInfoFields as B,unpackFieldNames as V}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as U,I3STextureSetDefinition as W,I3SGeometryDefinition as ue}from"./support/I3SLayerDefinitions.js";import{isFileEditFormat as de,isFileSupported as fe}from"./support/infoFor3D.js";import pe from"./support/LabelClass.js";import{reader as G}from"./support/labelingInfo.js";import me from"./support/LayerFloorInfo.js";import{layersLoaderMap as he}from"./support/layersLoader.js";import{getMeshTransformForMetersToSpatialReference as ge}from"./support/meshSpatialReferenceScaleUtils.js";import{RangeInfo as _e}from"./support/RangeInfo.js";import ve from"./support/SceneFilter.js";import{cacheIsOutOfSync as K}from"./support/sceneLayerCacheUtils.js";import{fetchStatistics as ye}from"./support/sceneLayerStatistics.js";import{SceneServiceTimeInfo as be}from"./support/SceneServiceTimeInfo.js";import xe from"./support/TimeInfo.js";import{loadStyleRenderer as Se}from"../renderers/support/styleUtils.js";import{webSceneRendererTypes as Ce}from"../renderers/support/typeUtils.js";import we from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as q,elevationModeUnsupportedMessage as Te,featureExpressionUnsupportedMessage as Ee}from"../support/elevationInfoUtils.js";import{createPopupTemplate as De}from"../support/popupUtils.js";import{extractZipFiles as Oe}from"../support/zipUtils.js";import J from"../time/TimeExtent.js";import ke from"../time/TimeInterval.js";import{queryAttributesFromCachedAttributesId as Ae}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as je,getFetchPopupTemplate as Me}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as Ne}from"../webdoc/support/opacityUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=new Set([`3DObject`,`Point`]),Z=L();let Q=class extends ne(oe(w(re(ie(ae(l(te(C(r(x)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType=`ArcGISSceneServiceLayer`,this.type=`scene`,this.fields=null,this.graphicOrigin=new b(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new i,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0,this.serviceTimeInfo=null}normalizeCtorArgs(e,t){return typeof e==`string`?{url:e,...t}:e}destroy(){this._set(`renderer`,null),this.associatedLayer=c(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){let n=this.getField(e)?.domain??null;return this.associatedLayer?N(this.associatedLayer,e,t,n):n}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new R(this.fields)}readNodePages(e,t,n){return t.layerType===`Point`&&(e=t.pointNodePages),typeof e!=`object`||!e?null:H.fromJSON(e,n)}set elevationInfo(e){this._set(`elevationInfo`,e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return this.associatedLayer!=null&&P(this.associatedLayer)}get geometryType(){return Pe[this.profile]||`mesh`}set renderer(e){z(e,this.fieldsIndex),this._set(`renderer`,e)}readCachedDrawingInfo(e){return(typeof e!=`object`||!e)&&(e={}),e.color??(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e??=le;let{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsRollbackOnFailure:i,supportsUploadWithItemId:a,supportsGeometryUpdate:o,supportsReturnServiceEditsInSourceSpatialReference:s},data:{supportsZ:c,supportsM:l,isVersioned:u,supportsAttachment:d},operations:{supportsEditing:f,supportsAdd:p,supportsUpdate:m,supportsDelete:h,supportsQuery:g,supportsQueryAttachments:_,supportsAsyncConvert3D:v},attachment:y}=e,b=e.operations.supportsChangeTracking,x=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsReturnServiceEditsInSourceSpatialReference:s,supportsRollbackOnFailure:i,supportsGeometryUpdate:x&&o,supportsUploadWithItemId:a},data:{supportsAttachment:d,supportsZ:c,supportsM:l,isVersioned:u,queryFormats:e.data.queryFormats,sourceFormats:e.data.sourceFormats},operations:{supportsQuery:g,supportsQueryAttachments:_,supportsEditing:f&&b,supportsAdd:x&&p&&b,supportsDelete:x&&h&&b,supportsUpdate:m&&b,supportsAsyncConvert3D:v},attachment:y}}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeOID`&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeGlobalID`&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){let n=t.store.profile;return n!=null&&$[n]?$[n]:(s.getLogger(this).error(`Unknown or missing profile`,{profile:n,layer:this}),`mesh-pyramids`)}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override(`useViewTime`,e)}get timeInfo(){let e=this.associatedLayer?.timeInfo;if(e==null)return null;let t=e.clone();return B(t,this.fieldsIndex),t}set timeInfo(e){B(e,this.fieldsIndex),this._override(`timeInfo`,e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override(`timeExtent`,e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override(`timeOffset`,e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override(`datesInUnknownTimezone`,e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){let t=e?.signal;await this.loadFromPortal({supportedTypes:[`Scene Service`]},e).catch(u),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await Se(this,{origin:`service`},t),z(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){this.filter!=null&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){s.getLogger(this).error(`#_loadFilterGeometries()`,this,`Failed to load filter geometries. Geometry filter will not be applied for this layer.`,{error:e}),this.filter=null}}createQuery(){let e=new we;return this.geometryType===`mesh`?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0),e.where=this.definitionExpression||`1=1`,e.sqlFormat=`standard`,e.outFields=[`*`],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(let t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryModels(e,t){let[n,{queryModels:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryModel(e,t){let[n,{queryModel:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){let n=V(this.fieldsIndex,await je(this,Me(this)));return Ae(this.parsedUrl?.path??``,this.attributeStorageInfo??[],e,t,n,this.apiKey,this.customParameters)}async queryCachedFeature(e,n){let r=await this.queryCachedAttributes(e,[n]);if(!r||r.length===0)throw new a(`scenelayer:feature-not-in-cached-data`,`Feature not found in cached data`);let i=new t;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryAttachments(e,t))}getFieldUsageInfo(e){let t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(s.getLogger(this).error(`#getFieldUsageInfo()`,`Unavailable until layer is loaded`),t)}createPopupTemplate(e){return De(this,e)}_getAssociatedLayerForQuery(){let e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});try{await this.associatedLayer.load()}catch(e){throw new a(`scenelayer:query-not-available`,`SceneLayer associated feature layer could not be loaded`,{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return this.statisticsInfo!=null&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`},e)}async save(){return this._debouncedSaveOperations(0,{getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`})}async applyEdits(e,t){let{applyEdits:n}=await import(`./graphics/editingSupport.js`),r=t;await this.load();let i=this.associatedLayer;if(!i)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);await i.load();let{globalIdField:o}=i,s=!!i.infoFor3D,c=r?.globalIdUsed??!0;if(s&&o==null)throw new a(`${this.type}-layer:not-editable`,`Valid globalIdField expected on editable SceneLayer`);if(s&&!c)throw new a(`${this.type}-layer:globalid-required`,`globalIdUsed must not be false for SceneLayer editing as globalIds are required.`);return T(i.url)&&s&&e.deleteFeatures!=null&&o!=null&&(r={...r,globalIdToObjectId:await F(i,e.deleteFeatures,o)}),n(this,i.source,e,r)}async uploadAssets(e,t){if(await this.load(),this.associatedLayer==null)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={};let n=e=>{throw s.getLogger(this).error(`.convertMesh()`,e.message),e};await this.load(t),this.infoFor3D||n(new a(`invalid:layer`,`SceneLayer has no capability for mesh conversion`));let r=await this.extractAndFilterFiles(e);d(t);let i=r.reduce((e,t)=>de(this.infoFor3D,t)?e+1:e,0);i===0&&n(new ee),i>1&&n(new S);let o=this.spatialReference,c=t.origin,l=await y(c??t.defaultOrigin??new v({x:0,y:0,z:0,spatialReference:o}),o,t),u=o.isGeographic?`local`:`georeferenced`,{createWithExternalSource:f}=await import(`../geometry/support/meshUtils.js`);d(t);let p=f(l,{type:`client`,files:r},{vertexSpace:u,transform:ge(o),unitConversionDisabled:!0}),[m]=await this.uploadAssets([p],{...t,useAssetOrigin:!c});return m}async extractAndFilterFiles(e){await this.load();let t=this.infoFor3D;return t?(await Oe(e)).filter(e=>fe(t,e)):e}validateLayer(e){if(e.layerType&&!X.has(e.layerType))throw new a(`scenelayer:layer-type-not-supported`,`SceneLayer does not support this layer type`,{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new a(`layer:service-version-not-supported`,`Service version is not supported.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});if(this.version.major>2)throw new a(`layer:service-version-too-new`,`Service version is too new.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});t(this.normalReferenceFrame,this.spatialReference);function t(e,t){let n=!1,r=!1;if(e==null)n=!0,r=!0;else{let i=t&&t.isGeographic;switch(e){case`east-north-up`:case`earth-centered`:n=!0,r=i;break;case`vertex-reference-frame`:n=!0,r=!i;break;default:n=!1}}if(!n)throw new a(`scenelayer:unsupported-normal-reference-frame`,`Normal reference frame is invalid.`);if(!r)throw new a(`scenelayer:incompatible-normal-reference-frame`,`Normal reference frame is incompatible with layer spatial reference.`)}}get isUsedAsGroundLayer(){return!1}_getTypeKeywords(){let e=[];if(this.profile===`points`)e.push(`Point`);else if(this.profile===`mesh-pyramids`)e.push(`3DObject`);else throw new a(`scenelayer:unknown-profile`,`SceneLayer:save() encountered an unknown SceneLayer profile: `+this.profile);return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(let e of this.fields){let t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),n=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),r={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||n,supportsLayerQuery:n};this._fieldUsageInfo[e.name]=r}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(let t of this.associatedLayer.fields){let n=this.getField(t.name);n?(!n.domain&&t.domain&&(n.domain=t.domain.clone()),n.editable=t.editable,n.nullable=t.nullable,n.length=t.length):(e||=this.fields?this.fields.slice():[],e.push(t.clone()))}e&&this._set(`fields`,e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;let e=[`popupTemplate`,`popupEnabled`,`attributeTableTemplate`],t=_(this);for(let n=0;n<e.length;n++){let r=e[n],i=this.originIdOf(r),a=this.associatedLayer.originIdOf(r);i<a&&(a===2||a===3)&&t.setAtOrigin(r,this.associatedLayer[r],a)}}_applyAssociatedLayerExtentOverride(){let e=this.associatedLayer?.getAtOrigin(`fullExtent`,`service`);this.associatedLayer?.infoFor3D!=null&&e&&T(this.associatedLayer?.url)&&K(this)&&_(this).setAtOrigin(`fullExtent`,e.clone(),2)}_applyAssociatedLayerPrivileges(){let e=this.associatedLayer;e&&(this._set(`userHasEditingPrivileges`,e.userHasEditingPrivileges),this._set(`userHasFullEditingPrivileges`,e.userHasFullEditingPrivileges),this._set(`userHasUpdateItemPrivileges`,e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if([`mesh-pyramids`,`points`].includes(this.profile))try{let{serverUrl:t,layerId:n,portalItem:r}=await ce(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),i=await he.FeatureLayer();this.associatedLayer=new i({url:t,customParameters:this.customParameters,apiKey:this.apiKey,layerId:n,portalItem:r}),await this.associatedLayer.load()}catch(e){f(e)||this._logWarningOnPopupEnabled().catch(()=>{})}}async _logWarningOnPopupEnabled(){let e=new AbortController;this.addHandles(o(e));try{await m(()=>this.popupEnabled&&this.popupTemplate!=null,e.signal)}catch(e){p(e);return}let t=`this SceneLayer: ${this.title}`;this.attributeStorageInfo==null?s.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):s.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){let e=this.elevationInfo;this.profile===`mesh-pyramids`&&q(s.getLogger(this),Te(`Mesh scene layers`,`relative-to-scene`,e)),q(s.getLogger(this),Ee(`Scene layers`,e))}async fetchStatistics(e,t){return await ye({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:`scenelayer`,fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??``,customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}async loadTimeInfoFromService(e){let{serviceTimeInfo:t}=this;if(t==null)return;let{startTimeField:n,endTimeField:r}=t;if(n==null&&r==null||K({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;let i=async t=>{let r=null;try{r=(await this.fetchStatistics(t,e))?.stats}catch{}if(r==null)return null;let{minTimeStr:i,min:a,maxTimeStr:o,max:s}=r,c=t===n?i??a:o??s;return c==null?null:new Date(c)},[a,o]=await Promise.all([i(n),i(r)]);if(n!=null&&a==null||r!=null&&o==null)return;let s=new J({start:a,end:o});this.setAtOrigin(`timeInfo`,new xe({endField:r,startField:n,fullTimeExtent:s}),`service`)}};e([h({types:{key:`type`,base:null,typeMap:{selection:I}},json:{origins:{"web-scene":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}},"portal-item":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}}}}})],Q.prototype,`featureReduction`,void 0),e([h({type:[_e],json:{read:!1,origins:{"web-scene":{name:`layerDefinition.rangeInfos`,write:!0},"portal-item":{name:`layerDefinition.rangeInfos`,write:!0}}},clonable:!1})],Q.prototype,`rangeInfos`,void 0),e([h({json:{read:!1}})],Q.prototype,`associatedLayer`,void 0),e([h({type:[`show`,`hide`]})],Q.prototype,`listMode`,void 0),e([h({type:[`ArcGISSceneServiceLayer`]})],Q.prototype,`operationalLayerType`,void 0),e([h({json:{read:!1},readOnly:!0})],Q.prototype,`type`,void 0),e([h({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`fields`,void 0),e([h()],Q.prototype,`types`,null),e([h()],Q.prototype,`typeIdField`,null),e([h()],Q.prototype,`templates`,null),e([h()],Q.prototype,`formTemplate`,null),e([h({readOnly:!0})],Q.prototype,`graphicOrigin`,void 0),e([h({readOnly:!0,clonable:!1})],Q.prototype,`fieldsIndex`,null),e([h({type:me,json:{read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`}}})],Q.prototype,`floorInfo`,void 0),e([h(Z.outFields)],Q.prototype,`outFields`,void 0),e([h({type:H,readOnly:!0,json:{read:!1},clonable:!1})],Q.prototype,`nodePages`,void 0),e([Y(`service`,`nodePages`,[`nodePages`,`pointNodePages`])],Q.prototype,`readNodePages`,null),e([h({type:[U],readOnly:!0,clonable:!1})],Q.prototype,`materialDefinitions`,void 0),e([h({type:[W],readOnly:!0,clonable:!1})],Q.prototype,`textureSetDefinitions`,void 0),e([h({type:[ue],readOnly:!0,clonable:!1})],Q.prototype,`geometryDefinitions`,void 0),e([h({readOnly:!0})],Q.prototype,`serviceUpdateTimeStamp`,void 0),e([h({readOnly:!0})],Q.prototype,`attributeStorageInfo`,void 0),e([h({readOnly:!0})],Q.prototype,`statisticsInfo`,void 0),e([h({type:i.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.excludeObjectIds`,write:{enabled:!0}}})],Q.prototype,`excludeObjectIds`,void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Q.prototype,`definitionExpression`,void 0),e([h({type:ve,json:{name:`layerDefinition.polygonFilter`,write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],Q.prototype,`filter`,void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Q.prototype,`path`,void 0),e([h(E)],Q.prototype,`elevationInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`effectiveCapabilities`,null),e([h({readOnly:!0})],Q.prototype,`effectiveEditingEnabled`,null),e([h({type:String})],Q.prototype,`geometryType`,null),e([h(D)],Q.prototype,`labelsVisible`,void 0),e([h({type:[pe],json:{origins:{service:{name:`drawingInfo.labelingInfo`,read:{reader:G},write:!1}},name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:G},write:!0}})],Q.prototype,`labelingInfo`,void 0),e([h(O)],Q.prototype,`legendEnabled`,void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:[`opacity`,`layerDefinition.drawingInfo.transparency`],reader(e,t){if(typeof e==`number`&&e>=0&&e<=1)return e;let n=t.layerDefinition?.drawingInfo?.transparency;return n===void 0?void 0:Ne(n)}}},"portal-item":{write:!0},service:{read:!1}}}})],Q.prototype,`opacity`,void 0),e([h({type:[`Low`,`High`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`priority`,void 0),e([h({type:[`Labels`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`semantic`,void 0),e([h({types:Ce,json:{origins:{service:{read:{source:`drawingInfo.renderer`}}},name:`layerDefinition.drawingInfo.renderer`,write:!0},value:null})],Q.prototype,`renderer`,null),e([h({json:{read:!1}})],Q.prototype,`cachedDrawingInfo`,void 0),e([Y(`service`,`cachedDrawingInfo`)],Q.prototype,`readCachedDrawingInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`capabilities`,null),e([h({type:Boolean,json:{read:!1}})],Q.prototype,`editingEnabled`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`infoFor3D`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`relationships`,null),e([h(k)],Q.prototype,`popupEnabled`,void 0),e([h({type:n,json:{name:`popupInfo`,write:!0}})],Q.prototype,`popupTemplate`,void 0),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`defaultPopupTemplate`,null),e([h(A)],Q.prototype,`attributeTableTemplate`,void 0),e([h({type:String,json:{read:!1}})],Q.prototype,`objectIdField`,void 0),e([Y(`service`,`objectIdField`,[`objectIdField`,`fields`])],Q.prototype,`readObjectIdField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`globalIdField`,void 0),e([Y(`service`,`globalIdField`,[`globalIdField`,`fields`])],Q.prototype,`readGlobalIdField`,null),e([h({readOnly:!0,type:String,json:{read:!1}})],Q.prototype,`displayField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`profile`,void 0),e([Y(`service`,`profile`,[`store.profile`])],Q.prototype,`readProfile`,null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:`store.normalReferenceFrame`}}},read:!1}})],Q.prototype,`normalReferenceFrame`,void 0),e([h(j)],Q.prototype,`screenSizePerspectiveEnabled`,void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`serviceItemId`,void 0),e([h(se)],Q.prototype,`useViewTime`,null),e([h(M({disableServiceOrigin:!0,webDocumentOrigin:`web-scene`}))],Q.prototype,`timeInfo`,null),e([h({type:J,json:{read:!1,write:!1}})],Q.prototype,`timeExtent`,null),e([h({type:ke,json:{read:!1,write:!1}})],Q.prototype,`timeOffset`,null),e([h({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],Q.prototype,`datesInUnknownTimezone`,null),e([h({type:be,readOnly:!0,json:{read:{source:`timeInfo`}},clonable:!1})],Q.prototype,`serviceTimeInfo`,void 0),e([h()],Q.prototype,`isUsedAsGroundLayer`,null),Q=e([g(`esri.layers.SceneLayer`)],Q);const $={"mesh-pyramids":`mesh-pyramids`,meshpyramids:`mesh-pyramids`,"features-meshes":`mesh-pyramids`,points:`points`,"features-points":`points`,lines:`lines`,"features-lines":`lines`,polygons:`polygons`,"features-polygons":`polygons`},Pe={"mesh-pyramids":`mesh`,points:`point`},Fe=Q;export{Fe as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../Graphic.js";import n from"../PopupTemplate.js";import{ClonableMixin as r}from"../core/Clonable.js";import i from"../core/Collection.js";import a from"../core/Error.js";import{abortHandle as o}from"../core/handleUtils.js";import s from"../core/Logger.js";import{destroyMaybe as c}from"../core/maybe.js";import{MultiOriginJSONSupportMixin as l}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,throwIfAborted as d,isAbortError as f,throwIfNotAbortError as p}from"../core/promiseUtils.js";import{whenOnce as m}from"../core/reactiveUtils.js";import{property as h,subclass as g}from"../core/accessorSupport/decorators.js";import{getProperties as _}from"../core/accessorSupport/utils.js";import v from"../geometry/Point.js";import{projectAsync as y}from"../geometry/projectionUtils.js";import b from"../graphic/SceneGraphicOrigin.js";import x from"./Layer.js";import{NoModelError as ee,MultipleModelsError as S}from"./graphics/sources/support/uploadAssetErrors.js";import{APIKeyMixin as C}from"./mixins/APIKeyMixin.js";import{ArcGISService as w}from"./mixins/ArcGISService.js";import{CustomParametersMixin as te}from"./mixins/CustomParametersMixin.js";import{EditBusLayer as ne}from"./mixins/EditBusLayer.js";import{OperationalLayer as re}from"./mixins/OperationalLayer.js";import{PortalLayer as ie}from"./mixins/PortalLayer.js";import{ScaleRangeLayer as ae}from"./mixins/ScaleRangeLayer.js";import{SceneService as oe}from"./mixins/SceneService.js";import{useViewTimeProperty as se}from"./mixins/TemporalLayer.js";import{isHostedAgolService as T}from"./support/arcgisLayerUrl.js";import{findAssociatedFeatureService as ce}from"./support/associatedFeatureServiceUtils.js";import{zeroCapabilities as le}from"./support/capabilities.js";import{elevationInfo as E,labelsVisible as D,legendEnabled as O,popupEnabled as k,attributeTableTemplate as A,screenSizePerspectiveEnabled as j,timeInfo as M}from"./support/commonProperties.js";import{getFieldDomain as N,computeEffectiveEditingEnabled as P,getGlobalIdToObjectIdMap as F}from"./support/featureLayerUtils.js";import I from"./support/FeatureReductionSelection.js";import{defineFieldProperties as L}from"./support/fieldProperties.js";import R from"./support/FieldsIndex.js";import{fixRendererFields as z,fixTimeInfoFields as B,unpackFieldNames as V}from"./support/fieldUtils.js";import{I3SNodePageDefinition as H,I3SMaterialDefinition as U,I3STextureSetDefinition as W,I3SGeometryDefinition as ue}from"./support/I3SLayerDefinitions.js";import{isFileEditFormat as de,isFileSupported as fe}from"./support/infoFor3D.js";import pe from"./support/LabelClass.js";import{reader as G}from"./support/labelingInfo.js";import me from"./support/LayerFloorInfo.js";import{layersLoaderMap as he}from"./support/layersLoader.js";import{getMeshTransformForMetersToSpatialReference as ge}from"./support/meshSpatialReferenceScaleUtils.js";import{RangeInfo as _e}from"./support/RangeInfo.js";import ve from"./support/SceneFilter.js";import{cacheIsOutOfSync as K}from"./support/sceneLayerCacheUtils.js";import{fetchStatistics as ye}from"./support/sceneLayerStatistics.js";import{SceneServiceTimeInfo as be}from"./support/SceneServiceTimeInfo.js";import xe from"./support/TimeInfo.js";import{loadStyleRenderer as Se}from"../renderers/support/styleUtils.js";import{webSceneRendererTypes as Ce}from"../renderers/support/typeUtils.js";import we from"../rest/support/Query.js";import{logInvalidElevationInfoWarning as q,elevationModeUnsupportedMessage as Te,featureExpressionUnsupportedMessage as Ee}from"../support/elevationInfoUtils.js";import{createPopupTemplate as De}from"../support/popupUtils.js";import{extractZipFiles as Oe}from"../support/zipUtils.js";import J from"../time/TimeExtent.js";import ke from"../time/TimeInterval.js";import{queryAttributesFromCachedAttributesId as Ae}from"../views/3d/layers/i3s/I3SUtil.js";import{getRequiredFields as je,getFetchPopupTemplate as Me}from"../views/layers/support/popupUtils.js";import{transparencyToOpacity as Ne}from"../webdoc/support/opacityUtils.js";import{reader as Y}from"../core/accessorSupport/decorators/reader.js";const X=new Set([`3DObject`,`Point`]),Z=L();let Q=class extends ne(oe(w(re(ie(ae(l(te(C(r(x)))))))))){constructor(...e){super(...e),this.featureReduction=null,this.rangeInfos=null,this.operationalLayerType=`ArcGISSceneServiceLayer`,this.type=`scene`,this.fields=null,this.graphicOrigin=new b(this),this.floorInfo=null,this.outFields=null,this.nodePages=null,this.materialDefinitions=null,this.textureSetDefinitions=null,this.geometryDefinitions=null,this.serviceUpdateTimeStamp=null,this.excludeObjectIds=new i,this.definitionExpression=null,this.filter=null,this.path=null,this.labelsVisible=!0,this.labelingInfo=null,this.legendEnabled=!0,this.priority=null,this.semantic=null,this.cachedDrawingInfo={color:!1},this.popupEnabled=!0,this.popupTemplate=null,this.attributeTableTemplate=null,this.objectIdField=null,this.globalIdField=null,this._fieldUsageInfo={},this.screenSizePerspectiveEnabled=!0,this.serviceItemId=void 0,this.serviceTimeInfo=null}normalizeCtorArgs(e,t){return typeof e==`string`?{url:e,...t}:e}destroy(){this._set(`renderer`,null),this.associatedLayer=c(this.associatedLayer)}getField(e){return this.fieldsIndex.get(e)}getFieldDomain(e,t){let n=this.getField(e)?.domain??null;return this.associatedLayer?N(this.associatedLayer,e,t,n):n}getFeatureType(e){return e&&this.associatedLayer?this.associatedLayer.getFeatureType(e):null}get types(){return this.associatedLayer?.types??[]}get typeIdField(){return this.associatedLayer?.typeIdField??null}get templates(){return this.associatedLayer?.templates??null}get formTemplate(){return this.associatedLayer?.formTemplate??null}get fieldsIndex(){return new R(this.fields)}readNodePages(e,t,n){return t.layerType===`Point`&&(e=t.pointNodePages),typeof e!=`object`||!e?null:H.fromJSON(e,n)}set elevationInfo(e){this._set(`elevationInfo`,e),this.loaded&&this._validateElevationInfo()}get effectiveCapabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.effectiveCapabilities)}get effectiveEditingEnabled(){return this.associatedLayer!=null&&P(this.associatedLayer)}get geometryType(){return Pe[this.profile]||`mesh`}set renderer(e){z(e,this.fieldsIndex),this._set(`renderer`,e)}readCachedDrawingInfo(e){return(typeof e!=`object`||!e)&&(e={}),e.color??(e.color=!1),e}get capabilities(){return this._capabilitiesFromAssociatedFeatureLayer(this.associatedLayer?.capabilities)}_capabilitiesFromAssociatedFeatureLayer(e){e??=le;let{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsRollbackOnFailure:i,supportsUploadWithItemId:a,supportsGeometryUpdate:o,supportsReturnServiceEditsInSourceSpatialReference:s},data:{supportsZ:c,supportsM:l,isVersioned:u,supportsAttachment:d},operations:{supportsEditing:f,supportsAdd:p,supportsUpdate:m,supportsDelete:h,supportsQuery:g,supportsQueryAttachments:_,supportsAsyncConvert3D:v},attachment:y}=e,b=e.operations.supportsChangeTracking,x=!!this.associatedLayer?.infoFor3D;return{query:t,queryRelated:n,editing:{supportsGlobalId:r,supportsReturnServiceEditsInSourceSpatialReference:s,supportsRollbackOnFailure:i,supportsGeometryUpdate:x&&o,supportsUploadWithItemId:a},data:{supportsAttachment:d,supportsZ:c,supportsM:l,isVersioned:u,queryFormats:e.data.queryFormats,sourceFormats:e.data.sourceFormats},operations:{supportsQuery:g,supportsQueryAttachments:_,supportsEditing:f&&b,supportsAdd:x&&p&&b,supportsDelete:x&&h&&b,supportsUpdate:m&&b,supportsAsyncConvert3D:v},attachment:y}}get editingEnabled(){return this._isOverridden(`editingEnabled`)?this._get(`editingEnabled`):this.associatedLayer?.editingEnabled??!1}set editingEnabled(e){this._overrideIfSome(`editingEnabled`,e)}get infoFor3D(){return this.associatedLayer?.infoFor3D??null}get relationships(){return this.associatedLayer?.relationships}get defaultPopupTemplate(){return this.associatedLayer||this.attributeStorageInfo?this.createPopupTemplate():null}readObjectIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeOID`&&(e=t.name),!!e)),e||void 0}readGlobalIdField(e,t){return!e&&t.fields&&t.fields.some(t=>(t.type===`esriFieldTypeGlobalID`&&(e=t.name),!!e)),e||void 0}get displayField(){return this.associatedLayer?.displayField??null}readProfile(e,t){let n=t.store.profile;return n!=null&&$[n]?$[n]:(s.getLogger(this).error(`Unknown or missing profile`,{profile:n,layer:this}),`mesh-pyramids`)}get useViewTime(){return this.associatedLayer?.useViewTime??!0}set useViewTime(e){this._override(`useViewTime`,e)}get timeInfo(){let e=this.associatedLayer?.timeInfo;if(e==null)return null;let t=e.clone();return B(t,this.fieldsIndex),t}set timeInfo(e){B(e,this.fieldsIndex),this._override(`timeInfo`,e)}get timeExtent(){return this.associatedLayer?.timeExtent}set timeExtent(e){this._override(`timeExtent`,e)}get timeOffset(){return this.associatedLayer?.timeOffset}set timeOffset(e){this._override(`timeOffset`,e)}get datesInUnknownTimezone(){return this.associatedLayer?.datesInUnknownTimezone??!1}set datesInUnknownTimezone(e){this._override(`datesInUnknownTimezone`,e)}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}async _load(e){let t=e?.signal;await this.loadFromPortal({supportedTypes:[`Scene Service`]},e).catch(u),await this._fetchService(t),await Promise.all([this._fetchIndexAndUpdateExtent(this.nodePages,t),this._setAssociatedFeatureLayer(t),this._loadFilterGeometries()]),this._validateElevationInfo(),this._applyAssociatedLayerOverrides(),this._populateFieldUsageInfo(),await this.loadTimeInfoFromService(e),await Se(this,{origin:`service`},t),z(this.renderer,this.fieldsIndex),await this.finishLoadEditablePortalLayer(e)}async beforeSave(){this.filter!=null&&(this.filter=this.filter.clone(),await this.load())}async _loadFilterGeometries(){if(this.filter)try{await this.filter.loadGeometries(this.spatialReference)}catch(e){s.getLogger(this).error(`#_loadFilterGeometries()`,this,`Failed to load filter geometries. Geometry filter will not be applied for this layer.`,{error:e}),this.filter=null}}createQuery(){let e=new we;this.geometryType===`mesh`?this.capabilities.query.supportsReturnMesh&&(e.returnGeometry=!0):(e.returnGeometry=!0,e.returnZ=!0);let{timeOffset:t,timeExtent:n}=this;return e.timeExtent=t!=null&&n!=null?n.offset(-t.value,t.unit):n||null,e.where=this.definitionExpression||`1=1`,e.sqlFormat=`standard`,e.outFields=[`*`],e}queryExtent(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryExtent(e||this.createQuery(),t))}queryFeatureCount(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatureCount(e||this.createQuery(),t))}queryFeatures(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryFeatures(e||this.createQuery(),t)).then(e=>{if(e?.features)for(let t of e.features)t.layer=this,t.sourceLayer=this,t.origin=this.graphicOrigin;return e})}async queryModels(e,t){let[n,{queryModels:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryModel(e,t){let[n,{queryModel:r}]=await Promise.all([this._getAssociatedLayerForQuery(),import(`./scene/modelQuerySupport.js`)]);return r(this,n,e,t)}async queryRelatedFeatures(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});return this.associatedLayer.queryRelatedFeaturesCount(e,t)}async queryCachedAttributes(e,t){let n=V(this.fieldsIndex,await je(this,Me(this)));return Ae(this.parsedUrl?.path??``,this.attributeStorageInfo??[],e,t,n,this.apiKey,this.customParameters)}async queryCachedFeature(e,n){let r=await this.queryCachedAttributes(e,[n]);if(!r||r.length===0)throw new a(`scenelayer:feature-not-in-cached-data`,`Feature not found in cached data`);let i=new t;return i.attributes=r[0],i.layer=this,i.sourceLayer=this,i.origin=this.graphicOrigin,i}queryObjectIds(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryObjectIds(e||this.createQuery(),t))}queryAttachments(e,t){return this._getAssociatedLayerForQuery().then(n=>n.queryAttachments(e,t))}getFieldUsageInfo(e){let t={supportsLabelingInfo:!1,supportsRenderer:!1,supportsPopupTemplate:!1,supportsLayerQuery:!1};return this.loaded?this._fieldUsageInfo[e]||t:(s.getLogger(this).error(`#getFieldUsageInfo()`,`Unavailable until layer is loaded`),t)}createPopupTemplate(e){return De(this,e)}_getAssociatedLayerForQuery(){let e=this.associatedLayer;return e?.loaded?Promise.resolve(e):this._loadAssociatedLayerForQuery()}async _loadAssociatedLayerForQuery(){if(await this.load(),!this.associatedLayer)throw new a(`scenelayer:query-not-available`,`SceneLayer queries are not available without an associated feature layer`,{layer:this});try{await this.associatedLayer.load()}catch(e){throw new a(`scenelayer:query-not-available`,`SceneLayer associated feature layer could not be loaded`,{layer:this,error:e})}return this.associatedLayer}hasCachedStatistics(e){return this.statisticsInfo!=null&&this.statisticsInfo.some(t=>t.name===e)}async queryCachedStatistics(e,t){return await this.load(t),await this.fetchStatistics(e,t)}async saveAs(e,t){return this._debouncedSaveOperations(1,{...t,getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`},e)}async save(){return this._debouncedSaveOperations(0,{getTypeKeywords:()=>this._getTypeKeywords(),portalItemLayerType:`scene`})}async applyEdits(e,t){let{applyEdits:n}=await import(`./graphics/editingSupport.js`),r=t;await this.load();let i=this.associatedLayer;if(!i)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);await i.load();let{globalIdField:o}=i,s=!!i.infoFor3D,c=r?.globalIdUsed??!0;if(s&&o==null)throw new a(`${this.type}-layer:not-editable`,`Valid globalIdField expected on editable SceneLayer`);if(s&&!c)throw new a(`${this.type}-layer:globalid-required`,`globalIdUsed must not be false for SceneLayer editing as globalIds are required.`);return T(i.url)&&s&&e.deleteFeatures!=null&&o!=null&&(r={...r,globalIdToObjectId:await F(i,e.deleteFeatures,o)}),n(this,i.source,e,r)}async uploadAssets(e,t){if(await this.load(),this.associatedLayer==null)throw new a(`${this.type}-layer:not-editable`,`Service is not editable`);return await this.associatedLayer.load(),this.associatedLayer.uploadAssets(e,t)}async convertMesh(e,t){t??={};let n=e=>{throw s.getLogger(this).error(`.convertMesh()`,e.message),e};await this.load(t),this.infoFor3D||n(new a(`invalid:layer`,`SceneLayer has no capability for mesh conversion`));let r=await this.extractAndFilterFiles(e);d(t);let i=r.reduce((e,t)=>de(this.infoFor3D,t)?e+1:e,0);i===0&&n(new ee),i>1&&n(new S);let o=this.spatialReference,c=t.origin,l=await y(c??t.defaultOrigin??new v({x:0,y:0,z:0,spatialReference:o}),o,t),u=o.isGeographic?`local`:`georeferenced`,{createWithExternalSource:f}=await import(`../geometry/support/meshUtils.js`);d(t);let p=f(l,{type:`client`,files:r},{vertexSpace:u,transform:ge(o),unitConversionDisabled:!0}),[m]=await this.uploadAssets([p],{...t,useAssetOrigin:!c});return m}async extractAndFilterFiles(e){await this.load();let t=this.infoFor3D;return t?(await Oe(e)).filter(e=>fe(t,e)):e}validateLayer(e){if(e.layerType&&!X.has(e.layerType))throw new a(`scenelayer:layer-type-not-supported`,`SceneLayer does not support this layer type`,{layerType:e.layerType});if(isNaN(this.version.major)||isNaN(this.version.minor))throw new a(`layer:service-version-not-supported`,`Service version is not supported.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});if(this.version.major>2)throw new a(`layer:service-version-too-new`,`Service version is too new.`,{serviceVersion:this.version.versionString,supportedVersions:`1.x, 2.x`});t(this.normalReferenceFrame,this.spatialReference);function t(e,t){let n=!1,r=!1;if(e==null)n=!0,r=!0;else{let i=t&&t.isGeographic;switch(e){case`east-north-up`:case`earth-centered`:n=!0,r=i;break;case`vertex-reference-frame`:n=!0,r=!i;break;default:n=!1}}if(!n)throw new a(`scenelayer:unsupported-normal-reference-frame`,`Normal reference frame is invalid.`);if(!r)throw new a(`scenelayer:incompatible-normal-reference-frame`,`Normal reference frame is incompatible with layer spatial reference.`)}}get isUsedAsGroundLayer(){return!1}_getTypeKeywords(){let e=[];if(this.profile===`points`)e.push(`Point`);else if(this.profile===`mesh-pyramids`)e.push(`3DObject`);else throw new a(`scenelayer:unknown-profile`,`SceneLayer:save() encountered an unknown SceneLayer profile: `+this.profile);return e}_populateFieldUsageInfo(){if(this._fieldUsageInfo={},this.fields)for(let e of this.fields){let t=!!this.attributeStorageInfo?.some(t=>t.name===e.name),n=!!this.associatedLayer?.fields?.some(t=>t&&e.name===t.name),r={supportsLabelingInfo:t,supportsRenderer:t,supportsPopupTemplate:t||n,supportsLayerQuery:n};this._fieldUsageInfo[e.name]=r}}_applyAssociatedLayerOverrides(){this._applyAssociatedLayerFieldsOverrides(),this._applyAssociatedLayerPropertyOverrides(),this._applyAssociatedLayerExtentOverride(),this._applyAssociatedLayerPrivileges()}_applyAssociatedLayerFieldsOverrides(){if(!this.associatedLayer?.fields)return;let e=null;for(let t of this.associatedLayer.fields){let n=this.getField(t.name);n?(!n.domain&&t.domain&&(n.domain=t.domain.clone()),n.editable=t.editable,n.nullable=t.nullable,n.length=t.length):(e||=this.fields?this.fields.slice():[],e.push(t.clone()))}e&&this._set(`fields`,e)}_applyAssociatedLayerPropertyOverrides(){if(!this.associatedLayer)return;let e=[`popupTemplate`,`popupEnabled`,`attributeTableTemplate`],t=_(this);for(let n=0;n<e.length;n++){let r=e[n],i=this.originIdOf(r),a=this.associatedLayer.originIdOf(r);i<a&&(a===2||a===3)&&t.setAtOrigin(r,this.associatedLayer[r],a)}}_applyAssociatedLayerExtentOverride(){let e=this.associatedLayer?.getAtOrigin(`fullExtent`,`service`);this.associatedLayer?.infoFor3D!=null&&e&&T(this.associatedLayer?.url)&&K(this)&&_(this).setAtOrigin(`fullExtent`,e.clone(),2)}_applyAssociatedLayerPrivileges(){let e=this.associatedLayer;e&&(this._set(`userHasEditingPrivileges`,e.userHasEditingPrivileges),this._set(`userHasFullEditingPrivileges`,e.userHasFullEditingPrivileges),this._set(`userHasUpdateItemPrivileges`,e.userHasUpdateItemPrivileges))}async _setAssociatedFeatureLayer(e){if([`mesh-pyramids`,`points`].includes(this.profile))try{let{serverUrl:t,layerId:n,portalItem:r}=await ce(`${this.url}/layers/${this.layerId}`,{sceneLayerItem:this.portalItem,customParameters:this.customParameters,apiKey:this.apiKey,signal:e}),i=await he.FeatureLayer();this.associatedLayer=new i({url:t,customParameters:this.customParameters,apiKey:this.apiKey,layerId:n,portalItem:r}),await this.associatedLayer.load()}catch(e){f(e)||this._logWarningOnPopupEnabled().catch(()=>{})}}async _logWarningOnPopupEnabled(){let e=new AbortController;this.addHandles(o(e));try{await m(()=>this.popupEnabled&&this.popupTemplate!=null,e.signal)}catch(e){p(e);return}let t=`this SceneLayer: ${this.title}`;this.attributeStorageInfo==null?s.getLogger(this).warn(`Associated FeatureLayer could not be loaded and no binary attributes found. Popups will not work on ${t}`):s.getLogger(this).info(`Associated FeatureLayer could not be loaded. Falling back to binary attributes for Popups on ${t}`)}_validateElevationInfo(){let e=this.elevationInfo;this.profile===`mesh-pyramids`&&q(s.getLogger(this),Te(`Mesh scene layers`,`relative-to-scene`,e)),q(s.getLogger(this),Ee(`Scene layers`,e))}async fetchStatistics(e,t){return await ye({fieldName:e,statisticsInfo:this.statisticsInfo,errorContext:`scenelayer`,fieldsIndex:this.fieldsIndex,path:this.parsedUrl?.path??``,customParameters:this.customParameters,apiKey:this.apiKey,signal:t?.signal})}async loadTimeInfoFromService(e){let{serviceTimeInfo:t}=this;if(t==null)return;let{startTimeField:n,endTimeField:r}=t;if(n==null&&r==null||K({associatedLayer:this.associatedLayer,serviceUpdateTimeStamp:this.serviceUpdateTimeStamp}))return;let i=async t=>{let r=null;try{r=(await this.fetchStatistics(t,e))?.stats}catch{}if(r==null)return null;let{minTimeStr:i,min:a,maxTimeStr:o,max:s}=r,c=t===n?i??a:o??s;return c==null?null:new Date(c)},[a,o]=await Promise.all([i(n),i(r)]);if(n!=null&&a==null||r!=null&&o==null)return;let s=new J({start:a,end:o});this.setAtOrigin(`timeInfo`,new xe({endField:r,startField:n,fullTimeExtent:s}),`service`)}};e([h({types:{key:`type`,base:null,typeMap:{selection:I}},json:{origins:{"web-scene":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}},"portal-item":{name:`layerDefinition.featureReduction`,write:{allowNull:!0}}}}})],Q.prototype,`featureReduction`,void 0),e([h({type:[_e],json:{read:!1,origins:{"web-scene":{name:`layerDefinition.rangeInfos`,write:!0},"portal-item":{name:`layerDefinition.rangeInfos`,write:!0}}},clonable:!1})],Q.prototype,`rangeInfos`,void 0),e([h({json:{read:!1}})],Q.prototype,`associatedLayer`,void 0),e([h({type:[`show`,`hide`]})],Q.prototype,`listMode`,void 0),e([h({type:[`ArcGISSceneServiceLayer`]})],Q.prototype,`operationalLayerType`,void 0),e([h({json:{read:!1},readOnly:!0})],Q.prototype,`type`,void 0),e([h({...Z.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`fields`,void 0),e([h()],Q.prototype,`types`,null),e([h()],Q.prototype,`typeIdField`,null),e([h()],Q.prototype,`templates`,null),e([h()],Q.prototype,`formTemplate`,null),e([h({readOnly:!0})],Q.prototype,`graphicOrigin`,void 0),e([h({readOnly:!0,clonable:!1})],Q.prototype,`fieldsIndex`,null),e([h({type:me,json:{read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`}}})],Q.prototype,`floorInfo`,void 0),e([h(Z.outFields)],Q.prototype,`outFields`,void 0),e([h({type:H,readOnly:!0,json:{read:!1},clonable:!1})],Q.prototype,`nodePages`,void 0),e([Y(`service`,`nodePages`,[`nodePages`,`pointNodePages`])],Q.prototype,`readNodePages`,null),e([h({type:[U],readOnly:!0,clonable:!1})],Q.prototype,`materialDefinitions`,void 0),e([h({type:[W],readOnly:!0,clonable:!1})],Q.prototype,`textureSetDefinitions`,void 0),e([h({type:[ue],readOnly:!0,clonable:!1})],Q.prototype,`geometryDefinitions`,void 0),e([h({readOnly:!0})],Q.prototype,`serviceUpdateTimeStamp`,void 0),e([h({readOnly:!0})],Q.prototype,`attributeStorageInfo`,void 0),e([h({readOnly:!0})],Q.prototype,`statisticsInfo`,void 0),e([h({type:i.ofType(Number),nonNullable:!0,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.excludeObjectIds`,write:{enabled:!0}}})],Q.prototype,`excludeObjectIds`,void 0),e([h({type:String,json:{origins:{service:{read:!1,write:!1}},name:`layerDefinition.definitionExpression`,write:{enabled:!0,allowNull:!0}}})],Q.prototype,`definitionExpression`,void 0),e([h({type:ve,json:{name:`layerDefinition.polygonFilter`,write:{enabled:!0,allowNull:!0},origins:{service:{read:!1,write:!1}}}})],Q.prototype,`filter`,void 0),e([h({type:String,json:{origins:{"web-scene":{read:!0,write:!0}},read:!1}})],Q.prototype,`path`,void 0),e([h(E)],Q.prototype,`elevationInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`effectiveCapabilities`,null),e([h({readOnly:!0})],Q.prototype,`effectiveEditingEnabled`,null),e([h({type:String})],Q.prototype,`geometryType`,null),e([h(D)],Q.prototype,`labelsVisible`,void 0),e([h({type:[pe],json:{origins:{service:{name:`drawingInfo.labelingInfo`,read:{reader:G},write:!1}},name:`layerDefinition.drawingInfo.labelingInfo`,read:{reader:G},write:!0}})],Q.prototype,`labelingInfo`,void 0),e([h(O)],Q.prototype,`legendEnabled`,void 0),e([h({type:Number,json:{origins:{"web-document":{default:1,write:{enabled:!0,target:{opacity:{type:Number},"layerDefinition.drawingInfo.transparency":{type:Number}}},read:{source:[`opacity`,`layerDefinition.drawingInfo.transparency`],reader(e,t){if(typeof e==`number`&&e>=0&&e<=1)return e;let n=t.layerDefinition?.drawingInfo?.transparency;return n===void 0?void 0:Ne(n)}}},"portal-item":{write:!0},service:{read:!1}}}})],Q.prototype,`opacity`,void 0),e([h({type:[`Low`,`High`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`priority`,void 0),e([h({type:[`Labels`],readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`semantic`,void 0),e([h({types:Ce,json:{origins:{service:{read:{source:`drawingInfo.renderer`}}},name:`layerDefinition.drawingInfo.renderer`,write:!0},value:null})],Q.prototype,`renderer`,null),e([h({json:{read:!1}})],Q.prototype,`cachedDrawingInfo`,void 0),e([Y(`service`,`cachedDrawingInfo`)],Q.prototype,`readCachedDrawingInfo`,null),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`capabilities`,null),e([h({type:Boolean,json:{read:!1}})],Q.prototype,`editingEnabled`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`infoFor3D`,null),e([h({readOnly:!0,json:{write:!1,read:!1}})],Q.prototype,`relationships`,null),e([h(k)],Q.prototype,`popupEnabled`,void 0),e([h({type:n,json:{name:`popupInfo`,write:!0}})],Q.prototype,`popupTemplate`,void 0),e([h({readOnly:!0,json:{read:!1}})],Q.prototype,`defaultPopupTemplate`,null),e([h(A)],Q.prototype,`attributeTableTemplate`,void 0),e([h({type:String,json:{read:!1}})],Q.prototype,`objectIdField`,void 0),e([Y(`service`,`objectIdField`,[`objectIdField`,`fields`])],Q.prototype,`readObjectIdField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`globalIdField`,void 0),e([Y(`service`,`globalIdField`,[`globalIdField`,`fields`])],Q.prototype,`readGlobalIdField`,null),e([h({readOnly:!0,type:String,json:{read:!1}})],Q.prototype,`displayField`,null),e([h({type:String,json:{read:!1}})],Q.prototype,`profile`,void 0),e([Y(`service`,`profile`,[`store.profile`])],Q.prototype,`readProfile`,null),e([h({readOnly:!0,type:String,json:{origins:{service:{read:{source:`store.normalReferenceFrame`}}},read:!1}})],Q.prototype,`normalReferenceFrame`,void 0),e([h(j)],Q.prototype,`screenSizePerspectiveEnabled`,void 0),e([h({json:{read:!1,origins:{service:{read:!0}}}})],Q.prototype,`serviceItemId`,void 0),e([h(se)],Q.prototype,`useViewTime`,null),e([h(M({disableServiceOrigin:!0,webDocumentOrigin:`web-scene`}))],Q.prototype,`timeInfo`,null),e([h({type:J,json:{read:!1,write:!1}})],Q.prototype,`timeExtent`,null),e([h({type:ke,json:{read:!1,write:!1}})],Q.prototype,`timeOffset`,null),e([h({type:Boolean,nonNullable:!0,json:{read:!1,write:!1}})],Q.prototype,`datesInUnknownTimezone`,null),e([h({type:be,readOnly:!0,json:{read:{source:`timeInfo`}},clonable:!1})],Q.prototype,`serviceTimeInfo`,void 0),e([h()],Q.prototype,`isUsedAsGroundLayer`,null),Q=e([g(`esri.layers.SceneLayer`)],Q);const $={"mesh-pyramids":`mesh-pyramids`,meshpyramids:`mesh-pyramids`,"features-meshes":`mesh-pyramids`,points:`points`,"features-points":`points`,lines:`lines`,"features-lines":`lines`,polygons:`polygons`,"features-polygons":`polygons`},Pe={"mesh-pyramids":`mesh`,points:`point`},Fe=Q;export{Fe as default};
|
package/layers/SketchLayer.d.ts
CHANGED
|
@@ -107,7 +107,6 @@ export interface SketchLayerProperties extends LayerProperties, PortalLayerPrope
|
|
|
107
107
|
* @see [Map](https://developers.arcgis.com/javascript/latest/references/core/Map/)
|
|
108
108
|
* @see [WebMap](https://developers.arcgis.com/javascript/latest/references/core/WebMap/)
|
|
109
109
|
* @see [SketchViewModel](https://developers.arcgis.com/javascript/latest/references/core/widgets/Sketch/SketchViewModel/)
|
|
110
|
-
* @see [Sample - MapNotesLayer](https://developers.arcgis.com/javascript/latest/sample-code/layers-mapnoteslayer/)
|
|
111
110
|
*/
|
|
112
111
|
export default class SketchLayer extends SketchLayerSuperclass {
|
|
113
112
|
constructor(properties?: SketchLayerProperties);
|
|
@@ -395,7 +395,7 @@ export default class SubtypeGroupLayer extends SubtypeGroupLayerSuperclass {
|
|
|
395
395
|
*/
|
|
396
396
|
applyEdits(edits: Edits, options?: EditOptions): Promise<EditsResult>;
|
|
397
397
|
/**
|
|
398
|
-
* Creates query parameter object that can be used to fetch features from feature-based layers or
|
|
398
|
+
* Creates a query parameter object that can be used to fetch features from feature-based layers or
|
|
399
399
|
* image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#definitionExpression).
|
|
400
400
|
* It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/#capabilities).
|
|
401
401
|
* It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
|
package/layers/WFSLayer.d.ts
CHANGED
|
@@ -621,7 +621,7 @@ export default class WFSLayer extends WFSLayerSuperclass {
|
|
|
621
621
|
*/
|
|
622
622
|
createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
|
|
623
623
|
/**
|
|
624
|
-
* Creates query parameter object that can be used to fetch features from feature-based layers or
|
|
624
|
+
* Creates a query parameter object that can be used to fetch features from feature-based layers or
|
|
625
625
|
* image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#definitionExpression).
|
|
626
626
|
* It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#capabilities).
|
|
627
627
|
* It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
|
|
@@ -215,7 +215,7 @@ export default class BuildingComponentSublayer extends BuildingComponentSublayer
|
|
|
215
215
|
* satisfy the component sublayer's current [definition expression](https://developers.arcgis.com/javascript/latest/references/core/layers/buildingSublayers/BuildingComponentSublayer/#definitionExpression).
|
|
216
216
|
* The query should only be used on the layer and not on the layer view.
|
|
217
217
|
*
|
|
218
|
-
* @returns The query object representing the layer's
|
|
218
|
+
* @returns The query parameter object representing the layer's
|
|
219
219
|
* definition expression.
|
|
220
220
|
* @since 4.17
|
|
221
221
|
*/
|
|
@@ -648,7 +648,7 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
|
|
|
648
648
|
*/
|
|
649
649
|
createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
|
|
650
650
|
/**
|
|
651
|
-
* Creates query parameter object that can be used to fetch features from feature-based layers or
|
|
651
|
+
* Creates a query parameter object that can be used to fetch features from feature-based layers or
|
|
652
652
|
* image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#definitionExpression).
|
|
653
653
|
* It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#capabilities).
|
|
654
654
|
* It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
|
|
@@ -549,7 +549,7 @@ export default class KnowledgeGraphSublayer extends KnowledgeGraphSublayerSuperc
|
|
|
549
549
|
*/
|
|
550
550
|
createPopupTemplate(options?: CreatePopupTemplateOptions): PopupTemplate | null | undefined;
|
|
551
551
|
/**
|
|
552
|
-
* Creates query parameter object that can be used to fetch features from feature-based layers or
|
|
552
|
+
* Creates a query parameter object that can be used to fetch features from feature-based layers or
|
|
553
553
|
* image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#definitionExpression).
|
|
554
554
|
* It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/knowledgeGraph/KnowledgeGraphSublayer/#capabilities).
|
|
555
555
|
* It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
|
|
@@ -836,7 +836,7 @@ export abstract class ArcGISImageService {
|
|
|
836
836
|
*/
|
|
837
837
|
computeStatisticsHistograms(parameters: ImageHistogramParameters | ImageHistogramParametersProperties, requestOptions?: RequestOptions): Promise<ImageServiceStatisticsHistogramsResult>;
|
|
838
838
|
/**
|
|
839
|
-
* Creates query parameter object that can be used to fetch features from feature-based layers or
|
|
839
|
+
* Creates a query parameter object that can be used to fetch features from feature-based layers or
|
|
840
840
|
* image footprints from ImageryLayer that satisfy the layer's configurations such as [definitionExpression](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#definitionExpression).
|
|
841
841
|
* It will return `Z` and `M` values based on the layer's [data capabilities](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/ArcGISImageService/#capabilities).
|
|
842
842
|
* It sets the query parameter's [Query.outFields](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/#outFields) property to `["*"]`.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../config.js";import{id as n}from"../../kernel.js";import r 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 s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{throwIfAborted as l,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as f,
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../config.js";import{id as n}from"../../kernel.js";import r 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 s from"../../core/Logger.js";import{destroyMaybe as c}from"../../core/maybe.js";import{throwIfAborted as l,isAbortError as u,throwIfAbortError as d}from"../../core/promiseUtils.js";import{hasSameCanonicalPortal as f,normalize as p}from"../../core/urlUtils.js";import{property as m,subclass as h}from"../../core/accessorSupport/decorators.js";import{getOwningPortalUrl as g}from"../support/layerUtils.js";import _ from"../../portal/Portal.js";import v from"../../portal/PortalItem.js";import y from"../../portal/PortalUser.js";import{getUserPrivileges as b}from"../../portal/support/portalItemUtils.js";import{isCrossPortalWrite as x}from"../../webdoc/support/saveUtils.js";import{reader as S}from"../../core/accessorSupport/decorators/reader.js";import{writer as C}from"../../core/accessorSupport/decorators/writer.js";const w=w=>{let E=w,D=class extends E{constructor(){super(...arguments),this.resourceReferences={portalItem:null,paths:[]},this.userHasEditingPrivileges=!0,this.userHasFullEditingPrivileges=!1,this.userHasUpdateItemPrivileges=!1}destroy(){super.destroy(),this.portalItem=c(this.portalItem),this.resourceReferences.portalItem=null,this.resourceReferences.paths.length=0}get portalItem(){return this._get(`portalItem`)}set portalItem(e){e!==this._get(`portalItem`)&&(this.removeOrigin(`portal-item`),this._set(`portalItem`,e))}readPortalItem(e,t,n){if(t.itemId)return new v({id:t.itemId,portal:n?.portal})}writePortalItem(e,t){e?.id&&(t.itemId=e.id)}async loadFromPortal(e,t){if(this.portalItem?.id)try{let{load:n}=await import(`../../portal/support/layersLoader.js`);return l(t),await n({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t)}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}}async reloadFromPortal(e,t){if(!this.loaded||!this.portalItem?.id)return!1;let n=t?.signal?null:new AbortController;try{let{reload:r}=await import(`../../portal/support/layersLoader.js`);return n&&this.addHandles(o(n),`reloadFromPortal`),await r({instance:this,supportedTypes:e.supportedTypes,validateItem:e.validateItem,supportsData:e.supportsData,layerModuleTypeMap:e.layerModuleTypeMap,populateGroupLayer:e.populateGroupLayer},t?.signal?t:{signal:n.signal})}catch(e){throw u(e)||s.getLogger(this).warn(`Failed to reload layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n ${e}`),e}finally{n&&this.removeHandles(`reloadFromPortal`)}}async finishLoadEditablePortalLayer(e){this._set(`userHasEditingPrivileges`,await this._fetchUserHasEditingPrivileges(e).catch(e=>(d(e),!0)))}async setUserPrivileges(e,n){if(!t.userPrivilegesApplied)return this.finishLoadEditablePortalLayer(n);if(this.url)try{let{features:{edit:t,fullEdit:r},content:{updateItem:i}}=await this._fetchUserPrivileges(e,n);this._set(`userHasEditingPrivileges`,t),this._set(`userHasFullEditingPrivileges`,r),this._set(`userHasUpdateItemPrivileges`,i)}catch(e){d(e)}}async _fetchUserPrivileges(e,t){let r=this.portalItem;if(!e||!r||!r.loaded||r.sourceUrl)return this._fetchFallbackUserPrivileges(t);let i=!n?.findCredential(this.url),a=e===r.id;if(a&&r.portal.user)return this._getUserPrivileges(r,i);let o;if(a)o=r.portal.url;else try{o=await g(this.url,t)}catch(e){d(e)}if(!o||!f(o,r.portal.url))return this._fetchFallbackUserPrivileges(t);let s;try{let e=t==null?null:t.signal;s=await n?.getCredential(`${o}/sharing`,{prompt:!1,signal:e})}catch(e){d(e)}if(!s)return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}};try{if(a?await r.reload():(r=new v({id:e,portal:{url:o}}),await r.load(t)),r.portal.user)return this._getUserPrivileges(r,i)}catch(e){d(e)}return{features:{edit:!0,fullEdit:!1},content:{updateItem:!1}}}_getUserPrivileges(e,t){let n=b(e);return t&&(n.features.edit=!0),n}async _fetchFallbackUserPrivileges(e){let t=!0;try{t=await this._fetchUserHasEditingPrivileges(e)}catch(e){d(e)}return{features:{edit:t,fullEdit:!1},content:{updateItem:!1}}}async _fetchUserHasEditingPrivileges(e){let t=this.url?n?.findCredential(this.url):null;if(!t)return!0;let r=T.credential===t?T.user:await this._fetchEditingUser(e);return T.credential=t,T.user=r,r?.privileges==null||r.privileges.includes(`features:user:edit`)}async _fetchEditingUser(e){let t=this.portalItem?.portal?.user;if(t)return t;let a=n?.findServerInfo(this.url??``);if(!a?.owningSystemUrl)return null;let o=`${a.owningSystemUrl}/sharing/rest`,s=_.getDefault();if(s&&s.loaded&&p(s.restUrl)===p(o))return s.user;let c=`${o}/community/self`,l=e==null?null:e.signal,u=await i(r(c,{authMode:`no-prompt`,query:{f:`json`},signal:l}));return u.ok?y.fromJSON(u.value.data):null}read(e,t){t&&(t.layer=this),super.read(e,t)}write(e,t){return x(this.portalItem,t)?(t?.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(e,{...t,layer:this})}};return e([m({type:v})],D.prototype,`portalItem`,null),e([S(`web-document`,`portalItem`,[`itemId`])],D.prototype,`readPortalItem`,null),e([C(`web-document`,`portalItem`,{itemId:{type:String}})],D.prototype,`writePortalItem`,null),e([m({clonable:!1})],D.prototype,`resourceReferences`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasEditingPrivileges`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasFullEditingPrivileges`,void 0),e([m({type:Boolean,readOnly:!0})],D.prototype,`userHasUpdateItemPrivileges`,void 0),D=e([h(`esri.layers.mixins.PortalLayer`)],D),D},T={credential:null,user:null};export{w as PortalLayer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../core/accessorSupport/decorators.js";const
|
|
2
|
+
import{__decorate as e}from"tslib";import{property as t,subclass as n}from"../../core/accessorSupport/decorators.js";import{joinScaleRanges as r}from"../../geometry/support/scaleUtils.js";const i=i=>{let a=i,o=class extends a{constructor(){super(...arguments),this.minScale=0,this.maxScale=0}get effectiveScaleRange(){let e={minScale:this.minScale,maxScale:this.maxScale},t=this.parent;t?.effectiveScaleRange!==void 0&&r(e,t.effectiveScaleRange);let n=this._get(`effectiveScaleRange`);return n&&n.minScale===e.minScale&&n.maxScale===e.maxScale?n:e}};return e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`minScale`,void 0),e([t({type:Number,nonNullable:!0,json:{write:!0}})],o.prototype,`maxScale`,void 0),e([t({readOnly:!0})],o.prototype,`effectiveScaleRange`,null),o=e([n(`esri.layers.mixins.ScaleRangeLayer`)],o),o};export{i as ScaleRangeLayer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../core/Collection.js";import n from"../../core/CollectionFlattener.js";import r from"../../core/Error.js";import i from"../../core/Logger.js";import{watch as a,sync as o}from"../../core/reactiveUtils.js";import{property as s,subclass as c}from"../../core/accessorSupport/decorators.js";import{nameToId as l,idToName as u}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as d}from"../../core/accessorSupport/utils.js";import f from"../support/Sublayer.js";import{isSublayerOverhaul as p}from"../support/sublayerUtils.js";function m(e,t){let n=[],r={};return e&&e.forEach(e=>{let i=new f;if(i.read(e,t),r[i.id]=i,e.parentLayerId!=null&&e.parentLayerId!==-1){let t=r[e.parentLayerId];t.sublayers||=[],t.sublayers.unshift(i)}else n.unshift(i)}),n}const h=t.ofType(f);function g(e,t){e&&e.forEach(e=>{t(e),e.sublayers&&e.sublayers.length&&g(e.sublayers,t)})}const _=_=>{let v=_,y=class extends v{constructor(...e){super(...e),this.allSublayers=new n({getCollections:()=>[this.sublayers],getChildrenFunction(e){return e.sublayers}}),this.sublayersSourceJSON={2:{},3:{},4:{},5:{},6:{}},this.subtables=null,this.addHandles([a(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),o),a(()=>this.subtables,(e,t)=>this._handleSublayersChange(e,t),o)])}destroy(){this.allSublayers.destroy()}readSublayers(e,t){if(!t||!e)return;let{sublayersSourceJSON:n}=this,r=l(t.origin);if(r<2||(n[r]={context:t,visibleLayers:e.visibleLayers||n[r].visibleLayers,layers:e.layers||n[r].layers},r>2))return;this._set(`serviceSublayers`,this.createSublayersForOrigin(`service`).sublayers);let{sublayers:i,origin:a}=this.createSublayersForOrigin(`web-document`),o=d(this);o.setDefaultOrigin(a),this._set(`sublayers`,new h(i)),o.setDefaultOrigin(`user`)}findSublayerById(e){return this.allSublayers.find(t=>t.id===e)}createServiceSublayers(){return this.createSublayersForOrigin(`service`).sublayers}createSublayersForOrigin(e){let t,n=l(e===`web-document`?`web-map`:e),r=2,i=this.sublayersSourceJSON[2].layers,a=this.sublayersSourceJSON[2].context,o=null,s=[3,4,5].filter(e=>e<=n);for(let e of s){let t=this.sublayersSourceJSON[e];p(t.layers)&&(r=e,i=t.layers,a=t.context,t.visibleLayers&&(o={visibleLayers:t.visibleLayers,context:t.context}))}let c=[3,4,5].filter(e=>e>r&&e<=n),d=null;for(let e of c){let{layers:n,visibleLayers:r,context:i}=this.sublayersSourceJSON[e];n&&(d={layers:n,context:i},t??=e),r&&(o={visibleLayers:r,context:i})}let f=m(i,a),_=new Map,v=new Set;if(d)for(let e of d.layers)_.set(e.id,e);if(o?.visibleLayers)for(let e of o.visibleLayers)v.add(e);return g(f,e=>{d&&e.read(_.get(e.id),d.context),o&&e.read({defaultVisibility:v.has(e.id)},o.context)}),{origin:u(r),originWithPartialOverrides:t?u(t):null,sublayers:new h({items:f})}}read(e,t){super.read(e,t),this.readSublayers(e,t)}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeHandles(`sublayers-owner`)),e&&(e.forEach(e=>{e.parent=this,e.layer=this}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null})],`sublayers-owner`),this.type===`tile`&&this.addHandles(e.on(`before-changes`,e=>{i.getLogger(`esri.layers.TileLayer`).error(new r(`tilelayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{layer:this})),e.preventDefault()}),`sublayers-owner`))}};return e([s({readOnly:!0})],y.prototype,`allSublayers`,void 0),e([s({readOnly:!0})],y.prototype,`effectiveScaleRange`,void 0),e([s({readOnly:!0,type:t.ofType(f)})],y.prototype,`serviceSublayers`,void 0),e([s({value:null,type:h,json:{read:!1,write:{allowNull:!0,ignoreOrigin:!0}}})],y.prototype,`sublayers`,void 0),e([s({readOnly:!0})],y.prototype,`sublayersSourceJSON`,void 0),e([s({type:h,json:{read:{source:`tables`}}})],y.prototype,`subtables`,void 0),y=e([c(`esri.layers.mixins.SublayersOwner`)],y),y};export{_ as SublayersOwner,g as forEachSublayer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{id as t}from"../../../kernel.js";import{ClonableMixin as n}from"../../../core/Clonable.js";import r from"../../../core/Error.js";import{JSONSupport as i}from"../../../core/JSONSupport.js";import a from"../../../core/Logger.js";import{isAbsolute as o,addQueryParameter as s}from"../../../core/urlUtils.js";import{property as c,cast as l,subclass as u}from"../../../core/accessorSupport/decorators.js";import d from"../../../geometry/Point.js";import{getGeometryZScaler as f}from"../../../geometry/support/zscale.js";import p from"./CameraOrientation.js";import m from"./cameraOrientationFactory.js";import{appendPrefixAndSuffix as h,getEffectiveElevationSource as g,getArcGISServerUrl as _,getMetersPerUnitOfSR as v,orientedImageryTypeMap as y}from"./utils.js";import{ltpToGeographic as b}from"../transformations/utils.js";import{reader as x}from"../../../core/accessorSupport/decorators/reader.js";import{writer as S}from"../../../core/accessorSupport/decorators/writer.js";import{enumeration as C}from"../../../core/accessorSupport/decorators/enumeration.js";function w(e){throw new r(`exposure-point:missing-default-value`,`a value for ${e} is missing in default properties`)}function T(e,t){throw new r(`exposure-point:missing-attribute-value`,`a value for ${e} is missing in attribute table`,{exposurePoint:t})}function E(e){return e.trim().replaceAll(`\\`,`/`).replace(/^\/+/,``)}function D(e,t){return o(e)?e:h(e,t.imagePathPrefix,t.imagePathSuffix)}function O(e,t){if(o(e))return e;let n=t.url?_(t.url):null;return n?`${n}/${E(e)}`:null}function k(e){return t?.findCredential(e.url)?.token??null}function A(e,t){let n=k(t);return n?s(e,`token`,n):e}const j=e=>({cast:e=>{let t=parseFloat(e);return Number.isFinite(t)?t:void 0},json:{name:e,write:{writer:(e,t,n)=>{t[n]=Number.isFinite(e)?e:void 0}}}}),M=e=>({cast:e=>typeof e==`string`?e.split(`;`).map(Number):e,json:{default:e,write:{writer:(e,t,n)=>{t[n]=e?.join(`;`)}}}}),N=`$virtualCacheDirectory:`,P=new Set([`location`]);let F=class extends n(i){constructor(e){super(e),this._geometry=null,this.cameraOrientation=null,this.elevation=null,this.elevationSource=null,this.name=null,this.sourceMap=null}read(e,t){let n={},{attributes:r,geometry:i}=e,a={};for(let e in r)P.has(e.toLowerCase())||(n[e.toLowerCase()]=r[e],a[e.toLowerCase()]=e);let o=e.layer??{},s=o.effectiveSequenceOrderField,c=null;s?.length&&(s.map(e=>e.fieldName).forEach(e=>{a[e.toLowerCase()]=e}),c=s.map(e=>({value:r[e.fieldName],...e}))),super.read({geometry:i,layer:o,sourceMap:a,sequenceOrder:c,...n},t)}write(e,t){let n=super.write(e,t),{sourceMap:r}=this;if(!r||!n)return n;let i={};for(let e in n){let t=r[e.toLowerCase()];t&&(i[t]=n[e])}return i}readCameraHeading(e,t){let{cameraheading:n,camheading:r,layer:i}=t;return n??r??i.cameraHeading}readCameraHeight(e,t){let{cameraheight:n,avghtag:r,layer:i}=t;return n??r??i.cameraHeight}readCamOffset(e,t){let{cameraoffset:n,camoffset:r}=t;return n?.split(`;`).map(Number)??r?.split(`;`).map(Number)??null}writeCameraOffset(e,t){e&&(t.cameraOffset=e.join(`;`))}readCameraOrientation(e,t){let{cameraorientation:n,camori:r}=t;return n??r}readCameraPitch(e,t){let{camerapitch:n,campitch:r,layer:i}=t;return n??r??i.cameraPitch}readCameraRoll(e,t){let{cameraroll:n,camroll:r,layer:i}=t;return n??r??i.cameraRoll}readDepthImage(e,t){let{depthimage:n,depthimg:r,layer:i}=t,a=n??r??null,{depthImagePathPrefix:o,depthImagePathSuffix:s}=i??{};return h(a,o,s)}readElevationSource(e,t){let{elevationsource:n,layer:r}=t,{demPathSuffix:i,demPathPrefix:a}=r;if(n){let e=this._parseIfJSON(n);return g(e,a,i)}return r.effectiveElevationSource}readFarDistance(e,t){let{fardistance:n,fardist:r,layer:i}=t;return n??r??i.farDistance}get geometry(){let e=this._geometry.clone();if(!e)return null;let{cameraOffset:t}=this;if(t){let[n,r,i]=t;e.x+=n,e.y+=r,e.z!=null&&i!=null&&(e.z+=i)}return e}set geometry(e){this._geometry=e}writeGeometry(e,t){t.geometry=this._geometry.toJSON()}readHFOV(e,t){let{horizontalfieldofview:n,hfov:r,layer:i}=t;return n??r??i.horizontalFieldOfView}readImageURL(e,t){let{connectionid:n,imagepath:r,layer:i}=t;if(r||T(`imagePath`,this),r.startsWith(N))return`${_(i.url)}/rest/directories/dsid_${r.replace(N,i.dataStoreID+`/`)}`;if(n==null)return D(r,i);let a=i.imageAccessPaths?.[n];if(!a)return D(r,i);let o=O(a,i);return o?A(`${o}/${E(r)}`,i):D(r,i)}readImageRotation(e,t){let{imagerotation:n,imgrot:r,layer:i}=t;return n??r??i.imageRotation}get isHorizontal(){return this.orientedImageryType===`horizontal`}get isInspection(){return this.orientedImageryType===`inspection`}get isNadir(){return this.orientedImageryType===`nadir`}get isOblique(){return this.orientedImageryType===`oblique`}get isSpherical(){return this.orientedImageryType?.includes(`360`)??!1}get location(){let{cameraOrientation:e,cameraHeight:t,elevation:n}=this;if(e){let{type:t,x:n,y:r,z:i,horizontalWKID:a,verticalWKID:o}=e,s=typeof a==`number`?{wkid:a}:{wkt:a};if(t===4){let{latitude:t,longitude:n,ellipsoidRadius:r,squaredEccentricity:i,properties:a}=e,{x:o,y:s,z:c}=a;return new d(b([o,s,c],[t,n,r,i]))}let c=new d({x:n,y:r,z:i,spatialReference:s}),l=o?f(`point`,{wkid:o},s):null;return l&&l(c),c}if(typeof t!=`number`)throw w(`cameraHeight`);let r=this.geometry.clone(),i=(n??0)+t/v(r.spatialReference);return r.z=r.hasZ?r.z:i,r}set matrix(e){if(e){if(e.length!==9){a.getLogger(this).warnOnce(`Ignoring rotation matrix because it doesn't have 9 values`,{value:e}),this._set(`matrix`,null);return}this._set(`matrix`,e)}}readNearDistance(e,t){let{neardistance:n,neardist:r,layer:i}=t;return n??r??i.nearDistance}readOffsetFromStart(e,t){return t.offsetfromstart??null}readOrientationAccuracy(e,t){let{accuracy:n,orientationaccuracy:r}=t;return r?.split(`;`).map(Number)??n?.split(`;`).map(Number)??null}writeOrientationAccuracy(e,t){e&&(t.orientationAccuracy=e.join(`;`))}readOIType(e,t){let{orientedimagerytype:n,oitype:r,camerapitch:i,campitch:a,layer:o}=t,s=y.read(n??r??o.orientedImageryType),c=i??a??o.cameraPitch;return s===`oblique`?c<10?`nadir`:`oblique`:s}set radial(e){if(!e){this._set(`radial`,[0,0,0]);return}if(typeof e==`string`){let[t,n,r]=e.split(`;`).map(Number);this._set(`radial`,[t??0,n??0,r??0]);return}this._set(`radial`,e)}set tangential(e){if(!e){this._set(`tangential`,[0,0]);return}if(typeof e==`string`){let[t,n]=e.split(`;`).map(Number);this._set(`tangential`,[t??0,n??0]);return}this._set(`tangential`,e)}readVFOV(e,t){let{verticalfieldofview:n,vfov:r,layer:i}=t;return n??r??i.verticalFieldOfView}_parseIfJSON(e){let t=null;try{t=JSON.parse(e)}catch(t){a.getLogger(this).error(`couldn't parse the given elevation source JSON`,e,t)}return t}clone(){let e=super.clone();return e._geometry=this._geometry.clone(),e}};e([c()],F.prototype,`_geometry`,void 0),e([c(j())],F.prototype,`a0`,void 0),e([c(j())],F.prototype,`a1`,void 0),e([c(j())],F.prototype,`a2`,void 0),e([c({type:Date,json:{write:{enabled:!0,target:`acquisitionDate`},name:`acquisitiondate`}})],F.prototype,`acquisitionDate`,void 0),e([c(j())],F.prototype,`b0`,void 0),e([c(j())],F.prototype,`b1`,void 0),e([c(j())],F.prototype,`b2`,void 0),e([c({type:Number,json:{write:!0,read:{source:[`cameraheading`,`camheading`,`layer.cameraHeading`]}}})],F.prototype,`cameraHeading`,void 0),e([x(`cameraHeading`)],F.prototype,`readCameraHeading`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`cameraHeight`,void 0),e([x(`cameraHeight`,[`cameraheight`,`avghtag`,`layer.cameraHeight`])],F.prototype,`readCameraHeight`,null),e([c()],F.prototype,`cameraOffset`,void 0),e([x(`cameraOffset`,[`cameraoffset`,`camoffset`])],F.prototype,`readCamOffset`,null),e([S(`cameraOffset`)],F.prototype,`writeCameraOffset`,null),e([c({json:{write:{writer:(e,t,n)=>{t[n]=e.toString()}}},type:p}),l(e=>e?m.getCameraOrientation(e):null)],F.prototype,`cameraOrientation`,void 0),e([x(`cameraOrientation`,[`cameraorientation`,`camori`])],F.prototype,`readCameraOrientation`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`cameraPitch`,void 0),e([x(`cameraPitch`,[`camerapitch`,`campitch`,`layer.cameraPitch`])],F.prototype,`readCameraPitch`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`cameraRoll`,void 0),e([x(`cameraRoll`,[`cameraroll`,`camroll`,`layer.cameraRoll`])],F.prototype,`readCameraRoll`,null),e([c({json:{write:!0},type:String})],F.prototype,`depthImage`,void 0),e([x(`depthImage`,[`depthimage`,`depthimg`])],F.prototype,`readDepthImage`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`elevation`,void 0),e([c({json:{write:!0},clonable:`reference`})],F.prototype,`elevationSource`,void 0),e([x(`elevationSource`,[`elevationsource`,`layer.effectiveElevationSource`])],F.prototype,`readElevationSource`,null),e([c({json:{name:`exposurestationid`,write:{target:`exposureStationId`}},type:String})],F.prototype,`exposureStationId`,void 0),e([c({type:Number,json:{write:!0}})],F.prototype,`farDistance`,void 0),e([x(`farDistance`,[`fardistance`,`fardist`,`layer.farDistance`])],F.prototype,`readFarDistance`,null),e([c(j(`focallength`))],F.prototype,`focalLength`,void 0),e([c({type:d,json:{name:`geometry`}})],F.prototype,`geometry`,null),e([S(`geometry`)],F.prototype,`writeGeometry`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`horizontalFieldOfView`,void 0),e([x(`horizontalFieldOfView`,[`horizontalfieldofview`,`hfov`,`layer.horizontalFieldOfView`])],F.prototype,`readHFOV`,null),e([c({json:{write:!0},type:String})],F.prototype,`imagePath`,void 0),e([x(`imagePath`,[`imagepath`])],F.prototype,`readImageURL`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`imageRotation`,void 0),e([x(`imageRotation`,[`imagerotation`,`imgrot`,`layer.imageRotation`])],F.prototype,`readImageRotation`,null),e([c()],F.prototype,`isHorizontal`,null),e([c()],F.prototype,`isInspection`,null),e([c()],F.prototype,`isNadir`,null),e([c()],F.prototype,`isOblique`,null),e([c()],F.prototype,`isSpherical`,null),e([c()],F.prototype,`location`,null),e([c(M())],F.prototype,`matrix`,null),e([c({json:{write:!0},type:String})],F.prototype,`name`,void 0),e([c({type:Number,json:{write:!0}})],F.prototype,`nearDistance`,void 0),e([x(`nearDistance`,[`neardistance`,`neardist`,`layer.nearDistance`])],F.prototype,`readNearDistance`,null),e([c({json:{write:!0,name:`objectid`},type:Number})],F.prototype,`objectId`,void 0),e([c({type:Number,json:{write:!0}})],F.prototype,`offsetFromStart`,void 0),e([x(`offsetFromStart`,[`offsetfromstart`])],F.prototype,`readOffsetFromStart`,null),e([c()],F.prototype,`orientationAccuracy`,void 0),e([x(`orientationAccuracy`,[`accuracy`,`orientationaccuracy`])],F.prototype,`readOrientationAccuracy`,null),e([S(`orientationAccuracy`)],F.prototype,`writeOrientationAccuracy`,null),e([C(y)],F.prototype,`orientedImageryType`,void 0),e([x(`orientedImageryType`,[`orientedimagerytype`,`oitype`,`layer.orientedImageryType`])],F.prototype,`readOIType`,null),e([c({type:Number,json:{write:!0,read:{source:`principalx`}}})],F.prototype,`principalX`,void 0),e([c({type:Number,json:{write:!0,read:{source:`principaly`}}})],F.prototype,`principalY`,void 0),e([c(M([0,0,0]))],F.prototype,`radial`,null),e([c({json:{write:(e,t)=>{e&&e.forEach(e=>t[e.fieldName]=e.value)}}})],F.prototype,`sequenceOrder`,void 0),e([c({type:Object})],F.prototype,`sourceMap`,void 0),e([c(M([0,0]))],F.prototype,`tangential`,null),e([c({type:Number,json:{write:!0}})],F.prototype,`verticalFieldOfView`,void 0),e([x(`verticalFieldOfView`,[`verticalfieldofview`,`vfov`,`layer.verticalFieldOfView`])],F.prototype,`readVFOV`,null),F=e([u(`esri.layers.orientedImagery.core.ExposurePoint`)],F);const I=F;export{I as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{id as t}from"../../../kernel.js";import{ClonableMixin as n}from"../../../core/Clonable.js";import r from"../../../core/Error.js";import{JSONSupport as i}from"../../../core/JSONSupport.js";import a from"../../../core/Logger.js";import{isAbsolute as o,addQueryParameter as s}from"../../../core/urlUtils.js";import{property as c,cast as l,subclass as u}from"../../../core/accessorSupport/decorators.js";import d from"../../../geometry/Point.js";import{getGeometryZScaler as f}from"../../../geometry/support/zscale.js";import p from"./CameraOrientation.js";import m from"./cameraOrientationFactory.js";import{appendPrefixAndSuffix as h,getEffectiveElevationSource as g,getArcGISServerUrl as _,getMetersPerUnitOfSR as v,parseOrientationAccuracy as y,normalizeOrientationAccuracy as b,orientedImageryTypeMap as x}from"./utils.js";import{ltpToGeographic as S}from"../transformations/utils.js";import{reader as C}from"../../../core/accessorSupport/decorators/reader.js";import{writer as w}from"../../../core/accessorSupport/decorators/writer.js";import{enumeration as T}from"../../../core/accessorSupport/decorators/enumeration.js";function E(e){throw new r(`exposure-point:missing-default-value`,`a value for ${e} is missing in default properties`)}function D(e,t){throw new r(`exposure-point:missing-attribute-value`,`a value for ${e} is missing in attribute table`,{exposurePoint:t})}function O(e){return e.trim().replaceAll(`\\`,`/`).replace(/^\/+/,``)}function k(e,t){return o(e)?e:h(e,t.imagePathPrefix,t.imagePathSuffix)}function A(e,t){if(o(e))return e;let n=t.url?_(t.url):null;return n?`${n}/${O(e)}`:null}function j(e){return t?.findCredential(e.url)?.token??null}function M(e,t){let n=j(t);return n?s(e,`token`,n):e}const N=e=>({cast:e=>{let t=parseFloat(e);return Number.isFinite(t)?t:void 0},json:{name:e,write:{writer:(e,t,n)=>{t[n]=Number.isFinite(e)?e:void 0}}}}),P=e=>({cast:e=>typeof e==`string`?e.split(`;`).map(Number):e,json:{default:e,write:{writer:(e,t,n)=>{t[n]=e?.join(`;`)}}}}),F=`$virtualCacheDirectory:`,I=new Set([`location`]);let L=class extends n(i){constructor(e){super(e),this._geometry=null,this.cameraOrientation=null,this.elevation=null,this.elevationSource=null,this.name=null,this.sourceMap=null}read(e,t){let n={},{attributes:r,geometry:i}=e,a={};for(let e in r)I.has(e.toLowerCase())||(n[e.toLowerCase()]=r[e],a[e.toLowerCase()]=e);let o=e.layer??{},s=o.effectiveSequenceOrderField,c=null;s?.length&&(s.map(e=>e.fieldName).forEach(e=>{a[e.toLowerCase()]=e}),c=s.map(e=>({value:r[e.fieldName],...e}))),super.read({geometry:i,layer:o,sourceMap:a,sequenceOrder:c,...n},t)}write(e,t){let n=super.write(e,t),{sourceMap:r}=this;if(!r||!n)return n;let i={};for(let e in n){let t=r[e.toLowerCase()];t&&(i[t]=n[e])}return i}readCameraHeading(e,t){let{cameraheading:n,camheading:r,layer:i}=t;return n??r??i.cameraHeading}readCameraHeight(e,t){let{cameraheight:n,avghtag:r,layer:i}=t;return n??r??i.cameraHeight}readCamOffset(e,t){let{cameraoffset:n,camoffset:r}=t;return n?.split(`;`).map(Number)??r?.split(`;`).map(Number)??null}writeCameraOffset(e,t){e&&(t.cameraOffset=e.join(`;`))}readCameraOrientation(e,t){let{cameraorientation:n,camori:r}=t;return n??r}readCameraPitch(e,t){let{camerapitch:n,campitch:r,layer:i}=t;return n??r??i.cameraPitch}readCameraRoll(e,t){let{cameraroll:n,camroll:r,layer:i}=t;return n??r??i.cameraRoll}readDepthImage(e,t){let{depthimage:n,depthimg:r,layer:i}=t,a=n??r??null,{depthImagePathPrefix:o,depthImagePathSuffix:s}=i??{};return h(a,o,s)}readElevationSource(e,t){let{elevationsource:n,layer:r}=t,{demPathSuffix:i,demPathPrefix:a}=r;if(n){let e=this._parseIfJSON(n);return g(e,a,i)}return r.effectiveElevationSource}readFarDistance(e,t){let{fardistance:n,fardist:r,layer:i}=t;return n??r??i.farDistance}get geometry(){let e=this._geometry.clone();if(!e)return null;let{cameraOffset:t}=this;if(t){let[n,r,i]=t;e.x+=n,e.y+=r,e.z!=null&&i!=null&&(e.z+=i)}return e}set geometry(e){this._geometry=e}writeGeometry(e,t){t.geometry=this._geometry.toJSON()}readHFOV(e,t){let{horizontalfieldofview:n,hfov:r,layer:i}=t;return n??r??i.horizontalFieldOfView}readImageURL(e,t){let{connectionid:n,imagepath:r,layer:i}=t;if(r||D(`imagePath`,this),r.startsWith(F))return`${_(i.url)}/rest/directories/dsid_${r.replace(F,i.dataStoreID+`/`)}`;if(n==null)return k(r,i);let a=i.imageAccessPaths?.[n];if(!a)return k(r,i);let o=A(a,i);return o?M(`${o}/${O(r)}`,i):k(r,i)}readImageRotation(e,t){let{imagerotation:n,imgrot:r,layer:i}=t;return n??r??i.imageRotation}get isHorizontal(){return this.orientedImageryType===`horizontal`}get isInspection(){return this.orientedImageryType===`inspection`}get isNadir(){return this.orientedImageryType===`nadir`}get isOblique(){return this.orientedImageryType===`oblique`}get isSpherical(){return this.orientedImageryType?.includes(`360`)??!1}get location(){let{cameraOrientation:e,cameraHeight:t,elevation:n}=this;if(e){let{type:t,x:n,y:r,z:i,horizontalWKID:a,verticalWKID:o}=e,s=typeof a==`number`?{wkid:a}:{wkt:a};if(t===4){let{latitude:t,longitude:n,ellipsoidRadius:r,squaredEccentricity:i,properties:a}=e,{x:o,y:s,z:c}=a;return new d(S([o,s,c],[t,n,r,i]))}let c=new d({x:n,y:r,z:i,spatialReference:s}),l=o?f(`point`,{wkid:o},s):null;return l&&l(c),c}if(typeof t!=`number`)throw E(`cameraHeight`);let r=this.geometry.clone(),i=(n??0)+t/v(r.spatialReference);return r.z=r.hasZ?r.z:i,r}set matrix(e){if(e){if(e.length!==9){a.getLogger(this).warnOnce(`Ignoring rotation matrix because it doesn't have 9 values`,{value:e}),this._set(`matrix`,null);return}this._set(`matrix`,e)}}readNearDistance(e,t){let{neardistance:n,neardist:r,layer:i}=t;return n??r??i.nearDistance}readOffsetFromStart(e,t){return t.offsetfromstart??null}readOrientationAccuracy(e,t){let{accuracy:n,layer:r,orientationaccuracy:i}=t;return y(i===void 0?n:i)??b(r.orientationAccuracy)}writeOrientationAccuracy(e,t){e&&(t.orientationAccuracy=e.join(`;`))}readOIType(e,t){let{orientedimagerytype:n,oitype:r,camerapitch:i,campitch:a,layer:o}=t,s=x.read(n??r??o.orientedImageryType),c=i??a??o.cameraPitch;return s===`oblique`?c<10?`nadir`:`oblique`:s}set radial(e){if(!e){this._set(`radial`,[0,0,0]);return}if(typeof e==`string`){let[t,n,r]=e.split(`;`).map(Number);this._set(`radial`,[t??0,n??0,r??0]);return}this._set(`radial`,e)}set tangential(e){if(!e){this._set(`tangential`,[0,0]);return}if(typeof e==`string`){let[t,n]=e.split(`;`).map(Number);this._set(`tangential`,[t??0,n??0]);return}this._set(`tangential`,e)}readVFOV(e,t){let{verticalfieldofview:n,vfov:r,layer:i}=t;return n??r??i.verticalFieldOfView}_parseIfJSON(e){let t=null;try{t=JSON.parse(e)}catch(t){a.getLogger(this).error(`couldn't parse the given elevation source JSON`,e,t)}return t}clone(){let e=super.clone();return e._geometry=this._geometry.clone(),e}};e([c()],L.prototype,`_geometry`,void 0),e([c(N())],L.prototype,`a0`,void 0),e([c(N())],L.prototype,`a1`,void 0),e([c(N())],L.prototype,`a2`,void 0),e([c({type:Date,json:{write:{enabled:!0,target:`acquisitionDate`},name:`acquisitiondate`}})],L.prototype,`acquisitionDate`,void 0),e([c(N())],L.prototype,`b0`,void 0),e([c(N())],L.prototype,`b1`,void 0),e([c(N())],L.prototype,`b2`,void 0),e([c({type:Number,json:{write:!0,read:{source:[`cameraheading`,`camheading`,`layer.cameraHeading`]}}})],L.prototype,`cameraHeading`,void 0),e([C(`cameraHeading`)],L.prototype,`readCameraHeading`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`cameraHeight`,void 0),e([C(`cameraHeight`,[`cameraheight`,`avghtag`,`layer.cameraHeight`])],L.prototype,`readCameraHeight`,null),e([c()],L.prototype,`cameraOffset`,void 0),e([C(`cameraOffset`,[`cameraoffset`,`camoffset`])],L.prototype,`readCamOffset`,null),e([w(`cameraOffset`)],L.prototype,`writeCameraOffset`,null),e([c({json:{write:{writer:(e,t,n)=>{t[n]=e.toString()}}},type:p}),l(e=>e?m.getCameraOrientation(e):null)],L.prototype,`cameraOrientation`,void 0),e([C(`cameraOrientation`,[`cameraorientation`,`camori`])],L.prototype,`readCameraOrientation`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`cameraPitch`,void 0),e([C(`cameraPitch`,[`camerapitch`,`campitch`,`layer.cameraPitch`])],L.prototype,`readCameraPitch`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`cameraRoll`,void 0),e([C(`cameraRoll`,[`cameraroll`,`camroll`,`layer.cameraRoll`])],L.prototype,`readCameraRoll`,null),e([c({json:{write:!0},type:String})],L.prototype,`depthImage`,void 0),e([C(`depthImage`,[`depthimage`,`depthimg`])],L.prototype,`readDepthImage`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`elevation`,void 0),e([c({json:{write:!0},clonable:`reference`})],L.prototype,`elevationSource`,void 0),e([C(`elevationSource`,[`elevationsource`,`layer.effectiveElevationSource`])],L.prototype,`readElevationSource`,null),e([c({json:{name:`exposurestationid`,write:{target:`exposureStationId`}},type:String})],L.prototype,`exposureStationId`,void 0),e([c({type:Number,json:{write:!0}})],L.prototype,`farDistance`,void 0),e([C(`farDistance`,[`fardistance`,`fardist`,`layer.farDistance`])],L.prototype,`readFarDistance`,null),e([c(N(`focallength`))],L.prototype,`focalLength`,void 0),e([c({type:d,json:{name:`geometry`}})],L.prototype,`geometry`,null),e([w(`geometry`)],L.prototype,`writeGeometry`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`horizontalFieldOfView`,void 0),e([C(`horizontalFieldOfView`,[`horizontalfieldofview`,`hfov`,`layer.horizontalFieldOfView`])],L.prototype,`readHFOV`,null),e([c({json:{write:!0},type:String})],L.prototype,`imagePath`,void 0),e([C(`imagePath`,[`imagepath`])],L.prototype,`readImageURL`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`imageRotation`,void 0),e([C(`imageRotation`,[`imagerotation`,`imgrot`,`layer.imageRotation`])],L.prototype,`readImageRotation`,null),e([c()],L.prototype,`isHorizontal`,null),e([c()],L.prototype,`isInspection`,null),e([c()],L.prototype,`isNadir`,null),e([c()],L.prototype,`isOblique`,null),e([c()],L.prototype,`isSpherical`,null),e([c()],L.prototype,`location`,null),e([c(P())],L.prototype,`matrix`,null),e([c({json:{write:!0},type:String})],L.prototype,`name`,void 0),e([c({type:Number,json:{write:!0}})],L.prototype,`nearDistance`,void 0),e([C(`nearDistance`,[`neardistance`,`neardist`,`layer.nearDistance`])],L.prototype,`readNearDistance`,null),e([c({json:{write:!0,name:`objectid`},type:Number})],L.prototype,`objectId`,void 0),e([c({type:Number,json:{write:!0}})],L.prototype,`offsetFromStart`,void 0),e([C(`offsetFromStart`,[`offsetfromstart`])],L.prototype,`readOffsetFromStart`,null),e([c()],L.prototype,`orientationAccuracy`,void 0),e([C(`orientationAccuracy`,[`accuracy`,`orientationaccuracy`,`layer.orientationAccuracy`])],L.prototype,`readOrientationAccuracy`,null),e([w(`orientationAccuracy`)],L.prototype,`writeOrientationAccuracy`,null),e([T(x)],L.prototype,`orientedImageryType`,void 0),e([C(`orientedImageryType`,[`orientedimagerytype`,`oitype`,`layer.orientedImageryType`])],L.prototype,`readOIType`,null),e([c({type:Number,json:{write:!0,read:{source:`principalx`}}})],L.prototype,`principalX`,void 0),e([c({type:Number,json:{write:!0,read:{source:`principaly`}}})],L.prototype,`principalY`,void 0),e([c(P([0,0,0]))],L.prototype,`radial`,null),e([c({json:{write:(e,t)=>{e&&e.forEach(e=>t[e.fieldName]=e.value)}}})],L.prototype,`sequenceOrder`,void 0),e([c({type:Object})],L.prototype,`sourceMap`,void 0),e([c(P([0,0]))],L.prototype,`tangential`,null),e([c({type:Number,json:{write:!0}})],L.prototype,`verticalFieldOfView`,void 0),e([C(`verticalFieldOfView`,[`verticalfieldofview`,`vfov`,`layer.verticalFieldOfView`])],L.prototype,`readVFOV`,null),L=e([u(`esri.layers.orientedImagery.core.ExposurePoint`)],L);const R=L;export{R as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{JSONMap as e}from"../../../core/jsonMap.js";import{getMetersPerUnitForSR as t}from"../../../core/units.js";import{geographicToWebMercator as n}from"../../../geometry/support/webMercatorUtils.js";import r from"./cameraOrientationRegistry.js";import{isConstantElevation as i,ConstantElevation as a,ElevationSource as o}from"./ElevationSourceDefinitions.js";function s(e,t,n){return t&&(e=`${t}${e}`),n&&(e+=`${n}`),e}function c(e,t,n){let{url:r}=e;return r?(r=s(r,t,n),new o({...e,url:r})):null}function l(e,t,n){return e&&(i(e)?new a(e):c(e,t,n))}const u=new e({Minutes:`minutes`,Hours:`hours`,Days:`days`,Weeks:`weeks`,Months:`months`,Years:`years`}),d=new e({Feet:`feet`,Meter:`meter`}),f=new e({360:`360`,Horizontal:`horizontal`,Inspection:`inspection`,Nadir:`nadir`,Oblique:`oblique`,Terrestrial360Video:`terrestrial-360-video`,TerrestrialFrameVideo:`terrestrial-frame-video`,Aerial360Video:`aerial-360-video`,AerialFrameVideo:`aerial-frame-video`,"":null}),p=new Map;p.set(`1`,_),p.set(`3`,v),p.set(`2`,m),p.set(`4`,y);function m(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,omega:o,phi:s,kappa:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}const h=e=>{let t=e.map(e=>parseFloat(e)).filter(e=>!isNaN(e));if(t.length===e.length)return t};function g(e,t,n,r,i){let a=h(e),o=h(t),s=h(n),c=h(r);return{affineTransformations:a?.length===6?a:void 0,focalLength:a?.length===6?parseFloat(i):void 0,principalOffsetPoint:o?.length===2?o:[0,0],radialDistortionCoefficients:s?.length===3?s:[0,0,0],tangentialDistortionCoefficients:c?.length===2?c:[0,0]}}function _(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,heading:o,pitch:s,roll:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}function v(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,yaw:o,pitch:s,roll:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}function y(e){let[t,n,i,a,o,...s]=e.slice(1),c=p.get(o),l=r.get(o)?.constructor;return!c||!l?null:{latitude:t,longitude:n,ellipsoidRadius:i,squaredEccentricity:a,properties:new l(c([o,``,...s]))}}function b(e){if(!e)return null;let t=`${e}`.split(`|`);if(t.length===0)return null;let n=r.get(t[0]);if(!n)return null;let i=p.get(t[0]);if(!i)return null;let a=n.constructor;return new a(i(t))}function x(e){
|
|
2
|
+
import{JSONMap as e}from"../../../core/jsonMap.js";import{getMetersPerUnitForSR as t}from"../../../core/units.js";import{geographicToWebMercator as n}from"../../../geometry/support/webMercatorUtils.js";import r from"./cameraOrientationRegistry.js";import{isConstantElevation as i,ConstantElevation as a,ElevationSource as o}from"./ElevationSourceDefinitions.js";function s(e,t,n){return t&&(e=`${t}${e}`),n&&(e+=`${n}`),e}function c(e,t,n){let{url:r}=e;return r?(r=s(r,t,n),new o({...e,url:r})):null}function l(e,t,n){return e&&(i(e)?new a(e):c(e,t,n))}const u=new e({Minutes:`minutes`,Hours:`hours`,Days:`days`,Weeks:`weeks`,Months:`months`,Years:`years`}),d=new e({Feet:`feet`,Meter:`meter`}),f=new e({360:`360`,Horizontal:`horizontal`,Inspection:`inspection`,Nadir:`nadir`,Oblique:`oblique`,Terrestrial360Video:`terrestrial-360-video`,TerrestrialFrameVideo:`terrestrial-frame-video`,Aerial360Video:`aerial-360-video`,AerialFrameVideo:`aerial-frame-video`,"":null}),p=new Map;p.set(`1`,_),p.set(`3`,v),p.set(`2`,m),p.set(`4`,y);function m(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,omega:o,phi:s,kappa:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}const h=e=>{let t=e.map(e=>parseFloat(e)).filter(e=>!isNaN(e));if(t.length===e.length)return t};function g(e,t,n,r,i){let a=h(e),o=h(t),s=h(n),c=h(r);return{affineTransformations:a?.length===6?a:void 0,focalLength:a?.length===6?parseFloat(i):void 0,principalOffsetPoint:o?.length===2?o:[0,0],radialDistortionCoefficients:s?.length===3?s:[0,0,0],tangentialDistortionCoefficients:c?.length===2?c:[0,0]}}function _(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,heading:o,pitch:s,roll:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}function v(e){let[t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,_,v,y,b,x,S,C]=e.slice(1);return{horizontalWKID:t,verticalWKID:n,x:r,y:i,z:a,yaw:o,pitch:s,roll:c,...g([l,u,d,f,p,m],[_,v],[y,b,x],[S,C],h)}}function y(e){let[t,n,i,a,o,...s]=e.slice(1),c=p.get(o),l=r.get(o)?.constructor;return!c||!l?null:{latitude:t,longitude:n,ellipsoidRadius:i,squaredEccentricity:a,properties:new l(c([o,``,...s]))}}function b(e){if(!e)return null;let t=`${e}`.split(`|`);if(t.length===0)return null;let n=r.get(t[0]);if(!n)return null;let i=p.get(t[0]);if(!i)return null;let a=n.constructor;return new a(i(t))}function x(e){if(!Array.isArray(e)||e.length<=5)return!1;for(let t of e)if(typeof t!=`number`||!Number.isFinite(t)||t<0)return!1;return!0}function S(e){for(e=e.slice(0,8);e.length<8;)e.push(0);return e}function C(e){return x(e)?S(e):null}function w(e){if(typeof e!=`string`)return null;let t=e.split(`;`);return t.some(e=>!/^[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?$/.test(e.trim()))?null:C(t.map(e=>Number(e.trim())))}function T(e){return e.spatialReference.isGeographic?n(e):e.clone()}function E(e){return e.isGeographic?1:t(e)}function D(e){let t=e.match(/^(.*)\/rest\/services\/(.*)$/);return t?t[1]:null}const O=`sequenceorder`;function k(e,t){return e?.length?e.map(({field:e,order:n})=>{let r=t.find(t=>t.name.toLowerCase()===e.toLowerCase());return r?{fieldName:r.name,sortOrder:n?.toLowerCase()===`desc`?`desc`:`asc`}:null}).filter(e=>e!=null):null}function A(e,t,n){let r=k(n,t);if(r?.length)return r;if(!e){let e=t.find(e=>e.name.toLocaleLowerCase()===O.toLocaleLowerCase());return e?[{fieldName:e.name,sortOrder:`asc`}]:null}let i=t.find(t=>t.name.toLowerCase()===e.trim().toLowerCase());return i?[{fieldName:i.name,sortOrder:`asc`}]:null}export{s as appendPrefixAndSuffix,T as convertGeographicToWebMercator,b as createCameraOrientation,O as defaultSequenceOrderField,D as getArcGISServerUrl,l as getEffectiveElevationSource,E as getMetersPerUnitOfSR,x as isOrientationAccuracy,C as normalizeOrientationAccuracy,f as orientedImageryTypeMap,S as padAccuracyArray,w as parseOrientationAccuracy,A as parseSequenceOrderFields,c as processElevationSource,u as timeIntervalUnitTypeMap,p as transformersRegistry,d as verticalMeasurementTypeMap};
|
|
@@ -323,7 +323,7 @@ export default class FeatureFilter extends JSONSupport {
|
|
|
323
323
|
* Creates [Query](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/) parameters that can be used to fetch features that
|
|
324
324
|
* satisfy the layer's current filters and definitions.
|
|
325
325
|
*
|
|
326
|
-
* @returns The query object representing the layer's filters
|
|
326
|
+
* @returns The query parameter object representing the layer's filters
|
|
327
327
|
* and other definitions.
|
|
328
328
|
* @example
|
|
329
329
|
* // Get a query object from the filter's current configuration
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as
|
|
2
|
+
import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import n from"../../core/Error.js";import{JSONSupportMixin as r}from"../../core/JSONSupport.js";import{property as i}from"../../core/accessorSupport/decorators.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"../../portal/PortalItem.js";import{isCrossPortalWrite as s}from"../../webdoc/support/saveUtils.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{writer as l}from"../../core/accessorSupport/decorators/writer.js";let u=class extends r(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new o({id:t.itemId,portal:n?.portal})}writePortalItem(e,t,r,i){if(s(e,i)){i.messages?.push(new n(`portal-item-data:cross-portal`,`Data cannot be persisted because it refers to an item on a different portal ('${e?.portal?.url}') than the one being saved to ('${i?.portal?.url}').`,{layer:this,itemId:e?.id}));return}e?.id&&(t.itemId=e.id)}};e([i({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],u.prototype,`type`,void 0),e([i({type:o,json:{write:{isRequired:!0}}})],u.prototype,`portalItem`,void 0),e([c(`portalItem`,[`itemId`])],u.prototype,`readPortalItem`,null),e([l(`portalItem`,{itemId:{type:String}})],u.prototype,`writePortalItem`,null),u=e([a(`esri.layers.support.ParquetPortalItemData`)],u);const d=u;export{d as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as
|
|
2
|
+
import{__decorate as e}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import n from"../../core/Error.js";import{JSONSupportMixin as r}from"../../core/JSONSupport.js";import{property as i}from"../../core/accessorSupport/decorators.js";import{subclass as a}from"../../core/accessorSupport/decorators/subclass.js";import o from"../../portal/PortalItem.js";import{isCrossPortalWrite as s}from"../../webdoc/support/saveUtils.js";import{reader as c}from"../../core/accessorSupport/decorators/reader.js";import{writer as l}from"../../core/accessorSupport/decorators/writer.js";let u=class extends r(t){constructor(e){super(e),this.type=`portal-item`}readPortalItem(e,t,n){if(t.itemId)return new o({id:t.itemId,portal:n?.portal})}writePortalItem(e,t,r,i){if(s(e,i)){i.messages?.push(new n(`portal-item-data:cross-portal`,`Data cannot be persisted because it refers to an item on a different portal ('${e?.portal?.url}') than the one being saved to ('${i?.portal?.url}').`,{layer:this,itemId:e?.id}));return}e?.id&&(t.itemId=e.id)}};e([i({type:[`portal-item`],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],u.prototype,`type`,void 0),e([i({type:o,json:{write:{isRequired:!0}}})],u.prototype,`portalItem`,void 0),e([c(`portalItem`,[`itemId`])],u.prototype,`readPortalItem`,null),e([l(`portalItem`,{itemId:{type:String}})],u.prototype,`writePortalItem`,null),u=e([a(`esri.layers.support.PortalItemData`)],u);export{u as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as h,ensureType as g,Integer as _,ensureClass as v}from"../../core/accessorSupport/ensureType.js";import{nameToId as y}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as b}from"../../core/accessorSupport/utils.js";import x from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";import{featureGeometryTypeKebabDictionary as C}from"../../geometry/support/typeUtils.js";import ee from"../../graphic/MapImageGraphicOrigin.js";import te from"../../graphic/TileGraphicOrigin.js";import ne from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import w from"./Field.js";import T from"./FieldsIndex.js";import{fixRendererFields as E}from"./fieldUtils.js";import D from"./LabelClass.js";import{validateLabelingInfo as O}from"./labelingInfo.js";import k from"./LayerFloorInfo.js";import A from"./OrderByInfo.js";import j from"./Relationship.js";import{getFeatureLayerCapabilities as M}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as N,rendererTypes as P}from"../../renderers/support/typeUtils.js";import{parseUrl as F}from"../../rest/utils.js";import I from"../../rest/layerSources/DynamicDataLayer.js";import L from"../../rest/layerSources/DynamicMapLayer.js";import R from"../../rest/support/AttachmentQuery.js";import z from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=y(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let se=0;const ce=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type=`sublayer`,this.types=null,this.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=M(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new T(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new te(this.layer,this);case`map-image`:return new ee(this.layer,this)}}get id(){return this._get(`id`)??se++}set id(e){if(this._get(`id`)!==e){if(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1){this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`);return}this._set(`id`,e)}}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:h(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new ne({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(E(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new L({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return g(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=b(this),t=new G;return b(t).store=e.clone(ce),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new z({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=R.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:F(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let t=this.labelingInfo;this.geometryType!=null&&(t=O(this.labelingInfo,C.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=b(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}if(e===`source`&&this.loadStatus!==`not-loaded`){this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`);return}this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this.layer}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null}),e.on(`before-changes`,e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??!0)||(c.getLogger(this).error(new i(`sublayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[w],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:k,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:x,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:C.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:C.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:_,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[D],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[A],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:_,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[j],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:P,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:N,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":I,"map-layer":L}},cast(e){if(e){if(`mapLayerId`in e)return v(L,e);if(`dataSource`in e)return v(I,e)}return e},json:{name:`layerDefinition.source`,write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:S,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[_],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import n from"../../request.js";import r from"../../core/Collection.js";import i from"../../core/Error.js";import has from"../../core/has.js";import{IdentifiableMixin as a}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import c from"../../core/Logger.js";import{MultiOriginJSONSupportMixin as l}from"../../core/MultiOriginJSONSupport.js";import{sqlAnd as u}from"../../core/sql.js";import{objectToQuery as d}from"../../core/urlUtils.js";import{property as f,cast as p,subclass as m}from"../../core/accessorSupport/decorators.js";import{ensureInteger as h,ensureType as g,Integer as _,ensureClass as v}from"../../core/accessorSupport/ensureType.js";import{nameToId as y}from"../../core/accessorSupport/PropertyOrigin.js";import{getProperties as b}from"../../core/accessorSupport/utils.js";import x from"../../geometry/Extent.js";import S from"../../geometry/SpatialReference.js";import{joinScaleRanges as C}from"../../geometry/support/scaleUtils.js";import{featureGeometryTypeKebabDictionary as w}from"../../geometry/support/typeUtils.js";import ee from"../../graphic/MapImageGraphicOrigin.js";import te from"../../graphic/TileGraphicOrigin.js";import ne from"../graphics/sources/support/QueryTask.js";import{readOrderByInfos as re}from"../mixins/OrderedLayer.js";import ie from"./EditFieldsInfo.js";import{getFeatureType as ae}from"./featureLayerUtils.js";import oe from"./FeatureType.js";import T from"./Field.js";import E from"./FieldsIndex.js";import{fixRendererFields as D}from"./fieldUtils.js";import O from"./LabelClass.js";import{validateLabelingInfo as k}from"./labelingInfo.js";import A from"./LayerFloorInfo.js";import j from"./OrderByInfo.js";import M from"./Relationship.js";import{getFeatureLayerCapabilities as N}from"./serviceCapabilitiesUtils.js";import{webSceneRendererTypes as P,rendererTypes as F}from"../../renderers/support/typeUtils.js";import{parseUrl as I}from"../../rest/utils.js";import L from"../../rest/layerSources/DynamicDataLayer.js";import R from"../../rest/layerSources/DynamicMapLayer.js";import z from"../../rest/support/AttachmentQuery.js";import se from"../../rest/support/Query.js";import{createPopupTemplate as B}from"../../support/popupUtils.js";import{isSymbol3D as V}from"../../symbols/support/typeUtils.js";import H from"../../tables/AttributeTableTemplate.js";import{reader as U}from"../../core/accessorSupport/decorators/reader.js";import{writer as W}from"../../core/accessorSupport/decorators/writer.js";var G;function K(e){return e?.type===`esriSMS`}function q(e,t,n){let r=n.minimumWritableOrigin||n.origin;return r?e.originIdOf(t)>=y(r):!1}function J(e,t,n){let r=q(this,t,n);return{ignoreOrigin:!0,allowNull:r,enabled:n?n.layer?.type===`map-image`&&(n.writeSublayerStructure||r):!1}}function Y(e,t,n){return{enabled:n?n.layer?.type===`tile`&&(q(this,t,n)||this._isOverridden(t)):!1}}function X(e,t,n){return{ignoreOrigin:!0,enabled:n&&n.writeSublayerStructure||!1}}function Z(e,t,n){return{ignoreOrigin:!0,enabled:n?.writeSublayerStructure?this.originIdOf(t)>2:!1}}function Q(e,t,n){return{ignoreOrigin:!0,enabled:n?n.writeSublayerStructure||q(this,t,n):!1}}let ce=0;const le=new Set([`layer`,`parent`,`loaded`,`loadStatus`,`loadError`,`loadWarnings`]);let $=class extends l(a(s)){static{G=this}constructor(e){super(e),this.attributeTableTemplate=null,this.capabilities=void 0,this.editFieldsInfo=null,this.maxScaleRange={minScale:0,maxScale:0},this.fields=null,this.fullExtent=null,this.geometryType=null,this.globalIdField=null,this.isTable=!1,this.legendEnabled=!0,this.objectIdField=null,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.relationships=null,this.sourceJSON=null,this.spatialReference=null,this.title=null,this.typeIdField=null,this.type=`sublayer`,this.types=null,this.uniqueIdFields=null,this._lastParsedUrl=null}async load(e){return this.addResolvingPromise(this.reload(e)),this}readCapabilities(e,t){t=t.layerDefinition||t;let{attachment:n,operations:{supportsQuery:r,supportsQueryAttachments:i},query:{supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s,relativeTimeBinWindow:c},data:{supportsAttachment:l},queryRelated:u}=N(t,this.url);return{attachment:{supportsOrderByFields:n?.supportsOrderByFields??!1,supportsResize:n?.supportsResize??!1,supportsTypeWildcard:n?.supportsTypeWildcard??!1},exportMap:{supportsModification:!!t.canModifyLayer},operations:{supportsQuery:r,supportsQueryAttachments:i},data:{supportsAttachment:l},query:{relativeTimeBinWindow:c,supportsFormatPBF:a,supportsOrderBy:o,supportsPagination:s},queryRelated:u}}get defaultPopupTemplate(){return this.createPopupTemplate()}set definitionExpression(e){this._setAndNotifyLayer(`definitionExpression`,e)}get effectiveScaleRange(){let e=this._get(`effectiveScaleRange`),{maxScale:t,minScale:n,parent:r}=this,i={minScale:n,maxScale:t};return r?.effectiveScaleRange!==void 0&&C(i,r.effectiveScaleRange),e&&e.minScale===i.minScale&&e.maxScale===i.maxScale?e:i}get effectiveUniqueIdFields(){return this.uniqueIdFields?[...this.uniqueIdFields]:this.objectIdField?[this.objectIdField]:[]}readMaxScaleRange(e,t){return t=t.layerDefinition||t,{minScale:t.minScale??0,maxScale:t.maxScale??0}}get fieldsIndex(){return new E(this.fields||[])}set floorInfo(e){this._setAndNotifyLayer(`floorInfo`,e)}readGlobalIdFieldFromService(e,t){if(t=t.layerDefinition||t,t.globalIdField)return t.globalIdField;if(t.fields){for(let e of t.fields)if(e.type===`esriFieldTypeGlobalID`)return e.name}}get graphicOrigin(){if(!this.layer)return null;switch(this.layer.type){case`tile`:return new te(this.layer,this);case`map-image`:return new ee(this.layer,this)}}get id(){return this._get(`id`)??ce++}set id(e){if(this._get(`id`)!==e){if(this.layer?.capabilities?.exportMap?.supportsDynamicLayers===!1){this._logLockedError(`id`,`capability not available 'layer.capabilities.exportMap.supportsDynamicLayers'`);return}this._set(`id`,e)}}readIsTable(e,t){return t.type===`Table`}set labelingInfo(e){this._setAndNotifyLayer(`labelingInfo`,e)}writeLabelingInfo(e,t,n,r){e&&e.length&&(t.layerDefinition={drawingInfo:{labelingInfo:e.map(e=>e.write({},r))}})}set labelsVisible(e){this._setAndNotifyLayer(`labelsVisible`,e)}set layer(e){this._set(`layer`,e),this.sublayers?.forEach(t=>t.layer=e)}set listMode(e){this._set(`listMode`,e)}get loaded(){return super.loaded}set minScale(e){this._setAndNotifyLayer(`minScale`,e)}readMinScale(e,t){return t.minScale||t.layerDefinition?.minScale||0}set maxScale(e){this._setAndNotifyLayer(`maxScale`,e)}readMaxScale(e,t){return t.maxScale||t.layerDefinition?.maxScale||0}readObjectIdFieldFromService(e,t){return t=t.layerDefinition||t,t.objectIdField?t.objectIdField:t.fields?.find(e=>e.type===`esriFieldTypeOID`)?.name}set opacity(e){this._setAndNotifyLayer(`opacity`,e)}readOpacity(e,t){let{layerDefinition:n}=t;return 1-(n?.transparency??n?.drawingInfo?.transparency??0)*.01}writeOpacity(e,t,n,r){t.layerDefinition={drawingInfo:{transparency:100-e*100}}}set orderBy(e){this._setAndNotifyLayer(`orderBy`,e)}writeParent(e,t){t.parentLayerId=!this.parent||this.parent===this.layer?-1:h(this.parent.id)}get queryTask(){if(!this.layer)return null;let{capabilities:e,fieldsIndex:t,layer:n,uniqueIdFields:r,url:i}=this,{spatialReference:a}=n,o=`gdbVersion`in n?n.gdbVersion:void 0,s=has(`featurelayer-pbf`)&&e?.query.supportsFormatPBF,c=e?.operations?.supportsQueryAttachments??!1,l=e?.query?.relativeTimeBinWindow??0;return new ne({fieldsIndex:t,gdbVersion:o,pbfSupported:s,queryAttachmentsSupported:c,relativeTimeBinWindow:l,sourceSpatialReference:a,uniqueIdFields:r,url:i})}set renderer(e){if(D(e,this.fieldsIndex),e){for(let t of e.symbols)if(V(t)){c.getLogger(this).warn(`Sublayer renderer should use 2D symbols`);break}}this._setAndNotifyLayer(`renderer`,e)}get source(){return this._get(`source`)||new R({mapLayerId:this.id})}set source(e){this._setAndNotifyLayer(`source`,e)}get sublayers(){return this._get(`sublayers`)}set sublayers(e){this._handleSublayersChange(e,this._get(`sublayers`)),this._set(`sublayers`,e)}castSublayers(e){return g(r.ofType(G),e)}writeSublayers(e,t,n){this.sublayers?.length&&(t[n]=this.sublayers.map(e=>e.id).toArray().reverse())}readTitle(e,t){return t.layerDefinition?.name??t.name}readTypeIdField(e,t){t=t.layerDefinition||t;let n=t.typeIdField;if(n&&t.fields){n=n.toLowerCase();let e=t.fields.find(e=>e.name.toLowerCase()===n);e&&(n=e.name)}return n}readUniqueIdFields(e,t){return t.layerDefinition?.uniqueIdInfo?.OIDFieldContainsHashValue?t.layerDefinition.uniqueIdInfo.fields:null}get url(){let e=this.layer?.parsedUrl??this._lastParsedUrl,t=this.source;if(!e)return null;if(this._lastParsedUrl=e,t?.type===`map-layer`)return`${e.path}/${t.mapLayerId}`;let n={layer:JSON.stringify({source:this.source})};return`${e.path}/dynamicLayer?${d(n)}`}set url(e){this._overrideIfSome(`url`,e)}set visible(e){this._setAndNotifyLayer(`visible`,e)}writeVisible(e,t,n,r){t[n]=this.getAtOrigin(`defaultVisibility`,`service`)||e}clone(){let{store:e}=b(this),t=new G;return b(t).store=e.clone(le),this.commitProperty(`url`),t._lastParsedUrl=this._lastParsedUrl,t}createPopupTemplate(e){return B(this,e)}createQuery(){return new se({returnGeometry:!0,where:this.definitionExpression||`1=1`})}async createFeatureLayer(){if(this.sublayers)return null;let e=(await import(`../FeatureLayer.js`)).default,{layer:t,url:n}=this,r;if(n&&this.originIdOf(`url`)>2)r=new e({url:n});else if(t?.parsedUrl){let n=t.parsedUrl;r=new e({url:n.path}),n&&this.source&&(this.source.type===`map-layer`?r.layerId=this.source.mapLayerId:r.dynamicDataSource=this.source)}else throw new i(`createFeatureLayer:missing-information`,`Cannot create a FeatureLayer without a url or a parent layer`);return t?.refreshInterval!=null&&(r.refreshInterval=t.refreshInterval),this.definitionExpression&&(r.definitionExpression=this.definitionExpression),this.floorInfo&&(r.floorInfo=o(this.floorInfo)),this.originIdOf(`labelingInfo`)>2&&(r.labelingInfo=o(this.labelingInfo)),this.originIdOf(`labelsVisible`)>0&&(r.labelsVisible=this.labelsVisible),this.originIdOf(`legendEnabled`)>0&&(r.legendEnabled=this.legendEnabled),this.originIdOf(`visible`)>0&&(r.visible=this.visible),this.originIdOf(`minScale`)>0&&(r.minScale=this.minScale),this.originIdOf(`maxScale`)>0&&(r.maxScale=this.maxScale),this.originIdOf(`opacity`)>0&&(r.opacity=this.opacity),this.originIdOf(`popupTemplate`)>0&&(r.popupTemplate=o(this.popupTemplate)),this.originIdOf(`renderer`)>2&&(r.renderer=o(this.renderer)),this.source?.type===`data-layer`&&(r.dynamicDataSource=this.source.clone()),this.originIdOf(`title`)>0&&(r.title=this.title),t?.type===`map-image`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),t?.type===`tile`&&t.originIdOf(`customParameters`)>0&&(r.customParameters=t.customParameters),r}getField(e){return this.fieldsIndex.get(e)}getFeatureType(e){return ae(this.types,this.typeIdField,e)}getFieldDomain(e,t){let n=t?.feature,r=this.getFeatureType(n);if(r){let t=r.domains&&r.domains[e];if(t&&t.type!==`inherited`)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){await this.load();let n=z.from(e),r=this.capabilities;if(!r?.data?.supportsAttachment)throw new i(`queryAttachments:not-supported`,`this layer doesn't support attachments`);let{attachmentTypes:a,objectIds:o,globalIds:s,num:c,size:l,start:u,where:d}=n;if(!r?.operations?.supportsQueryAttachments){let e=a?.length>0,t=s?.length>0,r=l?.length>0;if(e||t||r||c||u||d)throw new i(`queryAttachments:option-not-supported`,`when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported`,n)}if(!(o?.length||s?.length||d))throw new i(`queryAttachments:invalid-query`,`'objectIds', 'globalIds', or 'where' are required to perform attachment query`,n);return!r?.attachment?.supportsOrderByFields&&n.orderByFields?.length&&(n=n.clone(),n.orderByFields=null),this.queryTask.executeAttachmentQuery(n,t)}async queryFeatureCount(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatureCount:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatureCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryFeatures(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryFeatures:not-supported`,`this layer has no url.`);let n=await this.queryTask.execute(e,{...t,query:{...this.layer?.customParameters,token:this.layer?.apiKey}});if(n?.features){let e=this.graphicOrigin;for(let t of n.features)t.sourceLayer=this,t.origin=e}return n}async queryObjectIds(e=this.createQuery(),t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryObjectIds:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryObjectIds:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeForIds(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeatures(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeatures:not-supported`,`this layer doesn't support queries.`);if(!this.url)throw new i(`queryRelatedFeatures:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQuery(e,{...t,query:{...this.layer?.customParameters,token:n}})}async queryRelatedFeaturesCount(e,t){if(await this.load(),!this.capabilities.operations.supportsQuery)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support queries.`);if(!this.capabilities.queryRelated.supportsCount)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer doesn't support query related counts.`);if(!this.url)throw new i(`queryRelatedFeaturesCount:not-supported`,`this layer has no url.`);let n=this.layer?.apiKey;return await this.queryTask.executeRelationshipQueryForCount(e,{...t,query:{...this.layer?.customParameters,token:n}})}async reload(e){if(this.loadStatus===`not-loaded`)return this.load(e).then(()=>{});let{layer:t,url:r}=this;if(!t&&!r)throw new i(`sublayer:missing-layer`,`Sublayer can't be loaded without being part of a layer`,{sublayer:this});let a=t?await t.fetchSublayerInfo(this,e):(await n(r,{query:{f:`json`},...e})).data;a&&(this.sourceJSON={...this.sourceJSON,...a},this.read({layerDefinition:a},{origin:`service`,layer:t,url:I(r)}))}toExportImageJSON(e){let t={id:this.id,source:this.source?.toJSON()||{mapLayerId:this.id,type:`mapLayer`}},n=u(e,this.definitionExpression);n!=null&&(t.definitionExpression=n);let r=[`renderer`,`labelingInfo`,`opacity`,`labelsVisible`].reduce((e,t)=>(e[t]=this.originIdOf(t),e),{});if(Object.keys(r).some(e=>r[e]>2)){let e=t.drawingInfo={};if(r.renderer>2&&(e.renderer=this.renderer?this.renderer.toJSON():null),r.labelsVisible>2&&(e.showLabels=this.labelsVisible),this.labelsVisible&&r.labelingInfo>2){if(!this.labelingInfo)e.showLabels=!1;else{!this.loaded&&this.labelingInfo?.some(e=>!e.labelPlacement)&&c.getLogger(this).warnOnce(`A Sublayer (title: ${this.title}, id: ${this.id}) has an undefined 'labelPlacement' and so labels cannot be displayed. Either define a valid 'labelPlacement' or call Sublayer.load() to use a default value based on geometry type.`,{sublayer:this});let t=this.labelingInfo;this.geometryType!=null&&(t=k(this.labelingInfo,w.toJSON(this.geometryType))),e.showLabels=!0,e.labelingInfo=t.filter(e=>e.labelPlacement).map(e=>e.toJSON({origin:`service`,layer:this.layer}))}}r.opacity>2&&(e.transparency=100-this.opacity*100),this._assignDefaultSymbolColors(e.renderer)}return(this.layer?.capabilities?.exportMap?.supportsSublayerOrderBy??!1)&&this.originIdOf(`orderBy`)>2&&(t.orderBy=this.orderBy?.map(e=>e.toJSON())??null),t}_assignDefaultSymbolColors(e){this._forEachSimpleMarkerSymbols(e,e=>{e.color||(e.style===`esriSMSX`||e.style===`esriSMSCross`)&&(e.color=e.outline?.color?e.outline.color:[0,0,0,0])})}_forEachSimpleMarkerSymbols(e,t){if(e){let n=(`uniqueValueInfos`in e?e.uniqueValueInfos:`classBreakInfos`in e?e.classBreakInfos:null)??[];for(let e of n)K(e.symbol)&&t(e.symbol);`symbol`in e&&K(e.symbol)&&t(e.symbol),`defaultSymbol`in e&&K(e.defaultSymbol)&&t(e.defaultSymbol)}}_setAndNotifyLayer(e,t){let n=this.layer,r=this._get(e),i,a;switch(e){case`definitionExpression`:case`floorInfo`:i=`supportsSublayerDefinitionExpression`;break;case`minScale`:case`maxScale`:case`visible`:i=`supportsSublayerVisibility`;break;case`labelingInfo`:case`labelsVisible`:case`opacity`:case`renderer`:case`source`:i=`supportsDynamicLayers`,a=`supportsModification`;break;case`orderBy`:i=`supportsSublayerOrderBy`,a=`supportsModification`}let o=b(this).getDefaultOrigin();if(o!==`service`){if(i&&this.layer?.capabilities?.exportMap?.[i]===!1){this._logLockedError(e,`capability not available 'layer.capabilities.exportMap.${i}'`);return}if(a&&this.capabilities?.exportMap[a]===!1){this._logLockedError(e,`capability not available 'capabilities.exportMap.${a}'`);return}}if(e===`source`&&this.loadStatus!==`not-loaded`){this._logLockedError(e,`'source' can't be changed after calling sublayer.load()`);return}this._set(e,t),o!==`service`&&r!==t&&n?.emit&&n.emit(`sublayer-update`,{propertyName:e,target:this})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null,e.layer=null}),this.removeAllHandles()),e&&(e.forEach(e=>{e.parent=this,e.layer=this.layer}),this.addHandles([e.on(`after-add`,({item:e})=>{e.parent=this,e.layer=this.layer}),e.on(`after-remove`,({item:e})=>{e.parent=null,e.layer=null}),e.on(`before-changes`,e=>{(this.layer?.capabilities?.exportMap?.supportsSublayersChanges??!0)||(c.getLogger(this).error(new i(`sublayer:sublayers-non-modifiable`,`Sublayer can't be added, moved, or removed from the layer's sublayers`,{sublayer:this,layer:this.layer})),e.preventDefault())})]))}_logLockedError(e,t){let{layer:n,declaredClass:r}=this;c.getLogger(r).error(new i(`sublayer:locked`,`Property '${String(e)}' can't be changed on Sublayer from the layer '${n?.id}'`,{reason:t,sublayer:this,layer:n}))}_getLayerDomain(e){return this.fieldsIndex.get(e)?.domain??null}static{this.test={isMapImageLayerOverridePolicy:e=>e===Z||e===X||e===J,isTileImageLayerOverridePolicy:e=>e===Y}}};e([f({type:H,json:{name:`attributeTableInfo`,write:{overridePolicy:J},origins:{"web-scene":{write:!1}}}})],$.prototype,`attributeTableTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`capabilities`,void 0),e([U(`service`,`capabilities`,[`layerDefinition.canModifyLayer`,`layerDefinition.capabilities`])],$.prototype,`readCapabilities`,null),e([f()],$.prototype,`defaultPopupTemplate`,null),e([f({type:String,value:null,json:{name:`layerDefinition.definitionExpression`,write:{allowNull:!0,overridePolicy:J}}})],$.prototype,`definitionExpression`,null),e([f({readOnly:!0,type:ie,json:{origins:{service:{read:{source:`layerDefinition.editFieldsInfo`}}}}})],$.prototype,`editFieldsInfo`,void 0),e([f({readOnly:!0})],$.prototype,`effectiveScaleRange`,null),e([f({readOnly:!0,type:[String]})],$.prototype,`effectiveUniqueIdFields`,null),e([U(`service`,`maxScaleRange`,[`minScale`,`maxScale`])],$.prototype,`readMaxScaleRange`,null),e([f({type:[T],json:{origins:{service:{read:{source:`layerDefinition.fields`}}}}})],$.prototype,`fields`,void 0),e([f({readOnly:!0})],$.prototype,`fieldsIndex`,null),e([f({type:A,value:null,json:{name:`layerDefinition.floorInfo`,read:{source:`layerDefinition.floorInfo`},write:{target:`layerDefinition.floorInfo`,overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`floorInfo`,null),e([f({type:x,json:{read:{source:`layerDefinition.extent`}}})],$.prototype,`fullExtent`,void 0),e([f({type:w.apiValues,json:{origins:{service:{name:`layerDefinition.geometryType`,read:{reader:w.read}}}}})],$.prototype,`geometryType`,void 0),e([f({type:String})],$.prototype,`globalIdField`,void 0),e([U(`service`,`globalIdField`,[`layerDefinition.globalIdField`,`layerDefinition.fields`])],$.prototype,`readGlobalIdFieldFromService`,null),e([f({readOnly:!0})],$.prototype,`graphicOrigin`,null),e([f({type:_,json:{write:{ignoreOrigin:!0}}})],$.prototype,`id`,null),e([f({readOnly:!0})],$.prototype,`isTable`,void 0),e([U(`service`,`isTable`,[`type`])],$.prototype,`readIsTable`,null),e([f({value:null,type:[O],json:{read:{source:`layerDefinition.drawingInfo.labelingInfo`},write:{target:`layerDefinition.drawingInfo.labelingInfo`,overridePolicy:Z}}})],$.prototype,`labelingInfo`,null),e([W(`labelingInfo`)],$.prototype,`writeLabelingInfo`,null),e([f({type:Boolean,value:!0,json:{read:{source:`layerDefinition.drawingInfo.showLabels`},write:{target:`layerDefinition.drawingInfo.showLabels`,overridePolicy:X}}})],$.prototype,`labelsVisible`,null),e([f({value:null})],$.prototype,`layer`,null),e([f({type:String,json:{write:{overridePolicy:Y}}})],$.prototype,`layerItemId`,void 0),e([f({type:Boolean,value:!0,json:{origins:{service:{read:{enabled:!1}}},read:{source:`showLegend`},write:{target:`showLegend`,overridePolicy:Q}}})],$.prototype,`legendEnabled`,void 0),e([f({type:[`show`,`hide`,`hide-children`],value:`show`,json:{read:!1,write:!1,origins:{"web-scene":{read:!0,write:!0}}}})],$.prototype,`listMode`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`minScale`,null),e([U(`minScale`,[`minScale`,`layerDefinition.minScale`])],$.prototype,`readMinScale`,null),e([f({type:Number,value:0,json:{write:{overridePolicy:X}}})],$.prototype,`maxScale`,null),e([U(`maxScale`,[`maxScale`,`layerDefinition.maxScale`])],$.prototype,`readMaxScale`,null),e([f()],$.prototype,`objectIdField`,void 0),e([U(`service`,`objectIdField`,[`layerDefinition.objectIdField`,`layerDefinition.fields`])],$.prototype,`readObjectIdFieldFromService`,null),e([f({type:Number,value:1,json:{write:{target:`layerDefinition.drawingInfo.transparency`,overridePolicy:X}}})],$.prototype,`opacity`,null),e([U(`opacity`,[`layerDefinition.drawingInfo.transparency`,`layerDefinition.transparency`])],$.prototype,`readOpacity`,null),e([W(`opacity`)],$.prototype,`writeOpacity`,null),e([f({value:null,type:[j],json:{name:`layerDefinition.orderBy`,read:{reader:re},write:{overridePolicy:J},origins:{"web-scene":{read:!1,write:!1}}}})],$.prototype,`orderBy`,null),e([f({json:{type:_,write:{target:`parentLayerId`,writerEnsuresNonNull:!0,overridePolicy:X}}})],$.prototype,`parent`,void 0),e([W(`parent`)],$.prototype,`writeParent`,null),e([f({type:Boolean,value:!0,json:{read:{source:`disablePopup`,reader(e,t){return!t.disablePopup}},write:{target:`disablePopup`,overridePolicy:Q,writer(e,t,n){t[n]=!e}}}})],$.prototype,`popupEnabled`,void 0),e([f({type:t,json:{read:{source:`popupInfo`},write:{target:`popupInfo`,overridePolicy:Q}}})],$.prototype,`popupTemplate`,void 0),e([f({readOnly:!0})],$.prototype,`queryTask`,null),e([f({type:[M],readOnly:!0,json:{origins:{service:{read:{source:`layerDefinition.relationships`}}}}})],$.prototype,`relationships`,void 0),e([f({types:F,value:null,json:{name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z},origins:{"web-scene":{types:P,name:`layerDefinition.drawingInfo.renderer`,write:{overridePolicy:Z}}}}})],$.prototype,`renderer`,null),e([f({types:{key:`type`,base:null,typeMap:{"data-layer":L,"map-layer":R}},cast(e){if(e){if(`mapLayerId`in e)return v(R,e);if(`dataSource`in e)return v(L,e)}return e},json:{name:`layerDefinition.source`,write:{overridePolicy:X}}})],$.prototype,`source`,null),e([f()],$.prototype,`sourceJSON`,void 0),e([f({type:S,json:{origins:{service:{read:{source:`layerDefinition.extent.spatialReference`}}}}})],$.prototype,`spatialReference`,void 0),e([f({value:null,json:{type:[_],write:{target:`subLayerIds`,allowNull:!0,overridePolicy:X}}})],$.prototype,`sublayers`,null),e([p(`sublayers`)],$.prototype,`castSublayers`,null),e([W(`sublayers`)],$.prototype,`writeSublayers`,null),e([f({type:String,json:{name:`name`,write:{overridePolicy:Q}}})],$.prototype,`title`,void 0),e([U(`service`,`title`,[`name`,`layerDefinition.name`])],$.prototype,`readTitle`,null),e([f({type:String})],$.prototype,`typeIdField`,void 0),e([f({json:{read:!1},readOnly:!0,value:`sublayer`})],$.prototype,`type`,void 0),e([U(`typeIdField`,[`layerDefinition.typeIdField`])],$.prototype,`readTypeIdField`,null),e([f({type:[oe],json:{origins:{service:{read:{source:`layerDefinition.types`}}}}})],$.prototype,`types`,void 0),e([f({type:[String],readOnly:!0})],$.prototype,`uniqueIdFields`,void 0),e([U(`service`,`uniqueIdFields`,[`layerDefinition.uniqueIdInfo.OIDFieldContainsHashValue`,`layerDefinition.uniqueIdInfo.fields`])],$.prototype,`readUniqueIdFields`,null),e([f({type:String,json:{name:`layerUrl`,write:{overridePolicy:Y}}})],$.prototype,`url`,null),e([f({type:Boolean,value:!0,json:{read:{source:`defaultVisibility`},write:{target:`defaultVisibility`,overridePolicy:X}}})],$.prototype,`visible`,null),e([W(`visible`)],$.prototype,`writeVisible`,null),$=G=e([m(`esri.layers.support.Sublayer`)],$);export{$ as default};
|
|
@@ -784,7 +784,7 @@ export default class SubtypeSublayer extends SubtypeSublayerSuperclass {
|
|
|
784
784
|
* Creates query parameters that can be used to fetch features that
|
|
785
785
|
* satisfy the layer's current filters, and definitions.
|
|
786
786
|
*
|
|
787
|
-
* @returns The query object representing the layer's definition expression
|
|
787
|
+
* @returns The query parameter object representing the layer's definition expression
|
|
788
788
|
* and other configurations.
|
|
789
789
|
* @example
|
|
790
790
|
* // this snippet shows the query parameter object that is returned
|