@arcgis/core 5.1.0-next.129 → 5.1.0-next.130
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/007485862ce95928717a.js +1 -0
- package/assets/esri/core/workers/chunks/05b6b2c0b76afb100e33.js +1 -0
- package/assets/esri/core/workers/chunks/0a52373c4ba652e0ee0f.js +1 -0
- package/assets/esri/core/workers/chunks/0b522e05668bef729b1b.js +1 -0
- package/assets/esri/core/workers/chunks/{faad127dc07e54e7f6d1.js → 10e90c04d29cfa00acd7.js} +1 -1
- package/assets/esri/core/workers/chunks/{cdf6ad970dc1893dac58.js → 110135b0562a3b5708b9.js} +1 -1
- package/assets/esri/core/workers/chunks/122892f365f5327d290c.js +1 -0
- package/assets/esri/core/workers/chunks/1305690054214a9cf48d.js +1 -0
- package/assets/esri/core/workers/chunks/168c15cf462f9abcbdd2.js +1 -0
- package/assets/esri/core/workers/chunks/169bfafec4d59be2beb0.js +1 -0
- package/assets/esri/core/workers/chunks/1c689bb502657b1f173b.js +1 -0
- package/assets/esri/core/workers/chunks/{48fcc10768d93e95a04e.js → 1c80e841aecd2fd65c48.js} +1 -1
- package/assets/esri/core/workers/chunks/1e109a521ca8772fdf04.js +1 -0
- package/assets/esri/core/workers/chunks/1f48438b3055afeb710f.js +1 -0
- package/assets/esri/core/workers/chunks/2353fbc1ff4481dcfb1f.js +1 -0
- package/assets/esri/core/workers/chunks/2509da565e5a2b43ac7f.js +1 -0
- package/assets/esri/core/workers/chunks/255c8e937e7a123ebb04.js +1 -0
- package/assets/esri/core/workers/chunks/256cc116e3be4feee593.js +1 -0
- package/assets/esri/core/workers/chunks/{a442534ac0956a68b769.js → 282930645ce525d5bc92.js} +1 -1
- package/assets/esri/core/workers/chunks/283934255564d33031de.js +1 -0
- package/assets/esri/core/workers/chunks/2baee42e1797a709fe4b.js +1 -0
- package/assets/esri/core/workers/chunks/2c017eae434254610c8e.js +1 -0
- package/assets/esri/core/workers/chunks/2f40193d1b2e534c5226.js +1 -0
- package/assets/esri/core/workers/chunks/303e723e829ea7088d43.js +1 -0
- package/assets/esri/core/workers/chunks/335337b67566624311f5.js +1 -0
- package/assets/esri/core/workers/chunks/36913f0f944a9eb82cd3.js +1 -0
- package/assets/esri/core/workers/chunks/36e7b92f173896e9f1e2.js +1 -0
- package/assets/esri/core/workers/chunks/{cc62e5095e328bed3e01.js → 3aa0a34d2b7dbf2e2c66.js} +1 -1
- package/assets/esri/core/workers/chunks/436d51b9f1b1b5abc4bc.js +1 -0
- package/assets/esri/core/workers/chunks/43ef6dee2e1d9ed7885e.js +1 -0
- package/assets/esri/core/workers/chunks/442424200e7475e9a08f.js +1 -0
- package/assets/esri/core/workers/chunks/4b96aa2dc5b88846bb53.js +1 -0
- package/assets/esri/core/workers/chunks/4ea325c829d3b82854b1.js +1 -0
- package/assets/esri/core/workers/chunks/510c500d1d58662372de.js +1 -0
- package/assets/esri/core/workers/chunks/51a8a47aac1d8d22ba9d.js +1 -0
- package/assets/esri/core/workers/chunks/54f54623532f633dc0e2.js +1 -0
- package/assets/esri/core/workers/chunks/589b31cc5c663a288942.js +1 -0
- package/assets/esri/core/workers/chunks/58ce4bcfb15f378b1b9f.js +1 -0
- package/assets/esri/core/workers/chunks/58e0e50b6c3abaa4798f.js +1 -0
- package/assets/esri/core/workers/chunks/5bf01e0eff8a78b65e9e.js +1 -0
- package/assets/esri/core/workers/chunks/5dfeefee96659832398a.js +1 -0
- package/assets/esri/core/workers/chunks/{fc73de97c618ca11eacb.js → 5f73b721e3bc526398bb.js} +1 -1
- package/assets/esri/core/workers/chunks/63858dfcff1177e597e7.js +1 -0
- package/assets/esri/core/workers/chunks/{d8242cf6fec7c7bb614c.js → 67ea60aef8fde61420da.js} +9 -9
- package/assets/esri/core/workers/chunks/686c1a1b794ebe1a0341.js +1 -0
- package/assets/esri/core/workers/chunks/{e9cd84ad0054e9fea448.js → 68c9a5f9f00157642030.js} +1 -1
- package/assets/esri/core/workers/chunks/{11c3b1e8ca21ad62fdd1.js → 6db5ee9c589265b23b60.js} +1 -1
- package/assets/esri/core/workers/chunks/6dc60afb0c39bbb001a3.js +1 -0
- package/assets/esri/core/workers/chunks/{5bfae465872760e7af6d.js → 6f240fe78b299e6c4fcc.js} +1 -1
- package/assets/esri/core/workers/chunks/70cb825bb37f1977d2ab.js +1 -0
- package/assets/esri/core/workers/chunks/71a593fa116770e58832.js +1 -0
- package/assets/esri/core/workers/chunks/71f09e34d56c9fe5c307.js +1 -0
- package/assets/esri/core/workers/chunks/76343cf0deaada604aa2.js +1 -0
- package/assets/esri/core/workers/chunks/{e5f8c73349407c25956b.js → 7c61b18e43c789aaecc6.js} +1 -1
- package/assets/esri/core/workers/chunks/7c787cd27af3cec75027.js +1 -0
- package/assets/esri/core/workers/chunks/818a481ce579f519de1c.js +1 -0
- package/assets/esri/core/workers/chunks/83ce38342796bd6d73ce.js +1 -0
- package/assets/esri/core/workers/chunks/{3d4bb539bf939fcdeef9.js → 8606b03b0b1405973a22.js} +1 -1
- package/assets/esri/core/workers/chunks/87b86375f8557418dbe6.js +1 -0
- package/assets/esri/core/workers/chunks/8817d25c7f4cf0e6c6bd.js +1 -0
- package/assets/esri/core/workers/chunks/8ade399db21938822a7c.js +1 -0
- package/assets/esri/core/workers/chunks/8c62e2dabd1f1e13d244.js +1 -0
- package/assets/esri/core/workers/chunks/909e88c27d80777b047c.js +1 -0
- package/assets/esri/core/workers/chunks/91c5205d1274c7f190d5.js +1 -0
- package/assets/esri/core/workers/chunks/91c543443cd6768ad6ff.js +1 -0
- package/assets/esri/core/workers/chunks/9230ad807020fc2bbf8e.js +1 -0
- package/assets/esri/core/workers/chunks/92458803531fdfe1557a.js +1 -0
- package/assets/esri/core/workers/chunks/{976ab2be6c244768c08a.js → 940ebb13618d38c6b459.js} +1 -1
- package/assets/esri/core/workers/chunks/987594539981483a7c5e.js +1 -0
- package/assets/esri/core/workers/chunks/98d0180d2e5d9c73a04a.js +1 -0
- package/assets/esri/core/workers/chunks/a3393780655152102c45.js +1 -0
- package/assets/esri/core/workers/chunks/a844c4e031e77db11478.js +1 -0
- package/assets/esri/core/workers/chunks/aba7a053015a9738d8a0.js +1 -0
- package/assets/esri/core/workers/chunks/adce59e4111bae4225f7.js +1 -0
- package/assets/esri/core/workers/chunks/af3b060fdfa3b6174340.js +1 -0
- package/assets/esri/core/workers/chunks/b0212df1fe8d9448f3d6.js +1 -0
- package/assets/esri/core/workers/chunks/b1851278e993b7130cd5.js +1 -0
- package/assets/esri/core/workers/chunks/b289c46ce2dc04d32e81.js +1 -0
- package/assets/esri/core/workers/chunks/{67ebde34377f98d17cda.js → b5571e93bc136dac8ee1.js} +1 -1
- package/assets/esri/core/workers/chunks/ba1c4a8794ac55942e35.js +1 -0
- package/assets/esri/core/workers/chunks/bd260798b8de09a1eeb2.js +1 -0
- package/assets/esri/core/workers/chunks/c030a974a63155f450e9.js +1 -0
- package/assets/esri/core/workers/chunks/c2602fc3f956fa4f92e4.js +1 -0
- package/assets/esri/core/workers/chunks/c2db773201adca204f95.js +1 -0
- package/assets/esri/core/workers/chunks/c4a2ec2e5897300163ac.js +1 -0
- package/assets/esri/core/workers/chunks/{75b4c27ca02b124a713c.js → c538435216d253f7702e.js} +1 -1
- package/assets/esri/core/workers/chunks/c63b315c6b76b4860fc5.js +1 -0
- package/assets/esri/core/workers/chunks/c8091e8fd7ca43a4490a.js +1 -0
- package/assets/esri/core/workers/chunks/d0321dd4b5b2d863eecd.js +1 -0
- package/assets/esri/core/workers/chunks/{cb8c4d8334fab9bd9a04.js → d90bc34d97bb21c29c40.js} +1 -1
- package/assets/esri/core/workers/chunks/d9fcc63df008f687848a.js +1 -0
- package/assets/esri/core/workers/chunks/db96a0c66578b2d1b715.js +1 -0
- package/assets/esri/core/workers/chunks/dd5dddf7e422216d3806.js +1 -0
- package/assets/esri/core/workers/chunks/de83c177f8a1234a5b2e.js +1 -0
- package/assets/esri/core/workers/chunks/e65d291bab13f7f5323b.js +1 -0
- package/assets/esri/core/workers/chunks/{bb012e02ae197bd1d9de.js → e833cf582c3afa99aeee.js} +1 -1
- package/assets/esri/core/workers/chunks/ea4856a6041383866e22.js +1 -0
- package/assets/esri/core/workers/chunks/ecbf84a1f42e6188faab.js +1 -0
- package/assets/esri/core/workers/chunks/efaa1d05705f6b450e8f.js +1 -0
- package/assets/esri/core/workers/chunks/efaf998d18479a0380ae.js +1 -0
- package/assets/esri/core/workers/chunks/f0573db9a3d3e1499a7e.js +1 -0
- package/assets/esri/core/workers/chunks/f07722efd7fa2b75d4dd.js +1 -0
- package/assets/esri/core/workers/chunks/f4b9801abcfcb93a88b5.js +1 -0
- package/assets/esri/core/workers/chunks/{3d20c86f1fe877bf884b.js → f59b76fde2cbd17f64b3.js} +1 -1
- package/assets/esri/core/workers/chunks/f98bb3885bfc7f18f26c.js +1 -0
- package/assets/esri/core/workers/chunks/fd53ef66176ae164e221.js +1 -0
- package/assets/esri/core/workers/chunks/fd956a58787020d610af.js +1 -0
- package/assets/esri/core/workers/chunks/fdec3a2e100688c42e41.js +1 -0
- package/assets/esri/core/workers/chunks/fedbeb488d5d7c07c7dc.js +1 -0
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/chunks/Bufferer-CclWhXVb.js +2 -0
- package/chunks/Distance2DCalculator-DjIp2uQi.js +2 -0
- package/chunks/Envelope.js +1 -1
- package/chunks/Envelope2D.js +1 -1
- package/chunks/GaussianSplatComposition.glsl.js +1 -1
- package/chunks/GeodeticDistanceCalculator-zRp89-dW.js +2 -0
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Geometry.js +1 -1
- package/chunks/{GeometryCleaner-BEJM7I4l.js → GeometryCleaner-CIE8Wfmb.js} +1 -1
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/OITBlend.glsl.js +1 -1
- package/chunks/OITDimOpaque.glsl.js +1 -1
- package/chunks/OperatorClip.js +1 -1
- package/chunks/OperatorCrosses.js +1 -1
- package/chunks/OperatorCut.js +1 -1
- package/chunks/OperatorDefinitions.js +1 -1
- package/chunks/OperatorDensify.js +1 -1
- package/chunks/OperatorGeneralize.js +1 -1
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticDistance.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorGraphicBuffer.js +2 -0
- package/chunks/OperatorIntegrate.js +1 -1
- package/chunks/OperatorIntersects.js +1 -1
- package/chunks/OperatorMultiPartToSinglePart.js +1 -1
- package/chunks/OperatorOverlaps.js +1 -1
- package/chunks/OperatorProximity.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/OperatorSimplifyOGC.js +1 -1
- package/chunks/OperatorTouches.js +1 -1
- package/chunks/OperatorWithin.js +1 -1
- package/chunks/Point2D.js +1 -1
- package/chunks/ProjectionTransformation.js +1 -1
- package/chunks/{SideCalculator2D-BNwb5gvz.js → SideCalculator2D-DX0718xq.js} +1 -1
- package/chunks/SimpleGeometryCursor.js +1 -1
- package/chunks/SpatialReference.js +1 -1
- package/chunks/Transformation2D.js +1 -1
- package/chunks/centroidOperator.js +1 -1
- package/chunks/containsOperator.js +1 -1
- package/chunks/disjointOperator.js +1 -1
- package/chunks/distanceOperator.js +1 -1
- package/chunks/equalsOperator.js +1 -1
- package/config.js +1 -1
- package/core/has.js +1 -1
- package/editing/types.d.ts +20 -0
- package/geometry/Mesh.d.ts +1 -1
- package/geometry/operators/extendOperator.js +1 -1
- package/geometry/operators/gx/operatorAffineTransform.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorAutoComplete.js +1 -1
- package/geometry/operators/gx/operatorBoundary.js +1 -1
- package/geometry/operators/gx/operatorBuffer.js +1 -1
- package/geometry/operators/gx/operatorConvexHull.js +1 -1
- package/geometry/operators/gx/operatorDifference.js +1 -1
- package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
- package/geometry/operators/gx/operatorIntersection.js +1 -1
- package/geometry/operators/gx/operatorLabelPoint.js +1 -1
- package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
- package/geometry/operators/gx/operatorLocateBetween.js +1 -1
- package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
- package/geometry/operators/gx/operatorOffset.js +1 -1
- package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
- package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
- package/geometry/operators/gx/operatorUnion.js +1 -1
- package/geometry/operators/isNearOperator.js +1 -1
- package/geometry/operators/json/containsOperator.js +1 -1
- package/geometry/operators/json/disjointOperator.js +1 -1
- package/geometry/operators/reshapeOperator.js +1 -1
- package/geometry/operators/support/apiConverter.js +1 -1
- package/geometry/operators/support/initNoPeFactory.js +1 -1
- package/geometry/operators/support/jsonConverter.js +1 -1
- package/kernel.js +1 -1
- package/layers/FeatureLayer.d.ts +7 -4
- package/layers/FeatureLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/SubtypeGroupLayer.d.ts +7 -4
- package/layers/SubtypeGroupLayer.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/orientedImagery/core/coverageUtils.js +1 -1
- package/layers/orientedImagery/transformations/utils.js +1 -1
- package/layers/support/EditingCapabilities.js +1 -1
- package/layers/support/SubtypeSublayer.d.ts +7 -4
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/featureLayerUtils.js +1 -1
- package/networks/UtilityNetwork.js +1 -1
- package/package.json +1 -1
- package/rest/query/operations/query.js +1 -1
- package/smartMapping/renderers/location.js +1 -1
- package/smartMapping/renderers/opacity.js +1 -1
- package/smartMapping/renderers/support/regenerateUtils.js +1 -1
- package/smartMapping/renderers/support/rendererUtils.js +1 -1
- package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/effects/EffectOffset.js +1 -1
- package/third-party-notices.txt +0 -32
- package/views/2d/engine/webgl/shaderGraph/techniques/FeatureInstanceStore.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -3
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm/interfaceUtils.js +1 -1
- package/widgets/BatchAttributeForm/types.d.ts +8 -9
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflowData.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/support/EditorItem.js +1 -1
- package/widgets/Editor/support/attachmentUtils.js +2 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Sketch.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
- package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +0 -1
- package/assets/esri/core/workers/chunks/0ecc1bc1686844cdd60e.js +0 -1
- package/assets/esri/core/workers/chunks/152193072c9d3487b47a.js +0 -1
- package/assets/esri/core/workers/chunks/174cc2e69e5b5a13d880.js +0 -1
- package/assets/esri/core/workers/chunks/181e948d076a9a7aae8a.js +0 -1
- package/assets/esri/core/workers/chunks/18e7784f13a57a75585a.js +0 -1
- package/assets/esri/core/workers/chunks/1c8436b27a3d3cde5cfc.js +0 -1
- package/assets/esri/core/workers/chunks/1dacc0b64bd27ce2de3a.js +0 -1
- package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +0 -1
- package/assets/esri/core/workers/chunks/1f289aa69dd6b6be534a.js +0 -1
- package/assets/esri/core/workers/chunks/2d2895f1fdf44d212a4d.js +0 -1
- package/assets/esri/core/workers/chunks/2e6382d50bf012064eae.js +0 -1
- package/assets/esri/core/workers/chunks/313773bd9c82d1858929.js +0 -1
- package/assets/esri/core/workers/chunks/3248001d9dfb9153699e.js +0 -1
- package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +0 -1
- package/assets/esri/core/workers/chunks/36dac6ab51d9dbdd091d.js +0 -1
- package/assets/esri/core/workers/chunks/39974d1e5d3820ef1680.js +0 -1
- package/assets/esri/core/workers/chunks/4301cb9670fa7c907460.js +0 -1
- package/assets/esri/core/workers/chunks/493a0981e90a5799fb5b.js +0 -1
- package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +0 -1
- package/assets/esri/core/workers/chunks/4e788fc6cb2ea936f676.js +0 -1
- package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +0 -1
- package/assets/esri/core/workers/chunks/5121768c70f1e03b685c.js +0 -1
- package/assets/esri/core/workers/chunks/52f354bf80ee5ab0379a.js +0 -1
- package/assets/esri/core/workers/chunks/5359ff9492383c5bd9b1.js +0 -1
- package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +0 -1
- package/assets/esri/core/workers/chunks/597aa39cdb5366ef9a74.js +0 -1
- package/assets/esri/core/workers/chunks/5aba23584e0b230c75f5.js +0 -1
- package/assets/esri/core/workers/chunks/5cb274e5759f7ca0d4ed.js +0 -1
- package/assets/esri/core/workers/chunks/64114a7d2da162987958.js +0 -1
- package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +0 -1
- package/assets/esri/core/workers/chunks/65621650a53f69f7b05a.js +0 -1
- package/assets/esri/core/workers/chunks/6821462e5c1e9c76010a.js +0 -1
- package/assets/esri/core/workers/chunks/6a3d207308b29651f397.js +0 -1
- package/assets/esri/core/workers/chunks/6a54dddafb6763bf287e.js +0 -1
- package/assets/esri/core/workers/chunks/6f5d61f734ec40dafabb.js +0 -1
- package/assets/esri/core/workers/chunks/71a48f597fda322ea56f.js +0 -1
- package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +0 -1
- package/assets/esri/core/workers/chunks/78c53aeb0a408ab3c80c.js +0 -1
- package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +0 -1
- package/assets/esri/core/workers/chunks/7a997ac153181a8f71ef.js +0 -1
- package/assets/esri/core/workers/chunks/7b5c1030a7cf0f382cc4.js +0 -1
- package/assets/esri/core/workers/chunks/7cee81c5aa1e6b7d2452.js +0 -1
- package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +0 -1
- package/assets/esri/core/workers/chunks/80f4f686ce403cb2693f.js +0 -1
- package/assets/esri/core/workers/chunks/8351012ceb466f01b8fd.js +0 -1
- package/assets/esri/core/workers/chunks/8e99f937fd36cf2cd05f.js +0 -1
- package/assets/esri/core/workers/chunks/93bd56396b8cd020f965.js +0 -1
- package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +0 -1
- package/assets/esri/core/workers/chunks/957f7b8de4aecb6f644e.js +0 -1
- package/assets/esri/core/workers/chunks/99101789035f1787c630.js +0 -1
- package/assets/esri/core/workers/chunks/9c6d34bb666f630d511f.js +0 -1
- package/assets/esri/core/workers/chunks/a0208e35b217808777c4.js +0 -1
- package/assets/esri/core/workers/chunks/a320998f18922a35899f.js +0 -1
- package/assets/esri/core/workers/chunks/a4e9a17dacbb52444d75.js +0 -1
- package/assets/esri/core/workers/chunks/a5abba59e738c3240c22.js +0 -1
- package/assets/esri/core/workers/chunks/aae0049c2c3e15a813e8.js +0 -1
- package/assets/esri/core/workers/chunks/adc32f6b45ea3026fc34.js +0 -1
- package/assets/esri/core/workers/chunks/af75e91b88e747aa76ac.js +0 -1
- package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +0 -1
- package/assets/esri/core/workers/chunks/b1524f23e6cee5301a14.js +0 -1
- package/assets/esri/core/workers/chunks/b666027b9022fa346a79.js +0 -1
- package/assets/esri/core/workers/chunks/b73c146d3e550eaf07eb.js +0 -1
- package/assets/esri/core/workers/chunks/b775a0d8894930af4983.js +0 -1
- package/assets/esri/core/workers/chunks/b803e7b0d489bb628d72.js +0 -1
- package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +0 -1
- package/assets/esri/core/workers/chunks/bc893c95c0ab7d4bb91e.js +0 -1
- package/assets/esri/core/workers/chunks/c2cbc2a920e6e199533a.js +0 -1
- package/assets/esri/core/workers/chunks/c3ff2ff0a86a9143d7a5.js +0 -1
- package/assets/esri/core/workers/chunks/c9a4601073e1a3eee9d0.js +0 -1
- package/assets/esri/core/workers/chunks/d6145cd7e7c5346f62ec.js +0 -1
- package/assets/esri/core/workers/chunks/d6911e9453532501f460.js +0 -1
- package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +0 -1
- package/assets/esri/core/workers/chunks/e1bf87077541da6853c6.js +0 -1
- package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +0 -1
- package/assets/esri/core/workers/chunks/e4406baf206b9e4c7e4f.js +0 -1
- package/assets/esri/core/workers/chunks/e499252cb52f7aed49a0.js +0 -1
- package/assets/esri/core/workers/chunks/e656fd5ecf9ac059a87b.js +0 -1
- package/assets/esri/core/workers/chunks/e92698f50089484c4901.js +0 -1
- package/assets/esri/core/workers/chunks/e9c5c295b6bf10e942a4.js +0 -1
- package/assets/esri/core/workers/chunks/ed3d16a5b4084ef61f8a.js +0 -1
- package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +0 -1
- package/assets/esri/core/workers/chunks/efb4aa5886730ea377bd.js +0 -1
- package/assets/esri/core/workers/chunks/f116331c6eca937aac8e.js +0 -1
- package/assets/esri/core/workers/chunks/f518835b2dc89a48cfb1.js +0 -1
- package/assets/esri/core/workers/chunks/f7fca88d120d45bb782a.js +0 -1
- package/assets/esri/core/workers/chunks/f819854098d63fe4ccdb.js +0 -1
- package/assets/esri/core/workers/chunks/f98118127469449ca145.js +0 -1
- package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +0 -1
- package/assets/esri/core/workers/chunks/fbe7dae0b4bf2d172487.js +0 -1
- package/chunks/Bufferer-Dw9Qi4T1.js +0 -2
- package/chunks/Distance2DCalculator-CXhBP-8I.js +0 -2
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +0 -2
- /package/chunks/{Centroid-DZi-eb9F.js → Centroid-CA-TwbbN.js} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import{ClonableMixin as r}from"../../core/Clonable.js";import i from"../../core/Error.js";import{IdentifiableMixin as n}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import l from"../../core/Logger.js";import{destroyMaybe as a}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as p}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as d}from"../../core/object.js";import{sqlAnd as u}from"../../core/sql.js";import{property as y,subclass as f}from"../../core/accessorSupport/decorators.js";import{excludeTables as c}from"../../core/accessorSupport/layerContainerType.js";import m from"../../form/FormTemplate.js";import h from"../../geometry/SpatialReference.js";import g from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as b,legendEnabled as j,minScale as v,maxScale as w,popupEnabled as F}from"./commonProperties.js";import{createQuery as T,computeDomainFromSubtypes as O}from"./featureLayerUtils.js";import C from"./FeatureTemplate.js";import I from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as S,fieldConfigurationsFromPopupTemplate as A,fieldConfigurationsFromFields as E}from"./fieldConfigUtils.js";import{defineFieldProperties as q}from"./fieldProperties.js";import{fixRendererFields as _}from"./fieldUtils.js";import x from"./LabelClass.js";import{reader as P}from"./labelingInfo.js";import{rendererReader as R,supportedRendererTypes as L}from"./subtypeGroupLayerUtils.js";import D from"./TitleCreator.js";import G from"../../renderers/SimpleRenderer.js";import N from"../../rest/support/AttachmentQuery.js";import U from"../../rest/support/Query.js";import{createPopupTemplate as $}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as V,defaultPolylineSymbol2D as M,defaultPointSymbol2D as Q}from"../../symbols/support/defaults.js";import k from"../../tables/AttributeTableTemplate.js";import{writer as B}from"../../core/accessorSupport/decorators/writer.js";import{reader as H}from"../../core/accessorSupport/decorators/reader.js";const J=q();let W=0;function z(e,t){let r=e.json.write;return"object"!=typeof r&&(r=e.json.write={}),r.ignoreOrigin=!0,t?.spatialOnly&&(r.layerContainerTypes=c),e}function K(e){const t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),"object"==typeof t.write&&(e?.spatialOnly&&(t.write.layerContainerTypes=c),e?.target&&(t.write.target=e.target)),t}function X(e){return new G({symbol:Y(e)})}function Y(e){switch(e){case"point":case"multipoint":return Q.clone();case"polyline":return M.clone();case"polygon":case"multipatch":return V.clone();default:return null}}function Z(e,t){return!!t&&("unique-value"===e?.type&&null!=e.field&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression)}function ee(e){return ie(e,"user")===e}function te(e){return ie(e,"service")}function re(e){return ie(e,"portal-item")}function ie(e,t){const r=e.parent?.getAtOrigin("sublayers",t);return r?.find(({subtypeCode:t})=>t===e.subtypeCode)}function ne(e,t){return null==e?null:t.subtypes?.find(t=>t.code===e)}function oe(e,t){let r=null;switch(t.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":r="point";break;case"esriGeometryPolyline":r="line";break;case"esriGeometryPolygon":case"esriGeometryMultiPatch":r="polygon";break;default:t.type,r=null}const i={},n=ne(e,t);if(null!=n){const{defaultValues:e}=n;for(const t in e)i[t]=e[t]}return i[t.subtypeField]=e,new C({name:"New Feature",drawingTool:r,prototype:{attributes:i}})}let se=class extends(p(r(n(s)))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new g(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${W++}`,this.type="subtype-sublayer",this.labelsVisible=!0,this.labelingInfo=null,this.layerType="ArcGISFeatureLayer",this.legendEnabled=!0,this.listMode="show",this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return _(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return a(e),new D({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??"",fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){const{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override("fieldConfigurations",e),!this.parent?.loaded)return;const t=S(this,e);t&&this._set("popupTemplate",t)}get fieldConfigurations(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):A(this)||null}writeFieldOverrides(e,t,r){const{fields:i,parent:n}=this;let s;if(i){s=[];let e=0;i.forEach(({name:t,alias:r,editable:i,visible:o})=>{if(!o)return;const l=n?.fields?.find(e=>e.name===t);if(!l)return;const a={name:t};let p=!1;r!==l.alias&&(a.alias=r,p=!0),i!==l.editable&&(a.editable=i,p=!0),s.push(a),p&&e++}),0===e&&s.length===i.length&&(s=null)}else s=o(e);s?.length&&d(r,s,t)}get fields(){const{parent:e,fieldOverrides:t,subtypeCode:r}=this,i=e?.fields;if(!e||!i?.length)return null;const{subtypes:n,subtypeField:o}=e,s=n?.find(e=>e.code===r),l=s?.defaultValues,a=s?.domains,p=[];for(const d of i){const e=d.clone(),{name:i}=e,n=t?.find(e=>e.name===i);if(e.visible=!t?.length||!!n,n){const{alias:t,editable:r}=n;t&&(e.alias=t),!1===r&&(e.editable=!1)}const s=l?.[i]??null;e.defaultValue=i===o?r:s;const u=a?.[i]??null;e.domain=i===o?null:u?"inherited"===u.type?e.domain:u.clone():null,p.push(e)}return p}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(l.getLogger(this).error(pe("globalIdField")),null)}get effectiveScaleRange(){const{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get objectIdField(){return this.parent||l.getLogger(this).error(pe("objectIdField")),this.parent?.objectIdField}writePopupTemplate(e,t,r,i){e&&(t[r]=e.toJSON({...i,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){_(e,this.fieldsIndex),this._override("renderer",e)}get renderer(){if(this._isOverridden("renderer"))return this._get("renderer");const{parent:e}=this;return e&&!e.isTable&&"mesh"!==e.geometryType?(ee(this)?o(te(this)?.renderer):null)??X(e.geometryType):null}readRendererFromService(e,t,r){if("Table"===t.type)return null;const i=t.drawingInfo?.renderer,n=R(i,t,r);let o;const{subtypeCode:s}=this;if(null!=s&&Z(n,t.subtypeField)){const e=n.uniqueValueInfos?.find(({value:e})=>(e="number"==typeof e?String(e):e)===String(s));e&&(o=new G({symbol:e.symbol}))}else"simple"!==n?.type||n.visualVariables?.length||(o=n);return o}readRenderer(e,t,r){const i=t?.layerDefinition?.drawingInfo?.renderer;if(i)return R(i,t,r)||void 0}get spatialReference(){return this.parent?.spatialReference??h.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden("templates")?this._get("templates"):o(ee(this)?te(this)?.templates:re(this)?.templates||te(this)?.templates)}set templates(e){this._override("templates",e)}readTemplatesFromService(e,t){return[oe(this.subtypeCode,t)]}get title(){if(this._isOverridden("title"))return this._get("title");const e=ee(this)?te(this):null;return e?.title}set title(e){this._override("title",e)}readTitleFromService(e,t){const r=ne(this.subtypeCode,t);return null!=r?r.name:null}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t){const{parent:r}=this;if(!r)throw pe("addAttachment");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:addAttachment","The feature provided does not belong to this SubtypeSublayer");return r.addAttachment(e,t)}async updateAttachment(e,t,r){const{parent:n}=this;if(!n)throw pe("updateAttachment");if(e.getAttribute(n.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:updateAttachment","The feature provided does not belong to this SubtypeSublayer");return n.updateAttachment(e,t,r)}async deleteAttachments(e,t){const{parent:r}=this;if(!r)throw pe("deleteAttachments");if(e.getAttribute(r.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:deleteAttachments","The feature provided does not belong to this SubtypeSublayer");return r.deleteAttachments(e,t)}async applyEdits(e,t){if(!this.parent)throw pe("applyEdits");return this.parent.applyEdits(e,t)}createFieldConfigurations(){return E(this)}createPopupTemplate(e){let t=this;const{parent:r,fields:i,title:n}=this;if(r){const{displayField:e,editFieldsInfo:o,objectIdField:s}=r;t={displayField:e,editFieldsInfo:o,fields:i,objectIdField:s,title:n}}return $(t,e)}createQuery(){if(!this.parent)throw pe("createQuery");const e=T(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=u(t,this.parent.definitionExpression),e}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){const t=O(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){const r=await this.load();if(!r.parent)throw pe("queryAttachments");const i=e instanceof N?e.clone():new N(e);return i.where=ae(i.where,r.parent.subtypeField,r.subtypeCode),r.parent.queryAttachments(i,t)}async queryFeatureCount(e,t){const r=await this.load();if(!r.parent)throw pe("queryFeatureCount");return r.parent.queryFeatureCount(le(r.parent,r,e),t)}async queryFeatures(e,t){const r=await this.load();if(!r.parent)throw pe("queryFeatures");return r.parent.queryFeatures(le(r.parent,r,e),t)}async queryObjectIds(e,t){const r=await this.load();if(!r.parent)throw pe("queryObjectIds");return r.parent.queryObjectIds(le(r.parent,r,e),t)}async queryRelatedFeatures(e,t){const r=await this.load();if(!r.parent)throw pe("queryRelatedFeatures");return r.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){const r=await this.load();if(!r.parent)throw pe("queryRelatedFeaturesCount");return r.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}};e([y({clonable:!1,readOnly:!0})],se.prototype,"_titleCreator",null),e([y({type:k,json:K({name:"attributeTableInfo"})})],se.prototype,"attributeTableTemplate",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"capabilities",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"effectiveCapabilities",null),e([y({json:K()})],se.prototype,"charts",void 0),e([y({type:Boolean,nonNullable:!0,json:K({name:"enableEditing"})})],se.prototype,"editingEnabled",void 0),e([y({type:Boolean,readOnly:!0})],se.prototype,"effectiveEditingEnabled",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"elevationInfo",null),e([y({clonable:!1,readOnly:!0})],se.prototype,"featureTitleFields",null),e([y({type:[I],json:{name:"layerDefinition.fieldConfigurations",write:{ignoreOrigin:!0}}})],se.prototype,"fieldConfigurations",null),e([y({json:{name:"layerDefinition.fieldOverrides",origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],se.prototype,"fieldOverrides",void 0),e([B("fieldOverrides")],se.prototype,"writeFieldOverrides",null),e([y({...J.fields,readOnly:!0,json:{read:!1}})],se.prototype,"fields",null),e([y(J.fieldsIndex)],se.prototype,"fieldsIndex",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"floorInfo",null),e([y({type:m,json:K({name:"formInfo"})})],se.prototype,"formTemplate",void 0),e([y({readOnly:!0,clonable:!1})],se.prototype,"graphicOrigin",void 0),e([y({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],se.prototype,"id",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"isTable",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"geometryType",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"globalIdField",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"type",void 0),e([y(z(o(b)))],se.prototype,"labelsVisible",void 0),e([y({type:[x],json:{name:"layerDefinition.drawingInfo.labelingInfo",origins:{service:{read:!1}},read:{reader:P},write:{ignoreOrigin:!0,layerContainerTypes:c}}})],se.prototype,"labelingInfo",void 0),e([y({type:["ArcGISFeatureLayer"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:c}}})],se.prototype,"layerType",void 0),e([y(z(o(j)))],se.prototype,"legendEnabled",void 0),e([y({type:["show","hide"]})],se.prototype,"listMode",void 0),e([y((()=>{const e=o(v);return e.json.origins.service.read=!1,z(e,{spatialOnly:!0})})())],se.prototype,"minScale",void 0),e([y((()=>{const e=o(w);return e.json.origins.service.read=!1,z(e,{spatialOnly:!0})})())],se.prototype,"maxScale",void 0),e([y({readOnly:!0})],se.prototype,"effectiveScaleRange",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"objectIdField",null),e([y({type:Number,range:{min:0,max:1},nonNullable:!0,json:K({spatialOnly:!0})})],se.prototype,"opacity",void 0),e([y({clonable:!1})],se.prototype,"parent",void 0),e([y(z(o(F)))],se.prototype,"popupEnabled",void 0),e([y({type:t,json:K({name:"popupInfo"})})],se.prototype,"popupTemplate",void 0),e([B("popupTemplate")],se.prototype,"writePopupTemplate",null),e([y({readOnly:!0})],se.prototype,"defaultPopupTemplate",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"relationships",null),e([y({types:L,json:K({target:"layerDefinition.drawingInfo.renderer",spatialOnly:!0})})],se.prototype,"renderer",null),e([H("service","renderer",["drawingInfo.renderer","subtypeField","type"])],se.prototype,"readRendererFromService",null),e([H("renderer",["layerDefinition.drawingInfo.renderer"])],se.prototype,"readRenderer",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"spatialReference",null),e([y({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],se.prototype,"subtypeCode",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"subtypeField",null),e([y({type:[C],json:K({name:"layerDefinition.templates"})})],se.prototype,"templates",null),e([H("service","templates",["geometryType","subtypeField","subtypes","type"])],se.prototype,"readTemplatesFromService",null),e([y({type:String,json:K()})],se.prototype,"title",null),e([H("service","title",["subtypes"])],se.prototype,"readTitleFromService",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"url",null),e([y({readOnly:!0})],se.prototype,"userHasUpdateItemPrivileges",null),e([y({type:Boolean,nonNullable:!0,json:K({name:"visibility",spatialOnly:!0})})],se.prototype,"visible",void 0),se=e([f("esri.layers.support.SubtypeSublayer")],se);const le=(e,t,r)=>{if(!r)return t.createQuery();const i=U.from(r);return i.where=ae(i.where,e.subtypeField,t.subtypeCode),i},ae=(e,t,r)=>{const i=new RegExp(`${t}\\s*=\\s*\\d+`),n=`${t}=${r}`,o=e??"";return i.test(o)?o.replace(i,n):u(n,o)},pe=e=>new i("subtype-sublayer:parent-missing",`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{se as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../PopupTemplate.js";import{ClonableMixin as r}from"../../core/Clonable.js";import i from"../../core/Error.js";import{IdentifiableMixin as n}from"../../core/Identifiable.js";import{clone as o}from"../../core/lang.js";import{Loadable as s}from"../../core/Loadable.js";import l from"../../core/Logger.js";import{destroyMaybe as a}from"../../core/maybe.js";import{MultiOriginJSONSupportMixin as p}from"../../core/MultiOriginJSONSupport.js";import{setDeepValue as d}from"../../core/object.js";import{sqlAnd as u}from"../../core/sql.js";import{property as y,subclass as f}from"../../core/accessorSupport/decorators.js";import{excludeTables as c}from"../../core/accessorSupport/layerContainerType.js";import m from"../../form/FormTemplate.js";import h from"../../geometry/SpatialReference.js";import g from"../../graphic/SubtypeGroupGraphicOrigin.js";import{labelsVisible as b,legendEnabled as j,minScale as v,maxScale as w,popupEnabled as F}from"./commonProperties.js";import{createQuery as T,computeDomainFromSubtypes as O}from"./featureLayerUtils.js";import C from"./FeatureTemplate.js";import I from"./FieldConfiguration.js";import{popupTemplateWithFieldConfigurations as S,fieldConfigurationsFromPopupTemplate as A,fieldConfigurationsFromFields as E}from"./fieldConfigUtils.js";import{defineFieldProperties as q}from"./fieldProperties.js";import{fixRendererFields as _}from"./fieldUtils.js";import x from"./LabelClass.js";import{reader as P}from"./labelingInfo.js";import{rendererReader as R,supportedRendererTypes as L}from"./subtypeGroupLayerUtils.js";import D from"./TitleCreator.js";import G from"../../renderers/SimpleRenderer.js";import N from"../../rest/support/AttachmentQuery.js";import U from"../../rest/support/Query.js";import{createPopupTemplate as $}from"../../support/popupUtils.js";import{defaultPolygonSymbol2D as V,defaultPolylineSymbol2D as M,defaultPointSymbol2D as Q}from"../../symbols/support/defaults.js";import k from"../../tables/AttributeTableTemplate.js";import{writer as B}from"../../core/accessorSupport/decorators/writer.js";import{reader as H}from"../../core/accessorSupport/decorators/reader.js";const J=q();let W=0;function z(e,t){let r=e.json.write;return"object"!=typeof r&&(r=e.json.write={}),r.ignoreOrigin=!0,t?.spatialOnly&&(r.layerContainerTypes=c),e}function K(e){const t={write:{ignoreOrigin:!0}};return e?.name&&(t.name=e.name),"object"==typeof t.write&&(e?.spatialOnly&&(t.write.layerContainerTypes=c),e?.target&&(t.write.target=e.target)),t}function X(e){return new G({symbol:Y(e)})}function Y(e){switch(e){case"point":case"multipoint":return Q.clone();case"polyline":return M.clone();case"polygon":case"multipatch":return V.clone();default:return null}}function Z(e,t){return!!t&&("unique-value"===e?.type&&null!=e.field&&e.field.toLowerCase()===t.toLowerCase()&&!e.field2&&!e.field3&&!e.valueExpression)}function ee(e){return ie(e,"user")===e}function te(e){return ie(e,"service")}function re(e){return ie(e,"portal-item")}function ie(e,t){const r=e.parent?.getAtOrigin("sublayers",t);return r?.find(({subtypeCode:t})=>t===e.subtypeCode)}function ne(e,t){return null==e?null:t.subtypes?.find(t=>t.code===e)}function oe(e,t){let r=null;switch(t.geometryType){case"esriGeometryPoint":case"esriGeometryMultipoint":r="point";break;case"esriGeometryPolyline":r="line";break;case"esriGeometryPolygon":case"esriGeometryMultiPatch":r="polygon";break;default:t.type,r=null}const i={},n=ne(e,t);if(null!=n){const{defaultValues:e}=n;for(const t in e)i[t]=e[t]}return i[t.subtypeField]=e,new C({name:"New Feature",drawingTool:r,prototype:{attributes:i}})}let se=class extends(p(r(n(s)))){constructor(e){super(e),this.attributeTableTemplate=null,this.charts=null,this.editingEnabled=!0,this.fieldOverrides=null,this.fieldsIndex=null,this.formTemplate=null,this.graphicOrigin=new g(this),this.id=`${Date.now().toString(16)}-subtype-sublayer-${W++}`,this.type="subtype-sublayer",this.labelsVisible=!0,this.labelingInfo=null,this.layerType="ArcGISFeatureLayer",this.legendEnabled=!0,this.listMode="show",this.minScale=0,this.maxScale=0,this.opacity=1,this.parent=null,this.popupEnabled=!0,this.popupTemplate=null,this.subtypeCode=null,this.visible=!0}load(e){return _(this.renderer,this.fieldsIndex),Promise.resolve(this)}get _titleCreator(){const e=this._get("_titleCreator");return a(e),new D({fieldsIndex:this.fieldsIndex,objectIdField:this.objectIdField,displayField:this.parent?.displayField??"",fields:this.fields,effectivePopupTemplate:this.popupTemplate??this.defaultPopupTemplate})}get capabilities(){return this.parent?.capabilities}get effectiveCapabilities(){return this.parent?.effectiveCapabilities}get effectiveEditingEnabled(){const{parent:e}=this;return e?e.effectiveEditingEnabled&&this.editingEnabled:this.editingEnabled}get elevationInfo(){return this.parent?.elevationInfo}get featureTitleFields(){return[...this._titleCreator.requiredFields]}set fieldConfigurations(e){if(this._override("fieldConfigurations",e),!this.parent?.loaded)return;const t=S(this,e);t&&this._set("popupTemplate",t)}get fieldConfigurations(){return this._isOverridden("fieldConfigurations")?this._get("fieldConfigurations"):A(this)||null}writeFieldOverrides(e,t,r){const{fields:i,parent:n}=this;let s;if(i){s=[];let e=0;i.forEach(({name:t,alias:r,editable:i,visible:o})=>{if(!o)return;const l=n?.fields?.find(e=>e.name===t);if(!l)return;const a={name:t};let p=!1;r!==l.alias&&(a.alias=r,p=!0),i!==l.editable&&(a.editable=i,p=!0),s.push(a),p&&e++}),0===e&&s.length===i.length&&(s=null)}else s=o(e);s?.length&&d(r,s,t)}get fields(){const{parent:e,fieldOverrides:t,subtypeCode:r}=this,i=e?.fields;if(!e||!i?.length)return null;const{subtypes:n,subtypeField:o}=e,s=n?.find(e=>e.code===r),l=s?.defaultValues,a=s?.domains,p=[];for(const d of i){const e=d.clone(),{name:i}=e,n=t?.find(e=>e.name===i);if(e.visible=!t?.length||!!n,n){const{alias:t,editable:r}=n;t&&(e.alias=t),!1===r&&(e.editable=!1)}const s=l?.[i]??null;e.defaultValue=i===o?r:s;const u=a?.[i]??null;e.domain=i===o?null:u?"inherited"===u.type?e.domain:u.clone():null,p.push(e)}return p}get floorInfo(){return this.parent?.floorInfo}get isTable(){return!!this.parent?.isTable}get geometryType(){return this.parent?.geometryType}get globalIdField(){return this.parent?this.parent.globalIdField:(l.getLogger(this).error(pe("globalIdField")),null)}get effectiveScaleRange(){const{minScale:e,maxScale:t}=this;return{minScale:e,maxScale:t}}get objectIdField(){return this.parent||l.getLogger(this).error(pe("objectIdField")),this.parent?.objectIdField}writePopupTemplate(e,t,r,i){e&&(t[r]=e.toJSON({...i,writeFieldFormat:!0}))}get defaultPopupTemplate(){return this.createPopupTemplate()}get relationships(){return this.parent?.relationships}set renderer(e){_(e,this.fieldsIndex),this._override("renderer",e)}get renderer(){if(this._isOverridden("renderer"))return this._get("renderer");const{parent:e}=this;return e&&!e.isTable&&"mesh"!==e.geometryType?(ee(this)?o(te(this)?.renderer):null)??X(e.geometryType):null}readRendererFromService(e,t,r){if("Table"===t.type)return null;const i=t.drawingInfo?.renderer,n=R(i,t,r);let o;const{subtypeCode:s}=this;if(null!=s&&Z(n,t.subtypeField)){const e=n.uniqueValueInfos?.find(({value:e})=>(e="number"==typeof e?String(e):e)===String(s));e&&(o=new G({symbol:e.symbol}))}else"simple"!==n?.type||n.visualVariables?.length||(o=n);return o}readRenderer(e,t,r){const i=t?.layerDefinition?.drawingInfo?.renderer;if(i)return R(i,t,r)||void 0}get spatialReference(){return this.parent?.spatialReference??h.WGS84}get subtypeField(){return this.parent?.subtypeField}get templates(){return this._isOverridden("templates")?this._get("templates"):o(ee(this)?te(this)?.templates:re(this)?.templates||te(this)?.templates)}set templates(e){this._override("templates",e)}readTemplatesFromService(e,t){return[oe(this.subtypeCode,t)]}get title(){if(this._isOverridden("title"))return this._get("title");const e=ee(this)?te(this):null;return e?.title}set title(e){this._override("title",e)}readTitleFromService(e,t){const r=ne(this.subtypeCode,t);return null!=r?r.name:null}get url(){return this.parent?.url}get userHasUpdateItemPrivileges(){return!!this.parent?.userHasUpdateItemPrivileges}async addAttachment(e,t,r){const{parent:n}=this;if(!n)throw pe("addAttachment");if(e.getAttribute(n.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:addAttachment","The feature provided does not belong to this SubtypeSublayer");return n.addAttachment(e,t,r)}async updateAttachment(e,t,r,n){const{parent:o}=this;if(!o)throw pe("updateAttachment");if(e.getAttribute(o.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:updateAttachment","The feature provided does not belong to this SubtypeSublayer");return o.updateAttachment(e,t,r,n)}async deleteAttachments(e,t,r){const{parent:n}=this;if(!n)throw pe("deleteAttachments");if(e.getAttribute(n.subtypeField)!==this.subtypeCode)throw new i("subtype-sublayer:deleteAttachments","The feature provided does not belong to this SubtypeSublayer");return n.deleteAttachments(e,t,r)}async applyEdits(e,t){if(!this.parent)throw pe("applyEdits");return this.parent.applyEdits(e,t)}createFieldConfigurations(){return E(this)}createPopupTemplate(e){let t=this;const{parent:r,fields:i,title:n}=this;if(r){const{displayField:e,editFieldsInfo:o,objectIdField:s}=r;t={displayField:e,editFieldsInfo:o,fields:i,objectIdField:s,title:n}}return $(t,e)}createQuery(){if(!this.parent)throw pe("createQuery");const e=T(this.parent),t=`${this.parent.subtypeField}=${this.subtypeCode}`;return e.where=u(t,this.parent.definitionExpression),e}getFeatureTitle(e,t){return this._titleCreator.getTitle(this,e,t)}getFeatureTitles(e,t){return this._titleCreator.getTitles(this,e,t)}getField(e){return this.fieldsIndex.get(e)}getFieldAlias(e){const t=this.getField(e);if(t)return this.getFieldConfiguration(t.name)?.alias||t.alias}getFieldConfiguration(e){return e=e.toLowerCase(),this.fieldConfigurations?.find(t=>t.name.toLowerCase()===e)}getFieldDomain(e,t){if(!t?.excludeImpliedDomains&&this.parent){const t=O(this.parent,e);if(t)return t}return this._getLayerDomain(e)}async queryAttachments(e,t){const r=await this.load();if(!r.parent)throw pe("queryAttachments");const i=e instanceof N?e.clone():new N(e);return i.where=ae(i.where,r.parent.subtypeField,r.subtypeCode),r.parent.queryAttachments(i,t)}async queryFeatureCount(e,t){const r=await this.load();if(!r.parent)throw pe("queryFeatureCount");return r.parent.queryFeatureCount(le(r.parent,r,e),t)}async queryFeatures(e,t){const r=await this.load();if(!r.parent)throw pe("queryFeatures");return r.parent.queryFeatures(le(r.parent,r,e),t)}async queryObjectIds(e,t){const r=await this.load();if(!r.parent)throw pe("queryObjectIds");return r.parent.queryObjectIds(le(r.parent,r,e),t)}async queryRelatedFeatures(e,t){const r=await this.load();if(!r.parent)throw pe("queryRelatedFeatures");return r.parent.queryRelatedFeatures(e,t)}async queryRelatedFeaturesCount(e,t){const r=await this.load();if(!r.parent)throw pe("queryRelatedFeaturesCount");return r.parent.queryRelatedFeaturesCount(e,t)}_getLayerDomain(e){const t=this.fieldsIndex.get(e);return t?t.domain:null}};e([y({clonable:!1,readOnly:!0})],se.prototype,"_titleCreator",null),e([y({type:k,json:K({name:"attributeTableInfo"})})],se.prototype,"attributeTableTemplate",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"capabilities",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"effectiveCapabilities",null),e([y({json:K()})],se.prototype,"charts",void 0),e([y({type:Boolean,nonNullable:!0,json:K({name:"enableEditing"})})],se.prototype,"editingEnabled",void 0),e([y({type:Boolean,readOnly:!0})],se.prototype,"effectiveEditingEnabled",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"elevationInfo",null),e([y({clonable:!1,readOnly:!0})],se.prototype,"featureTitleFields",null),e([y({type:[I],json:{name:"layerDefinition.fieldConfigurations",write:{ignoreOrigin:!0}}})],se.prototype,"fieldConfigurations",null),e([y({json:{name:"layerDefinition.fieldOverrides",origins:{service:{read:!1}},write:{ignoreOrigin:!0,allowNull:!0}}})],se.prototype,"fieldOverrides",void 0),e([B("fieldOverrides")],se.prototype,"writeFieldOverrides",null),e([y({...J.fields,readOnly:!0,json:{read:!1}})],se.prototype,"fields",null),e([y(J.fieldsIndex)],se.prototype,"fieldsIndex",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"floorInfo",null),e([y({type:m,json:K({name:"formInfo"})})],se.prototype,"formTemplate",void 0),e([y({readOnly:!0,clonable:!1})],se.prototype,"graphicOrigin",void 0),e([y({type:String,clonable:!1,json:{origins:{service:{read:!1},"portal-item":{read:!1}},write:{ignoreOrigin:!0}}})],se.prototype,"id",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"isTable",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"geometryType",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"globalIdField",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"type",void 0),e([y(z(o(b)))],se.prototype,"labelsVisible",void 0),e([y({type:[x],json:{name:"layerDefinition.drawingInfo.labelingInfo",origins:{service:{read:!1}},read:{reader:P},write:{ignoreOrigin:!0,layerContainerTypes:c}}})],se.prototype,"labelingInfo",void 0),e([y({type:["ArcGISFeatureLayer"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0,layerContainerTypes:c}}})],se.prototype,"layerType",void 0),e([y(z(o(j)))],se.prototype,"legendEnabled",void 0),e([y({type:["show","hide"]})],se.prototype,"listMode",void 0),e([y((()=>{const e=o(v);return e.json.origins.service.read=!1,z(e,{spatialOnly:!0})})())],se.prototype,"minScale",void 0),e([y((()=>{const e=o(w);return e.json.origins.service.read=!1,z(e,{spatialOnly:!0})})())],se.prototype,"maxScale",void 0),e([y({readOnly:!0})],se.prototype,"effectiveScaleRange",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"objectIdField",null),e([y({type:Number,range:{min:0,max:1},nonNullable:!0,json:K({spatialOnly:!0})})],se.prototype,"opacity",void 0),e([y({clonable:!1})],se.prototype,"parent",void 0),e([y(z(o(F)))],se.prototype,"popupEnabled",void 0),e([y({type:t,json:K({name:"popupInfo"})})],se.prototype,"popupTemplate",void 0),e([B("popupTemplate")],se.prototype,"writePopupTemplate",null),e([y({readOnly:!0})],se.prototype,"defaultPopupTemplate",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"relationships",null),e([y({types:L,json:K({target:"layerDefinition.drawingInfo.renderer",spatialOnly:!0})})],se.prototype,"renderer",null),e([H("service","renderer",["drawingInfo.renderer","subtypeField","type"])],se.prototype,"readRendererFromService",null),e([H("renderer",["layerDefinition.drawingInfo.renderer"])],se.prototype,"readRenderer",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"spatialReference",null),e([y({type:Number,json:{origins:{service:{read:!1}},write:{ignoreOrigin:!0}}})],se.prototype,"subtypeCode",void 0),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"subtypeField",null),e([y({type:[C],json:K({name:"layerDefinition.templates"})})],se.prototype,"templates",null),e([H("service","templates",["geometryType","subtypeField","subtypes","type"])],se.prototype,"readTemplatesFromService",null),e([y({type:String,json:K()})],se.prototype,"title",null),e([H("service","title",["subtypes"])],se.prototype,"readTitleFromService",null),e([y({readOnly:!0,json:{read:!1}})],se.prototype,"url",null),e([y({readOnly:!0})],se.prototype,"userHasUpdateItemPrivileges",null),e([y({type:Boolean,nonNullable:!0,json:K({name:"visibility",spatialOnly:!0})})],se.prototype,"visible",void 0),se=e([f("esri.layers.support.SubtypeSublayer")],se);const le=(e,t,r)=>{if(!r)return t.createQuery();const i=U.from(r);return i.where=ae(i.where,e.subtypeField,t.subtypeCode),i},ae=(e,t,r)=>{const i=new RegExp(`${t}\\s*=\\s*\\d+`),n=`${t}=${r}`,o=e??"";return i.test(o)?o.replace(i,n):u(n,o)},pe=e=>new i("subtype-sublayer:parent-missing",`This sublayer must have a parent SubtypeGroupLayer in order to use ${e}`);export{se as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{id as e}from"../../kernel.js";import{isPopupTemplate as t}from"../../popupTemplateUtils.js";import{resultOrAbort as r}from"../../core/asyncUtils.js";import n from"../../core/Error.js";import{JSONMap as o}from"../../core/jsonMap.js";import i from"../../core/Logger.js";import{parseWhereClause as s}from"../../core/sql.js";import{normalizeGlobalID as a}from"../../core/uuid.js";import{createTypeReader as u}from"../../core/accessorSupport/extensions/serializableProperty/reader.js";import{isHostedAgolService as l}from"./arcgisLayerUrl.js";import c from"./CodedValue.js";import p from"./CodedValueDomain.js";import{queryAllJSON as d}from"./featureQueryAll.js";import{isStringField as f,isIntegerField as y}from"./fieldUtils.js";import{isLabelClass as m}from"./labelUtils.js";import{isLayerWithFeatureCapabilities as b,getOwningPortalUrl as h}from"./layerUtils.js";import w from"../../renderers/SimpleRenderer.js";import g from"../../renderers/UniqueValueRenderer.js";import{isSizeVariable as I}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import j from"../../rest/support/AttachmentQuery.js";import{normalizationTypeJsonMap as x}from"../../rest/support/NormalizationBinParametersMixin.js";import v from"../../rest/support/Query.js";import F from"../../rest/support/RelationshipQuery.js";import{loadArcade as S}from"../../support/loadArcade.js";import{symbolTypesRenderer as P}from"../../symbols/support/typeUtils.js";const L=()=>i.getLogger("esri.layers.support.featureLayerUtils"),q=new o({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"});async function A(e,t,r,o){const i=await Y(e);if(await E(e,t,o),!i.addAttachment)throw new n(o,"Layer source does not support addAttachment capability");return i.addAttachment(t,r)}function E(e,t,r){const{attributes:o}=t,{objectIdField:i}=e;return e.capabilities?.data?.supportsAttachment?t?o?i&&o[i]?Promise.resolve():Promise.reject(new n(r,`feature is missing the identifying attribute ${i}`)):Promise.reject(new n(r,"'attributes' are required on a feature to query attachments")):Promise.reject(new n(r,"A feature is required to add/delete/update attachments")):Promise.reject(new n(r,"this layer doesn't support attachments"))}async function M(e,t,r,o,i){const s=await Y(e);if(await E(e,t,i),!s.updateAttachment)throw new n(i,"Layer source does not support updateAttachment capability");return s.updateAttachment(t,r,o)}async function O(e,t,r){const{applyEdits:n}=await import("../graphics/editingSupport.js"),o=await e.load();let i=r;const{url:s,type:a,globalIdField:u}=o;return"feature"===a&&l(s)&&o.infoFor3D&&null!=t.deleteFeatures&&null!=u&&(i={...i,globalIdToObjectId:await pe(o,t.deleteFeatures,u)}),n(o,o.source,t,i)}async function C(e,t,r){const{uploadAssets:n}=await import("../graphics/editingSupport.js"),o=await e.load();return n(o,o.source,t,r)}async function D(e,t,r,o){const i=await Y(e);if(await E(e,t,o),!i.deleteAttachments)throw new n(o,"Layer source does not support deleteAttachments capability");return i.deleteAttachments(t,r)}async function T(e,t,r){const o=(await e.load({signal:t?.signal})).source;if(!o.fetchRecomputedExtents)throw new n(r,"Layer source does not support fetchUpdates capability");return o.fetchRecomputedExtents(t)}async function z(e,t,r,o){let i=j.from(t);const s=await e.load(),a=s.source,u=s.capabilities;if(!u?.data?.supportsAttachment)throw new n(o,"this layer doesn't support attachments");const{attachmentTypes:l,objectIds:c,globalIds:p,num:d,size:f,start:y,where:m}=i;if(!u?.operations?.supportsQueryAttachments){if(l?.length>0||p?.length>0||f?.length>0||d||y||m)throw new n(o,"when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",i)}if(!(c?.length||p?.length||m))throw new n(o,"'objectIds', 'globalIds', or 'where' are required to perform attachment query",i);if(!a.queryAttachments)throw new n(o,"Layer source does not support queryAttachments capability",i);return!u?.attachment?.supportsOrderByFields&&i.orderByFields?.length&&(i=i.clone(),i.orderByFields=null),a.queryAttachments(i)}async function U(e,t,r,o){const i=await Y(e);if(!i.queryObjectIds)throw new n(o,"Layer source does not support queryObjectIds capability");return i.queryObjectIds(v.from(t)??e.createQuery(),r)}async function k(e,t,r,o){const i=await Y(e);if(!i.queryFeatureCount)throw new n(o,"Layer source does not support queryFeatureCount capability");return i.queryFeatureCount(v.from(t)??e.createQuery(),r)}async function B(e,t,r,o){const i=await Y(e);if(!i.queryExtent)throw new n(o,"Layer source does not support queryExtent capability");return i.queryExtent(v.from(t)??e.createQuery(),r)}async function V(e,t,r,o){const i=await Y(e);if(!i.queryRelatedFeatures)throw new n(o,"Layer source does not support queryRelatedFeatures capability");return i.queryRelatedFeatures(F.from(t),r)}async function R(e,t,r,o){const i=await Y(e);if(!i.queryRelatedFeaturesCount)throw new n(o,"Layer source does not support queryRelatedFeaturesCount capability");return i.queryRelatedFeaturesCount(F.from(t),r)}async function N(e){const t=e.source;if(t?.refresh)try{const{dataChanged:r,updates:n}=await t.refresh();if(null!=n&&(e.sourceJSON={...e.sourceJSON,...n},e.read(n,{origin:"service",url:e.parsedUrl})),r)return!0}catch{}if(e.definitionExpression)try{return(await s(e.definitionExpression,e.fieldsIndex)).hasDateFunctions}catch{}return!1}function G(e){const t=new v;t.historicMoment=e.historicMoment,t.gdbVersion=e.gdbVersion,t.returnGeometry=!0,t.outFields=["*"],t.multipatchOption="multipatch"===e.geometryType?"xyFootprint":null;const r=e.capabilities?.query;r&&(t.compactGeometryEnabled=r.supportsCompactGeometry,t.defaultSpatialReferenceEnabled=r.supportsDefaultSpatialReference);const n=e.capabilities?.data;n?.supportsZ&&null!=e.returnZ&&(t.returnZ=e.returnZ),n?.supportsM&&null!=e.returnM&&(t.returnM=e.returnM);const{timeOffset:o,timeExtent:i}=e;return t.timeExtent=null!=o&&null!=i?i.offset(-o.value,o.unit):i||null,t}function Q(e){const{globalIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if("esriFieldTypeGlobalID"===n.type)return n.name}function Z(e){const{objectIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if("esriFieldTypeOID"===n.type)return n.name}function $(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:9.3}function J(e,t,r,n){const o=r?.feature,i=!!e.subtypes?.length;if(i&&!r?.excludeImpliedDomains){const r=W(e,t);if(r)return r}const s=i&&H(e,o);if(s){const e=s?.domains?.[t];return"inherited"===e?.type?n:e}const a=de(e.types,e.typeIdField,o);if(a){const e=a.domains&&a.domains[t];if(e&&"inherited"!==e?.type)return e}if(n)return n;if(!r?.excludeImpliedDomains){const r=_(e,t);if(r)return r}return null}function H(e,t){const{subtypes:r,subtypeField:n}=e;if(!t?.attributes||!r?.length||!n)return null;const o=t.attributes[n];return null==o?null:r.find(e=>e.code===o)}function W(e,t){const{fieldsIndex:r,subtypeField:n}=e,{name:o,type:i}=r.get(t)??{};if(!o)return null;if((n&&r.get(n)?.name)===o&&e.subtypes?.length){const t=e.subtypes.map(e=>new c({code:X(e.code,i),name:e.name}));if(t?.length)return new p({codedValues:t})}return null}function _(e,t){const{fieldsIndex:r}=e,{name:n,type:o}=r.get(t)??{};if(!n)return null;if(("typeIdField"in e?r.get(e.typeIdField)?.name:null)===n&&"types"in e&&e.types?.length&&K(e.types)){const t=e.types?.map(e=>new c({code:X(e.id,o),name:e.name}));return new p({codedValues:t})}return null}function K(e){const t=new Set,r=new Set;for(const n of e){if(t.has(n.id)||r.has(n.name))return!1;t.add(n.id),r.add(n.name)}return!0}function X(e,t){return t?f({type:t})&&"number"==typeof e?`${e}`:y({type:t})&&"string"==typeof e?Number.parseInt(e,10):e:e}async function Y(e){return(await e.load()).source}async function ee(t,r){if(!e)return;const n=e.findCredential(t);if(n)return n.userId;let o;try{const n=await h(t,r);n&&(o=await e.checkSignInStatus(`${n}/sharing`))}catch(i){}return o?o.userId:null}async function te(t,r){if(!e)return;if(e.findCredential(t))return;let n;try{const o=await h(t,r);o&&(n=await e.checkSignInStatus(`${o}/sharing`))}catch(o){}if(n)try{const n=null!=r?r.signal:null;await e.getCredential(t,{signal:n})}catch(o){}}async function re(e,t,r){const n=e.parsedUrl?.path;n&&e.authenticationTriggerEvent===t&&await te(n,r)}async function ne(e){const t=e.parsedUrl?.path;t&&oe(e)&&await te(t)}function oe(e){return ie(e)&&("serviceDefinitionExpression"in e&&se(e.serviceDefinitionExpression)||"definitionExpression"in e&&se(e.definitionExpression))}function ie(e){return!(!b(e)||!e.capabilities?.query.supportsCurrentUser)}function se(e){return!!e?.toLowerCase().includes("current_user")}function ae(e){return!fe(e)&&(e.userHasUpdateItemPrivileges||e.editingEnabled)}const ue=u({types:P});function le(e,t){if(e.defaultSymbol)return e.types?.length?new g({defaultSymbol:ue(e.defaultSymbol,e,t),field:e.typeIdField,uniqueValueInfos:e.types.map(e=>({id:e.id,symbol:ue(e.symbol,e,t)}))}):new w({symbol:ue(e.defaultSymbol,e,t)})}function ce(e){let t=e.sourceJSON?.cacheMaxAge;if(!t)return!1;const r=e.editingInfo?.lastEditDate?.getTime();return null==r||(t*=1e3,Date.now()-r<t)}async function pe(e,t,n){if(null==t)return null;const o=[],{objectIdField:i}=e;if(t.forEach(e=>{let t=null;if("attributes"in e){const{attributes:r}=e;t={globalId:r[n],objectId:null!=r[i]&&-1!==r[i]?r[i]:null}}else t={globalId:e.globalId,objectId:null!=e.objectId&&-1!==e.objectId?e.objectId:null};null!=t.globalId&&(null!=t.objectId&&-1!==t.objectId||o.push(t.globalId))}),0===o.length)return null;const s=e.createQuery();s.where=o.map(e=>`${n}='${e}'`).join(" OR "),s.returnGeometry=!1,s.outFields=[i,n],s.cacheHint=!1;const u=await r(d(e,s));if(!u.ok)return null;const l=new Map,c=u.value.features;for(const r of c){const e=r.attributes[n],t=r.attributes[i];null!=e&&null!=t&&-1!==t&&l.set(a(e),t)}return l}function de(e,t,r){if(!t||!r||!e)return null;const n=r.getAttribute(t);if(null==n)return null;const o=e.filter(e=>{const{id:t}=e;return null!=t&&t.toString()===n.toString()});return o.length>1&&L().warn("getFeatureType",`Cannot unambiguously determine feature type because multiple types have the id ${n}.`),o[0]??null}function fe(e){return e.sourceJSON?.isMultiServicesView||ye(e)}function ye(e){return!!e.sourceJSON?.capabilities?.toLowerCase().split(",").map(e=>e.trim()).includes("map")}function me(e,t,r){const o=t?.queryAttributeBins;if(!t?.operations?.supportsQueryBins||!o)throw new n(r,"Layer source does not support binning");switch(e.binParameters?.type){case"auto-interval":if(!o.supportsAutoInterval)throw new n(r,"Layer source does not support auto-interval binning");if(e.binParameters.normalizationType&&(!o.supportsNormalization||!be(e.binParameters.normalizationType,o.supportedNormalizationTypes)))throw new n(r,"Layer source does not support normalization binning");break;case"date":if(!o.supportsDate)throw new n(r,"Layer source does not support date binning");if(e.binParameters.snapToData&&!o.supportsSnapToData)throw new n(r,"Layer source does not support snapToData binning");if(e.binParameters.returnFullIntervalBin&&!o.supportsReturnFullIntervalBin)throw new n(r,"Layer source does not support returnFullIntervalBin binning");break;case"fixed-boundaries":if(!o.supportsFixedBoundaries)throw new n(r,"Layer source does not support fixed-boundaries binning");break;case"fixed-interval":if(!o.supportsFixedInterval)throw new n(r,"Layer source does not support fixed-interval binning");if(e.binParameters.normalizationType&&(!o.supportsNormalization||!be(e.binParameters.normalizationType,o.supportedNormalizationTypes)))throw new n(r,"Layer source does not support normalization binning")}if(e.binParameters?.stackBy&&!o.supportsStackBy)throw new n(r,"Layer source does not support stackBy binning");if(e.binParameters?.splitBy&&!o.supportsSplitBy)throw new n(r,"Layer source does not support splitBy binning");if(e.binParameters?.firstDayOfWeek&&!o.supportsFirstDayOfWeek)throw new n(r,"Layer source does not support firstDayOfWeek binning");const i=o?.supportedStatistics;if(e.outStatistics&&i){const t=new Map([["count","count"],["sum","sum"],["min","min"],["max","max"],["avg","avg"],["stddev","stddev"],["var","var"],["percentile-continuous","percentileContinuous"],["percentile-discrete","percentileDiscrete"],["centroid-aggregate","centroid"],["convex-hull-aggregate","convexHull"],["envelope-aggregate","envelope"]]);for(const{statisticType:o}of e.outStatistics){const e=t.get(o);if(e&&!i[e])throw new n(r,`Layer source does not support ${o} statistic type`)}}}function be(e,t){return null!=e&&!!t?.[x.toJSON(e)]}function he(e){return m(e)?Boolean(e.labelExpressionInfo?.expression):t(e)?!!e.expressionInfos?.some(e=>e.expression)||!!Array.isArray(e.content)&&e.content.some(e=>"expression"===e.type&&e.expressionInfo?.expression):!("dot-density"!==e.type||!e.attributes?.some(e=>e.valueExpression))||(!(!("valueExpression"in e)||!e.valueExpression)||"visualVariables"in e&&null!=e.visualVariables&&e.visualVariables.some(e=>!!e.valueExpression||"size"===e.type&&(I(e.minSize)&&e.minSize.valueExpression||I(e.maxSize)&&e.maxSize.valueExpression)))}function we(e){if("renderer"in e&&e.renderer&&he(e.renderer))return!0;if("labelingInfo"in e&&e.labelingInfo)for(const t of e.labelingInfo)if(m(t)&&he(t))return!0;return!1}async function ge(e){let t="returnZ"in e?e.returnZ:void 0,r="returnM"in e?e.returnM:void 0;if(null!=t&&null!=r)return{returnZ:t,returnM:r};if(we(e)){const{arcadeUtils:n}=await S();n.layerHasGeometryFunctions(e)&&(t??=!0,r??=!0)}if("renderer"in e&&e.renderer?.symbols)for(const n of e.renderer.symbols)"cim"===n.type&&(Ie??=(await import("../../symbols/cim/CIMSymbolHelper.js")).forEachSymbolLayer,Ie(n.data.symbol,e=>{switch(e.type){case"CIMPictureMarker":case"CIMVectorMarker":if("CIMMarkerPlacementAtMeasuredUnits"===e.markerPlacement?.type)r??=!0}}));return{returnZ:t,returnM:r}}let Ie;export{A as addAttachment,O as applyEdits,ne as checkServiceCurrentUserSupport,W as computeDomainFromSubtypes,_ as computeDomainFromTypes,ae as computeEffectiveEditingEnabled,le as createDefaultRenderer,G as createQuery,D as deleteAttachments,te as ensureCredentialIfSignedIn,re as ensureLayerCredential,T as fetchRecomputedExtents,q as geometryTypeKebabDict,H as getFeatureSubtype,de as getFeatureType,J as getFieldDomain,pe as getGlobalIdToObjectIdMap,ee as getSignedInUser,se as hasCurrentUser,N as hasDataChanged,ce as isLayerCacheStale,ge as layerRequiresGeometryZM,z as queryAttachments,B as queryExtent,k as queryFeatureCount,U as queryObjectIds,V as queryRelatedFeatures,R as queryRelatedFeaturesCount,Q as readGlobalIdField,Z as readObjectIdField,$ as readVersion,fe as supportsQueryOnly,K as typesHaveUniqueIdsAndNames,M as updateAttachment,C as uploadAssets,me as validateBinsQuery};
|
|
2
|
+
import{id as e}from"../../kernel.js";import{isPopupTemplate as t}from"../../popupTemplateUtils.js";import{resultOrAbort as r}from"../../core/asyncUtils.js";import n from"../../core/Error.js";import{JSONMap as o}from"../../core/jsonMap.js";import i from"../../core/Logger.js";import{parseWhereClause as s}from"../../core/sql.js";import{normalizeGlobalID as a}from"../../core/uuid.js";import{createTypeReader as u}from"../../core/accessorSupport/extensions/serializableProperty/reader.js";import{isHostedAgolService as l}from"./arcgisLayerUrl.js";import c from"./CodedValue.js";import p from"./CodedValueDomain.js";import{queryAllJSON as d}from"./featureQueryAll.js";import{isStringField as f,isIntegerField as y}from"./fieldUtils.js";import{isLabelClass as m}from"./labelUtils.js";import{isLayerWithFeatureCapabilities as b,getOwningPortalUrl as h}from"./layerUtils.js";import w from"../../renderers/SimpleRenderer.js";import g from"../../renderers/UniqueValueRenderer.js";import{isSizeVariable as I}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import j from"../../rest/support/AttachmentQuery.js";import{normalizationTypeJsonMap as x}from"../../rest/support/NormalizationBinParametersMixin.js";import v from"../../rest/support/Query.js";import F from"../../rest/support/RelationshipQuery.js";import{loadArcade as S}from"../../support/loadArcade.js";import{symbolTypesRenderer as P}from"../../symbols/support/typeUtils.js";const L=()=>i.getLogger("esri.layers.support.featureLayerUtils"),q=new o({esriGeometryPoint:"point",esriGeometryMultipoint:"multipoint",esriGeometryPolyline:"polyline",esriGeometryPolygon:"polygon",esriGeometryMultiPatch:"multipatch"});async function A(e,t,r,o,i){const s=await Y(e);if(await E(e,t,o),!s.addAttachment)throw new n(o,"Layer source does not support addAttachment capability");return s.addAttachment(t,r,i)}function E(e,t,r){const{attributes:o}=t,{objectIdField:i}=e;return e.capabilities?.data?.supportsAttachment?t?o?i&&null!=o[i]?Promise.resolve():Promise.reject(new n(r,`feature is missing the identifying attribute ${i}`)):Promise.reject(new n(r,"'attributes' are required on a feature to query attachments")):Promise.reject(new n(r,"A feature is required to add/delete/update attachments")):Promise.reject(new n(r,"this layer doesn't support attachments"))}async function M(e,t,r,o,i,s){const a=await Y(e);if(await E(e,t,i),!a.updateAttachment)throw new n(i,"Layer source does not support updateAttachment capability");return a.updateAttachment(t,r,o,s)}async function O(e,t,r){const{applyEdits:n}=await import("../graphics/editingSupport.js"),o=await e.load();let i=r;const{url:s,type:a,globalIdField:u}=o;return"feature"===a&&l(s)&&o.infoFor3D&&null!=t.deleteFeatures&&null!=u&&(i={...i,globalIdToObjectId:await pe(o,t.deleteFeatures,u)}),n(o,o.source,t,i)}async function C(e,t,r){const{uploadAssets:n}=await import("../graphics/editingSupport.js"),o=await e.load();return n(o,o.source,t,r)}async function D(e,t,r,o,i){const s=await Y(e);if(await E(e,t,o),!s.deleteAttachments)throw new n(o,"Layer source does not support deleteAttachments capability");return s.deleteAttachments(t,r,i)}async function T(e,t,r){const o=(await e.load({signal:t?.signal})).source;if(!o.fetchRecomputedExtents)throw new n(r,"Layer source does not support fetchUpdates capability");return o.fetchRecomputedExtents(t)}async function z(e,t,r,o){let i=j.from(t);const s=await e.load(),a=s.source,u=s.capabilities;if(!u?.data?.supportsAttachment)throw new n(o,"this layer doesn't support attachments");const{attachmentTypes:l,objectIds:c,globalIds:p,num:d,size:f,start:y,where:m}=i;if(!u?.operations?.supportsQueryAttachments){if(l?.length>0||p?.length>0||f?.length>0||d||y||m)throw new n(o,"when 'capabilities.operations.supportsQueryAttachments' is false, only objectIds is supported",i)}if(!(c?.length||p?.length||m))throw new n(o,"'objectIds', 'globalIds', or 'where' are required to perform attachment query",i);if(!a.queryAttachments)throw new n(o,"Layer source does not support queryAttachments capability",i);return!u?.attachment?.supportsOrderByFields&&i.orderByFields?.length&&(i=i.clone(),i.orderByFields=null),a.queryAttachments(i)}async function U(e,t,r,o){const i=await Y(e);if(!i.queryObjectIds)throw new n(o,"Layer source does not support queryObjectIds capability");return i.queryObjectIds(v.from(t)??e.createQuery(),r)}async function k(e,t,r,o){const i=await Y(e);if(!i.queryFeatureCount)throw new n(o,"Layer source does not support queryFeatureCount capability");return i.queryFeatureCount(v.from(t)??e.createQuery(),r)}async function B(e,t,r,o){const i=await Y(e);if(!i.queryExtent)throw new n(o,"Layer source does not support queryExtent capability");return i.queryExtent(v.from(t)??e.createQuery(),r)}async function V(e,t,r,o){const i=await Y(e);if(!i.queryRelatedFeatures)throw new n(o,"Layer source does not support queryRelatedFeatures capability");return i.queryRelatedFeatures(F.from(t),r)}async function R(e,t,r,o){const i=await Y(e);if(!i.queryRelatedFeaturesCount)throw new n(o,"Layer source does not support queryRelatedFeaturesCount capability");return i.queryRelatedFeaturesCount(F.from(t),r)}async function N(e){const t=e.source;if(t?.refresh)try{const{dataChanged:r,updates:n}=await t.refresh();if(null!=n&&(e.sourceJSON={...e.sourceJSON,...n},e.read(n,{origin:"service",url:e.parsedUrl})),r)return!0}catch{}if(e.definitionExpression)try{return(await s(e.definitionExpression,e.fieldsIndex)).hasDateFunctions}catch{}return!1}function G(e){const t=new v;t.historicMoment=e.historicMoment,t.gdbVersion=e.gdbVersion,t.returnGeometry=!0,t.outFields=["*"],t.multipatchOption="multipatch"===e.geometryType?"xyFootprint":null;const r=e.capabilities?.query;r&&(t.compactGeometryEnabled=r.supportsCompactGeometry,t.defaultSpatialReferenceEnabled=r.supportsDefaultSpatialReference);const n=e.capabilities?.data;n?.supportsZ&&null!=e.returnZ&&(t.returnZ=e.returnZ),n?.supportsM&&null!=e.returnM&&(t.returnM=e.returnM);const{timeOffset:o,timeExtent:i}=e;return t.timeExtent=null!=o&&null!=i?i.offset(-o.value,o.unit):i||null,t}function Q(e){const{globalIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if("esriFieldTypeGlobalID"===n.type)return n.name}function Z(e){const{objectIdField:t,fields:r}=e;if(t)return t;if(r)for(const n of r)if("esriFieldTypeOID"===n.type)return n.name}function $(e){return e.currentVersion?e.currentVersion:e.hasOwnProperty("capabilities")||e.hasOwnProperty("drawingInfo")||e.hasOwnProperty("hasAttachments")||e.hasOwnProperty("htmlPopupType")||e.hasOwnProperty("relationships")||e.hasOwnProperty("timeInfo")||e.hasOwnProperty("typeIdField")||e.hasOwnProperty("types")?10:9.3}function J(e,t,r,n){const o=r?.feature,i=!!e.subtypes?.length;if(i&&!r?.excludeImpliedDomains){const r=W(e,t);if(r)return r}const s=i&&H(e,o);if(s){const e=s?.domains?.[t];return"inherited"===e?.type?n:e}const a=de(e.types,e.typeIdField,o);if(a){const e=a.domains&&a.domains[t];if(e&&"inherited"!==e?.type)return e}if(n)return n;if(!r?.excludeImpliedDomains){const r=_(e,t);if(r)return r}return null}function H(e,t){const{subtypes:r,subtypeField:n}=e;if(!t?.attributes||!r?.length||!n)return null;const o=t.attributes[n];return null==o?null:r.find(e=>e.code===o)}function W(e,t){const{fieldsIndex:r,subtypeField:n}=e,{name:o,type:i}=r.get(t)??{};if(!o)return null;if((n&&r.get(n)?.name)===o&&e.subtypes?.length){const t=e.subtypes.map(e=>new c({code:X(e.code,i),name:e.name}));if(t?.length)return new p({codedValues:t})}return null}function _(e,t){const{fieldsIndex:r}=e,{name:n,type:o}=r.get(t)??{};if(!n)return null;if(("typeIdField"in e?r.get(e.typeIdField)?.name:null)===n&&"types"in e&&e.types?.length&&K(e.types)){const t=e.types?.map(e=>new c({code:X(e.id,o),name:e.name}));return new p({codedValues:t})}return null}function K(e){const t=new Set,r=new Set;for(const n of e){if(t.has(n.id)||r.has(n.name))return!1;t.add(n.id),r.add(n.name)}return!0}function X(e,t){return t?f({type:t})&&"number"==typeof e?`${e}`:y({type:t})&&"string"==typeof e?Number.parseInt(e,10):e:e}async function Y(e){return(await e.load()).source}async function ee(t,r){if(!e)return;const n=e.findCredential(t);if(n)return n.userId;let o;try{const n=await h(t,r);n&&(o=await e.checkSignInStatus(`${n}/sharing`))}catch(i){}return o?o.userId:null}async function te(t,r){if(!e)return;if(e.findCredential(t))return;let n;try{const o=await h(t,r);o&&(n=await e.checkSignInStatus(`${o}/sharing`))}catch(o){}if(n)try{const n=null!=r?r.signal:null;await e.getCredential(t,{signal:n})}catch(o){}}async function re(e,t,r){const n=e.parsedUrl?.path;n&&e.authenticationTriggerEvent===t&&await te(n,r)}async function ne(e){const t=e.parsedUrl?.path;t&&oe(e)&&await te(t)}function oe(e){return ie(e)&&("serviceDefinitionExpression"in e&&se(e.serviceDefinitionExpression)||"definitionExpression"in e&&se(e.definitionExpression))}function ie(e){return!(!b(e)||!e.capabilities?.query.supportsCurrentUser)}function se(e){return!!e?.toLowerCase().includes("current_user")}function ae(e){return!fe(e)&&(e.userHasUpdateItemPrivileges||e.editingEnabled)}const ue=u({types:P});function le(e,t){if(e.defaultSymbol)return e.types?.length?new g({defaultSymbol:ue(e.defaultSymbol,e,t),field:e.typeIdField,uniqueValueInfos:e.types.map(e=>({id:e.id,symbol:ue(e.symbol,e,t)}))}):new w({symbol:ue(e.defaultSymbol,e,t)})}function ce(e){let t=e.sourceJSON?.cacheMaxAge;if(!t)return!1;const r=e.editingInfo?.lastEditDate?.getTime();return null==r||(t*=1e3,Date.now()-r<t)}async function pe(e,t,n){if(null==t)return null;const o=[],{objectIdField:i}=e;if(t.forEach(e=>{let t=null;if("attributes"in e){const{attributes:r}=e;t={globalId:r[n],objectId:null!=r[i]&&-1!==r[i]?r[i]:null}}else t={globalId:e.globalId,objectId:null!=e.objectId&&-1!==e.objectId?e.objectId:null};null!=t.globalId&&(null!=t.objectId&&-1!==t.objectId||o.push(t.globalId))}),0===o.length)return null;const s=e.createQuery();s.where=o.map(e=>`${n}='${e}'`).join(" OR "),s.returnGeometry=!1,s.outFields=[i,n],s.cacheHint=!1;const u=await r(d(e,s));if(!u.ok)return null;const l=new Map,c=u.value.features;for(const r of c){const e=r.attributes[n],t=r.attributes[i];null!=e&&null!=t&&-1!==t&&l.set(a(e),t)}return l}function de(e,t,r){if(!t||!r||!e)return null;const n=r.getAttribute(t);if(null==n)return null;const o=e.filter(e=>{const{id:t}=e;return null!=t&&t.toString()===n.toString()});return o.length>1&&L().warn("getFeatureType",`Cannot unambiguously determine feature type because multiple types have the id ${n}.`),o[0]??null}function fe(e){return e.sourceJSON?.isMultiServicesView||ye(e)}function ye(e){return!!e.sourceJSON?.capabilities?.toLowerCase().split(",").map(e=>e.trim()).includes("map")}function me(e,t,r){const o=t?.queryAttributeBins;if(!t?.operations?.supportsQueryBins||!o)throw new n(r,"Layer source does not support binning");switch(e.binParameters?.type){case"auto-interval":if(!o.supportsAutoInterval)throw new n(r,"Layer source does not support auto-interval binning");if(e.binParameters.normalizationType&&(!o.supportsNormalization||!be(e.binParameters.normalizationType,o.supportedNormalizationTypes)))throw new n(r,"Layer source does not support normalization binning");break;case"date":if(!o.supportsDate)throw new n(r,"Layer source does not support date binning");if(e.binParameters.snapToData&&!o.supportsSnapToData)throw new n(r,"Layer source does not support snapToData binning");if(e.binParameters.returnFullIntervalBin&&!o.supportsReturnFullIntervalBin)throw new n(r,"Layer source does not support returnFullIntervalBin binning");break;case"fixed-boundaries":if(!o.supportsFixedBoundaries)throw new n(r,"Layer source does not support fixed-boundaries binning");break;case"fixed-interval":if(!o.supportsFixedInterval)throw new n(r,"Layer source does not support fixed-interval binning");if(e.binParameters.normalizationType&&(!o.supportsNormalization||!be(e.binParameters.normalizationType,o.supportedNormalizationTypes)))throw new n(r,"Layer source does not support normalization binning")}if(e.binParameters?.stackBy&&!o.supportsStackBy)throw new n(r,"Layer source does not support stackBy binning");if(e.binParameters?.splitBy&&!o.supportsSplitBy)throw new n(r,"Layer source does not support splitBy binning");if(e.binParameters?.firstDayOfWeek&&!o.supportsFirstDayOfWeek)throw new n(r,"Layer source does not support firstDayOfWeek binning");const i=o?.supportedStatistics;if(e.outStatistics&&i){const t=new Map([["count","count"],["sum","sum"],["min","min"],["max","max"],["avg","avg"],["stddev","stddev"],["var","var"],["percentile-continuous","percentileContinuous"],["percentile-discrete","percentileDiscrete"],["centroid-aggregate","centroid"],["convex-hull-aggregate","convexHull"],["envelope-aggregate","envelope"]]);for(const{statisticType:o}of e.outStatistics){const e=t.get(o);if(e&&!i[e])throw new n(r,`Layer source does not support ${o} statistic type`)}}}function be(e,t){return null!=e&&!!t?.[x.toJSON(e)]}function he(e){return m(e)?Boolean(e.labelExpressionInfo?.expression):t(e)?!!e.expressionInfos?.some(e=>e.expression)||!!Array.isArray(e.content)&&e.content.some(e=>"expression"===e.type&&e.expressionInfo?.expression):!("dot-density"!==e.type||!e.attributes?.some(e=>e.valueExpression))||(!(!("valueExpression"in e)||!e.valueExpression)||"visualVariables"in e&&null!=e.visualVariables&&e.visualVariables.some(e=>!!e.valueExpression||"size"===e.type&&(I(e.minSize)&&e.minSize.valueExpression||I(e.maxSize)&&e.maxSize.valueExpression)))}function we(e){if("renderer"in e&&e.renderer&&he(e.renderer))return!0;if("labelingInfo"in e&&e.labelingInfo)for(const t of e.labelingInfo)if(m(t)&&he(t))return!0;return!1}async function ge(e){let t="returnZ"in e?e.returnZ:void 0,r="returnM"in e?e.returnM:void 0;if(null!=t&&null!=r)return{returnZ:t,returnM:r};if(we(e)){const{arcadeUtils:n}=await S();n.layerHasGeometryFunctions(e)&&(t??=!0,r??=!0)}if("renderer"in e&&e.renderer?.symbols)for(const n of e.renderer.symbols)"cim"===n.type&&(Ie??=(await import("../../symbols/cim/CIMSymbolHelper.js")).forEachSymbolLayer,Ie(n.data.symbol,e=>{switch(e.type){case"CIMPictureMarker":case"CIMVectorMarker":if("CIMMarkerPlacementAtMeasuredUnits"===e.markerPlacement?.type)r??=!0}}));return{returnZ:t,returnM:r}}let Ie;export{A as addAttachment,O as applyEdits,ne as checkServiceCurrentUserSupport,W as computeDomainFromSubtypes,_ as computeDomainFromTypes,ae as computeEffectiveEditingEnabled,le as createDefaultRenderer,G as createQuery,D as deleteAttachments,te as ensureCredentialIfSignedIn,re as ensureLayerCredential,T as fetchRecomputedExtents,q as geometryTypeKebabDict,H as getFeatureSubtype,de as getFeatureType,J as getFieldDomain,pe as getGlobalIdToObjectIdMap,ee as getSignedInUser,se as hasCurrentUser,N as hasDataChanged,ce as isLayerCacheStale,ge as layerRequiresGeometryZM,z as queryAttachments,B as queryExtent,k as queryFeatureCount,U as queryObjectIds,V as queryRelatedFeatures,R as queryRelatedFeaturesCount,Q as readGlobalIdField,Z as readObjectIdField,$ as readVersion,fe as supportsQueryOnly,K as typesHaveUniqueIdsAndNames,M as updateAttachment,C as uploadAssets,me as validateBinsQuery};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../Graphic.js";import{getOrCreateMapValue as r}from"../core/MapUtils.js";import{watch as s}from"../core/reactiveUtils.js";import{property as o,subclass as i}from"../core/accessorSupport/decorators.js";import a from"../layers/FeatureLayer.js";import{queryAllJSON as n}from"../layers/support/featureQueryAll.js";import l from"./Network.js";import u from"./RulesTable.js";import d from"./support/NamedTraceConfiguration.js";import{getAssociationsTableFields as m}from"./support/networkFieldUtils.js";import c from"./support/NetworkSystemLayers.js";import y from"./support/TerminalConfiguration.js";import h from"./support/TraceJobInfo.js";import{AssociationTypeEnum as f,nullGuid as p,associationTypeKebabDict as b}from"./support/typeUtils.js";import{doesRuleAllowAssociation as w}from"./support/utils.js";import I from"../rest/networks/support/TelecomNetworkElement.js";import g from"../rest/support/Query.js";let T=class extends l{constructor(e){super(e),this.sharedNamedTraceConfigurations=[],this.type="utility",this._circuitManagerMap=new Map,this._terminalById=new Map,this._unitIdentifierManager=null}initialize(){this.addHandles(s(()=>[this.gdbVersion,this.historicMoment],()=>{this.networkSystemLayers.associationsTable&&(this.networkSystemLayers.associationsTable.gdbVersion!==this.gdbVersion&&(this.networkSystemLayers.associationsTable.gdbVersion=this.gdbVersion),this.networkSystemLayers.associationsTable.historicMoment!==this.historicMoment&&(this.networkSystemLayers.associationsTable.historicMoment=this.historicMoment))}))}get _rulesLayer(){const{gdbVersion:e,historicMoment:t}=this,r=this.networkSystemLayers.rulesTableUrl;return new a({url:r,gdbVersion:e,historicMoment:t})}get _telecomSourceSet(){const e=new Set;return this.dataElement?.domainNetworks.forEach(t=>{t.isTelecomNetwork&&(t.edgeSources?.forEach(t=>e.add(t.sourceId)),t.junctionSources?.forEach(t=>e.add(t.sourceId)))}),e}get _utilityLayerList(){const e=new Set;return this.dataElement?.domainNetworks?.map(t=>{t?.edgeSources?.map(({layerId:t,sourceId:r})=>{this._layerIdBySourceId.set(r,t),this._sourceIdByLayerId.set(t,r),e.add(t)}),t?.junctionSources?.map(({layerId:t,sourceId:r})=>{this._layerIdBySourceId.set(r,t),this._sourceIdByLayerId.set(t,r),e.add(t)})}),e}get serviceTerritoryFeatureLayerId(){return this.dataElement?.serviceTerritoryFeatureLayerId??null}get networkSystemLayers(){return new c({rulesTableId:this.sourceJSON?.systemLayers.rulesTableId,rulesTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.rulesTableId}`:null,subnetworksTableId:this.sourceJSON?.systemLayers.subnetworksTableId,subnetworksTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.subnetworksTableId}`:null,dirtyAreasLayerId:this.sourceJSON?.systemLayers.dirtyAreasLayerId,dirtyAreasLayerUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.dirtyAreasLayerId}`:null,associationsTableId:this.sourceJSON?.systemLayers.associationsTableId,associationsTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.associationsTableId}`:null})}get terminalConfigurations(){return this.dataElement?.terminalConfigurations.map(e=>y.fromJSON(e))||[]}get domainNetworkNames(){return this.dataElement?.domainNetworks.map(e=>e.domainNetworkName)||[]}get hasTelecomNetwork(){return this.dataElement?.domainNetworks.some(e=>e.isTelecomNetwork)??!1}get associationsTable(){return this.networkSystemLayers.associationsTable}async load(e){return this.addResolvingPromise(this._load(e)),this}async _load(e){await super._load(e),await Promise.all([this._loadNamedTraceConfigurationsFromNetwork(e),this.networkSystemLayers.loadAssociationsTable(e)])}getTerminalConfiguration(e){let t=null,r=null;const s=e.sourceLayer??e.origin??e.layer??null;let o=null;if("feature"===s?.type){if(o=s.layerId,null===o)return null}else{if("subtype-sublayer"!==s?.type)return null;if(o=s?.parent?.layerId??null,null===o)return null}const i=e.attributes;if(null==i)return null;for(const l of Object.keys(i))"ASSETGROUP"===l.toUpperCase()&&(t=e.getAttribute(l)),"ASSETTYPE"===l.toUpperCase()&&(r=e.getAttribute(l));if(!this.dataElement)return null;let a=null;const n=this.dataElement.domainNetworks;for(const l of n){const e=l.junctionSources?.find(e=>e.layerId===o);if(e){const s=e.assetGroups?.find(e=>e.assetGroupCode===t);if(s){const e=s.assetTypes?.find(e=>e.assetTypeCode===r);if(e?.isTerminalConfigurationSupported){a=e.terminalConfigurationId;break}}}}if(null!=a){const e=this.dataElement.terminalConfigurations,t=e?.find(e=>e.terminalConfigurationId===a);return t?y.fromJSON(t):null}return null}getTierNames(e){const t=this.dataElement?.domainNetworks.find(t=>t.domainNetworkName===e);return t?.tiers?.map(e=>e.name)||[]}async getRulesTable(){const e=this._rulesLayer;e.loaded||await e.load();const t=this.dataElement?.domainNetworks;if(!t)return null;const r=t.flatMap(e=>[...e.edgeSources||[],...e.junctionSources||[]]),s=(await this._queryRulesTable(e)).map(t=>this._hydrateRuleInfo(e,r,t));return new u({rulesLayer:e,rules:s})}async getCircuitManager(e){if(!this.hasTelecomNetwork)return null;const t=this.dataElement?.domainNetworks.find(t=>t.domainNetworkName===e&&t.isTelecomNetwork);if(!t)return null;const{default:s}=await import("./CircuitManager.js");return r(this._circuitManagerMap,e,()=>new s({utilityNetwork:this,telecomDomainNetwork:t}))}async getUnitIdentifierManager(){if(!this.hasTelecomNetwork)return null;if(this._unitIdentifierManager)return this._unitIdentifierManager;const{default:e}=await import("./UnitIdentifierManager.js");return this._unitIdentifierManager=new e({utilityNetwork:this}),this._unitIdentifierManager}getTerminalById(e){if(!this.dataElement||null==e)return null;const t=this._terminalById.get(e);return null!=t?t:(this.terminalConfigurations.forEach(e=>{e.terminals.forEach(e=>{this._terminalById.set(e.id,e)})}),this._terminalById.get(e))}isUtilityLayer(e){return"layerId"in e?null!=e.layerId&&this._utilityLayerList.has(e.layerId)&&(e.url?.startsWith(this.featureServiceUrl)??!1):!("subtype-sublayer"!==e.type||!e.parent)&&(this._utilityLayerList.has(e.parent.layerId)&&(e.parent.url?.startsWith(this.featureServiceUrl)??!1))}async queryAssociations(e,t){const[{queryAssociations:r},{default:s}]=await Promise.all([import("../rest/networks/queryAssociations.js"),import("../rest/networks/support/QueryAssociationsParameters.js")]),o=s.from(e);o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment;return(await r(this.networkServiceUrl,o,t)).associations}async synthesizeAssociationGeometries(e){const[{synthesizeAssociationGeometries:t},{default:r}]=await Promise.all([import("../rest/networks/synthesizeAssociationGeometries.js"),import("../rest/networks/support/SynthesizeAssociationGeometriesParameters.js")]),s=r.from(e);return s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment,t(this.networkServiceUrl,s)}async trace(e){const[{trace:t},{default:r}]=await Promise.all([import("../rest/networks/trace.js"),import("../rest/networks/support/TraceParameters.js")]),s=r.from({...e,telecomSourceSet:this._telecomSourceSet});return s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment,t(this.networkServiceUrl,s)}async submitTraceJob(e){const[{submitTraceJob:t},{default:r}]=await Promise.all([import("../rest/networks/trace.js"),import("../rest/networks/support/TraceParameters.js")]),s=r.from(e);s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment;const o=await t(this.networkServiceUrl,s);return new h({statusUrl:o,telecomSourceSet:this._telecomSourceSet})}async canAddAssociation(e){const t=await this.getRulesTable();if(!t)return!1;const{fromNetworkElement:r,toNetworkElement:s}=e;if(!r||!s)return!1;await t.load();let o=null;switch(e.associationType){case"containment":o=t.rulesCategorized.containment;break;case"attachment":o=t.rulesCategorized.attachment;break;default:o=t.rulesCategorized.connectivity}return o.some(e=>w(e,r,s))}generateAddAssociations(e){const{associationsTable:r}=this.networkSystemLayers,{fromNetworkSourceId:s,fromGlobalId:o,fromTerminalId:i,fromFirstUnit:a,fromLastUnit:n,toNetworkSourceId:l,toGlobalId:u,toTerminalId:d,toFirstUnit:c,toLastUnit:y,associationType:h,isContentVisible:p,percentAlong:b,globalId:w}=m(r);return{addFeatures:e.map(e=>{const r=new t({attributes:{[s]:e.fromNetworkElement?.networkSourceId,[o]:e.fromNetworkElement?.globalId,[i]:e.fromNetworkElement?.terminalId,[l]:e.toNetworkElement?.networkSourceId,[u]:e.toNetworkElement?.globalId,[d]:e.toNetworkElement?.terminalId,[h]:f[e.associationType],[p]:null==e.isContentVisible?void 0:e.isContentVisible?1:0,[b]:e.percentAlong,[w]:e.globalId}}),m=e.associationType.includes("connectivity");return e.fromNetworkElement instanceof I&&(r.attributes[a]=e.fromNetworkElement?.firstUnit,r.attributes[n]=e.fromNetworkElement?.lastUnit,m&&(r.attributes[i]=1)),e.toNetworkElement instanceof I&&(r.attributes[c]=e.toNetworkElement?.firstUnit,r.attributes[y]=e.toNetworkElement?.lastUnit,m&&(r.attributes[d]=1)),r}),id:this.networkSystemLayers.associationsTableId,identifierFields:{globalIdField:r?.globalIdField??"globalid",objectIdField:r?.objectIdField??"objectid"}}}generateDeleteAssociations(e){const{associationsTable:t,associationsTableId:r}=this.networkSystemLayers,s={id:r,identifierFields:{globalIdField:t?.globalIdField??"globalid",objectIdField:t?.objectIdField??"objectid"}};if(-8===this.dataElement?.schemaGeneration){const t=this._generateDeleteTelecomAssociationPayload(e);return{...s,deleteAssociations:t}}const o=e.map(e=>({globalId:e.globalId}));return{...s,deleteFeatures:o}}async loadAssociationsTable(){return this.networkSystemLayers.loadAssociationsTable()}async loadSubnetworksTable(){return this.networkSystemLayers.loadSubnetworksTable()}async _loadNamedTraceConfigurationsFromNetwork(e){if(0===this.sharedNamedTraceConfigurations?.length)return;const t=this.sharedNamedTraceConfigurations.map(e=>e.globalId),r=await this.queryNamedTraceConfigurations({globalIds:t},e);for(const s of this.sharedNamedTraceConfigurations){const e=r?.find(e=>e.globalId===s.globalId);if(e){const t=e.write({},{origin:"service"});s.read(t,{origin:"service"})}}}_hydrateRuleInfo(e,t,r){const s=e.fieldsIndex,o=s.get("RULETYPE"),i=s.get("CREATIONDATE"),a=s.get("FROMNETWORKSOURCEID"),n=s.get("FROMASSETGROUP"),l=s.get("FROMASSETTYPE"),u=s.get("FROMTERMINALID"),d=s.get("TONETWORKSOURCEID"),m=s.get("TOASSETGROUP"),c=s.get("TOASSETTYPE"),y=s.get("TOTERMINALID"),h=s.get("VIANETWORKSOURCEID"),f=s.get("VIAASSETGROUP"),p=s.get("VIAASSETTYPE"),b=s.get("VIATERMINALID"),w=r.attributes[o.name],I=new Date(r.attributes[i.name]),g=[{networkSourceId:r.attributes[a.name],assetGroupId:r.attributes[n.name],assetTypeId:r.attributes[l.name],terminalId:r.attributes[u.name]},{networkSourceId:r.attributes[d.name],assetGroupId:r.attributes[m.name],assetTypeId:r.attributes[c.name],terminalId:r.attributes[y.name]},{networkSourceId:r.attributes[h.name],assetGroupId:r.attributes[f.name],assetTypeId:r.attributes[p.name],terminalId:r.attributes[b.name]}],T={ruleType:w,creationDate:I};for(const k of[0,1,2]){if(5!==w&&2===k)continue;const e=g[k],r=t.find(t=>t.sourceId===e.networkSourceId),s=r?.assetGroups.find(t=>t.assetGroupCode===e.assetGroupId),o=s?.assetTypes.find(t=>t.assetTypeCode===e.assetTypeId),i=this._getTerminal(o,e);let a="";switch(k){case 0:a="from";break;case 1:a="to";break;case 2:a="via"}T[`${a}NetworkSource`]=r,T[`${a}AssetGroup`]=s,T[`${a}AssetType`]=o,T[`${a}Terminal`]=i?.toJSON()}return T}_getTerminal(e,t){const r=e?.terminalConfigurationId,s=this.terminalConfigurations?.find(e=>e.id===r);return s?.terminals?.find(e=>e.id===t.terminalId)??null}async _queryRulesTable(e){const{gdbVersion:t,historicMoment:r}=this,s=new g({where:"1=1",outFields:["*"],gdbVersion:t,historicMoment:r});return(await n(e,s)).features}_generateDeleteTelecomAssociationPayload(e){return e.map(e=>({globalId:e.globalId??p,associationType:b.toJSON(e.associationType),fromSourceId:e.fromNetworkElement.networkSourceId,fromGlobalId:e.fromNetworkElement.globalId,fromTerminalId:e.fromNetworkElement.terminalId,toSourceId:e.toNetworkElement.networkSourceId,toGlobalId:e.toNetworkElement.globalId,toTerminalId:e.toNetworkElement.terminalId}))}};e([o({readOnly:!0})],T.prototype,"_rulesLayer",null),e([o({readOnly:!0})],T.prototype,"_telecomSourceSet",null),e([o({type:[d],json:{origins:{"web-map":{read:{source:"traceConfigurations"},write:{target:"traceConfigurations"}},service:{read:{source:"traceConfigurations"}}},read:!1}})],T.prototype,"sharedNamedTraceConfigurations",void 0),e([o({type:["utility"],readOnly:!0,json:{read:!1,write:!1}})],T.prototype,"type",void 0),e([o({readOnly:!0})],T.prototype,"serviceTerritoryFeatureLayerId",null),e([o({readOnly:!0})],T.prototype,"networkSystemLayers",null),e([o({readOnly:!0})],T.prototype,"terminalConfigurations",null),e([o({readOnly:!0})],T.prototype,"domainNetworkNames",null),e([o({readOnly:!0})],T.prototype,"hasTelecomNetwork",null),e([o({readOnly:!0,json:{read:!1}})],T.prototype,"associationsTable",null),T=e([i("esri.networks.UtilityNetwork")],T);const k=T;export{k as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../Graphic.js";import{getOrCreateMapValue as r}from"../core/MapUtils.js";import{watch as s}from"../core/reactiveUtils.js";import{property as o,subclass as i}from"../core/accessorSupport/decorators.js";import a from"../layers/FeatureLayer.js";import{queryAllJSON as n}from"../layers/support/featureQueryAll.js";import l from"./Network.js";import u from"./RulesTable.js";import d from"./support/NamedTraceConfiguration.js";import{getAssociationsTableFields as m}from"./support/networkFieldUtils.js";import c from"./support/NetworkSystemLayers.js";import y from"./support/TerminalConfiguration.js";import h from"./support/TraceJobInfo.js";import{AssociationTypeEnum as f,nullGuid as p,associationTypeKebabDict as w}from"./support/typeUtils.js";import{doesRuleAllowAssociation as b}from"./support/utils.js";import I from"../rest/networks/support/TelecomNetworkElement.js";import g from"../rest/support/Query.js";let T=class extends l{constructor(e){super(e),this.sharedNamedTraceConfigurations=[],this.type="utility",this._circuitManagerMap=new Map,this._terminalById=new Map,this._unitIdentifierManager=null}initialize(){this.addHandles(s(()=>[this.gdbVersion,this.historicMoment],()=>{this.networkSystemLayers.associationsTable&&(this.networkSystemLayers.associationsTable.gdbVersion!==this.gdbVersion&&(this.networkSystemLayers.associationsTable.gdbVersion=this.gdbVersion),this.networkSystemLayers.associationsTable.historicMoment!==this.historicMoment&&(this.networkSystemLayers.associationsTable.historicMoment=this.historicMoment))}))}get _rulesLayer(){const{gdbVersion:e,historicMoment:t}=this,r=this.networkSystemLayers.rulesTableUrl;return new a({url:r,gdbVersion:e,historicMoment:t})}get _telecomSourceSet(){const e=new Set;return this.dataElement?.domainNetworks.forEach(t=>{t.isTelecomNetwork&&(t.edgeSources?.forEach(t=>e.add(t.sourceId)),t.junctionSources?.forEach(t=>e.add(t.sourceId)))}),e}get _utilityLayerList(){const e=new Set;return this.dataElement?.domainNetworks?.map(t=>{t?.edgeSources?.map(({layerId:t,sourceId:r})=>{this._layerIdBySourceId.set(r,t),this._sourceIdByLayerId.set(t,r),e.add(t)}),t?.junctionSources?.map(({layerId:t,sourceId:r})=>{this._layerIdBySourceId.set(r,t),this._sourceIdByLayerId.set(t,r),e.add(t)})}),e}get serviceTerritoryFeatureLayerId(){return this.dataElement?.serviceTerritoryFeatureLayerId??null}get networkSystemLayers(){return new c({rulesTableId:this.sourceJSON?.systemLayers.rulesTableId,rulesTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.rulesTableId}`:null,subnetworksTableId:this.sourceJSON?.systemLayers.subnetworksTableId,subnetworksTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.subnetworksTableId}`:null,dirtyAreasLayerId:this.sourceJSON?.systemLayers.dirtyAreasLayerId,dirtyAreasLayerUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.dirtyAreasLayerId}`:null,associationsTableId:this.sourceJSON?.systemLayers.associationsTableId,associationsTableUrl:this.sourceJSON?`${this.featureServiceUrl}/${this.sourceJSON?.systemLayers.associationsTableId}`:null})}get terminalConfigurations(){return this.dataElement?.terminalConfigurations.map(e=>y.fromJSON(e))||[]}get domainNetworkNames(){return this.dataElement?.domainNetworks.map(e=>e.domainNetworkName)||[]}get hasTelecomNetwork(){return this.dataElement?.domainNetworks.some(e=>e.isTelecomNetwork)??!1}get associationsTable(){return this.networkSystemLayers.associationsTable}async load(e){return this.addResolvingPromise(this._load(e)),this}async _load(e){await super._load(e),await Promise.all([this._loadNamedTraceConfigurationsFromNetwork(e),this.networkSystemLayers.loadAssociationsTable(e)])}getTerminalConfiguration(e){let t=null,r=null;const s=e.sourceLayer??e.origin??e.layer??null;let o=null;if("feature"===s?.type){if(o=s.layerId,null===o)return null}else{if("subtype-sublayer"!==s?.type)return null;if(o=s?.parent?.layerId??null,null===o)return null}const i=e.attributes;if(null==i)return null;for(const l of Object.keys(i))"ASSETGROUP"===l.toUpperCase()&&(t=e.getAttribute(l)),"ASSETTYPE"===l.toUpperCase()&&(r=e.getAttribute(l));if(!this.dataElement)return null;let a=null;const n=this.dataElement.domainNetworks;for(const l of n){const e=l.junctionSources?.find(e=>e.layerId===o);if(e){const s=e.assetGroups?.find(e=>e.assetGroupCode===t);if(s){const e=s.assetTypes?.find(e=>e.assetTypeCode===r);if(e?.isTerminalConfigurationSupported){a=e.terminalConfigurationId;break}}}}if(null!=a){const e=this.dataElement.terminalConfigurations,t=e?.find(e=>e.terminalConfigurationId===a);return t?y.fromJSON(t):null}return null}getTierNames(e){const t=this.dataElement?.domainNetworks.find(t=>t.domainNetworkName===e);return t?.tiers?.map(e=>e.name)||[]}async getRulesTable(){const e=this._rulesLayer;e.loaded||await e.load();const t=this.dataElement?.domainNetworks;if(!t)return null;const r=t.flatMap(e=>[...e.edgeSources||[],...e.junctionSources||[]]),s=(await this._queryRulesTable(e)).map(t=>this._hydrateRuleInfo(e,r,t));return new u({rulesLayer:e,rules:s})}async getCircuitManager(e){if(!this.hasTelecomNetwork)return null;const t=this.dataElement?.domainNetworks.find(t=>t.domainNetworkName===e&&t.isTelecomNetwork);if(!t)return null;const{default:s}=await import("./CircuitManager.js");return r(this._circuitManagerMap,e,()=>new s({utilityNetwork:this,telecomDomainNetwork:t}))}async getUnitIdentifierManager(){if(!this.hasTelecomNetwork)return null;if(this._unitIdentifierManager)return this._unitIdentifierManager;const{default:e}=await import("./UnitIdentifierManager.js");return this._unitIdentifierManager=new e({utilityNetwork:this}),this._unitIdentifierManager}getTerminalById(e){if(!this.dataElement||null==e)return null;const t=this._terminalById.get(e);return null!=t?t:(this.terminalConfigurations.forEach(e=>{e.terminals.forEach(e=>{this._terminalById.set(e.id,e)})}),this._terminalById.get(e))}isUtilityLayer(e){return"layerId"in e?null!=e.layerId&&this._utilityLayerList.has(e.layerId)&&(e.url?.startsWith(this.featureServiceUrl)??!1):!("subtype-sublayer"!==e.type||!e.parent)&&(this._utilityLayerList.has(e.parent.layerId)&&(e.parent.url?.startsWith(this.featureServiceUrl)??!1))}async queryAssociations(e,t){const[{queryAssociations:r},{default:s}]=await Promise.all([import("../rest/networks/queryAssociations.js"),import("../rest/networks/support/QueryAssociationsParameters.js")]),o=s.from(e);o.gdbVersion=this.gdbVersion,o.moment=this.historicMoment;return(await r(this.networkServiceUrl,o,t)).associations}async synthesizeAssociationGeometries(e){const[{synthesizeAssociationGeometries:t},{default:r}]=await Promise.all([import("../rest/networks/synthesizeAssociationGeometries.js"),import("../rest/networks/support/SynthesizeAssociationGeometriesParameters.js")]),s=r.from(e);return s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment,t(this.networkServiceUrl,s)}async trace(e){const[{trace:t},{default:r}]=await Promise.all([import("../rest/networks/trace.js"),import("../rest/networks/support/TraceParameters.js")]),s=r.from({...e,telecomSourceSet:this._telecomSourceSet});return s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment,t(this.networkServiceUrl,s)}async submitTraceJob(e){const[{submitTraceJob:t},{default:r}]=await Promise.all([import("../rest/networks/trace.js"),import("../rest/networks/support/TraceParameters.js")]),s=r.from(e);s.gdbVersion=this.gdbVersion,s.moment=this.historicMoment;const o=await t(this.networkServiceUrl,s);return new h({statusUrl:o,telecomSourceSet:this._telecomSourceSet})}async canAddAssociation(e){const t=await this.getRulesTable();if(!t)return!1;const{fromNetworkElement:r,toNetworkElement:s}=e;if(!r||!s)return!1;await t.load();let o=null;switch(e.associationType){case"containment":o=t.rulesCategorized.containment;break;case"attachment":o=t.rulesCategorized.attachment;break;default:o=t.rulesCategorized.connectivity}return o.some(e=>b(e,r,s))}generateAddAssociations(e){const{associationsTable:r}=this.networkSystemLayers,{fromNetworkSourceId:s,fromGlobalId:o,fromTerminalId:i,fromFirstUnit:a,fromLastUnit:n,toNetworkSourceId:l,toGlobalId:u,toTerminalId:d,toFirstUnit:c,toLastUnit:y,associationType:h,isContentVisible:p,percentAlong:w,globalId:b}=m(r);return{addFeatures:e.map(e=>{const r=new t({attributes:{[s]:e.fromNetworkElement?.networkSourceId,[o]:e.fromNetworkElement?.globalId,[i]:e.fromNetworkElement?.terminalId,[l]:e.toNetworkElement?.networkSourceId,[u]:e.toNetworkElement?.globalId,[d]:e.toNetworkElement?.terminalId,[h]:f[e.associationType],[p]:null==e.isContentVisible?void 0:e.isContentVisible?1:0,[w]:e.percentAlong,[b]:e.globalId}}),m=e.associationType.includes("connectivity");return e.fromNetworkElement instanceof I&&(r.attributes[a]=e.fromNetworkElement?.firstUnit,r.attributes[n]=e.fromNetworkElement?.lastUnit),e.toNetworkElement instanceof I&&(r.attributes[c]=e.toNetworkElement?.firstUnit,r.attributes[y]=e.toNetworkElement?.lastUnit),m&&(r.attributes[i]=e.fromNetworkElement?.terminalId??1,r.attributes[d]=e.toNetworkElement?.terminalId??1),r}),id:this.networkSystemLayers.associationsTableId,identifierFields:{globalIdField:r?.globalIdField??"globalid",objectIdField:r?.objectIdField??"objectid"}}}generateDeleteAssociations(e){const{associationsTable:t,associationsTableId:r}=this.networkSystemLayers,s={id:r,identifierFields:{globalIdField:t?.globalIdField??"globalid",objectIdField:t?.objectIdField??"objectid"}};if(-8===this.dataElement?.schemaGeneration){const t=this._generateDeleteTelecomAssociationPayload(e);return{...s,deleteAssociations:t}}const o=e.map(e=>({globalId:e.globalId}));return{...s,deleteFeatures:o}}async loadAssociationsTable(){return this.networkSystemLayers.loadAssociationsTable()}async loadSubnetworksTable(){return this.networkSystemLayers.loadSubnetworksTable()}async _loadNamedTraceConfigurationsFromNetwork(e){if(0===this.sharedNamedTraceConfigurations?.length)return;const t=this.sharedNamedTraceConfigurations.map(e=>e.globalId),r=await this.queryNamedTraceConfigurations({globalIds:t},e);for(const s of this.sharedNamedTraceConfigurations){const e=r?.find(e=>e.globalId===s.globalId);if(e){const t=e.write({},{origin:"service"});s.read(t,{origin:"service"})}}}_hydrateRuleInfo(e,t,r){const s=e.fieldsIndex,o=s.get("RULETYPE"),i=s.get("CREATIONDATE"),a=s.get("FROMNETWORKSOURCEID"),n=s.get("FROMASSETGROUP"),l=s.get("FROMASSETTYPE"),u=s.get("FROMTERMINALID"),d=s.get("TONETWORKSOURCEID"),m=s.get("TOASSETGROUP"),c=s.get("TOASSETTYPE"),y=s.get("TOTERMINALID"),h=s.get("VIANETWORKSOURCEID"),f=s.get("VIAASSETGROUP"),p=s.get("VIAASSETTYPE"),w=s.get("VIATERMINALID"),b=r.attributes[o.name],I=new Date(r.attributes[i.name]),g=[{networkSourceId:r.attributes[a.name],assetGroupId:r.attributes[n.name],assetTypeId:r.attributes[l.name],terminalId:r.attributes[u.name]},{networkSourceId:r.attributes[d.name],assetGroupId:r.attributes[m.name],assetTypeId:r.attributes[c.name],terminalId:r.attributes[y.name]},{networkSourceId:r.attributes[h.name],assetGroupId:r.attributes[f.name],assetTypeId:r.attributes[p.name],terminalId:r.attributes[w.name]}],T={ruleType:b,creationDate:I};for(const k of[0,1,2]){if(5!==b&&2===k)continue;const e=g[k],r=t.find(t=>t.sourceId===e.networkSourceId),s=r?.assetGroups.find(t=>t.assetGroupCode===e.assetGroupId),o=s?.assetTypes.find(t=>t.assetTypeCode===e.assetTypeId),i=this._getTerminal(o,e);let a="";switch(k){case 0:a="from";break;case 1:a="to";break;case 2:a="via"}T[`${a}NetworkSource`]=r,T[`${a}AssetGroup`]=s,T[`${a}AssetType`]=o,T[`${a}Terminal`]=i?.toJSON()}return T}_getTerminal(e,t){const r=e?.terminalConfigurationId,s=this.terminalConfigurations?.find(e=>e.id===r);return s?.terminals?.find(e=>e.id===t.terminalId)??null}async _queryRulesTable(e){const{gdbVersion:t,historicMoment:r}=this,s=new g({where:"1=1",outFields:["*"],gdbVersion:t,historicMoment:r});return(await n(e,s)).features}_generateDeleteTelecomAssociationPayload(e){return e.map(e=>({globalId:e.globalId??p,associationType:w.toJSON(e.associationType),fromSourceId:e.fromNetworkElement.networkSourceId,fromGlobalId:e.fromNetworkElement.globalId,fromTerminalId:e.fromNetworkElement.terminalId,toSourceId:e.toNetworkElement.networkSourceId,toGlobalId:e.toNetworkElement.globalId,toTerminalId:e.toNetworkElement.terminalId}))}};e([o({readOnly:!0})],T.prototype,"_rulesLayer",null),e([o({readOnly:!0})],T.prototype,"_telecomSourceSet",null),e([o({type:[d],json:{origins:{"web-map":{read:{source:"traceConfigurations"},write:{target:"traceConfigurations"}},service:{read:{source:"traceConfigurations"}}},read:!1}})],T.prototype,"sharedNamedTraceConfigurations",void 0),e([o({type:["utility"],readOnly:!0,json:{read:!1,write:!1}})],T.prototype,"type",void 0),e([o({readOnly:!0})],T.prototype,"serviceTerritoryFeatureLayerId",null),e([o({readOnly:!0})],T.prototype,"networkSystemLayers",null),e([o({readOnly:!0})],T.prototype,"terminalConfigurations",null),e([o({readOnly:!0})],T.prototype,"domainNetworkNames",null),e([o({readOnly:!0})],T.prototype,"hasTelecomNetwork",null),e([o({readOnly:!0,json:{read:!1}})],T.prototype,"associationsTable",null),T=e([i("esri.networks.UtilityNetwork")],T);const k=T;export{k as default};
|
package/package.json
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import t from"../../../request.js";import{urlToObject as n,join as r}from"../../../core/urlUtils.js";import{normalizeCentralMeridian as e}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as o}from"../../operations/urlUtils.js";import{parsePBFFeatureQuery as u}from"./pbfQueryUtils.js";import{safeExtentResultFormat as s,queryLikeToQueryStringParameters as i}from"./queryUtils.js";import{applyFeatureSetZUnitScaling as c}from"./queryZScale.js";const a="Layer does not support extent calculation.";function y(t,n,r){return i(t,n,r)}async function l(t,n,r,e,o){const u=n.timeExtent?.isEmpty?{features:[]}:await d(t,n,"json",e,void 0,o);return c(n,r,u),u}async function f(t,n,r,e,o){if(n.timeExtent?.isEmpty)return r.featureSet;const s=await m(t,n,e,o);return u(s,r)}function m(t,n,r,e){return d(t,n,"pbf",r,void 0,e)}function p(t,n,r,e){return n.timeExtent?.isEmpty?Promise.resolve({objectIds:[]}):d(t,n,"json",r,{returnIdsOnly:!0},e)}async function O(t,n,r,e){return n.timeExtent?.isEmpty?0:(await d(t,n,"json",r,{returnCountOnly:!0},e)).count}async function w(t,n,r){if(n.timeExtent?.isEmpty)return{count:0,extent:null};const e=await d(t,n,s,r,{returnExtentOnly:!0,returnCountOnly:!0});if(e.hasOwnProperty("extent"))return e;const o="string"==typeof t?t:t.path;if(/\/imageserver\/?$/i.test(o)&&e.hasOwnProperty("count")){const o=await d(t,n,s,r,{returnExtentOnly:!0});return{count:e.count,extent:o.extent}}if(e.features)throw new Error(a);if(e.hasOwnProperty("count"))throw new Error(a);return e}function E(t,n){if(!t.returnIdsOnly||!n.uniqueIdFields)return t;const r={...t,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function d(n,r,e,o={},u={},s={}){const i=await j(n,r,e,o,u,s),c="json"===e?"json":"array-buffer";return t(i.url,{responseType:c,...i.options}).then(({data:t})=>t)}async function j(t,u,s,i,c={},a={}){const l="string"==typeof t?n(t):t,f=u.geometry?[u.geometry]:[],m=await e(f,null,{signal:i.signal}),p=m?.[0];if(null!=p){const t=u.clone();t.geometry=p.clone(),u=t}const O=o({...l.query,f:s,...E(c,a),...y(u,c,a)});return i={...i,query:{...O,...i.query}},new x(r(l.path,h(u,c)?"query3d":"query"),i)}class x{constructor(t,n){this.url=t,this.options=n}}function h(t,n){return null!=t.formatOf3DObjects&&!(n.returnCountOnly||n.returnExtentOnly||n.returnIdsOnly)}export{x as RunQueryParameters,l as executeQuery,O as executeQueryForCount,w as executeQueryForExtent,p as executeQueryForIds,f as executeQueryPBF,m as executeQueryPBFBuffer,j as getQueryParameters,y as queryToQueryStringParameters,d as runQuery};
|
|
2
|
+
import t from"../../../request.js";import{urlToObject as n,join as r}from"../../../core/urlUtils.js";import{normalizeCentralMeridian as e}from"../../../geometry/support/normalizeUtils.js";import{mapParameters as o}from"../../operations/urlUtils.js";import{parsePBFFeatureQuery as u}from"./pbfQueryUtils.js";import{safeExtentResultFormat as s,queryLikeToQueryStringParameters as i}from"./queryUtils.js";import{applyFeatureSetZUnitScaling as c}from"./queryZScale.js";const a="Layer does not support extent calculation.";function y(t,n,r){return i(t,n,r)}async function l(t,n,r,e,o){const u=n.timeExtent?.isEmpty?{features:[]}:await d(t,n,"json",e,void 0,o);return u.features??=[],c(n,r,u),u}async function f(t,n,r,e,o){if(n.timeExtent?.isEmpty)return r.featureSet;const s=await m(t,n,e,o);return u(s,r)}function m(t,n,r,e){return d(t,n,"pbf",r,void 0,e)}function p(t,n,r,e){return n.timeExtent?.isEmpty?Promise.resolve({objectIds:[]}):d(t,n,"json",r,{returnIdsOnly:!0},e)}async function O(t,n,r,e){return n.timeExtent?.isEmpty?0:(await d(t,n,"json",r,{returnCountOnly:!0},e)).count}async function w(t,n,r){if(n.timeExtent?.isEmpty)return{count:0,extent:null};const e=await d(t,n,s,r,{returnExtentOnly:!0,returnCountOnly:!0});if(e.hasOwnProperty("extent"))return e;const o="string"==typeof t?t:t.path;if(/\/imageserver\/?$/i.test(o)&&e.hasOwnProperty("count")){const o=await d(t,n,s,r,{returnExtentOnly:!0});return{count:e.count,extent:o.extent}}if(e.features)throw new Error(a);if(e.hasOwnProperty("count"))throw new Error(a);return e}function E(t,n){if(!t.returnIdsOnly||!n.uniqueIdFields)return t;const r={...t,returnUniqueIdsOnly:!0};return delete r.returnIdsOnly,r}async function d(n,r,e,o={},u={},s={}){const i=await j(n,r,e,o,u,s),c="json"===e?"json":"array-buffer";return t(i.url,{responseType:c,...i.options}).then(({data:t})=>t)}async function j(t,u,s,i,c={},a={}){const l="string"==typeof t?n(t):t,f=u.geometry?[u.geometry]:[],m=await e(f,null,{signal:i.signal}),p=m?.[0];if(null!=p){const t=u.clone();t.geometry=p.clone(),u=t}const O=o({...l.query,f:s,...E(c,a),...y(u,c,a)});return i={...i,query:{...O,...i.query}},new x(r(l.path,h(u,c)?"query3d":"query"),i)}class x{constructor(t,n){this.url=t,this.options=n}}function h(t,n){return null!=t.formatOf3DObjects&&!(n.returnCountOnly||n.returnExtentOnly||n.returnIdsOnly)}export{x as RunQueryParameters,l as executeQuery,O as executeQueryForCount,w as executeQueryForExtent,p as executeQueryForIds,f as executeQueryPBF,m as executeQueryPBFBuffer,j as getQueryParameters,y as queryToQueryStringParameters,d as runQuery};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import i from"../../renderers/SimpleRenderer.js";import a from"../heuristics/outline.js";import
|
|
2
|
+
import e from"../../core/Error.js";import i from"../../renderers/SimpleRenderer.js";import a from"../heuristics/outline.js";import r from"../heuristics/sizeRange.js";import{spliceVisualVariables as n,processRegenerateParams as o,getRendererToUpdate as t,getStyleType as l,hasOutlineVV as s,hasScaleDependentSizeVV as m,findOutlineVVIndex as p,findScaleDependentSizeVVIndex as c}from"./support/regenerateUtils.js";import{errorCallback as u,createSymbol as d,getSymbolOutlineFromScheme as y,getSymbolSizeFromScheme as b,getBasemapInfo as f}from"./support/utils.js";import{verifyBinningParams as w}from"../support/binningUtils.js";import{binningCapableLayerTypes as h,featureCapableLayerTypes as g,createLayerAdapter as v,getLayerTypeLabels as T}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as E}from"../symbology/location.js";async function S(i){if(!i?.layer)throw new e("location-renderer:missing-parameters","'layer' parameter is required");i.forBinning&&w(i,"location-renderer");const a={...i,layer:i.layer};a.symbolType=a.symbolType||"2d";const r=i.forBinning?h:g,n=v(a.layer,r,i.forBinning);if(!n)throw new e("location-renderer:invalid-parameters","'layer' must be one of these types: "+T(r).join(", "));a.layer=n;const o=null!=a.signal?{signal:a.signal}:null;await n.load(o);const t=n.geometryType;a.outlineOptimizationEnabled="polygon"===t&&a.outlineOptimizationEnabled;const l="featureReduction"in i.layer&&"cluster"===i.layer.featureReduction?.type;if(a.sizeOptimizationEnabled=!("point"!==t&&"multipoint"!==t&&"polyline"!==t||l)&&a.sizeOptimizationEnabled,"mesh"===t)a.symbolType="3d-volumetric",a.colorMixMode=a.colorMixMode||"replace",a.edgesType=a.edgesType||"none";else{if("3d-volumetric-uniform"===a.symbolType&&"point"!==t)throw new e("location-renderer:not-supported","3d-volumetric-uniform symbols are supported for point layers only");if(a.symbolType.includes("3d-volumetric")&&"3d"!==a.view?.type)throw new e("location-renderer:invalid-parameters","'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'")}return a}async function j(i){const a="regenerate-location-renderer";await o(i,a);const r=await t(i);if("location"!==l(r))throw new e(`${a}:invalid-parameters`,"Renderer is invalid");const{layer:n,forBinning:p,filter:c,view:u,signal:d}=i,y=s(r),b=m(r),f=await S({layer:n,forBinning:p,filter:c,view:u,signal:d,outlineOptimizationEnabled:y,sizeOptimizationEnabled:b});return{...i,creatorParameters:f,renderer:r}}async function I(e,i){let a=e.locationScheme,r=null,n=null;const o=await f(e.basemap,e.view);if(r=null!=o.basemapId?o.basemapId:null,n=null!=o.basemapTheme?o.basemapTheme:null,a)return{scheme:z(a),basemapId:r,basemapTheme:n};const t=E({basemapTheme:n,geometryType:i,worldScale:!!e.symbolType?.includes("3d-volumetric"),view:e.view});return t&&(a=t.primaryScheme,r=t.basemapId,n=t.basemapTheme),{scheme:a,basemapId:r,basemapTheme:n}}async function O(n){const o=await S(n),t=o.layer.geometryType,l=await I(o,t),s=l.scheme;if(!s)throw new e("location-renderer:insufficient-info","Unable to find location scheme");const{view:m,layer:p,signal:c,filter:f}=o,[w,h]=await Promise.all([o.outlineOptimizationEnabled?a({view:m,layer:p,signal:c,filter:f}).catch(u):null,o.sizeOptimizationEnabled?r({view:m,layer:p,signal:c,filter:f}).catch(u):null]),g=w?.opacity,v=new i({symbol:d(t,{type:o.symbolType,color:s.color,size:b(s,t),outline:y(s,t,g),meshInfo:{colorMixMode:o.colorMixMode,edgesType:o.edgesType}})});return w?.visualVariables.length&&(v.visualVariables=w.visualVariables.map(e=>e.clone())),h?.minSize&&(v.visualVariables?v.visualVariables.push(h.minSize):v.visualVariables=[h.minSize]),{renderer:v,locationScheme:z(s),basemapId:l.basemapId,basemapTheme:l.basemapTheme}}async function M(i){const{creatorParameters:o,view:t,signal:l,filter:s,renderer:m}=await j(i),{layer:d,outlineOptimizationEnabled:y,sizeOptimizationEnabled:b}=o,f=o.layer.geometryType,w=await I(o,f),h=w.scheme;if(!h)throw new e("location-renderer:insufficient-info","Unable to find location scheme");const[g,v]=await Promise.all([y?a({view:t,layer:d,signal:l,filter:s}).catch(u):null,b?r({view:t,layer:d,signal:l,filter:s}).catch(u):null]);return n(m,g?.visualVariables,p),n(m,v?.minSize,c),{renderer:m,locationScheme:z(h),basemapId:w.basemapId,basemapTheme:w.basemapTheme}}export{O as createRenderer,M as regenerateRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../core/Error.js";import{ensureClass as i}from"../../core/accessorSupport/ensureType.js";import a from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import
|
|
2
|
+
import e from"../../core/Error.js";import{ensureClass as i}from"../../core/accessorSupport/ensureType.js";import a from"../../renderers/support/AuthoringInfo.js";import r from"../../renderers/support/AuthoringInfoVisualVariable.js";import l from"../../renderers/visualVariables/OpacityVariable.js";import s from"../../renderers/visualVariables/support/OpacityStop.js";import n from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import{processRegenerateParams as t,getRendererToUpdate as o,isOpacityVV as u,getAuthoringInfoVisualVariable as p}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as m,getTimeSeriesSummaryStatistics as d}from"./support/timeSeriesUtils.js";import{verifyBasicFieldValidity as v,getSummaryStatistics as f,createStopValues as c,getDefaultDataRange as y}from"./support/utils.js";import{verifyBinningParams as w}from"../support/binningUtils.js";import{getFieldsList as g,isAnyDateField as x}from"../support/utils.js";import{binningCapableLayerTypes as V,featureCapableLayerTypes as b,createLayerAdapter as E,getLayerTypeLabels as h}from"../support/adapters/support/layerUtils.js";async function j(i){const a=m({...i});if(!a?.layer||!(a.field||a.valueExpression||a.sqlExpression))throw new e("opacity-visual-variable:missing-parameters","'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required");if(a.valueExpression&&!a.view)throw new e("opacity-visual-variable:missing-parameters","View is required when 'valueExpression' is specified");a.forBinning&&w(a,"opacity-visual-variable");const r={...a,layer:a.layer},l=a.forBinning?V:b,s=E(r.layer,l,a.forBinning);if(!s)throw new e("opacity-visual-variable:invalid-parameters","'layer' must be one of these types: "+h(l).join(", "));r.layer=s;const n=null!=r.signal?{signal:r.signal}:null;await s.load(n);const t=await g({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),o=v(s,t,"opacity-visual-variable:invalid-parameters");if(o)throw o;return r}function S(e,t){const o=t.layer,u=t.field,p=u&&!("function"==typeof u)?o.getField(u):null,m=x(p),d=c(e),v=y(e,m,!0),f=v||[d[0],d[4]],w=new l({field:u??void 0,valueExpression:t.valueExpression,valueExpressionTitle:t.valueExpressionTitle,normalizationField:t.normalizationField,stops:[new s({value:f[0],opacity:.3}),new s({value:f[1],opacity:1})],legendOptions:i(n,t.legendOptions)}),g=new r({type:"opacity",dataSeriesName:t.dataSeriesName,minSliderValue:null!=t.minValue?t.minValue:e.min,maxSliderValue:null!=t.maxValue?t.maxValue:e.max}),V=new a({visualVariables:[g]});return Promise.resolve({visualVariable:w,statistics:e,defaultValuesUsed:!!v,authoringInfo:V})}async function z(e){let i=null;return i=e.statistics?e.statistics:e.dataSeriesName?await d({layer:e.layer,view:e.view,dataSeriesName:e.dataSeriesName,filter:e.filter,signal:e.signal}):await f({layer:e.layer,field:e.field,valueExpression:e.valueExpression,sqlExpression:e.sqlExpression,sqlWhere:e.sqlWhere,normalizationType:e.normalizationField?"field":void 0,normalizationField:e.normalizationField,minValue:e.minValue,maxValue:e.maxValue,filter:e.filter,view:e.view,signal:e.signal}),S(i,e)}async function F(i){const a="regenerate-opacity-visual-variable";await t(i,a);const r=await o(i);if(!("visualVariables"in r))throw new e(`${a}:invalid-parameters`,"Renderer must support visual variables to regenerate an opacity visual variable");const l=r.visualVariables?.find(u);if(!l)throw new e(`${a}:invalid-parameters`,"Renderer does not have an opacity visual variable");const s=p(r,"opacity"),n=l.legendOptions?{title:l.legendOptions.title??void 0,showLegend:l.legendOptions.showLegend??void 0}:null,{layer:m,forBinning:d,filter:v,view:f,signal:c}=i,y=await j({layer:m,field:l.field??null,normalizationField:l.normalizationField??null,valueExpression:l.valueExpression??null,valueExpressionTitle:l.valueExpressionTitle??null,dataSeriesName:s?.dataSeriesName??null,legendOptions:n,minValue:s?.minSliderValue??null,maxValue:s?.maxSliderValue??null,forBinning:d,filter:v,view:f,signal:c});return{...i,creatorParameters:y,renderer:r}}async function O(e){return z(await j(e))}async function q(e){const{creatorParameters:i}=await F(e);return await z(i)}export{O as createVisualVariable,q as regenerateVisualVariable};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";async function n(n,r){const{layer:i,view:t,forBinning:a,filter:s}=n;if(!i||!t)throw new e(`${r}:missing-parameters`,"'layer' and 'view' parameters are required");await i.load();const o="featureReduction"in i?i.featureReduction:null;if(a){if("binning"!==o?.type)throw new e(`${r}:invalid-parameters`,"'layer' must have 'featureReduction' property defined with 'binning' type when 'forBinning' parameter is true");if(s)throw new e(`${r}:invalid-parameters`,"'filter' parameter is not supported when 'forBinning' parameter is true")}return n}async function r(n){const{layer:r,forBinning:i,renderer:t}=n;await r.load();const a="featureReduction"in r?r.featureReduction:null,s=t?.clone()??(i&&"binning"===a?.type?a?.renderer?.clone():"renderer"in r?r.renderer?.clone():null);if(!s)throw new e("get-renderer-to-update:invalid-parameters","renderer not available");return s}function i(e,n,r){const i=e?.authoringInfo?.visualVariables;return i?.find(e=>"reference-size"===r?e.type===n&&"reference-size"===e.theme:"spike"===r?e.type===n&&"spike"===e.theme:e.type===n)}function t(e){if(!e)return null;const n=e.type,r="visualVariables"in e?e.visualVariables:null,t=r?.find(d),a=r?.find(z),s=e.authoringInfo,o=i(e,"color"),u=i(e,"size"),l=i(e,"size","reference-size"),c=i(e,"size","spike");if("class-breaks"===n){if("univariate-color-size"===s?.type)return"univariate-color-size";if(t)return a?u?.units?"color-size-age":o?.units?"color-age-size":"color-size":o?.units?"color-age":l||c?"color-size":"color-continuous";if(a)return u?.units?"size-age":"size-continuous";if(e.classBreakInfos.length>1)return"class-breaks-color"===s?.type?"color-class-breaks":"class-breaks-size"===s?.type?"size-class-breaks":null;if(l||c)return"size-continuous"}return"unique-value"===n?e.valueExpression?"predominance"===s?.type?"predominance":"relationship"===s?.type?a||l||c?"relationship-size":"relationship":a||l||c?"type-size":"type":a?u?.units?"type-size-age":"type-size":l||c?"type-size":"type":"pie-chart"===n?"pie-chart":"dot-density"===n?"dot-density":"heatmap"===n?"heatmap":"simple"===n?"
|
|
2
|
+
import e from"../../../core/Error.js";async function n(n,r){const{layer:i,view:t,forBinning:a,filter:s}=n;if(!i||!t)throw new e(`${r}:missing-parameters`,"'layer' and 'view' parameters are required");await i.load();const o="featureReduction"in i?i.featureReduction:null;if(a){if("binning"!==o?.type)throw new e(`${r}:invalid-parameters`,"'layer' must have 'featureReduction' property defined with 'binning' type when 'forBinning' parameter is true");if(s)throw new e(`${r}:invalid-parameters`,"'filter' parameter is not supported when 'forBinning' parameter is true")}return n}async function r(n){const{layer:r,forBinning:i,renderer:t}=n;await r.load();const a="featureReduction"in r?r.featureReduction:null,s=t?.clone()??(i&&"binning"===a?.type?a?.renderer?.clone():"renderer"in r?r.renderer?.clone():null);if(!s)throw new e("get-renderer-to-update:invalid-parameters","renderer not available");return s}function i(e,n,r){const i=e?.authoringInfo?.visualVariables;return i?.find(e=>"reference-size"===r?e.type===n&&"reference-size"===e.theme:"spike"===r?e.type===n&&"spike"===e.theme:e.type===n)}function t(e){if(!e)return null;const n=e.type,r="visualVariables"in e?e.visualVariables:null,t=r?.find(d),a=r?.find(z),s=e.authoringInfo,o=i(e,"color"),u=i(e,"size"),l=i(e,"size","reference-size"),c=i(e,"size","spike");if("class-breaks"===n){if("univariate-color-size"===s?.type)return"univariate-color-size";if(t)return a?u?.units?"color-size-age":o?.units?"color-age-size":"color-size":o?.units?"color-age":l||c?"color-size":"color-continuous";if(a)return u?.units?"size-age":"size-continuous";if(e.classBreakInfos.length>1)return"class-breaks-color"===s?.type?"color-class-breaks":"class-breaks-size"===s?.type?"size-class-breaks":null;if(l||c)return"size-continuous"}return"unique-value"===n?e.valueExpression?"predominance"===s?.type?"predominance":"relationship"===s?.type?a||l||c?"relationship-size":"relationship":a||l||c?"type-size":"type":a?u?.units?"type-size-age":"type-size":l||c?"type-size":"type":"pie-chart"===n?"pie-chart":"dot-density"===n?"dot-density":"heatmap"===n?"heatmap":"simple"===n?"location":null}function a(e){return!!e.visualVariables?.some(h)}function s(e){return!!e.visualVariables?.some(v)}function o(e){return e?.findIndex(h)??-1}function u(e){return e?.findIndex(z)??-1}function l(e){return e?.findIndex(d)??-1}function c(e){return e?.findIndex(y)??-1}function f(e){return e?.findIndex(m)??-1}function p(e){return e?.findIndex(v)??-1}function d(e){return"color"===e.type}function y(e){return"opacity"===e.type}function m(e){return"rotation"===e.type}function z(e){return"size"===e.type&&"outline"!==e.target&&"$view.scale"!==e.valueExpression}function h(e){return"size"===e.type&&"outline"===e.target}function v(e){return"size"===e.type&&"$view.scale"===e.valueExpression&&"outline"!==e.target&&Array.isArray(e.stops)}function g(e,n,r){const i=e.visualVariables,t=r(i);if(!n||Array.isArray(n)&&!n.length)return;Array.isArray(n)||(n=[n]);const a=n.map(e=>e.clone());i?t>-1?i.splice(t,1,...a):i.push(...a):e.visualVariables=a}function b(e,n,r){const t=n?.visualVariables.find(e=>e.type===r),a=i(e,r);a&&t&&(a.dataSeriesName=t.dataSeriesName,a.minSliderValue=t.minSliderValue,a.maxSliderValue=t.maxSliderValue,"size"===r&&("reference-size"!==a.theme&&"spike"!==a.theme||(a.sizeStops=t.sizeStops?.map(e=>e.clone()),"reference-size"===a.theme&&(a.referenceSizeScale=t.referenceSizeScale))))}export{l as findColorVVIndex,c as findOpacityVVIndex,o as findOutlineVVIndex,f as findRotationVVIndex,p as findScaleDependentSizeVVIndex,u as findSizeVVIndex,i as getAuthoringInfoVisualVariable,r as getRendererToUpdate,t as getStyleType,a as hasOutlineVV,s as hasScaleDependentSizeVV,d as isColorVV,y as isOpacityVV,h as isOutlineVV,m as isRotationVV,v as isScaleDependentSizeVV,z as isSizeVV,n as processRegenerateParams,g as spliceVisualVariables,b as updateAuthoringInfoVisualVariable};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import e from"../../../core/Error.js";import r from"../../../renderers/visualVariables/RotationVariable.js";import{
|
|
2
|
+
import e from"../../../core/Error.js";import r from"../../../renderers/visualVariables/RotationVariable.js";import{regenerateVisualVariable as a}from"../opacity.js";import{getRendererToUpdate as i,getStyleType as t,findOpacityVVIndex as n,spliceVisualVariables as s,updateAuthoringInfoVisualVariable as o,findRotationVVIndex as l,findSizeVVIndex as c,getAuthoringInfoVisualVariable as u,hasScaleDependentSizeVV as d}from"./regenerateUtils.js";import{resolveDataSeriesInfo as p}from"./timeSeriesUtils.js";async function w(r){let a=await i(r);const n=t(a),s=r.includedParts,o=s?.includes("size-variable")??!0,l=s?.includes("color-variable")??!0,c=s?.includes("class-breaks")??!0,u=s?.includes("opacity-variable")??!0,d=s?.includes("rotation-variable")??!0;switch(a=await f({params:r,renderer:a,styleType:n,includeOpacityVariable:u,includeRotationVariable:d}),r={...r,renderer:a},n){case"color-continuous":{if(!l)return a;const{regenerateContinuousRenderer:e}=await import("../color.js");return(await e(r)).renderer}case"color-class-breaks":{if(!c)return a;const{regenerateClassBreaksRenderer:e}=await import("../color.js");return(await e(r)).renderer}case"color-age":{if(!l)return a;const{regenerateAgeRenderer:e}=await import("../color.js");return(await e(r)).renderer}case"size-continuous":{if(!o)return a;const{regenerateContinuousRenderer:e}=await import("../size.js");return(await e(r)).renderer}case"size-class-breaks":{if(!c)return a;const{regenerateClassBreaksRenderer:e}=await import("../size.js");return(await e(r)).renderer}case"size-age":{if(!o)return a;const{regenerateAgeRenderer:e}=await import("../size.js");return(await e(r)).renderer}case"color-size":{let e=a;if(l){const{regenerateContinuousRenderer:a}=await import("../color.js");e=(await a(r)).renderer}return o?await m(r,e):e}case"type":{const{regenerateRenderer:e}=await import("../type.js");return(await e(r)).renderer}case"type-size":{const{regenerateRenderer:e}=await import("../type.js"),{renderer:a}=await e(r);return o?await m(r,a):a}case"predominance":{const{regenerateRenderer:e}=await import("../predominance.js");return(await e(r)).renderer}case"relationship":{if(!c)return a;const{regenerateRenderer:e}=await import("../relationship.js");return(await e(r)).renderer}case"relationship-size":{let e=a;if(c){const{regenerateRenderer:a}=await import("../relationship.js"),{renderer:i}=await a(r);e=i}return o?await m(r,e):e}case"pie-chart":{const{regenerateRenderer:e}=await import("../pieChart.js");return(await e(r)).renderer}case"dot-density":{const{regenerateRenderer:e}=await import("../dotDensity.js");return(await e(r)).renderer}case"heatmap":{const{regenerateRenderer:e}=await import("../heatmap.js");return(await e(r)).renderer}case"location":{const{regenerateRenderer:e}=await import("../location.js");return(await e(r)).renderer}case"univariate-color-size":{const{regenerateRenderer:e}=await import("../univariateColorSize.js");return(await e(r)).renderer}default:throw new e("regenerate-renderer:invalid-parameters","renderer type not supported")}}async function m(e,r){const{regenerateVisualVariables:a,updateRendererWithReferenceSize:i,updateRendererWithSpike:t}=await import("../size.js"),{visualVariables:n,authoringInfo:l,isGrid:p}=await a({...e,renderer:r});s(r,n,c),o(r,l,"size");const w=u(r,"size","reference-size"),m=u(r,"size","spike");return w||m?m?await t({layer:e.layer,renderer:r,sizeStops:m.sizeStops,forBinning:e.forBinning}):await i({layer:e.layer,renderer:r,sizeStops:w.sizeStops,view:e.view,forBinning:e.forBinning,sizeOptimizationEnabled:d(r),isGrid:p}):r}async function f({params:e,renderer:r,styleType:i,includeOpacityVariable:t,includeRotationVariable:c}){if(!("visualVariables"in r))return r;if(t&&"predominance"!==i&&-1!==n(r.visualVariables)){const i=await a({...e,renderer:r});s(r,i?.visualVariable,n),o(r,i?.authoringInfo,"opacity")}if(c){const a=await g(e,r);s(r,a,l)}return r}async function g(e,a){const i=a.visualVariables?.[l(a.visualVariables)],t=u(a,"rotation");if(!i)return null;const n=new r({axis:i.axis,rotationType:i.rotationType,field:i.field,valueExpression:i.valueExpression,valueExpressionTitle:i.valueExpressionTitle,legendOptions:i.legendOptions?.clone()});if(!t?.dataSeriesName)return n;const s=p({layer:e.layer,view:e.view,field:n.field??null,dataSeriesName:t.dataSeriesName,valueExpression:n.valueExpression??null,valueExpressionTitle:n.valueExpressionTitle??null});return n.field=s.field??null,n.valueExpression=s.valueExpression??null,n.valueExpressionTitle=s.valueExpressionTitle??null,n}export{w as regenerateRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import{pickRandom as i}from"../../../core/arrayUtils.js";import r from"../../../core/Error.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{property as a,subclass as n}from"../../../core/accessorSupport/decorators.js";import{isHostedAgolService as o}from"../../../layers/support/arcgisLayerUrl.js";import{isTimeOnlyField as l,isNumericField as u}from"../../../layers/support/fieldUtils.js";import{generateRenderer as c}from"../../../rest/generateRenderer.js";import m from"../../../rest/support/GenerateRendererParameters.js";import h from"../../../rest/support/PivotQuery.js";import p from"../../../rest/support/StatisticDefinition.js";import d from"../../../rest/support/UniqueValueDefinition.js";import y from"../../../rest/support/UnPivotDefinition.js";import{getArcadeForPredominantCategory as f,getSQLForPredominantCategoryName as F}from"../../statistics/support/predominanceUtils.js";import{mergeWhereClauses as S,getRangeExpr as g,getSQLFilterForNormalization as w}from"../../statistics/support/utils.js";import{WorkerClient as v}from"../../statistics/support/WorkerClient.js";import{isAnyDateField as _,isIntegerField as x,castIntegerFieldToFloat as q,fieldDelimiter as V}from"../utils.js";import E from"./InMemoryLayerAdapter.js";import{getQueryParamsForExpr as b,getDataRange as z,getAttributeBinsQuery as L,processQueryAttributeBinsResult as Q,binParamsFromGenRend as T}from"./support/histogramUtils.js";import{ensureFeaturesJSON as N,getSummaryStatsQuery as j,getSummaryStatisticsFromFeatureSet as B,getSummaryStatsQueryForFields as M,getSummaryStatsPivotQuery as $,getUVQuery as O,getUniqueValuesFromFeatureSet as C,defaultNumBins as A,updateQueryWithFeatureFilter as I,getHistogramFromFeatureSet as P,getFieldExpr as R,getDomainsForFields as k,getBins as U,getPredominantCategoriesFromUVInfos as D,getMissingFields as G}from"./support/utils.js";import{processSummaryStatisticsResult as W,createUVResult as J,getEqualIntervalBins as H,createClassBreaksDefinition as Z,resolveCBResult as K}from"../../../statistics/utils.js";import{getScaleToResolutionFactor as X}from"../../../views/2d/viewpointUtils.js";const Y=5,ee=2e4,te=4e5;let ie=class extends E{constructor(){super(...arguments),this.adapterName="feature-layer-adapter"}_isStatsSupportedOnService(){const e=this.layer;if(!e.capabilities?.query?.supportsStatistics||"multipatch"===this.geometryType&&!o(e.url)&&e.version<10.5)throw new r(`${this.adapterName}:not-supported`,"Layer does not support statistics query");return Promise.resolve()}_fetchFeaturesFromService(e,t){return this.layer.queryFeatures(e,{signal:t}).then(e=>e.features)}_fetchFeaturesJSONFromService(e,t){return this._fetchFeaturesFromService(e,t).then(N)}_summaryStatsFromGenRend(e){const t=e.normalizationType,i=e.normalizationField;return this.classBreaks({field:e.field,numClasses:Y,classificationMethod:"standard-deviation",standardDeviationInterval:.25,normalizationType:t,normalizationField:"field"===t?i:void 0,minValue:e.minValue,maxValue:e.maxValue,filter:e.filter,signal:e.signal}).then(t=>{let i,r,s;if(t.classBreakInfos?.some(e=>(e.hasAvg&&(i=e),!!i)),i){const e=i.maxValue-i.minValue;r=i.minValue+e/2,s=4*e}const a={min:t.minValue,max:t.maxValue,avg:r,stddev:s};return W(a,e.outStatisticTypes)})}async _summaryStatsFromServiceQuery(e,t){await this._isStatsSupportedOnService(),"percent-of-total"===e.normalizationType&&(e.normalizationTotal=await this._getNormalizationTotal(e.field,e.normalizationType,e.filter));const i=_(t)||l(t),r="capabilities"in this.layer?this.layer.capabilities:null,s=j(this,e,t,r?.query?.supportsPercentileStatistics??!1),a=await this.layer.queryFeatures(s,{signal:e.signal}),n=B(a,i);return W(n,e.outStatisticTypes)}async _summaryStatsForFieldsBasic(e){const{outStatisticTypes:t,fields:i}=e,r=50,s=[];for(let o=0;o<i.length;o+=r){const t=i.slice(o,o+r),a=M(this,e,t);s.push(this.layer.queryFeatures(a,{signal:e.signal}))}const a=(await Promise.all(s)).flatMap(e=>e.features).map(e=>e.attributes).reduce((e,t)=>Object.assign(e,t),{}),n={};for(const o in a){const e=o.match(/^(\w+)_value_/);if(null==a[o]||!e)continue;switch(e[1]){case"min":n.min=null==n.min?a[o]:Math.min(n.min,a[o]);break;case"max":n.max=null==n.max?a[o]:Math.max(n.max,a[o]);break;case"sum":n.sum=(n.sum||0)+a[o];break;case"count":n.count=(n.count||0)+a[o]}}return W(n,t)}async _summaryStatsForFieldsAdvanced(e,t){const{outStatisticTypes:i,fields:r}=e,s=i?.exclude?.includes("variance")||i?.include&&!i.include.includes("variance"),a=i?.exclude?.includes("stddev")||i?.include&&!i.include.includes("stddev");if(null==t.sum||!t.count||s&&a)return t;t.avg=t.sum/t.count;const n=50,o=[];for(let u=0;u<r.length;u+=n){const i=r.slice(u,u+n),s=M(this,e,i);s.outStatistics=[];for(const e of i){const i=`sumOfSquares_${e}`,r=`(power(${x(this.layer,e)?q(e):e} - ${t.avg}, 2))`,a=new p({statisticType:"sum",onStatisticField:r,outStatisticFieldName:i});s.outStatistics.push(a)}o.push(this.layer.queryFeatures(s,{signal:e.signal}))}const l=(await Promise.all(o)).reduce((e,t)=>e+Object.values(t.features[0].attributes).reduce((e,t)=>e+t,0),0);return t.variance=l/(t.count-1),t.stddev=Math.sqrt(t.variance),W(t,i)}async _summaryStatsForFields(e){const t=await this._summaryStatsForFieldsBasic(e);return this._summaryStatsForFieldsAdvanced(e,t)}async _summaryStatsUsingQueryPivot(e){await this._isStatsSupportedOnService();const t="capabilities"in this.layer?this.layer.capabilities:null,i=$(this,e,t?.query?.supportsPercentileStatistics??!1),r=await this.layer.queryPivot(i,{signal:e.signal}),s=B(r,!1);return W(s,e.outStatisticTypes)}_uvFromGenRenderer(e,t){const i=e.field??void 0,r=new d({attributeField:i}),s=new m({classificationDefinition:r});return this.generateRenderer(s,e.signal).then(e=>{const t={},r=this.getField(i);return e.uniqueValues.forEach(e=>{let i=e.value;null!=i&&""!==i&&("string"!=typeof i||""!==i.trim()&&"<null>"!==i.toLowerCase())||(i=null),null==t[i]?t[i]={count:e.count,data:u(r)&&i?Number(i):i}:t[i].count=t[i].count+e.count}),{count:t}}).then(i=>J(i,[t],e.returnAllCodedValues))}async _uvFromServiceQuery(e,t){return this._isStatsSupportedOnService().then(()=>this.layer.queryFeatures(O(this,e),{signal:e.signal})).then(t=>C(t,{layer:this,field:e.field,field2:e.field2,field3:e.field3,fieldDelimiter:V,view:e.view,signal:e.signal})).then(i=>J(i,t,e.returnAllCodedValues,V))}_getNormalizationTotal(e,t,i,r){return e&&"percent-of-total"===t?this.summaryStatistics({field:e,outStatisticTypes:{include:["sum"]},filter:i,signal:r}).then(e=>e.sum):Promise.resolve(null)}_histogramForExpr(e){return this._getNormalizationTotal(e.field,e.normalizationType,e.filter,e.signal).then(t=>{const i=b(e,this,t);return z(i,this,e.minValue,e.maxValue).then(r=>{const s=r.min,a=r.max;if(null==s||null==a)return{bins:[],minValue:s,maxValue:a,normalizationTotal:t};const n=e.numBins||A,o=H(s,a,n),l=re(i.sqlExpression,o,null!=e.minValue&&null!=e.maxValue),u=new p({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:"1"}),c=this.layer.createQuery();return c.where=S(c.where,i.sqlWhere),c.sqlFormat="standard",c.outStatistics=[u],c.groupByFieldsForStatistics=[l],c.orderByFields=[l],I(c,e.filter),this._isStatsSupportedOnService().then(()=>this.layer.queryFeatures(c,{signal:i.signal})).then(e=>P(e,s,a,n,t))})})}async _histogramForFields(e){const{min:t,max:i}=await z({fields:e.fields,sqlWhere:e.sqlWhere,filter:e.filter,signal:e.signal},this,e.minValue,e.maxValue);if(null==t||null==i)return{bins:[],minValue:t,maxValue:i};const r="newField",s=e.numBins||A,a=re(r,H(t,i,s),null!=e.minValue&&null!=e.maxValue),n=new p({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:r}),o=new h,{where:l,timeExtent:u}=this.createQuery();return o.where=S(l,e.sqlWhere),o.outPivots=[new y({sourceFields:e.fields,valueFieldName:r})],o.outStatistics=[n],o.groupByFieldsForStatistics=[a],o.orderByFields=[a],o.timeExtent=u,I(o,e.filter),this._isStatsSupportedOnService().then(()=>this.layer.queryPivot(o,{signal:e.signal})).then(e=>P(e,t,i,s))}async _histogramFromQueryAttributeBins(e){const{field:t,normalizationType:i,filter:r,signal:s}=e,a=await this._getNormalizationTotal(t,i,r,s),{query:n,min:o,max:l}=await L(e,this,a,this.createQuery());if(!n)return{bins:[],minValue:o,maxValue:l,normalizationTotal:a};const u=await this.layer.queryAttributeBins(n,{signal:s});return Q(u,t?this.getField(t):null,{minValue:o,maxValue:l,normalizationTotal:a})}_classBreaksFromGenRend(e){const{field:t,normalizationType:i,normalizationField:r,normalizationTotal:s,signal:a}=e,n=w({field:t,normalizationType:i,normalizationField:r}),o=R({field:t,normalizationType:i,normalizationField:r,normalizationTotal:s,layer:this}),l=g(o,e.minValue,e.maxValue),u=Z({field:t,normalizationType:i,normalizationField:r,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numClasses||Y}),c=new m({classificationDefinition:u});return c.where=S(n,l),this.generateRenderer(c,a).then(t=>K(t,e.classificationMethod))}async summaryStatistics(e){const{field:t,fields:i,normalizationType:a,valueExpression:n,sqlExpression:o,view:u,features:c,useFeaturesInView:m}=e,h=t?this.getField(t):null,p=_(h)||l(h),d=n&&!(o&&this.supportsSQLExpression),y=this._hasLocalSource||c||m,f="3d"===u?.type;if(i?.length){const t={...e,fields:i};if(!this.layer.capabilities?.operations?.supportsQueryPivot)return await this._summaryStatsForFields(t);try{return await this._summaryStatsUsingQueryPivot(t)}catch{return await this._summaryStatsForFields(t)}}if(y||d)return d||c||m||f||this._hasLocalSource&&!this.layer.capabilities.query.supportsStatistics?this._summaryStatsFromMemory(e,h):this._summaryStatsFromClientQuery(e,h);if(!this.supportsSQLExpression&&(p||o||"natural-log"===a||"square-root"===a))throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");return(a&&!this.supportsSQLExpression?this._summaryStatsFromGenRend(e):this._summaryStatsFromServiceQuery(e,h)).catch(()=>(s(e.signal),this._summaryStatsFromMemory(e,h)))}async uniqueValues(e){const{valueExpression:t,sqlExpression:i,features:r,useFeaturesInView:a,signal:n}=e,o=t&&!(i&&this.supportsSQLExpression),l=this._hasLocalSource||r||a||o,u=e.view,c="3d"===u?.type,m=await k(e,this);return l?o||r||a||c||this._hasLocalSource&&!this.layer.capabilities.query.supportsStatistics?this._uvFromMemory(e,m):this._uvFromClientQuery(e,m):this._uvFromServiceQuery(e,m).catch(t=>(s(n),!e.field||e.field2||e.field3||e.filter?t:this._uvFromGenRenderer(e,m[0]))).catch(()=>(s(n),c?this._uvFromMemory(e,m):this._uvFromClientQuery(e,m)))}async histogram(e){const{field:t,normalizationType:i,normalizationField:a,classificationMethod:n,view:o,filter:u,signal:c}=e,m=t?this.getField(t):null,h=_(m)||l(m),p=e.valueExpression||e.sqlExpression,d=e.valueExpression&&!(e.sqlExpression&&this.supportsSQLExpression),y=this._hasLocalSource||e.features||e.useFeaturesInView||d,f=this.supportsSQLExpression,F=!n||"equal-interval"===n,S=e.minValue,w=e.maxValue,v=null!=S&&null!=w,x=e.numBins||A;if(e.fields?.length){if(!f)throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");if(!this.layer.capabilities?.operations?.supportsQueryPivot)throw new r(`${this.adapterName}:not-supported`,"Layer does not support pivot queries");return this._histogramForFields(e)}if(this.layer.capabilities?.operations?.supportsQueryBins&&e.useQueryAttributeBins&&!d){if(y)return this._histogramFromQueryAttributeBinsFromMemory(e);try{return await this._histogramFromQueryAttributeBins(e)}catch{return s(c),this._histogramFromQueryAttributeBinsFromMemory(e)}}if(e.returnAggregateIds)throw new r(`${this.adapterName}:not-supported`,"returnAggregateIds option is only supported with queryAttributeBins");if(y)return this._histogramFromMemory(e);if((p||f)&&F){if(!f&&(p||"natural-log"===i||"square-root"===i))throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");return this._histogramForExpr(e)}if(h&&F)throw new r(`${this.adapterName}:not-supported`,"Normalization and date field are not allowed when layer does not support standardized SQL expression for queries");return i||!F?T(e,this).then(s=>{if(!v)return U(this,s,t,x,o,u,c);if(S>s.max||w<s.min)throw new r(`${this.adapterName}:insufficient-data`,"Range defined by 'minValue' and 'maxValue' does not intersect available data range of the field");if(F)return U(this,{min:S,max:w,sqlExpr:s.sqlExpr,excludeZerosExpr:s.excludeZerosExpr},t,x,o,u,c);{const r={field:t,normalizationType:i,normalizationField:a,normalizationTotal:s.normTotal,layer:this},n=R(r),l=g(n,S,w);return T(e,this,l).then(e=>U(this,e,t,x,o,u,c))}}):this._histogramForField(e)}async classBreaks(e){const t=!1!==e.analyzeData,i=this._hasLocalSource||e.features||e.useFeaturesInView||e.valueExpression||e.filter;if(t&&i)return this._classBreaksFromMemory(e);return(t?this._classBreaksFromGenRend(e):this._classBreaksFromInterpolation(e)).catch(()=>(s(e.signal),this._classBreaksFromMemory(e)))}async queryFeatureCount(e){if(this._hasLocalSource)throw new r(`${this.adapterName}:not-supported`,"Layer does not support count query");const t=this.layer,i=t.createQuery();return i.where=S(i.where,e.whereClause),I(i,e.filter),t.queryFeatureCount(i,{signal:e.signal})}async generateRenderer(e,t){const i=this.layer;if(this._hasLocalSource||i.version<10.1)throw new r(`${this.adapterName}:not-supported`,"Layer does not support generateRenderer operation (requires ArcGIS Server version 10.1+)");const s=i.createQuery();return e.where=S(e.where,s.where),c(i.parsedUrl?.path??"",{source:i.dynamicDataSource??void 0,gdbVersion:i.gdbVersion??void 0},e,{signal:t})}async predominantCategories(e){if(!this._hasLocalSource&&!this.supportsSQLExpression)throw new r(`${this.adapterName}:not-supported`,"Layer does not support advanced SQL expressions and standardized queries");const{fields:t,view:i,signal:s,filter:a}=e,n=f(t),o=F(t),l=i&&this._hasLocalSource?await this._uvFromMemory({valueExpression:n,view:i,signal:s,filter:a}):await this._uvFromServiceQuery({sqlExpression:o.expression,valueExpression:n,signal:s,filter:a});return D(l.uniqueValueInfos,t)}async getSampleFeatures(e,r){const{view:a,requiredFields:n,returnGeometry:o,sqlWhere:l,filter:u,signal:c}=e,m=e.sampleSize;if(null==m||0===m)return[];const h=this.layer.createQuery(),p=1,d="json"===r;h.outSpatialReference=a?.spatialReference,h.returnGeometry=!!o,h.outFields=n,h.where=S(h.where,l),I(h,u);let y=[],f=!1;if(a)try{const s=await a.whenLayerView(this.layer);if(f=!G(this,n,s).length,f){if(m>=1&&!e.filter&&"getSampleFeatures"in s){await this._waitForLayerViewUpdate(s);const e=await s.getSampleFeatures({minFeatureCount:m,sampleSize:m});if(null!=e)return d?e:e.map(e=>t.fromJSON(e))}if(y=await this._fetchFeaturesFromMemory(s,h,c,r),y.length>=m&&m>0)return i(y,m,p)}}catch(F){s(c)}try{if(this._hasLocalSource)return f?y:d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c);const t=await this.queryFeatureCount({view:a,filter:u,signal:c}),r=this.layer.capabilities.query.maxRecordCount;let s=-1===m?t:m;if(s=r&&s>r?r:s,t<=y.length||y.length>=r)return y;if(h.maxAllowableOffset=e.resolution||(a?a.extent.width/a.width/a.scale:X(this.layer.spatialReference))*te,t<=s)return d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c);if(t<=ee){const e=this.layer.createQuery();I(e,u);const t=await this.layer.queryObjectIds();return h.objectIds=i(t,s,p),d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c)}return this.layer.capabilities?.query?.supportsPagination&&(h.num=Math.min(s,ee)),d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c)}catch(F){return s(c),y}}load(e){const t=this.layer.load(e).then(async t=>{this.geometryType=t.geometryType,this.objectIdField=t.objectIdField,this.supportsSQLExpression=t.capabilities?.query?.supportsSqlExpression,this._hasLocalSource="parquet"===t.type||!t.url&&!!t.source,this.hasQueryEngine=this._hasLocalSource,this.minScale=t.minScale,this.maxScale=t.maxScale,this.fullExtent=t.fullExtent,this.workerClient=v.getInstance(),await this.workerClient.open(e.signal)});return this.addResolvingPromise(t),Promise.resolve(this)}};function re(e,t,i){const r=[],s=t.length;return t.forEach((t,a)=>{const[n,o]=t;let l=null;l=0!==a||i?a!==s-1||i?S(`${e} >= ${n}`,`${e} ${a===s-1?" <= ":" < "} ${o}`):`${e} >= ${n}`:`${e} < ${o}`,r.push("WHEN ("+l+") THEN "+(a+1))}),["CASE",r.join(" "),"ELSE 0","END"].join(" ")}e([a({readOnly:!0})],ie.prototype,"adapterName",void 0),e([a({constructOnly:!0})],ie.prototype,"layer",void 0),ie=e([n("esri.smartMapping.support.adapters.FeatureLayerAdapter")],ie);export{ie as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../../../Graphic.js";import{pickRandom as i}from"../../../core/arrayUtils.js";import r from"../../../core/Error.js";import{throwIfAborted as s}from"../../../core/promiseUtils.js";import{property as a,subclass as n}from"../../../core/accessorSupport/decorators.js";import{isHostedAgolService as o}from"../../../layers/support/arcgisLayerUrl.js";import{isTimeOnlyField as l,isNumericField as u}from"../../../layers/support/fieldUtils.js";import{generateRenderer as c}from"../../../rest/generateRenderer.js";import m from"../../../rest/support/GenerateRendererParameters.js";import h from"../../../rest/support/PivotQuery.js";import p from"../../../rest/support/StatisticDefinition.js";import d from"../../../rest/support/UniqueValueDefinition.js";import y from"../../../rest/support/UnPivotDefinition.js";import{getArcadeForPredominantCategory as f,getSQLForPredominantCategoryName as F}from"../../statistics/support/predominanceUtils.js";import{mergeWhereClauses as S,getRangeExpr as g,getSQLFilterForNormalization as w}from"../../statistics/support/utils.js";import{WorkerClient as v}from"../../statistics/support/WorkerClient.js";import{isAnyDateField as _,isIntegerField as x,castIntegerFieldToFloat as q,fieldDelimiter as V}from"../utils.js";import E from"./InMemoryLayerAdapter.js";import{getQueryParamsForExpr as b,getDataRange as z,getAttributeBinsQuery as L,processQueryAttributeBinsResult as Q,binParamsFromGenRend as T}from"./support/histogramUtils.js";import{ensureFeaturesJSON as N,getSummaryStatsQuery as j,getSummaryStatisticsFromFeatureSet as B,getSummaryStatsQueryForFields as M,getSummaryStatsPivotQuery as $,getUVQuery as O,getUniqueValuesFromFeatureSet as C,defaultNumBins as A,updateQueryWithFeatureFilter as I,getHistogramFromFeatureSet as P,getFieldExpr as R,getDomainsForFields as k,getBins as U,getPredominantCategoriesFromUVInfos as D,getMissingFields as G}from"./support/utils.js";import{processSummaryStatisticsResult as W,createUVResult as J,getEqualIntervalBins as H,createClassBreaksDefinition as Z,resolveCBResult as K}from"../../../statistics/utils.js";import{getScaleToResolutionFactor as X}from"../../../views/2d/viewpointUtils.js";const Y=5,ee=2e4,te=4e5;let ie=class extends E{constructor(){super(...arguments),this.adapterName="feature-layer-adapter"}_isStatsSupportedOnService(){const e=this.layer;if(!e.capabilities?.query?.supportsStatistics||"multipatch"===this.geometryType&&!o(e.url)&&e.version<10.5)throw new r(`${this.adapterName}:not-supported`,"Layer does not support statistics query");return Promise.resolve()}_fetchFeaturesFromService(e,t){return this.layer.queryFeatures(e,{signal:t}).then(e=>e.features)}_fetchFeaturesJSONFromService(e,t){return this._fetchFeaturesFromService(e,t).then(N)}_summaryStatsFromGenRend(e){const t=e.normalizationType,i=e.normalizationField;return this.classBreaks({field:e.field,numClasses:Y,classificationMethod:"standard-deviation",standardDeviationInterval:.25,normalizationType:t,normalizationField:"field"===t?i:void 0,minValue:e.minValue,maxValue:e.maxValue,filter:e.filter,signal:e.signal}).then(t=>{let i,r,s;if(t.classBreakInfos?.some(e=>(e.hasAvg&&(i=e),!!i)),i){const e=i.maxValue-i.minValue;r=i.minValue+e/2,s=4*e}const a={min:t.minValue,max:t.maxValue,avg:r,stddev:s};return W(a,e.outStatisticTypes)})}async _summaryStatsFromServiceQuery(e,t){await this._isStatsSupportedOnService(),"percent-of-total"===e.normalizationType&&(e.normalizationTotal=await this._getNormalizationTotal(e.field,e.normalizationType,e.filter));const i=_(t)||l(t),r="capabilities"in this.layer?this.layer.capabilities:null,s=j(this,e,t,r?.query?.supportsPercentileStatistics??!1),a=await this.layer.queryFeatures(s,{signal:e.signal}),n=B(a,i);return W(n,e.outStatisticTypes)}async _summaryStatsForFieldsBasic(e){const{outStatisticTypes:t,fields:i}=e,r=50,s=[];for(let o=0;o<i.length;o+=r){const t=i.slice(o,o+r),a=M(this,e,t);s.push(this.layer.queryFeatures(a,{signal:e.signal}))}const a=(await Promise.all(s)).flatMap(e=>e.features).map(e=>e.attributes).reduce((e,t)=>Object.assign(e,t),{}),n={};for(const o in a){const e=o.match(/^(\w+)_value_/);if(null==a[o]||!e)continue;switch(e[1]){case"min":n.min=null==n.min?a[o]:Math.min(n.min,a[o]);break;case"max":n.max=null==n.max?a[o]:Math.max(n.max,a[o]);break;case"sum":n.sum=(n.sum||0)+a[o];break;case"count":n.count=(n.count||0)+a[o]}}return W(n,t)}async _summaryStatsForFieldsAdvanced(e,t){const{outStatisticTypes:i,fields:r}=e,s=i?.exclude?.includes("variance")||i?.include&&!i.include.includes("variance"),a=i?.exclude?.includes("stddev")||i?.include&&!i.include.includes("stddev");if(null==t.sum||!t.count||s&&a)return t;t.avg=t.sum/t.count;const n=50,o=[];for(let u=0;u<r.length;u+=n){const i=r.slice(u,u+n),s=M(this,e,i);s.outStatistics=[];for(const e of i){const i=`sumOfSquares_${e}`,r=`(power(${x(this.layer,e)?q(e):e} - ${t.avg}, 2))`,a=new p({statisticType:"sum",onStatisticField:r,outStatisticFieldName:i});s.outStatistics.push(a)}o.push(this.layer.queryFeatures(s,{signal:e.signal}))}const l=(await Promise.all(o)).reduce((e,t)=>e+Object.values(t.features[0].attributes).reduce((e,t)=>e+t,0),0);return t.variance=l/(t.count-1),t.stddev=Math.sqrt(t.variance),W(t,i)}async _summaryStatsForFields(e){const t=await this._summaryStatsForFieldsBasic(e);return this._summaryStatsForFieldsAdvanced(e,t)}async _summaryStatsUsingQueryPivot(e){await this._isStatsSupportedOnService();const t="capabilities"in this.layer?this.layer.capabilities:null,i=$(this,e,t?.query?.supportsPercentileStatistics??!1),r=await this.layer.queryPivot(i,{signal:e.signal}),s=B(r,!1);return W(s,e.outStatisticTypes)}_uvFromGenRenderer(e,t){const i=e.field??void 0,r=new d({attributeField:i}),s=new m({classificationDefinition:r});return this.generateRenderer(s,e.signal).then(e=>{const t={},r=this.getField(i);return e.uniqueValues.forEach(e=>{let i=e.value;null!=i&&""!==i&&("string"!=typeof i||""!==i.trim()&&"<null>"!==i.toLowerCase())||(i=null),null==t[i]?t[i]={count:e.count,data:u(r)&&i?Number(i):i}:t[i].count=t[i].count+e.count}),{count:t}}).then(i=>J(i,[t],e.returnAllCodedValues))}async _uvFromServiceQuery(e,t){return this._isStatsSupportedOnService().then(()=>this.layer.queryFeatures(O(this,e),{signal:e.signal})).then(t=>C(t,{layer:this,field:e.field,field2:e.field2,field3:e.field3,fieldDelimiter:V,view:e.view,signal:e.signal})).then(i=>J(i,t,e.returnAllCodedValues,V))}_getNormalizationTotal(e,t,i,r){return e&&"percent-of-total"===t?this.summaryStatistics({field:e,outStatisticTypes:{include:["sum"]},filter:i,signal:r}).then(e=>e.sum):Promise.resolve(null)}_histogramForExpr(e){return this._getNormalizationTotal(e.field,e.normalizationType,e.filter,e.signal).then(t=>{const i=b(e,this,t);return z(i,this,e.minValue,e.maxValue).then(r=>{const s=r.min,a=r.max;if(null==s||null==a)return{bins:[],minValue:s,maxValue:a,normalizationTotal:t};const n=e.numBins||A,o=H(s,a,n),l=re(i.sqlExpression,o,null!=e.minValue&&null!=e.maxValue),u=new p({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:"1"}),c=this.layer.createQuery();return c.where=S(c.where,i.sqlWhere),c.sqlFormat="standard",c.outStatistics=[u],c.groupByFieldsForStatistics=[l],c.orderByFields=[l],I(c,e.filter),this._isStatsSupportedOnService().then(()=>this.layer.queryFeatures(c,{signal:i.signal})).then(e=>P(e,s,a,n,t))})})}async _histogramForFields(e){const{min:t,max:i}=await z({fields:e.fields,sqlWhere:e.sqlWhere,filter:e.filter,signal:e.signal},this,e.minValue,e.maxValue);if(null==t||null==i)return{bins:[],minValue:t,maxValue:i};const r="newField",s=e.numBins||A,a=re(r,H(t,i,s),null!=e.minValue&&null!=e.maxValue),n=new p({statisticType:"count",outStatisticFieldName:"countOFExpr",onStatisticField:r}),o=new h,{where:l,timeExtent:u}=this.createQuery();return o.where=S(l,e.sqlWhere),o.outPivots=[new y({sourceFields:e.fields,valueFieldName:r})],o.outStatistics=[n],o.groupByFieldsForStatistics=[a],o.orderByFields=[a],o.timeExtent=u,I(o,e.filter),this._isStatsSupportedOnService().then(()=>this.layer.queryPivot(o,{signal:e.signal})).then(e=>P(e,t,i,s))}async _histogramFromQueryAttributeBins(e){const{field:t,normalizationType:i,filter:r,signal:s}=e,a=await this._getNormalizationTotal(t,i,r,s),{query:n,min:o,max:l}=await L(e,this,a,this.createQuery());if(!n)return{bins:[],minValue:o,maxValue:l,normalizationTotal:a};const u=await this.layer.queryAttributeBins(n,{signal:s});return Q(u,t?this.getField(t):null,{minValue:o,maxValue:l,normalizationTotal:a})}_classBreaksFromGenRend(e){const{field:t,normalizationType:i,normalizationField:r,normalizationTotal:s,signal:a}=e,n=w({field:t,normalizationType:i,normalizationField:r}),o=R({field:t,normalizationType:i,normalizationField:r,normalizationTotal:s,layer:this}),l=g(o,e.minValue,e.maxValue),u=Z({field:t,normalizationType:i,normalizationField:r,classificationMethod:e.classificationMethod,standardDeviationInterval:e.standardDeviationInterval,breakCount:e.numClasses||Y}),c=new m({classificationDefinition:u});return c.where=S(n,l),this.generateRenderer(c,a).then(t=>K(t,e.classificationMethod))}async summaryStatistics(e){const{field:t,fields:i,normalizationType:a,valueExpression:n,sqlExpression:o,view:u,features:c,useFeaturesInView:m}=e,h=t?this.getField(t):null,p=_(h)||l(h),d=n&&!(o&&this.supportsSQLExpression),y=this._hasLocalSource||c||m,f="3d"===u?.type;if(i?.length){const t={...e,fields:i};if(!this.layer.capabilities?.operations?.supportsQueryPivot)return await this._summaryStatsForFields(t);try{return await this._summaryStatsUsingQueryPivot(t)}catch{return await this._summaryStatsForFields(t)}}if(y||d)return d||c||m||f||this._hasLocalSource&&!this.layer.capabilities.query.supportsStatistics?this._summaryStatsFromMemory(e,h):this._summaryStatsFromClientQuery(e,h);if(!this.supportsSQLExpression&&(p||o||"natural-log"===a||"square-root"===a))throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");return(a&&!this.supportsSQLExpression?this._summaryStatsFromGenRend(e):this._summaryStatsFromServiceQuery(e,h)).catch(()=>(s(e.signal),this._summaryStatsFromMemory(e,h)))}async uniqueValues(e){const{valueExpression:t,sqlExpression:i,features:r,useFeaturesInView:a,signal:n}=e,o=t&&!(i&&this.supportsSQLExpression),l=this._hasLocalSource||r||a||o,u=e.view,c="3d"===u?.type,m=await k(e,this);return l?o||r||a||c||this._hasLocalSource&&!this.layer.capabilities.query.supportsStatistics?this._uvFromMemory(e,m):this._uvFromClientQuery(e,m):this._uvFromServiceQuery(e,m).catch(t=>(s(n),!e.field||e.field2||e.field3||e.filter?t:this._uvFromGenRenderer(e,m[0]))).catch(()=>(s(n),c?this._uvFromMemory(e,m):this._uvFromClientQuery(e,m)))}async histogram(e){const{field:t,normalizationType:i,normalizationField:a,classificationMethod:n,view:o,filter:u,signal:c}=e,m=t?this.getField(t):null,h=_(m)||l(m),p=e.valueExpression||e.sqlExpression,d=e.valueExpression&&!(e.sqlExpression&&this.supportsSQLExpression),y=this._hasLocalSource||e.features||e.useFeaturesInView||d,f=this.supportsSQLExpression,F=!n||"equal-interval"===n,S=e.minValue,w=e.maxValue,v=null!=S&&null!=w,x=e.numBins||A;if(e.fields?.length){if(!f)throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");if(!this.layer.capabilities?.operations?.supportsQueryPivot)throw new r(`${this.adapterName}:not-supported`,"Layer does not support pivot queries");return this._histogramForFields(e)}if(this.layer.capabilities?.operations?.supportsQueryBins&&e.useQueryAttributeBins&&!d){if(y)return this._histogramFromQueryAttributeBinsFromMemory(e);try{return await this._histogramFromQueryAttributeBins(e)}catch{return s(c),this._histogramFromQueryAttributeBinsFromMemory(e)}}if(e.returnAggregateIds)throw new r(`${this.adapterName}:not-supported`,"returnAggregateIds option is only supported with queryAttributeBins");if(y)return this._histogramFromMemory(e);if((p||f)&&F){if(!f&&(p||"natural-log"===i||"square-root"===i))throw new r(`${this.adapterName}:not-supported`,"Layer does not support standardized SQL expression for queries");return this._histogramForExpr(e)}if(h&&F)throw new r(`${this.adapterName}:not-supported`,"Normalization and date field are not allowed when layer does not support standardized SQL expression for queries");return i||!F?T(e,this).then(s=>{if(!v)return U(this,s,t,x,o,u,c);if(S>s.max||w<s.min)throw new r(`${this.adapterName}:insufficient-data`,"Range defined by 'minValue' and 'maxValue' does not intersect available data range of the field");if(F)return U(this,{min:S,max:w,sqlExpr:s.sqlExpr,excludeZerosExpr:s.excludeZerosExpr},t,x,o,u,c);{const r={field:t,normalizationType:i,normalizationField:a,normalizationTotal:s.normTotal,layer:this},n=R(r),l=g(n,S,w);return T(e,this,l).then(e=>U(this,e,t,x,o,u,c))}}):this._histogramForField(e)}async classBreaks(e){const t=!1!==e.analyzeData,i=this._hasLocalSource||e.features||e.useFeaturesInView||e.valueExpression||e.filter;if(t&&i)return this._classBreaksFromMemory(e);return(t?this._classBreaksFromGenRend(e):this._classBreaksFromInterpolation(e)).catch(()=>(s(e.signal),this._classBreaksFromMemory(e)))}async queryFeatureCount(e){if(this._hasLocalSource)throw new r(`${this.adapterName}:not-supported`,"Layer does not support count query");const t=this.layer,i=t.createQuery();return i.where=S(i.where,e.whereClause),I(i,e.filter),t.queryFeatureCount(i,{signal:e.signal})}async generateRenderer(e,t){const i=this.layer;if(this._hasLocalSource||i.version<10.1)throw new r(`${this.adapterName}:not-supported`,"Layer does not support generateRenderer operation (requires ArcGIS Server version 10.1+)");const s=i.createQuery();return e.where=S(e.where,s.where),c(i.parsedUrl?.path??"",{source:i.dynamicDataSource??void 0,gdbVersion:i.gdbVersion??void 0},e,{signal:t})}async predominantCategories(e){if(!this._hasLocalSource&&!this.supportsSQLExpression)throw new r(`${this.adapterName}:not-supported`,"Layer does not support advanced SQL expressions and standardized queries");const{fields:t,view:i,signal:s,filter:a}=e,n=f(t),o=F(t),l=i&&this._hasLocalSource?await this._uvFromMemory({valueExpression:n,view:i,signal:s,filter:a}):await this._uvFromServiceQuery({sqlExpression:o.expression,valueExpression:n,signal:s,filter:a});return D(l.uniqueValueInfos,t)}async getSampleFeatures(e,r){const{view:a,requiredFields:n,returnGeometry:o,sqlWhere:l,filter:u,signal:c}=e,m=e.sampleSize;if(null==m||0===m)return[];const h=this.layer.createQuery(),p=1,d="json"===r;h.outSpatialReference=a?.spatialReference,h.returnGeometry=!!o,h.outFields=n,h.where=S(h.where,l),I(h,u);let y=[],f=!1;if(a)try{const s=await a.whenLayerView(this.layer);if(f=!G(this,n,s).length,f){if(m>=1&&!e.filter&&"getSampleFeatures"in s){await this._waitForLayerViewUpdate(s);const e=await s.getSampleFeatures({minFeatureCount:m,sampleSize:m});if(null!=e)return d?e:e.map(e=>t.fromJSON(e))}if(y=await this._fetchFeaturesFromMemory(s,h,c,r),y.length>=m&&m>0)return i(y,m,p)}}catch(F){s(c)}try{if(this._hasLocalSource)return f?y:d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c);const t=await this.queryFeatureCount({view:a,filter:u,signal:c}),r=this.layer.capabilities.query.maxRecordCount;let s=-1===m?t:m;if(s=r&&s>r?r:s,t<=y.length||y.length>=r)return y;if(h.maxAllowableOffset=e.resolution||(a?a.extent.width/a.width/a.scale:X(this.layer.spatialReference))*te,t<=s)return d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c);if(t<=ee){const e=this.layer.createQuery();I(e,u);const t=await this.layer.queryObjectIds();return h.objectIds=i(t,s,p),d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c)}return this.layer.capabilities?.query?.supportsPagination&&(h.num=Math.min(s,ee)),d?await this._fetchFeaturesJSONFromService(h,c):await this._fetchFeaturesFromService(h,c)}catch(F){return s(c),y}}load(e){const t=this.layer.load(e).then(async t=>{this.geometryType=t.geometryType,this.objectIdField=t.objectIdField,this.supportsSQLExpression=t.capabilities?.query?.supportsSqlExpression,this._hasLocalSource="parquet"!==t.type&&!t.url&&!!t.source,this.hasQueryEngine=this._hasLocalSource,this.minScale=t.minScale,this.maxScale=t.maxScale,this.fullExtent=t.fullExtent,this.workerClient=v.getInstance(),await this.workerClient.open(e.signal)});return this.addResolvingPromise(t),Promise.resolve(this)}};function re(e,t,i){const r=[],s=t.length;return t.forEach((t,a)=>{const[n,o]=t;let l=null;l=0!==a||i?a!==s-1||i?S(`${e} >= ${n}`,`${e} ${a===s-1?" <= ":" < "} ${o}`):`${e} >= ${n}`:`${e} < ${o}`,r.push("WHEN ("+l+") THEN "+(a+1))}),["CASE",r.join(" "),"ELSE 0","END"].join(" ")}e([a({readOnly:!0})],ie.prototype,"adapterName",void 0),e([a({constructOnly:!0})],ie.prototype,"layer",void 0),ie=e([n("esri.smartMapping.support.adapters.FeatureLayerAdapter")],ie);export{ie as default};
|
package/support/revision.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
const
|
|
2
|
+
const c="20260611",d="8f87a7433400730ea60b1820d6c59fcdc18ec1d4";export{c as buildDate,d as commitHash};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{GeometryCursor as e}from"../../../geometry/GeometryCursor.js";import{collectPath as t}from"../../../geometry/geometryCursorCollectUtils.js";import r from"../../../geometry/SpatialReference.js";import{isExtent as s}from"../../../geometry/support/jsonTypeUtils.js";import{clipCursorToTileExtent as i,lazySimplifyOGCOperator as o,lazyOffsetOperator as n,lazyGraphicBufferOperator as
|
|
2
|
+
import{GeometryCursor as e}from"../../../geometry/GeometryCursor.js";import{collectPath as t}from"../../../geometry/geometryCursorCollectUtils.js";import r from"../../../geometry/SpatialReference.js";import{isExtent as s}from"../../../geometry/support/jsonTypeUtils.js";import{clipCursorToTileExtent as i,lazySimplifyOGCOperator as o,lazyOffsetOperator as n,lazyGraphicBufferOperator as m}from"../CIMEffects.js";import{CurveHelper as f,pixelTolerance as l}from"../CurveHelper.js";const a=10;class u{static{this.instance=null}static local(){return null===u.instance&&(u.instance=new u),u.instance}execute(e,t,r){return new c(e,t,r)}}class c{constructor(e,t,r){const s=r.geomUnitsPerPoint,i=r.maxInflateSize;this._preventClipping=r.preventClipping,this._inputGeometries=e,this._tileKey=r.tileKey,this._curveHelper=new f,this._offset=(t.offset??1)*s,this._method=t.method??"Square",this._maxInflateSize=Math.max(Math.abs(i*s),a),this._offsetFlattenError=l*s}next(){let f;for(;f=this._inputGeometries.next();){if(0===this._offset)return f.clone();if("esriGeometryEnvelope"===f.geometryType){if("Rounded"===this._method&&this._offset>0){const r=t(f),s=this._curveHelper.offset(r,-this._offset,this._method,4,this._offsetFlattenError);if(s){const t=e.createEmptyOptimizedCIM(f.geometryType);return t.pushPath(s),t}return null}const r=f.asJSON();if(s(r)&&Math.min(r.xmax-r.xmin,r.ymax-r.ymin)+2*this._offset>0)return e.fromJSONCIM({xmin:r.xmin-this._offset,xmax:r.xmax+this._offset,ymin:r.ymin-this._offset,ymax:r.ymax+this._offset})}const l=!this._preventClipping&&this._tileKey?i(f,this._maxInflateSize,!0):f.clone();if(!l)continue;const a=o.module,u=n.module,c=m.module,p=a.execute({...l.asJSON(),spatialReference:{wkid:r.WebMercator.wkid}});if(!p)continue;let _,y=h(this._method);return"esriGeometryPolygon"===f.geometryType?("square"===y&&(y="bevel"),_=c.executeMany([p],[this._offset],y,"round")[0]):_=u.execute(p,-this._offset,{joins:y,flattenError:this._offsetFlattenError,miterLimit:4}),_?e.fromJSONCIM(_):null}return null}}function h(e){switch(e){case"Rounded":return"round";case"Bevelled":return"bevel";case"Mitered":return"miter";case"Square":return"square"}}export{u as EffectOffset};
|
package/third-party-notices.txt
CHANGED
|
@@ -1074,38 +1074,6 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
1074
1074
|
|
|
1075
1075
|
-----------------------------------------------------------------
|
|
1076
1076
|
|
|
1077
|
-
esri/views/3d/webgl-engine/lib/base64Binary.js
|
|
1078
|
-
|
|
1079
|
-
Base64 decoder
|
|
1080
|
-
https://github.com/danguer/blog-examples/blob/master/js/base64-binary.js
|
|
1081
|
-
|
|
1082
|
-
Copyright (c) 2011, Daniel Guerrero
|
|
1083
|
-
All rights reserved.
|
|
1084
|
-
|
|
1085
|
-
Redistribution and use in source and binary forms, with or without
|
|
1086
|
-
modification, are permitted provided that the following conditions are met:
|
|
1087
|
-
* Redistributions of source code must retain the above copyright
|
|
1088
|
-
notice, this list of conditions and the following disclaimer.
|
|
1089
|
-
* Redistributions in binary form must reproduce the above copyright
|
|
1090
|
-
notice, this list of conditions and the following disclaimer in the
|
|
1091
|
-
documentation and/or other materials provided with the distribution.
|
|
1092
|
-
* Neither the name of the Daniel Guerrero nor the
|
|
1093
|
-
names of its contributors may be used to endorse or promote products
|
|
1094
|
-
derived from this software without specific prior written permission.
|
|
1095
|
-
|
|
1096
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
1097
|
-
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
1098
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
1099
|
-
DISCLAIMED. IN NO EVENT SHALL DANIEL GUERRERO BE LIABLE FOR ANY
|
|
1100
|
-
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
1101
|
-
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
1102
|
-
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
1103
|
-
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
1104
|
-
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
1105
|
-
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
1106
|
-
|
|
1107
|
-
-----------------------------------------------------------------
|
|
1108
|
-
|
|
1109
1077
|
esri/views/3d/lib/SunCalc.js
|
|
1110
1078
|
|
|
1111
1079
|
SunCalc - Library to calculate sun position given location and time
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{numericHash as t}from"../../../../../../core/string.js";import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{castInstanceId as n}from"./mesh/instanceIdUtils.js";class s{constructor(){this._instanceById=new Map}destroy(){this._instanceById.clear()}get size(){return this._instanceById.size}entries(){return this._instanceById.entries()}find(t){for(const e of this.values())if(e.techniqueRef.type===t)return e;return null}updateStart(t){t&&(this._instanceByIdNext=new Map,this._shaderCountByMesh=new Map,this._shaderIndices=new Map,this._instanceIdToOrder=null)}updateEnd(t){if(t){if(!this._instanceByIdNext)throw new Error("InternalError: Found updateEnd call without corresponding updateStart");for(const t of this._instanceById.keys())this._instanceByIdNext.has(t)||this._instanceById.delete(t);for(const[t,e]of this._instanceByIdNext.entries()){const n=this._instanceById.get(t);n?n.setInput(e.getInput()):this._instanceById.set(t,e)}this._instanceByIdNext=null,this._shaderCountByMesh=null,this._shaderIndices=null}}values(){return this._instanceById.values()}ensureInstance(s,i,r){let a;if("object"==typeof i&&"optionalAttributes"in i&&"uniforms"in i&&null
|
|
2
|
+
import{numericHash as t}from"../../../../../../core/string.js";import{FeatureTechniqueInstance as e}from"./TechniqueInstance.js";import{castInstanceId as n}from"./mesh/instanceIdUtils.js";class s{constructor(){this._instanceById=new Map}destroy(){this._instanceById.clear()}get size(){return this._instanceById.size}entries(){return this._instanceById.entries()}find(t){for(const e of this.values())if(e.techniqueRef.type===t)return e;return null}updateStart(t){t&&(this._instanceByIdNext=new Map,this._shaderCountByMesh=new Map,this._shaderIndices=new Map,this._instanceIdToOrder=null)}updateEnd(t){if(t){if(!this._instanceByIdNext)throw new Error("InternalError: Found updateEnd call without corresponding updateStart");for(const t of this._instanceById.keys())this._instanceByIdNext.has(t)||this._instanceById.delete(t);for(const[t,e]of this._instanceByIdNext.entries()){const n=this._instanceById.get(t);n?n.setInput(e.getInput()):this._instanceById.set(t,e)}this._instanceByIdNext=null,this._shaderCountByMesh=null,this._shaderIndices=null}}values(){return this._instanceById.values()}ensureInstance(s,i,r){let a;if("object"==typeof i&&"optionalAttributes"in i&&"uniforms"in i&&null==r){const t=`${s.type}.${JSON.stringify(i.optionalAttributes)}`,e=t+`.${JSON.stringify(i.uniforms)}`;let n=0;null!=this._instanceByIdNext&&(this._shaderIndices.has(e)?n=this._shaderIndices.get(e):(n=this._shaderCountByMesh.get(t)??0,this._shaderCountByMesh.set(t,n+1),this._shaderIndices.set(e,n))),a=t+`.${n}`}else{const t=r?`${r.name}.${r.index}`:"";a=`${s.type}.${JSON.stringify(i)}.${t}`}const d=t(a);if(null!=r&&this._ensureInstanceIdToOrder(d,r),this._instanceByIdNext){const t=new e(n(d),s,i);return this._instanceByIdNext.set(d,t),t}if(!this._instanceById.has(d)){const t=new e(n(d),s,i);this._instanceById.set(d,t)}return this._instanceById.get(d)}getInstance(t){const e=this._instanceById.get(t);if(null==e)throw new Error(`InternalError: Unable to get instance for ${t}`);return e}getInstanceOrder(){return this._instanceIdToOrder}_ensureInstanceIdToOrder(t,e){null==this._instanceIdToOrder&&(this._instanceIdToOrder=new Map),this._instanceIdToOrder.set(t,e.index)}}export{s as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
|
|
2
|
-
import{i1616to32 as t}from"../../../number.js";import{AlignedVertexSpec as
|
|
2
|
+
import{i1616to32 as t,i16 as e}from"../../../number.js";import{AlignedVertexSpec as s}from"./AlignedVertexSpec.js";import{packDataView as i}from"./dataViewUtils.js";class c{static fromVertexSpec(t,e){const i=s.fromVertexSpec(t,e);return new c(i)}constructor(t){this._spec=t,this._packed=new Uint8Array(this._spec.stride*this._spec.packVertexCount),this._packedU32View=new Uint32Array(this._packed.buffer),this._dataView=new DataView(this._packed.buffer)}get attributeLayout(){return this._spec.attributeLayout}get stride(){return this._spec.stride}writeVertex(t,e,s,i,c,a){for(let p=0;p<this._spec.packVertexCount;p++){const t=p*this._spec.stride;this._packPosition(s,i,t),this._packId(e,t);const r=this._spec.bitset;if(a){if(r.packTessellation){const e=r.packTessellation(a,c,s,i);this._pack(e,r,t)}for(const e of this._spec.standardAttributes)if(null!=e.packTessellation){const p=e.packTessellation(a,c,s,i);this._pack(p,e,t)}else if(e.packAlternating?.packTessellation){const t=e.packAlternating.packTessellation(a,c,s,i);for(let s=0;s<this._spec.packVertexCount;s++){const i=t[s];this._pack(i,e,s*this._spec.stride)}}}}t.vertexWriteRegion(this._packedU32View)}pack(t,e){for(const s of this._spec.standardAttributes)if(s.pack&&"string"!=typeof s.pack){const i=s.pack(t,e);for(let t=0;t<this._spec.packVertexCount;t++)this._pack(i,s,t*this._spec.stride)}else if(s.packAlternating?.pack){const i=s.packAlternating.pack(t,e);for(let t=0;t<this._spec.packVertexCount;t++){const e=i[t];this._pack(e,s,t*this._spec.stride)}}}_packPosition(s,i,c){const{offset:a}=this._spec.position,p=this._spec.position.packPrecisionFactor??1,r=e(s*p),o=e(i*p),n=t(r,o);this._dataView.setUint32(c+a,n,!0)}_packId(t,e){const s=t*(this._spec.id.packPrecisionFactor??1),i=4278190080&this._dataView.getUint32(e+this._spec.id.offset,!0);this._dataView.setUint32(e+this._spec.id.offset,s|i,!0)}_pack(t,e,s){i(this._dataView,t,e,s)}}export{c as MeshWriterVertexPack};
|