@arcgis/core 5.2.0-next.20 → 5.2.0-next.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Graphic.d.ts +1 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0eb0ce43b4813cae968f.js +2 -0
- package/assets/esri/core/workers/chunks/{2dbd88566abac030e965.js → 162dada6a199d1efdf86.js} +2 -2
- package/assets/esri/core/workers/chunks/1a4bec464daa9662ab2a.js +1 -0
- package/assets/esri/core/workers/chunks/{b375abfb2a2d9c63e20a.js → 2255a21c7b959f04d941.js} +1 -1
- package/assets/esri/core/workers/chunks/292498a9c7d462d215c6.js +1 -0
- package/assets/esri/core/workers/chunks/2ef80e003b4f0393ac2e.js +1 -0
- package/assets/esri/core/workers/chunks/{4517630bf869205bab87.js → 38a76bc4ef5c10ab0488.js} +1 -1
- package/assets/esri/core/workers/chunks/3b4fc67f6cb7393fbd97.js +1 -0
- package/assets/esri/core/workers/chunks/{8ce4fe00328173224ed2.js → 44e32ed3a570593a7245.js} +1 -1
- package/assets/esri/core/workers/chunks/{db26cf2c2735183294b8.js → 50345dfc00380b158c96.js} +1 -1
- package/assets/esri/core/workers/chunks/5468a65698931603656d.js +1 -0
- package/assets/esri/core/workers/chunks/5b42f8aa0247adc2d065.js +1 -0
- package/assets/esri/core/workers/chunks/{d7acbc2ddff4cee8a465.js → 5ee887fc6e1e0e70e02f.js} +1 -1
- package/assets/esri/core/workers/chunks/66c2cfe11161d5dc989a.js +1 -0
- package/assets/esri/core/workers/chunks/6c0c77de1934f35dc45f.js +1 -0
- package/assets/esri/core/workers/chunks/{f7f820483e45c05ab9e4.js → 75df436e6e9773bdcfc2.js} +1 -1
- package/assets/esri/core/workers/chunks/780519b60aa674a61a74.js +1 -0
- package/assets/esri/core/workers/chunks/{a2247f4c3116efb16c4f.js → 7e23de8d9b2d938808f6.js} +1 -1
- package/assets/esri/core/workers/chunks/7fc8516111bd869256fc.js +1 -0
- package/assets/esri/core/workers/chunks/8579eba21f40630d073d.js +1 -0
- package/assets/esri/core/workers/chunks/{72edd08a2ff08970ba38.js → 87011d2fe14c54e296af.js} +1 -1
- package/assets/esri/core/workers/chunks/928b18e13e015330d44b.js +1 -0
- package/assets/esri/core/workers/chunks/93b40245378ced43ca08.js +1 -0
- package/assets/esri/core/workers/chunks/9434c76ad39c936dba90.js +1 -0
- package/assets/esri/core/workers/chunks/98dfe31e8ed9b522eaff.js +1 -0
- package/assets/esri/core/workers/chunks/{4104a0585969f8cd524c.js → a40ede4d3375184f21fe.js} +1 -1
- package/assets/esri/core/workers/chunks/a533d066cac26124c5ce.js +1 -0
- package/assets/esri/core/workers/chunks/a536904fe6f3b16fdbdc.js +1 -0
- package/assets/esri/core/workers/chunks/a54773c9bbc751619b3f.js +2 -0
- package/assets/esri/core/workers/chunks/a8167ab9fd846d699be5.js +1 -0
- package/assets/esri/core/workers/chunks/{dd0c1cf921369e2bc48b.js → a90619adff41658f8057.js} +1 -1
- package/assets/esri/core/workers/chunks/{ac16016964be3b684e98.js → aded4e704e09a28edc8f.js} +1 -1
- package/assets/esri/core/workers/chunks/{eccbddaec4be44c86f79.js → b0b3c67b7d37bd854d95.js} +2 -2
- package/assets/esri/core/workers/chunks/b419fd36337e76e2d4a3.js +680 -0
- package/assets/esri/core/workers/chunks/{05d597dd117766beadd8.js → b91a15522692781560b4.js} +1 -1
- package/assets/esri/core/workers/chunks/be4275a4b8977ec3eb61.js +1 -0
- package/assets/esri/core/workers/chunks/{e8d65900eefff1152207.js → c593539c2cce7a2b9d44.js} +1 -1
- package/assets/esri/core/workers/chunks/c86d388d216adbb15a05.js +1 -0
- package/assets/esri/core/workers/chunks/{0b522e05668bef729b1b.js → ceb5bd9f2afaa2ea0808.js} +1 -1
- package/assets/esri/core/workers/chunks/d07068c44d560e4ce02e.js +1 -0
- package/assets/esri/core/workers/chunks/{595bc41ff36c77324d01.js → d4e0346209fabc58f929.js} +9 -9
- package/assets/esri/core/workers/chunks/{5809e70a8e57e9b05959.js → dd795c95cdc3812b5b49.js} +1 -1
- package/assets/esri/core/workers/chunks/e29c8c10331edfa83277.js +1 -0
- package/assets/esri/core/workers/chunks/{44b30bce8e9a75b9e1b3.js → ef94d25d1cceb25ea9fe.js} +2 -2
- package/assets/esri/core/workers/chunks/f02a9408ba3893484c6c.js +1 -0
- package/assets/esri/core/workers/chunks/f7344d855f1092383abe.js +1 -0
- package/assets/esri/core/workers/chunks/{5f63077ec5ba3560491b.js → fb9f8b6cc2b4ae5b60df.js} +1 -1
- package/assets/esri/core/workers/chunks/{ecbf84a1f42e6188faab.js → fd629872b5c07853f695.js} +1 -1
- package/assets/esri/libs/parquet/pkg/bundle_bg.wasm +0 -0
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/GaussianSplat.glsl.js +4 -4
- package/chunks/GaussianSplatShadow.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +17 -17
- package/chunks/RibbonLine.glsl.js +45 -43
- package/chunks/bundle2.js +1 -1
- package/config.js +1 -1
- package/core/date.js +1 -1
- package/form/FormTemplate.d.ts +15 -20
- package/form/elements/AttachmentElement.d.ts +38 -11
- package/form/elements/Element.d.ts +9 -6
- package/form/elements/FieldElement.d.ts +0 -1
- package/form/elements/GroupElement.d.ts +4 -6
- package/form/elements/RelationshipElement.d.ts +8 -8
- package/form/elements/inputs/attachments/AttachmentInput.d.ts +34 -18
- package/form/elements/inputs/attachments/AudioInput.d.ts +4 -3
- package/form/elements/inputs/attachments/DocumentInput.d.ts +2 -6
- package/form/elements/inputs/attachments/ImageInput.d.ts +4 -3
- package/form/elements/inputs/attachments/Input.d.ts +6 -3
- package/form/elements/inputs/attachments/SignatureInput.d.ts +3 -3
- package/form/elements/inputs/attachments/VideoInput.d.ts +4 -3
- package/form/elements.d.ts +6 -12
- package/form/types.d.ts +0 -4
- package/geometry/support/geometryUtils.js +1 -1
- package/geometry/support/intersects.js +1 -1
- package/geometry/support/intersectsBase.js +1 -1
- package/kernel.js +1 -1
- package/layers/AnnotationFeatureLayer.d.ts +44 -0
- package/layers/AnnotationFeatureLayer.js +1 -1
- package/layers/DimensionFeatureLayer.d.ts +40 -0
- package/layers/DimensionFeatureLayer.js +1 -1
- package/layers/DimensionLayer.d.ts +1 -0
- package/layers/FeatureLayer.js +1 -1
- package/layers/IntegratedMesh3DTilesLayer.d.ts +9 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/ParquetLayer.d.ts +6 -10
- package/layers/ParquetLayer.js +1 -1
- package/layers/graphics/data/attributeSupport.js +1 -1
- package/layers/graphics/data/queryValidationUtils.js +1 -1
- package/layers/graphics/sources/ParquetSource.js +1 -1
- package/layers/graphics/sources/geojson/GeoJSONSourceWorker.js +1 -1
- package/layers/graphics/sources/geojson/geojson.js +1 -1
- package/layers/graphics/sources/parquet/FileProvider.js +1 -1
- package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
- package/layers/graphics/sources/parquet/fileProviderChangedError.js +2 -0
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/mixins/ArcGISImageService.js +1 -1
- package/layers/mixins/EditBusLayer.js +1 -1
- package/layers/orientedImagery/core/utils.js +1 -1
- package/layers/raster/datasets/WCSRaster.js +1 -1
- package/layers/support/AnnotationFeatureSublayer.d.ts +5 -3
- package/layers/support/RasterBandInfo.js +1 -1
- package/layers/support/SymbolLayerDrawing.js +1 -1
- package/layers/types.d.ts +1 -0
- package/package.json +2 -2
- package/rest/support/AttachmentQuery.d.ts +13 -1
- package/rest/support/AttachmentQuery.js +1 -1
- package/rest/support/OutDistance.d.ts +5 -1
- package/rest/support/PrintParameters.d.ts +2 -1
- package/rest/support/Query.d.ts +2 -0
- package/support/basemapUtils.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/SimpleMarkerSymbol.d.ts +2 -2
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/views/2d/engine/AFeatureContainer.js +1 -1
- package/views/2d/engine/transitions/FadeTransition.js +1 -1
- package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
- package/views/2d/engine/webgl/FeatureTile.js +1 -1
- package/views/2d/engine/webgl/TileCpuState.js +1 -1
- package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/RenderState.js +1 -1
- package/views/2d/layers/features/aggregation/GeohashSpatialIndex.js +1 -1
- package/views/2d/layers/features/aggregation/GridSpatialIndex.js +1 -1
- package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
- package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
- package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/support/queryAdapters.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
- package/views/2d/layers/support/annodime/DimensionInfo.js +1 -1
- package/views/2d/layers/support/annodime/cimAnnotations.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightDrawToolRenderer.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +2 -0
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightTool2.js +1 -1
- package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerViewPerformanceInfo.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DPathSymbolLayerConstants.js +1 -1
- package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
- package/views/3d/state/utils/navigationUtils.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatAtlasPages.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatHeaderTexture.js +2 -0
- package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
- package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +11 -11
- package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +6 -9
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathEvaluate.glsl.js +46 -46
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexInfo.glsl.js +46 -18
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +22 -22
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +4 -4
- package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +13 -12
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
- package/views/3d/webgl-engine/lib/PathEvaluator.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
- package/views/3d/webgl-engine/lib/PathVertexInfo.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferUtils.js +1 -1
- package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
- package/views/3d/webgl-engine/materials/PathLayouts.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoWriter.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTextureBuffer.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineLayouts.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTextureBuffer.glsl.js +2 -0
- package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +10 -10
- package/views/View2D.d.ts +2 -2
- package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
- package/views/layers/AnnotationFeatureLayerView.d.ts +9 -1
- package/views/layers/DimensionFeatureLayerView.d.ts +9 -1
- package/views/layers/FeatureLikeLayerView.js +1 -1
- package/views/webgl/ShaderBuilder.js +1 -1
- package/widgets/BasemapGallery.js +1 -1
- package/widgets/BatchAttributeForm/attachmentUtils.js +1 -1
- package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
- package/widgets/BatchAttributeForm/css.js +1 -1
- package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/UpdateRecordWorkflow.js +1 -1
- package/widgets/Editor/UpdateWorkflow.js +1 -1
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/types.d.ts +12 -0
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.d.ts +16 -12
- package/widgets/FeatureForm.d.ts +14 -16
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/types.d.ts +20 -0
- package/widgets/FeatureTable.d.ts +14 -2
- package/widgets/FeatureTable.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +1 -1
- package/widgets/OrientedImageryViewer/constants.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
- package/widgets/OrientedImageryViewer/navigation/utils.js +1 -1
- package/widgets/OrientedImageryViewer/support/panConstraint.js +2 -0
- package/widgets/OrientedImageryViewer.js +1 -1
- package/widgets/Print/CustomTemplate.d.ts +7 -0
- package/widgets/Search/LayerSearchSource.d.ts +3 -0
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/0a259137932211b80f0e.js +0 -1
- package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +0 -1
- package/assets/esri/core/workers/chunks/3192586ec7fc73ed1165.js +0 -1
- package/assets/esri/core/workers/chunks/35a508a9311689d8df52.js +0 -1
- package/assets/esri/core/workers/chunks/3e89f487c5851c954d8b.js +0 -1
- package/assets/esri/core/workers/chunks/4fdd38d7362bf09a994b.js +0 -1
- package/assets/esri/core/workers/chunks/501fa9b029df2e7b73c3.js +0 -2
- package/assets/esri/core/workers/chunks/5216dd0544e901039c84.js +0 -1
- package/assets/esri/core/workers/chunks/5f0bc019add4aff3130c.js +0 -1
- package/assets/esri/core/workers/chunks/630ad47857de3cf726d1.js +0 -1
- package/assets/esri/core/workers/chunks/6ac09f4e85c664a17365.js +0 -1
- package/assets/esri/core/workers/chunks/6e8b9c03240ec372b587.js +0 -1
- package/assets/esri/core/workers/chunks/74922daaedb479ec6f03.js +0 -1
- package/assets/esri/core/workers/chunks/764c8ba14ab74b66b391.js +0 -1
- package/assets/esri/core/workers/chunks/7ee76504e7fea389a1c9.js +0 -1
- package/assets/esri/core/workers/chunks/912a8743a02f467b63b0.js +0 -2
- package/assets/esri/core/workers/chunks/9def4619d102f1d41578.js +0 -1
- package/assets/esri/core/workers/chunks/a0876a52a3c2ad849370.js +0 -1
- package/assets/esri/core/workers/chunks/a3c5b754a6fa0f4250bf.js +0 -1
- package/assets/esri/core/workers/chunks/a98905bf6050ad3b8721.js +0 -633
- package/assets/esri/core/workers/chunks/bf67e0f6064fb9d94ac8.js +0 -1
- package/assets/esri/core/workers/chunks/c9e5d3f496cefb8e3934.js +0 -1
- package/assets/esri/core/workers/chunks/cd892f429d5ffe8de99e.js +0 -1
- package/assets/esri/core/workers/chunks/d34d41a350facfa9b7c0.js +0 -1
- package/assets/esri/core/workers/chunks/d5a0e3a73df827dc7b06.js +0 -1
- package/assets/esri/core/workers/chunks/e5471373f89fd7cb9844.js +0 -1
- package/assets/esri/core/workers/chunks/ff00ac01f0baaecaa890.js +0 -1
- /package/assets/esri/core/workers/chunks/{912a8743a02f467b63b0.js.LICENSE.txt → 0eb0ce43b4813cae968f.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{2dbd88566abac030e965.js.LICENSE.txt → 162dada6a199d1efdf86.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{44b30bce8e9a75b9e1b3.js.LICENSE.txt → a54773c9bbc751619b3f.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{eccbddaec4be44c86f79.js.LICENSE.txt → b0b3c67b7d37bd854d95.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{501fa9b029df2e7b73c3.js.LICENSE.txt → ef94d25d1cceb25ea9fe.js.LICENSE.txt} +0 -0
|
@@ -23,27 +23,43 @@ export interface AttachmentInputProperties extends Partial<Pick<AttachmentInput,
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
|
-
* The `AttachmentInput` class defines a
|
|
26
|
+
* The `AttachmentInput` class defines a user interface for an attachment input. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/). The `AttachmentInput` offers the most flexibility, and allows a number of different attachment types to be included in a single attachment element.
|
|
27
27
|
*
|
|
28
28
|
* > [!CAUTION]
|
|
29
|
-
* >
|
|
30
|
-
* >
|
|
29
|
+
* > * Input methods that are configured as only allowing `capture` are not supported on desktop devices for inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/).
|
|
30
|
+
* > * For inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/), minimum requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
|
|
31
31
|
*
|
|
32
32
|
* @since 5.1
|
|
33
33
|
* @see [AttachmentElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/)
|
|
34
|
+
* @see [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/)
|
|
35
|
+
* @see [DocumentInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/)
|
|
36
|
+
* @see [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/)
|
|
37
|
+
* @see [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/)
|
|
34
38
|
* @example
|
|
35
|
-
* //
|
|
39
|
+
* // Create the new input types for the general attachment input
|
|
40
|
+
* const audioInput = new AudioInput({
|
|
41
|
+
* inputMethod: "any",
|
|
42
|
+
* maxDuration: 30,
|
|
43
|
+
* });
|
|
44
|
+
*
|
|
45
|
+
* const imageInput = new ImageInput({
|
|
46
|
+
* inputMethod: "upload",
|
|
47
|
+
* maxImageSize: 800,
|
|
48
|
+
* });
|
|
49
|
+
*
|
|
50
|
+
* const documentInput = new DocumentInput({
|
|
51
|
+
* maxFileSize: 500,
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* const videoInput = new VideoInput({
|
|
55
|
+
* inputMethod: "any",
|
|
56
|
+
* maxDuration: 90,
|
|
57
|
+
* });
|
|
58
|
+
*
|
|
59
|
+
* // Create the general attachment input that allows for multiple types of attachments
|
|
36
60
|
* const attachmentInput = new AttachmentInput({
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* type: "image",
|
|
40
|
-
* maxImageSize: 800,
|
|
41
|
-
* },
|
|
42
|
-
* { // autocastable to VideoInput
|
|
43
|
-
* type: "video",
|
|
44
|
-
* inputMethod: "capture",
|
|
45
|
-
* },
|
|
46
|
-
* ]
|
|
61
|
+
* attachmentAssociationType: "any", // Associates all existing attachments to this element.
|
|
62
|
+
* inputTypes: [documentInput, audioInput, imageInput, videoInput]
|
|
47
63
|
* });
|
|
48
64
|
*/
|
|
49
65
|
export default class AttachmentInput extends Input {
|
|
@@ -56,9 +72,9 @@ export default class AttachmentInput extends Input {
|
|
|
56
72
|
*
|
|
57
73
|
* value | description |
|
|
58
74
|
* --------------|---------------------------
|
|
59
|
-
* `any` |
|
|
60
|
-
* `exact` |
|
|
61
|
-
* `exactOrNone` | Associates
|
|
75
|
+
* `any` | Include all existing attachments associated with this feature regardless of their keyword value. This option is only available if there are no existing [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) in the form. If an attachment element has this set, additional attachment elements cannot be added to the form.
|
|
76
|
+
* `exact` | Only attachments whose keyword matches the form element's [keyword](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#attachmentKeyword) will be shown.
|
|
77
|
+
* `exactOrNone` | Associates attachments whose keyword matches the [attachmentKeyword](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#attachmentKeyword) and those that do not have a keyword. Only one attachment element with `exactOrNone` can be used within a form and it cannot be used in conjunction with any other attachment element that has an `attachmentAssociationType` value of `exact` or `any`.
|
|
62
78
|
*
|
|
63
79
|
* @default "exact"
|
|
64
80
|
* @since 5.1
|
|
@@ -78,7 +94,7 @@ export default class AttachmentInput extends Input {
|
|
|
78
94
|
get inputTypes(): NestableAttachmentInputUnion[] | null;
|
|
79
95
|
set inputTypes(value: ((AudioInputProperties & { type: "audio"; }) | (DocumentInputProperties & { type: "document"; }) | (ImageInputProperties & { type: "image"; }) | (SignatureInputProperties & { type: "signature"; }) | (VideoInputProperties & { type: "video"; }))[] | null | undefined);
|
|
80
96
|
/**
|
|
81
|
-
* The input type identifier.
|
|
97
|
+
* The input type identifier.
|
|
82
98
|
*
|
|
83
99
|
* @since 5.1
|
|
84
100
|
*/
|
|
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
|
|
|
5
5
|
export interface AudioInputProperties extends Partial<Pick<AudioInput, "inputMethod" | "maxDuration">> {}
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* The `AudioInput` class defines a user interface for an input to which audio files can be attached.
|
|
8
|
+
* The `AudioInput` class defines a user interface for an input to which audio files can be attached.
|
|
9
9
|
*
|
|
10
10
|
* > [!CAUTION]
|
|
11
11
|
* >
|
|
12
|
-
* >
|
|
12
|
+
* > * Input methods that are configured as only allowing `capture` are not supported.
|
|
13
|
+
* > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
|
|
13
14
|
*
|
|
14
15
|
* @since 5.1
|
|
15
16
|
* @see [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/)
|
|
@@ -37,7 +38,7 @@ export default class AudioInput extends Input {
|
|
|
37
38
|
*/
|
|
38
39
|
accessor maxDuration: number | null | undefined;
|
|
39
40
|
/**
|
|
40
|
-
* The input type identifier.
|
|
41
|
+
* The input type identifier.
|
|
41
42
|
*
|
|
42
43
|
* @since 5.1
|
|
43
44
|
*/
|
|
@@ -4,11 +4,7 @@ import type Input from "./Input.js";
|
|
|
4
4
|
export interface DocumentInputProperties extends Partial<Pick<DocumentInput, "maxFileSize">> {}
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
|
-
* The `DocumentInput` class defines a user interface for an input to which document files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set
|
|
8
|
-
*
|
|
9
|
-
* > [!CAUTION]
|
|
10
|
-
* >
|
|
11
|
-
* > This class is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
|
|
7
|
+
* The `DocumentInput` class defines a user interface for an input to which document files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
12
8
|
*
|
|
13
9
|
* @since 5.1
|
|
14
10
|
* @see [DocumentInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/)
|
|
@@ -28,7 +24,7 @@ export default class DocumentInput extends Input {
|
|
|
28
24
|
*/
|
|
29
25
|
accessor maxFileSize: number | null | undefined;
|
|
30
26
|
/**
|
|
31
|
-
* The input type identifier.
|
|
27
|
+
* The input type identifier.
|
|
32
28
|
*
|
|
33
29
|
* @since 5.1
|
|
34
30
|
*/
|
|
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
|
|
|
5
5
|
export interface ImageInputProperties extends Partial<Pick<ImageInput, "inputMethod" | "maxImageSize">> {}
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* The `ImageInput` class defines a user interface for an input to which image files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate
|
|
8
|
+
* The `ImageInput` class defines a user interface for an input to which image files can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
9
9
|
*
|
|
10
10
|
* > [!CAUTION]
|
|
11
11
|
* >
|
|
12
|
-
* >
|
|
12
|
+
* > * Input methods that are configured as only allowing `capture` are not supported.
|
|
13
|
+
* > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
|
|
13
14
|
*
|
|
14
15
|
* @since 5.1
|
|
15
16
|
* @see [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/)
|
|
@@ -37,7 +38,7 @@ export default class ImageInput extends Input {
|
|
|
37
38
|
*/
|
|
38
39
|
accessor maxImageSize: number | null | undefined;
|
|
39
40
|
/**
|
|
40
|
-
* The input type identifier.
|
|
41
|
+
* The input type identifier.
|
|
41
42
|
*
|
|
42
43
|
* @since 5.1
|
|
43
44
|
*/
|
|
@@ -5,15 +5,18 @@ import type { AttachmentInputType } from "./types.js";
|
|
|
5
5
|
/** @since 5.1 */
|
|
6
6
|
export default abstract class Input extends InputSuperclass {
|
|
7
7
|
/**
|
|
8
|
-
* The type of [input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/).
|
|
8
|
+
* The type of [input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/). This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set on the [Editor's `layerInfo.formTemplate`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/) or a [feature layer's `formTemplate`](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) and displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
9
|
+
*
|
|
10
|
+
* > [!CAUTION]
|
|
11
|
+
* > * Input methods that are configured as only allowing `capture` are not supported on desktop devices for inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/).
|
|
12
|
+
* > * For inputs such as [AudioInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/), [ImageInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/), or [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/), minimum requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
|
|
9
13
|
*
|
|
10
14
|
* Possible Value | Description
|
|
11
15
|
* ---------------|-------------
|
|
12
|
-
* attachment | The user interface for
|
|
16
|
+
* attachment | The user interface for a general [attachment input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AttachmentInput/) to attach multiple different types of files.
|
|
13
17
|
* audio | The user interface for an [audio](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/AudioInput/) input.
|
|
14
18
|
* document | The user interface for a [document](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/DocumentInput/) input.
|
|
15
19
|
* image | The user interface for an [image](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/ImageInput/) input.
|
|
16
|
-
* signature | The user interface for a [signature](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/SignatureInput/) input.
|
|
17
20
|
* video | The user interface for a [video](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/) input.
|
|
18
21
|
*
|
|
19
22
|
* @since 5.1
|
|
@@ -5,11 +5,11 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
|
|
|
5
5
|
export interface SignatureInputProperties extends Partial<Pick<SignatureInput, "inputMethod">> {}
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* The `SignatureInput` class defines a user interface for an input to which a signature can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate
|
|
8
|
+
* The `SignatureInput` class defines a user interface for an input to which a signature can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
9
9
|
*
|
|
10
10
|
* > [!CAUTION]
|
|
11
11
|
* >
|
|
12
|
-
* > This class is not
|
|
12
|
+
* > This class is not fully supported within the SDK and is not intended for use in development.
|
|
13
13
|
*
|
|
14
14
|
* @since 5.1
|
|
15
15
|
* @see [SignatureInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/SignatureInput/)
|
|
@@ -30,7 +30,7 @@ export default class SignatureInput extends Input {
|
|
|
30
30
|
*/
|
|
31
31
|
accessor inputMethod: InputMethod;
|
|
32
32
|
/**
|
|
33
|
-
* The input type identifier.
|
|
33
|
+
* The input type identifier.
|
|
34
34
|
*
|
|
35
35
|
* @since 5.1
|
|
36
36
|
*/
|
|
@@ -5,11 +5,12 @@ import type { InputMethod } from "../../../../portal/jsonTypes.js";
|
|
|
5
5
|
export interface VideoInputProperties extends Partial<Pick<VideoInput, "inputMethod" | "maxDuration">> {}
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
|
-
* The `VideoInput` class defines a user interface for an input to which a video file can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate
|
|
8
|
+
* The `VideoInput` class defines a user interface for an input to which a video file can be attached. This [AttachmentElement.input](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/#input) is used in [attachment elements](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/) that are set within a [feature layer's](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#formTemplate) or [FeatureForm's](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/#formTemplate) `formTemplate` and is displayed within the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/).
|
|
9
9
|
*
|
|
10
10
|
* > [!CAUTION]
|
|
11
11
|
* >
|
|
12
|
-
* >
|
|
12
|
+
* > * Input methods that are configured as only allowing `capture` are not supported.
|
|
13
|
+
* > * Minimum input requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
|
|
13
14
|
*
|
|
14
15
|
* @since 5.1
|
|
15
16
|
* @see [VideoInput](https://developers.arcgis.com/javascript/latest/references/core/form/elements/inputs/attachments/VideoInput/)
|
|
@@ -37,7 +38,7 @@ export default class VideoInput extends Input {
|
|
|
37
38
|
*/
|
|
38
39
|
accessor maxDuration: number | null | undefined;
|
|
39
40
|
/**
|
|
40
|
-
* The input type identifier.
|
|
41
|
+
* The input type identifier.
|
|
41
42
|
*
|
|
42
43
|
* @since 5.1
|
|
43
44
|
*/
|
package/form/elements.d.ts
CHANGED
|
@@ -8,12 +8,13 @@
|
|
|
8
8
|
* import GroupElement from "@arcgis/core/form/elements/GroupElement.js";
|
|
9
9
|
* import RelationshipElement from "@arcgis/core/form/elements/RelationshipElement.js";
|
|
10
10
|
* import TextElement from "@arcgis/core/form/elements/TextElement.js";
|
|
11
|
+
* import AttachmentElement from "@arcgis/core/form/elements/AttachmentElement.js";
|
|
11
12
|
* ```
|
|
12
13
|
*
|
|
13
14
|
* You can use this module to import them on a single line:
|
|
14
15
|
*
|
|
15
16
|
* ```js
|
|
16
|
-
* import { FieldElement, GroupElement, RelationshipElement, TextElement } from "@arcgis/core/form/elements.js";
|
|
17
|
+
* import { FieldElement, GroupElement, RelationshipElement, TextElement, AttachmentElement } from "@arcgis/core/form/elements.js";
|
|
17
18
|
* ```
|
|
18
19
|
*
|
|
19
20
|
* This module also allows you to implement [type guards](https://basarat.gitbook.io/typescript/type-system/typeguard)
|
|
@@ -27,7 +28,7 @@
|
|
|
27
28
|
* console.log("Form element type is field");
|
|
28
29
|
* }
|
|
29
30
|
* else {
|
|
30
|
-
* // The compiler knows the content element must be `field | group | relationship`
|
|
31
|
+
* // The compiler knows the content element must be `field | group | relationship | attachment | text | utilityNetworkAssociations`
|
|
31
32
|
* console.log("The value is not a valid form element.")
|
|
32
33
|
* }
|
|
33
34
|
* }
|
|
@@ -35,6 +36,7 @@
|
|
|
35
36
|
*
|
|
36
37
|
* @since 4.16
|
|
37
38
|
* @see [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/)
|
|
39
|
+
* @see [AttachmentElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/AttachmentElement/)
|
|
38
40
|
* @see [FieldElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/FieldElement/)
|
|
39
41
|
* @see [GroupElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/GroupElement/)
|
|
40
42
|
* @see [RelationshipElement](https://developers.arcgis.com/javascript/latest/references/core/form/elements/RelationshipElement/)
|
|
@@ -81,22 +83,14 @@ export type TextElement = TextElementClass;
|
|
|
81
83
|
/**
|
|
82
84
|
* `AttachmentElement` defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.
|
|
83
85
|
*
|
|
84
|
-
*
|
|
85
|
-
* >
|
|
86
|
-
* > The `attachment` element is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
|
|
87
|
-
*
|
|
88
|
-
* @internal
|
|
86
|
+
* @since 5.1
|
|
89
87
|
*/
|
|
90
88
|
export const AttachmentElement: typeof AttachmentElementClass;
|
|
91
89
|
|
|
92
90
|
/**
|
|
93
91
|
* `AttachmentElement` defines how one or more attachments can participate in the form. When present in the form, the user has the ability to upload an attachment specific to the form element.
|
|
94
92
|
*
|
|
95
|
-
*
|
|
96
|
-
* >
|
|
97
|
-
* > The `attachment` element is not yet fully supported within the SDK and is not intended for use in development. Support will be added in an upcoming release.
|
|
98
|
-
*
|
|
99
|
-
* @internal
|
|
93
|
+
* @since 5.1
|
|
100
94
|
*/
|
|
101
95
|
export type AttachmentElement = AttachmentElementClass;
|
|
102
96
|
|
package/form/types.d.ts
CHANGED
|
@@ -8,10 +8,6 @@ import type UtilityNetworkAssociationsElement from "./elements/UtilityNetworkAss
|
|
|
8
8
|
/**
|
|
9
9
|
* Form element types.
|
|
10
10
|
*
|
|
11
|
-
* > [!CAUTION]
|
|
12
|
-
* >
|
|
13
|
-
* > * The `AttachmentElement` is not yet fully supported by the [FeatureForm](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/) widget.
|
|
14
|
-
*
|
|
15
11
|
* @since 5.0
|
|
16
12
|
* @see [Web Map Specification - formInfo](https://developers.arcgis.com/web-map-specification/objects/formInfo/)
|
|
17
13
|
*/
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import e from"../Extent.js";import{getExtentForScale as n}from"./scaleUtils.js";async function t(e,n){if(e.hasZ||"2d"===n.type)return e;const t=n.map?.ground;return t?.layers.length?(await t.queryElevation(e,{cache:n.basemapTerrain?.elevationQueryCache})).geometry:e}function r(e,n,t){return
|
|
2
|
+
import e from"../Extent.js";import{getExtentForScale as n}from"./scaleUtils.js";async function t(e,n){if(e.hasZ||"2d"===n.type)return e;const t=n.map?.ground;return t?.layers.length?(await t.queryElevation(e,{cache:n.basemapTerrain?.elevationQueryCache})).geometry:e}function r(e,n,t){return i(e.center,n,t)}function i(t,r,i){const u=t.hasZ?t.z:void 0;if(r?.map){return(null!=i?n(r,i):r.extent).clone().centerAt(t).set({zmax:u,zmin:u})}const{x:a,y:o,spatialReference:c}=t;return new e({xmin:a-.25,ymin:o-.25,xmax:a+.25,ymax:o+.25,spatialReference:c,zmin:u,zmax:u})}function u(e,n,t,r){switch(e?.type){case"extent":return e;case"polygon":case"polyline":case"multipoint":return e.extent??void 0;case"point":return i(r.execute(e),n??void 0,t??void 0);default:return}}function a([e,n,t,r],[i,u,a,o]){return e===i&&n===u&&(null==t&&null==a||t===a)&&(null==r&&null==o||r===o)}function o(e){return e?l:c}function c(e,n){return e[0]===n[0]&&e[1]===n[1]}function l(e,n){return e[0]===n[0]&&e[1]===n[1]&&e[2]===n[2]}export{a as comparePoints,c as coordinate2DEquals,l as coordinate3DEquals,i as createExtentFromPoint,o as getCoordinateEquals,u as getExtentFromGeometry,t as getPointWithElevation,r as scaleExtent};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{extentIntersectsExtent as e,getFeatureExtentIntersector as t}from"./intersectsBase.js";export{extentIntersectsMultipoint,extentIntersectsPoint,extentIntersectsPolygon,extentIntersectsPolyline,segmentIntersects}from"./intersectsBase.js";function
|
|
2
|
+
import{extentIntersectsExtent as e,getFeatureExtentIntersector as t}from"./intersectsBase.js";export{extentIntersectsMultipoint,extentIntersectsPoint,extentIntersectsPolygon,extentIntersectsPolyline,nearLine,pointInPolygon,segmentIntersects,targetIntersectsPolygon}from"./intersectsBase.js";function n(n){return"mesh"===n?e:t(n)}export{e as extentIntersectsExtent,n as getExtentIntersector,t as getFeatureExtentIntersector};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{extentContainsCoords2D as n,extentContainsPoint as t,ringsContainsCoords as e,extentContainsCoords3D as r}from"./contains.js";function
|
|
2
|
+
import{extentContainsCoords2D as n,extentContainsPoint as t,ringsContainsCoords as e,extentContainsCoords3D as r}from"./contains.js";function o(n,e){return t(n,e)}function i(n,t){const e=n.hasZ&&t.hasZ;let r,o,i;if(n.xmin<=t.xmin){if(r=t.xmin,n.xmax<r)return!1}else if(r=n.xmin,t.xmax<r)return!1;if(n.ymin<=t.ymin){if(o=t.ymin,n.ymax<o)return!1}else if(o=n.ymin,t.ymax<o)return!1;if(e&&t.hasZ)if(n.zmin<=t.zmin){if(i=t.zmin,n.zmax<i)return!1}else if(i=n.zmin,t.zmax<i)return!1;return!0}function f(t,e){const{points:o,hasZ:i}=e,f=i?r:n;for(const n of o)if(f(t,n))return!0;return!1}const s=[0,0],c=[0,0],u=[0,0],m=[0,0],a=[s,c,u,m],l=[[u,s],[s,c],[c,m],[m,u]];function x(n,t){return h(n,t.rings)}function h(t,r){s[0]=t.xmin,s[1]=t.ymax,c[0]=t.xmax,c[1]=t.ymax,u[0]=t.xmin,u[1]=t.ymin,m[0]=t.xmax,m[1]=t.ymin;for(const n of a)if(e(r,n))return!0;for(const e of r){if(!e.length)continue;let r=e[0];if(n(t,r))return!0;for(let o=1;o<e.length;o++){const i=e[o];if(n(t,i)||g(r,i,l))return!0;r=i}}return!1}function y(t,e){s[0]=t.xmin,s[1]=t.ymax,c[0]=t.xmax,c[1]=t.ymax,u[0]=t.xmin,u[1]=t.ymin,m[0]=t.xmax,m[1]=t.ymin;const r=e.paths;for(const o of r){if(!r.length)continue;let e=o[0];if(n(t,e))return!0;for(let r=1;r<o.length;r++){const i=o[r];if(n(t,i)||g(e,i,l))return!0;e=i}}return!1}function g(n,t,e){for(let r=0;r<e.length;r++)if(p(n,t,e[r][0],e[r][1]))return!0;return!1}function p(n,t,e,r,o){const[i,f]=n,[s,c]=t,[u,m]=e,[a,l]=r,x=a-u,h=i-u,y=s-i,g=l-m,p=f-m,z=c-f,G=g*y-x*z;if(0===G)return!1;const M=(x*p-g*h)/G,P=(y*p-z*h)/G;return M>=0&&M<=1&&P>=0&&P<=1&&(o&&(o[0]=i+M*(s-i),o[1]=f+M*(c-f)),!0)}function z(n,t,e){for(const r of t){const t=r.length;for(let o=1;o<t;o++){const t=r[o-1],i=r[o];let f=(i[0]-t[0])*(i[0]-t[0])+(i[1]-t[1])*(i[1]-t[1]);if(0===f)continue;f=Math.sqrt(f);const s=((i[0]-t[0])*(n[1]-t[1])-(i[1]-t[1])*(n[0]-t[0]))/f;if(Math.abs(s)<e){const r=((i[0]-t[0])*(n[0]-t[0])+(i[1]-t[1])*(n[1]-t[1]))/f;if(r>-e&&r<f+e)return!0}}}return!1}function G(n){const t=1e-6,e=n[0],r=n[n.length-1];return Math.abs(e[0]-r[0])<=t&&Math.abs(e[1]-r[1])<=t}function M(n,t){let e=0;for(const r of t){const t=r.length;for(let o=1;o<t;o++){const t=r[o-1],i=r[o];if(t[1]>n[1]==i[1]>n[1])continue;(i[0]-t[0])*(n[1]-t[1])-(i[1]-t[1])*(n[0]-t[0])>0?e++:e--}}return 0!==e}function P(n,t){n.length>1&&!G(n)&&(n=[...n,n[0]]);for(let e=0;e<t.length;e++){const r=t[e],o=r.length;for(const t of r)if(M(t,[n]))return!0;if(G(r))for(const e of n)if(M(e,t))return!0;for(let t=1;t<o;t++){const e=r[t-1],o=r[t];for(let t=0;t<n.length;t++){if(p(e,o,n[t],n[(t+1)%n.length]))return!0}}}return!1}function Z(n){switch(n){case"esriGeometryEnvelope":case"extent":return i;case"esriGeometryMultipoint":case"multipoint":return f;case"esriGeometryPoint":case"point":return o;case"esriGeometryMultiPatch":case"multipatch":case"esriGeometryPolygon":case"polygon":return x;case"esriGeometryPolyline":case"polyline":return y}}export{i as extentIntersectsExtent,f as extentIntersectsMultipoint,o as extentIntersectsPoint,x as extentIntersectsPolygon,y as extentIntersectsPolyline,Z as getFeatureExtentIntersector,z as nearLine,M as pointInPolygon,p as segmentIntersects,P as targetIntersectsPolygon};
|
package/kernel.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.
|
|
2
|
+
import has from"./core/has.js";import{addQueryParameter as o}from"./core/urlUtils.js";export{buildDate,commitHash as revision}from"./support/revision.js";Symbol.dispose??=Symbol("Symbol.dispose"),Symbol.asyncDispose??=Symbol("Symbol.asyncDispose");const e="5.2";let s,r=e;function i(o){s=o}function t(e){const r=s?.findCredential(e);return r?.token?o(e,"token",r.token):e}r="5.2.0-next.22",has("host-webworker")||globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}}),has("host-webworker");export{t as addTokenParameter,r as fullVersion,s as id,i as setId,e as version};
|
|
@@ -73,6 +73,50 @@ export interface AnnotationFeatureLayerProperties extends LayerProperties, APIKe
|
|
|
73
73
|
|
|
74
74
|
export interface AnnotationFeatureLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
|
|
75
75
|
|
|
76
|
+
/**
|
|
77
|
+
* An AnnotationFeatureLayer displays text as features in a 2D map. An annotation is a type of feature that consists of text with
|
|
78
|
+
* position, layout, and style attributes. Initially, the AnnotationFeatureLayer will display all sublayers from the service, but you can configure the
|
|
79
|
+
* visibility of each [AnnotationFeatureSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/) using the [visible](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/#visible) property
|
|
80
|
+
* on each sublayer. Annotation features are not supported by the Legend component and the printed legend (it does print, but will not display in the printed legend).
|
|
81
|
+
* Example of an annotation feature (see [Annotation in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/annotation/annotation.html)
|
|
82
|
+
* for more information on creating and publishing annotation features):
|
|
83
|
+
*
|
|
84
|
+
* <figure>
|
|
85
|
+
* <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/annotationfeaturelayer.avif" alt="annotation"/>
|
|
86
|
+
* <figcaption> This image shows an AnnotationFeatureLayer representing wildfire burns and water features.</figcaption>
|
|
87
|
+
* </figure>
|
|
88
|
+
*
|
|
89
|
+
* AnnotationFeatureLayers may be created from a [url](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/#url).
|
|
90
|
+
* AnnotationFeatureLayers are published with specific fonts and symbols to be used for display. Annotation features text use the same client-side rendering engine as labels.
|
|
91
|
+
* If the font specified by the service is not available, a default font will be used instead.
|
|
92
|
+
* See the [Labeling guide](/Labeling/) for more information on how to configure labeling and text symbols.
|
|
93
|
+
*
|
|
94
|
+
* ```js
|
|
95
|
+
* // get a reference to arcgis-map
|
|
96
|
+
* const viewElement = document.querySelector("arcgis-map");
|
|
97
|
+
* // Create an annotation feature layer from a feature service layer URL
|
|
98
|
+
* const layer = new AnnotationFeatureLayer({
|
|
99
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/RiversAnnotation/FeatureServer/0"
|
|
100
|
+
* });
|
|
101
|
+
* // add the layer to the map
|
|
102
|
+
* viewElement.map.add(layer);
|
|
103
|
+
* ```
|
|
104
|
+
*
|
|
105
|
+
* > [!WARNING]
|
|
106
|
+
* >
|
|
107
|
+
* > **Known Limitations**
|
|
108
|
+
* > The following features are not currently supported at this release. Future releases will see increased functionality and support for additional features.
|
|
109
|
+
* > * Editing
|
|
110
|
+
* > * [AnnotationFeatureLayerView.featureEffect](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#featureEffect)
|
|
111
|
+
* > * [AnnotationFeatureLayerView.filter](https://developers.arcgis.com/javascript/latest/references/core/views/layers/AnnotationFeatureLayerView/#filter)
|
|
112
|
+
*
|
|
113
|
+
* @beta
|
|
114
|
+
* @since 5.1
|
|
115
|
+
* @see [AnnotationFeatureSublayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/support/AnnotationFeatureSublayer/)
|
|
116
|
+
* @see [Labeling guide](/labeling/)
|
|
117
|
+
* @see [Annotation in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/annotation/annotation.html)
|
|
118
|
+
* @see [DimensionFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/)
|
|
119
|
+
*/
|
|
76
120
|
export default class AnnotationFeatureLayer extends AnnotationFeatureLayerSuperclass {
|
|
77
121
|
/**
|
|
78
122
|
* @deprecated
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__addDisposableResource as e,__disposeResources as t,__decorate as r}from"tslib";import s from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import{disposable as l,makeHandle as p}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,whenOrAbort as y,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as c}from"../core/reactiveUtils.js";import{join as f}from"../core/urlUtils.js";import{property as b,subclass as v}from"../core/accessorSupport/decorators.js";import g from"./Layer.js";import{APIKeyMixin as
|
|
2
|
+
import{__addDisposableResource as e,__disposeResources as t,__decorate as r}from"tslib";import s from"../PopupTemplate.js";import i from"../request.js";import{ClonableMixin as o}from"../core/Clonable.js";import a from"../core/Collection.js";import n from"../core/Error.js";import{disposable as l,makeHandle as p}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as u}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as d,whenOrAbort as y,onAbort as m}from"../core/promiseUtils.js";import{watch as h,sync as c}from"../core/reactiveUtils.js";import{join as f}from"../core/urlUtils.js";import{property as b,subclass as v}from"../core/accessorSupport/decorators.js";import g from"./Layer.js";import{APIKeyMixin as S}from"./mixins/APIKeyMixin.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as L}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as w}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as F}from"./mixins/OperationalLayer.js";import{PortalLayer as I}from"./mixins/PortalLayer.js";import{RefreshableLayer as T}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as P}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as _}from"./mixins/TemporalLayer.js";import x from"./support/AnnotationFeatureSublayer.js";import{parse as O,cleanTitle as C,titleFromUrlAndName as A}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as U,popupEnabled as k}from"./support/commonProperties.js";import{ensureLayerCredential as M,createQuery as D,getFieldDomain as N,hasDataChanged as Q}from"./support/featureLayerUtils.js";import{defineFieldProperties as G}from"./support/fieldProperties.js";import{fixTimeInfoFields as H}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import R from"../rest/support/Query.js";import{createPopupTemplate as $}from"../support/popupUtils.js";import{reader as B}from"../core/accessorSupport/decorators/reader.js";const K="annotation-feature-layer",V=G(),W=a.ofType(x);let z=class extends(w(L(_(P(T(j(F(I(u(E(S(o(g))))))))))))){constructor(e){super(e),this._sublayerLookup=new Map,this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.operationalLayerType="ArcGISAnnotationLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayers=new W,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Annotation Layer"]),this.type="annotation-feature",this._dataElementPromise=null,this.addHandles(h(()=>this.sublayers,(e,t)=>this._handleSublayersChange(e,t),c))}destroy(){this.source?.destroy()}load(e){const t=e?.signal,r=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(d).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(t);null!=e&&(this.layerId=e)}if(!this.url)throw new n(`${K}:missing-url`,"AnnotationFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(t))}).then(()=>M(this,"load",e));return this.addResolvingPromise(r),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readSublayers(e,t){const r=new W(t.subtypes.map(({code:e})=>new x({subtypeCode:e})).reverse());if(this.visibleLayers){const e=new Set(this.visibleLayers);r.forEach(t=>{t.visible=e.has(t.subtypeCode)})}return r}readTitleFromService(e,t){const{url:r}=this,s=t.name||O(r)?.title;switch(this.sublayerTitleMode){case"item-title":if(r)return A(r,s);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==s)return e=C(e),s?`${e} - ${C(s)}`:e;break}}return s?C(s):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}get visibleLayers(){return 0===this.sublayers.length?this._get("visibleLayers")??null:Array.from(new Set(this.sublayers?.toArray().filter(e=>e.visible).map(e=>e.subtypeCode).sort((e,t)=>e-t)??null))}set visibleLayers(e){this._set("visibleLayers",e)}createPopupTemplate(e){return $(this,e)}async createGraphicsSource(r){const s={stack:[],error:void 0,hasError:!1};try{const{default:t}=await y(import("./graphics/sources/FeatureLayerSource.js"),r),i=new t({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(s,l(m(r,()=>i.cancelLoad())??p()),!1);return await i.load({signal:r}),i}catch(i){s.error=i,s.hasError=!0}finally{t(s)}}createQuery(){const e=D(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const t=f(this.url,"queryDataElements"),r={f:"json",layers:this.layerId};return this._dataElementPromise=i(t,{...e,responseType:"json",query:r}).then(e=>{const t=e.data.layerDataElements,r=this.layerId,s=t.find(e=>e.layerId===r);if(!s)throw new n("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return s.dataElement}),this._dataElementPromise}findSublayerForFeature(e){const t=this.fieldsIndex.get(this.subtypeField),r=e.attributes[t.name];return this.findSublayerForSubtypeCode(r)}findSublayerForSubtypeCode(e){return this._sublayerLookup.get(e)}getFieldDomain(e,t){return N(this,e,t,this.getField(e)?.domain??null)}async queryFeatures(e,t){const r=await this.load(),s=await r.source.queryFeatures(R.from(e)??r.createQuery(),t);if(s?.features)for(const i of s.features){const e=this.findSublayerForFeature(i);i.origin=e?.graphicOrigin,i.layer=i.sourceLayer=this}return s}async queryObjectIds(e,t){const r=await this.load();return r.source.queryObjectIds(R.from(e)??r.createQuery(),t)}async queryFeatureCount(e,t){const r=await this.load();return r.source.queryFeatureCount(R.from(e)??r.createQuery(),t)}async queryExtent(e,t){const r=await this.load();return r.source.queryExtent(R.from(e)??r.createQuery(),t)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),H(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return Q(this)}_verifySource(){if(this.version&&this.version<10.8)throw new n(K+":unsupported-version","The feature service must be version 10.8 or above.")}_fetchFirstValidLayerId(e){return i(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const t=e.data;if(!t)return;this.applyPreferredHost(t);const r=[...t.layers||[],...t.tables||[]];return r.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}_handleSublayersChange(e,t){t&&(t.forEach(e=>{e.parent=null}),this.removeHandles("sublayers-owner"),this._sublayerLookup.clear()),e&&(e.forEach(e=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),this.addHandles([e.on("after-add",({item:e})=>{e.parent=this,this._sublayerLookup.set(e.subtypeCode,e)}),e.on("after-remove",({item:e})=>{e.parent=null,this._sublayerLookup.delete(e.subtypeCode)})],"sublayers-owner"))}};r([b(q)],z.prototype,"barrierWeight",void 0),r([b({json:{write:!0}})],z.prototype,"editingEnabled",null),r([b({readOnly:!0})],z.prototype,"effectiveEditingEnabled",null),r([b({...V.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],z.prototype,"fields",void 0),r([b(V.fieldsIndex)],z.prototype,"fieldsIndex",void 0),r([b(U)],z.prototype,"id",void 0),r([b({type:["ArcGISAnnotationLayer"]})],z.prototype,"operationalLayerType",void 0),r([b(V.outFields)],z.prototype,"outFields",void 0),r([b(k)],z.prototype,"popupEnabled",void 0),r([b({type:s,json:{name:"popupInfo",write:!0}})],z.prototype,"popupTemplate",void 0),r([b({readOnly:!0})],z.prototype,"defaultPopupTemplate",null),r([b({clonable:!1,readOnly:!0})],z.prototype,"source",void 0),r([b({type:W})],z.prototype,"sublayers",void 0),r([B("service","sublayers",["subtypes"])],z.prototype,"readSublayers",null),r([b({type:String})],z.prototype,"sublayerTitleMode",void 0),r([B("service","title",["name"])],z.prototype,"readTitleFromService",null),r([B("portal-item","title")],z.prototype,"readTitleFromPortalItem",null),r([b({json:{read:!1},value:"annotation-feature",readOnly:!0})],z.prototype,"type",void 0),r([b({type:[Number],json:{write:{ignoreOrigin:!0}}})],z.prototype,"visibleLayers",null),z=r([v("esri.layers.AnnotationFeatureLayer")],z);const X=z;export{X as default};
|
|
@@ -45,6 +45,46 @@ export interface DimensionFeatureLayerProperties extends LayerProperties, APIKey
|
|
|
45
45
|
|
|
46
46
|
export interface DimensionFeatureLayerEvents extends EditBusLayerEvents, RefreshableLayerEvents, LayerEvents {}
|
|
47
47
|
|
|
48
|
+
/**
|
|
49
|
+
* DimensionFeatureLayer is 2D-only, and is not supported in [3D SceneViews](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/). This layer is used for showing specific lengths or distances on a map. A dimension may indicate the length of a side of a building or land parcel, or the distance between two features,
|
|
50
|
+
* such as a fire hydrant and the corner of a building. A dimension feature is composed of several parts that may or may not be displayed, depending on the application. These parts are each represented differently
|
|
51
|
+
* using different symbology and placement rules. Dimension features are not supported by the Legend component and the printed legend (it does print, but will not display in the printed legend).
|
|
52
|
+
* Example of a dimension feature:
|
|
53
|
+
*
|
|
54
|
+
* <figure>
|
|
55
|
+
* <img src="https://developers.arcgis.com/javascript/latest/assets/references/core/layers/dimensionfeaturelayer.avif" alt="dimension"/>
|
|
56
|
+
* <figcaption> This image shows a DimensionFeatureLayer visualizing distances.</figcaption>
|
|
57
|
+
* </figure>
|
|
58
|
+
*
|
|
59
|
+
* DimensionFeatureLayer may be created from a [url](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/#url).
|
|
60
|
+
* In the geodatabase, dimensions are stored in dimension feature classes. As with other feature classes in the geodatabase, all features in a dimension feature class have a geographic location and attributes and
|
|
61
|
+
* can either be inside or outside a feature dataset. Like annotation features, dimension features are graphic features, and their symbology is stored in the geodatabase.
|
|
62
|
+
*
|
|
63
|
+
* ```js
|
|
64
|
+
* // get a reference to arcgis-map
|
|
65
|
+
* const viewElement = document.querySelector("arcgis-map");
|
|
66
|
+
* // Create a dimension feature layer from a feature service layer URL
|
|
67
|
+
* const layer = new DimensionFeatureLayer({
|
|
68
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/LakeDimensions/FeatureServer/0"
|
|
69
|
+
* });
|
|
70
|
+
* // add the layer to the map
|
|
71
|
+
* viewElement.map.add(layer);
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* > [!WARNING]
|
|
75
|
+
* >
|
|
76
|
+
* > **Known Limitations**
|
|
77
|
+
* > The following features are not currently supported at this release. Future releases will see increased functionality and support for additional features.
|
|
78
|
+
* > * Editing
|
|
79
|
+
* > * [DimensionFeatureLayerView.featureEffect](https://developers.arcgis.com/javascript/latest/references/core/views/layers/DimensionFeatureLayerView/#featureEffect)
|
|
80
|
+
* > * [DimensionFeatureLayerView.filter](https://developers.arcgis.com/javascript/latest/references/core/views/layers/DimensionFeatureLayerView/#filter)
|
|
81
|
+
*
|
|
82
|
+
* @beta
|
|
83
|
+
* @since 5.1
|
|
84
|
+
* @see [Dimensions in ArcGIS Pro](https://doc.esri.com/en/arcgis-pro/latest/help/data/dimensions/dimensions-in-arcgis-pro.html)
|
|
85
|
+
* @see [3D DimensionLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionLayer/)
|
|
86
|
+
* @see [AnnotationFeatureLayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/AnnotationFeatureLayer/)
|
|
87
|
+
*/
|
|
48
88
|
export default class DimensionFeatureLayer extends DimensionFeatureLayerSuperclass {
|
|
49
89
|
/**
|
|
50
90
|
* @deprecated
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__addDisposableResource as e,__disposeResources as r,__decorate as t}from"tslib";import i from"../PopupTemplate.js";import o from"../request.js";import{ClonableMixin as s}from"../core/Clonable.js";import a from"../core/Error.js";import{disposable as n,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,whenOrAbort as m,onAbort as d}from"../core/promiseUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h,subclass as y}from"../core/accessorSupport/decorators.js";import f from"../graphic/DimensionFeatureGraphicOrigin.js";import
|
|
2
|
+
import{__addDisposableResource as e,__disposeResources as r,__decorate as t}from"tslib";import i from"../PopupTemplate.js";import o from"../request.js";import{ClonableMixin as s}from"../core/Clonable.js";import a from"../core/Error.js";import{disposable as n,makeHandle as l}from"../core/handleUtils.js";import{MultiOriginJSONSupportMixin as p}from"../core/MultiOriginJSONSupport.js";import{throwIfAbortError as u,whenOrAbort as m,onAbort as d}from"../core/promiseUtils.js";import{join as c}from"../core/urlUtils.js";import{property as h,subclass as y}from"../core/accessorSupport/decorators.js";import f from"../graphic/DimensionFeatureGraphicOrigin.js";import v from"./Layer.js";import{APIKeyMixin as g}from"./mixins/APIKeyMixin.js";import{ArcGISService as j}from"./mixins/ArcGISService.js";import{BlendLayer as b}from"./mixins/BlendLayer.js";import{CustomParametersMixin as E}from"./mixins/CustomParametersMixin.js";import{FeatureLayerBase as S}from"./mixins/FeatureLayerBase.js";import{OperationalLayer as I}from"./mixins/OperationalLayer.js";import{PortalLayer as T}from"./mixins/PortalLayer.js";import{RefreshableLayer as w}from"./mixins/RefreshableLayer.js";import{ScaleRangeLayer as L}from"./mixins/ScaleRangeLayer.js";import{TemporalLayer as P}from"./mixins/TemporalLayer.js";import{parse as F,cleanTitle as x,titleFromUrlAndName as O}from"./support/arcgisLayerUrl.js";import{barrierWeight as q,id as _,popupEnabled as D}from"./support/commonProperties.js";import{ensureLayerCredential as U,createQuery as M,getFieldDomain as A,hasDataChanged as G}from"./support/featureLayerUtils.js";import{defineFieldProperties as Q}from"./support/fieldProperties.js";import{fixTimeInfoFields as C}from"./support/fieldUtils.js";import{serviceSupportsSpatialReference as J}from"./support/versionUtils.js";import N from"../rest/support/Query.js";import{createPopupTemplate as R}from"../support/popupUtils.js";import{reader as k}from"../core/accessorSupport/decorators/reader.js";const $="dimension-feature-layer",B=Q();let H=class extends(S(b(P(L(w(j(I(T(p(E(g(s(v))))))))))))){constructor(e){super(e),this.barrierWeight="high",this.fields=null,this.fieldsIndex=null,this.graphicOrigin=new f(this),this.operationalLayerType="ArcGISDimensionLayer",this.outFields=null,this.popupEnabled=!0,this.popupTemplate=null,this.source=null,this.sublayerTitleMode="item-title",this.supportedSourceTypes=new Set(["Dimension Layer"]),this.type="dimension-feature",this._dataElementPromise=null}destroy(){this.source?.destroy()}load(e){const r=e?.signal,t=this.loadFromPortal({supportedTypes:["Feature Service"]},e).catch(u).then(async()=>{if(this.url&&null==this.layerId&&/FeatureServer|MapServer\/*$/i.test(this.url)){const e=await this._fetchFirstValidLayerId(r);null!=e&&(this.layerId=e)}if(!this.url)throw new a(`${$}:missing-url`,"DimensionFeatureLayer must be created with a url");return this.initLayerProperties(await this.createGraphicsSource(r))}).then(()=>U(this,"load",e));return this.addResolvingPromise(t),Promise.resolve(this)}get editingEnabled(){return this._isOverridden("editingEnabled")?this._get("editingEnabled"):this.loaded&&null!=this.capabilities&&this.capabilities.operations.supportsEditing&&this.userHasEditingPrivileges}set editingEnabled(e){this._overrideIfSome("editingEnabled",e)}get effectiveEditingEnabled(){return!1}get defaultPopupTemplate(){return this.createPopupTemplate()}readTitleFromService(e,r){const{url:t}=this,i=r.name||F(t)?.title;switch(this.sublayerTitleMode){case"item-title":if(t)return O(t,i);break;case"item-title-and-service-name":{let e=this.portalItem?.title;if(e&&e!==i)return e=x(e),i?`${e} - ${x(i)}`:e;break}}return i?x(i):void 0}readTitleFromPortalItem(e){return"item-title"===this.sublayerTitleMode?e:void 0}createPopupTemplate(e){return R(this,e)}async createGraphicsSource(t){const i={stack:[],error:void 0,hasError:!1};try{const{default:r}=await m(import("./graphics/sources/FeatureLayerSource.js"),t),o=new r({layer:this,supportedSourceTypes:this.supportedSourceTypes});e(i,n(d(t,()=>o.cancelLoad())??l()),!1);return await o.load({signal:t}),o}catch(o){i.error=o,i.hasError=!0}finally{r(i)}}createQuery(){const e=M(this);return e.where=this.definitionExpression||"1=1",e}async fetchDataElement(e){if(this._dataElementPromise)return this._dataElementPromise;if(!this.url)throw new Error("InternalError: A URL is required to retrieve the data element for this layer.");const r=c(this.url,"queryDataElements"),t={f:"json",layers:this.layerId};return this._dataElementPromise=o(r,{...e,responseType:"json",query:t}).then(e=>{const r=e.data.layerDataElements,t=this.layerId,i=r.find(e=>e.layerId===t);if(!i)throw new a("fetchDataElement:not-available","A data element for this layer could not be retrieved.");return i.dataElement}),this._dataElementPromise}getFieldDomain(e,r){return A(this,e,r,this.getField(e)?.domain??null)}async queryFeatures(e,r){const t=await this.load(),i=await t.source.queryFeatures(N.from(e)??t.createQuery(),r),o=this.graphicOrigin;if(i?.features)for(const s of i.features)s.layer=s.sourceLayer=t,s.origin=o;return i}async queryObjectIds(e,r){const t=await this.load();return t.source.queryObjectIds(N.from(e)??t.createQuery(),r)}async queryFeatureCount(e,r){const t=await this.load();return t.source.queryFeatureCount(N.from(e)??t.createQuery(),r)}async queryExtent(e,r){const t=await this.load();return t.source.queryExtent(N.from(e)??t.createQuery(),r)}serviceSupportsSpatialReference(e){return this.loaded&&J(this,e)}async initLayerProperties(e){this._set("source",e),e.sourceJSON&&(this.sourceJSON=e.sourceJSON,this.read(e.sourceJSON,{origin:"service",portalItem:this.portalItem,portal:this.portalItem?.portal,url:this.parsedUrl})),this._verifySource(),C(this.timeInfo,this.fieldsIndex)}async hasDataChanged(){return G(this)}_verifySource(){if(this.version&&this.version<10.8)throw new a($+":unsupported-version","The feature service must be version 10.8 or above.")}_fetchFirstValidLayerId(e){return o(this.url??"",{query:{f:"json",...this.customParameters,token:this.apiKey},responseType:"json",signal:e}).then(e=>{const r=e.data;if(!r)return;this.applyPreferredHost(r);const t=[...r.layers||[],...r.tables||[]];return t.find(({type:e})=>!e||this.supportedSourceTypes.has(e))?.id})}};t([h(q)],H.prototype,"barrierWeight",void 0),t([h({json:{write:!0}})],H.prototype,"editingEnabled",null),t([h({readOnly:!0})],H.prototype,"effectiveEditingEnabled",null),t([h({...B.fields,readOnly:!0,json:{read:!1,origins:{service:{read:!0}}}})],H.prototype,"fields",void 0),t([h(B.fieldsIndex)],H.prototype,"fieldsIndex",void 0),t([h({readOnly:!0,clonable:!1})],H.prototype,"graphicOrigin",void 0),t([h(_)],H.prototype,"id",void 0),t([h({type:["ArcGISDimensionLayer"]})],H.prototype,"operationalLayerType",void 0),t([h(B.outFields)],H.prototype,"outFields",void 0),t([h(D)],H.prototype,"popupEnabled",void 0),t([h({type:i,json:{name:"popupInfo",write:!0}})],H.prototype,"popupTemplate",void 0),t([h({readOnly:!0})],H.prototype,"defaultPopupTemplate",null),t([h({clonable:!1,readOnly:!0})],H.prototype,"source",void 0),t([h({type:String})],H.prototype,"sublayerTitleMode",void 0),t([k("service","title",["name"])],H.prototype,"readTitleFromService",null),t([k("portal-item","title")],H.prototype,"readTitleFromPortalItem",null),t([h({json:{read:!1},value:"dimension-feature",readOnly:!0})],H.prototype,"type",void 0),H=t([y("esri.layers.DimensionFeatureLayer")],H);const K=H;export{K as default};
|
|
@@ -103,6 +103,7 @@ export interface DimensionLayerProperties extends LayerProperties, OperationalLa
|
|
|
103
103
|
* @see [DimensionSimpleStyle](https://developers.arcgis.com/javascript/latest/references/core/analysis/DimensionSimpleStyle/)
|
|
104
104
|
* @see [DimensionAnalysisView3D](https://developers.arcgis.com/javascript/latest/references/core/views/3d/analysis/DimensionAnalysisView3D/)
|
|
105
105
|
* @see [Sample - Length dimensioning](https://developers.arcgis.com/javascript/latest/sample-code/layers-dimension/)
|
|
106
|
+
* @see [2D DimensionFeatureLayer (beta)](https://developers.arcgis.com/javascript/latest/references/core/layers/DimensionFeatureLayer/)
|
|
106
107
|
*/
|
|
107
108
|
export default class DimensionLayer extends DimensionLayerSuperclass {
|
|
108
109
|
/** @example const dimensionLayer = new DimensionLayer(); */
|