@arcgis/core 5.0.0-next.84 → 5.0.0-next.86
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/Basemap.d.ts +2 -2
- package/Camera.d.ts +3 -3
- package/CameraLayout.d.ts +2 -2
- package/Graphic.d.ts +3 -3
- package/Ground.d.ts +2 -2
- package/Map.d.ts +2 -2
- package/PopupTemplate.d.ts +3 -3
- package/Viewpoint.d.ts +2 -2
- package/WebDocument2D.d.ts +3 -3
- package/WebScene.d.ts +3 -3
- package/analysis/Analysis.d.ts +3 -3
- package/analysis/Dimension/types.d.ts +0 -1
- package/analysis/DimensionSimpleStyle.d.ts +3 -3
- package/analysis/ElevationProfile/ElevationProfileDisplayUnits.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLine.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLineChartOptions.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileLineViewOptions.d.ts +2 -2
- package/analysis/ElevationProfile/ElevationProfileViewOptions.d.ts +2 -2
- package/analysis/LengthDimension.d.ts +3 -3
- package/analysis/LineOfSightAnalysisObserver.d.ts +3 -3
- package/analysis/LineOfSightAnalysisTarget.d.ts +3 -3
- package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
- package/analysis/ShadowCast/MinDurationOptions.d.ts +2 -2
- package/analysis/ShadowCast/TotalDurationOptions.d.ts +2 -2
- package/analysis/ShadowCast/types.d.ts +0 -1
- package/analysis/SlicePlane.d.ts +3 -3
- package/analysis/Viewshed.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementCutFillOptions.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementDisplayUnits.d.ts +3 -3
- package/analysis/VolumeMeasurement/VolumeMeasurementInputUnits.d.ts +3 -3
- package/analysis/VolumeMeasurement/types.d.ts +0 -1
- package/analysis/support/AnalysisOriginWebScene.d.ts +2 -2
- package/applications/Components/applySetUtils.d.ts +237 -0
- package/applications/Components/applySetUtils.js +5 -0
- package/applications/Components/editUtils.d.ts +92 -0
- package/applications/Components/editUtils.js +5 -0
- package/applications/Components/symbolUtils.d.ts +37 -0
- package/applications/Components/symbolUtils.js +5 -0
- package/applications/Components/templateUtils.d.ts +135 -0
- package/applications/Components/templateUtils.js +5 -0
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/001fd3d30e5bb0d180c6.js +1 -0
- package/assets/esri/core/workers/chunks/008a555ce169640e2a35.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{9919b3c345785e910c38.js → 03d037f9f04f165aac63.js} +1 -1
- package/assets/esri/core/workers/chunks/0402b7996940ba0f8cc8.js +2 -0
- package/assets/esri/core/workers/chunks/{534ed6574e4a1613ba05.js.LICENSE.txt → 0402b7996940ba0f8cc8.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/0889e3d1a034be031c9e.js +2 -0
- package/assets/esri/core/workers/chunks/{21ac84b5c7dedcfd747d.js.LICENSE.txt → 0889e3d1a034be031c9e.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/09ca0d05b090e9a70e61.js +1 -0
- package/assets/esri/core/workers/chunks/{84a4390b1c277c415d44.js → 0c358199ada2ff71e7d9.js} +1 -1
- package/assets/esri/core/workers/chunks/{bbb409e54db77bfabdee.js → 0dcf1f3b6aa84cbe03a9.js} +1 -1
- package/assets/esri/core/workers/chunks/{59e7a0215791b2b51180.js → 126183819921e6025c90.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a41c9127ca5a260d5ef.js → 15132d36e7ccbb3c009e.js} +1 -1
- package/assets/esri/core/workers/chunks/1919ed99166e70021917.js +1 -0
- package/assets/esri/core/workers/chunks/{9fac9eda0a41f7f4c2c6.js → 198ae9e02366870d3ec8.js} +1 -1
- package/assets/esri/core/workers/chunks/{6de843d1809cba61ded3.js → 1aee859eaffa54ef2515.js} +1 -1
- package/assets/esri/core/workers/chunks/1c68befc39d39799fcb8.js +1 -0
- package/assets/esri/core/workers/chunks/{df40be5a050b8d20617a.js → 1cf27708d17a4de75b68.js} +1 -1
- package/assets/esri/core/workers/chunks/{f3fdf9970b3c7acd071d.js → 21163137e345badb1aaf.js} +1 -1
- package/assets/esri/core/workers/chunks/21739c37160061f229ef.js +1 -0
- package/assets/esri/core/workers/chunks/{5b0ca8d2154ef59da600.js → 32b09ca094377a305881.js} +1 -1
- package/assets/esri/core/workers/chunks/365cb8aab4ca56999b47.js +1 -0
- package/assets/esri/core/workers/chunks/{c825ca22894bdb4d01ba.js → 3b434f318fdbbe4111e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{98e04c2382fa5ba382fc.js → 3dc1ae04cfa2c06daf48.js} +1 -1
- package/assets/esri/core/workers/chunks/{c46a4681cbba638b58c1.js → 3ebd4cdafa7682062447.js} +1 -1
- package/assets/esri/core/workers/chunks/45c1a3376b138eeee329.js +1 -0
- package/assets/esri/core/workers/chunks/{76d6843d56bff0d4c45e.js → 476e51284e6ed7dc5c99.js} +1 -1
- package/assets/esri/core/workers/chunks/{18cdd268fc921ffd92e2.js → 47bea83ae7fe0e1acee0.js} +1 -1
- package/assets/esri/core/workers/chunks/{304ea784c28dc78e5e65.js → 4a857a7f5e00dfab2b44.js} +1 -1
- package/assets/esri/core/workers/chunks/4c07b2d1a14906371fc5.js +2 -0
- package/assets/esri/core/workers/chunks/{e3d3fc87789fd711f161.js.LICENSE.txt → 4c07b2d1a14906371fc5.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{04fddd41a8e6a4c1bc57.js → 5139bbe8f94df01467c7.js} +1 -1
- package/assets/esri/core/workers/chunks/{e881629bf230a148963d.js → 52ae2073604deef63ea2.js} +1 -1
- package/assets/esri/core/workers/chunks/5734aefbce8b6425630c.js +1 -0
- package/assets/esri/core/workers/chunks/{3909217130048b5feeae.js → 5852d291ef41201030d5.js} +12 -12
- package/assets/esri/core/workers/chunks/{348560f083350ad0bf2e.js → 5a0c5271304189a2401d.js} +1 -1
- package/assets/esri/core/workers/chunks/{1fe1a131be1d5e1e23ed.js → 5a1921c177580f17ff96.js} +1 -1
- package/assets/esri/core/workers/chunks/{1a13b472e0cf9f88e8de.js → 5d791bfca20791d8e0af.js} +1 -1
- package/assets/esri/core/workers/chunks/5eee48b02e1683f022df.js +2 -0
- package/assets/esri/core/workers/chunks/{ef519984fa691aad8d87.js.LICENSE.txt → 5eee48b02e1683f022df.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{3b6fc34b6d92eef030e5.js → 6298e71e6c480d6f46e3.js} +1 -1
- package/assets/esri/core/workers/chunks/{854adab6a06af861c104.js → 68d0bae1816061d96307.js} +1 -1
- package/assets/esri/core/workers/chunks/6d9e92d9c2503d5dc8dd.js +1 -0
- package/assets/esri/core/workers/chunks/{156c73a948bde11f0d53.js → 743165f9bc4d85748a0d.js} +1 -1
- package/assets/esri/core/workers/chunks/{9ff1e650ce0912afa780.js → 7449af8f3637c1694660.js} +1 -1
- package/assets/esri/core/workers/chunks/7f15d15c7e2c5d3e70c3.js +1 -0
- package/assets/esri/core/workers/chunks/{5e3dd05f1ecfdb21350e.js → 7f7c4ffbdf7b20dc7a54.js} +1 -1
- package/assets/esri/core/workers/chunks/804c9666d0dc548b9f79.js +1 -0
- package/assets/esri/core/workers/chunks/8258b1c8ba6d44ba19c3.js +1 -0
- package/assets/esri/core/workers/chunks/890833e98e79b8fd3747.js +1 -0
- package/assets/esri/core/workers/chunks/{d6e11f05db698d14f21d.js → 8a7f56139b7de0011a37.js} +1 -1
- package/assets/esri/core/workers/chunks/{dc57400b835724204909.js → 8b1fa59d436e2815b2f1.js} +2 -2
- package/assets/esri/core/workers/chunks/{dc57400b835724204909.js.LICENSE.txt → 8b1fa59d436e2815b2f1.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{ec03d59984782529031a.js → 8b575ac55bc396c0c477.js} +1 -1
- package/assets/esri/core/workers/chunks/{db9a9712038df76e3eda.js → 8ef337e25d65670eb73b.js} +1 -1
- package/assets/esri/core/workers/chunks/8f2fc50eb988c0228b05.js +1 -0
- package/assets/esri/core/workers/chunks/{c500b59cd7da54fe72ec.js → 8f3abaabc61858e929a5.js} +1 -1
- package/assets/esri/core/workers/chunks/9264cce4699284eae97c.js +2 -0
- package/assets/esri/core/workers/chunks/{5aee84e827e6fcc9c4c4.js.LICENSE.txt → 9264cce4699284eae97c.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{e201bfe3158c025edc99.js → 93faad2a759b08dce619.js} +1 -1
- package/assets/esri/core/workers/chunks/{1779e6eabc299831fc9f.js → 94c4ef224ff38eca7b87.js} +1 -1
- package/assets/esri/core/workers/chunks/95e93884b39ca4b312d1.js +2 -0
- package/assets/esri/core/workers/chunks/{90a53bfe95ed687c28c1.js.LICENSE.txt → 95e93884b39ca4b312d1.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{e8f6305744f87bbed961.js → 96616126aaf319cd1c6f.js} +1 -1
- package/assets/esri/core/workers/chunks/{d8c8f54532714d4db2cd.js → 981f05b5ef6f9c3f7e8a.js} +1 -1
- package/assets/esri/core/workers/chunks/{841058de8bc6e328fd68.js → 9d77a7d04872b4535e9e.js} +1 -1
- package/assets/esri/core/workers/chunks/{338768f94cc49559b209.js → 9ebc4303e29ee0fc1716.js} +1 -1
- package/assets/esri/core/workers/chunks/a270e34bb248114ec280.js +1 -0
- package/assets/esri/core/workers/chunks/a6b8ce1c2996ee392bdf.js +1 -0
- package/assets/esri/core/workers/chunks/{6610d23d8539f06e64ca.js → adecd31fd64d6753682d.js} +1 -1
- package/assets/esri/core/workers/chunks/{b91a157fb5f729de6597.js → b5ca894a6cb1a19676d5.js} +1 -1
- package/assets/esri/core/workers/chunks/{a2c0c1bb5e775abefc90.js → b6530c66804bede649d7.js} +1 -1
- package/assets/esri/core/workers/chunks/{3849dc35941e569fae5f.js → c12c095937b21e39ad3c.js} +1 -1
- package/assets/esri/core/workers/chunks/c18a2948ae3cb527d8bb.js +1 -0
- package/assets/esri/core/workers/chunks/{4ff3c03cfbec928c0720.js → c4fb3f0b0cfb21e68413.js} +1 -1
- package/assets/esri/core/workers/chunks/{f5b32bc3f7ee911e3c59.js → c5d56b85d34026507902.js} +1 -1
- package/assets/esri/core/workers/chunks/{181fab86394f1f912490.js → cc464d5a83f8f405e66c.js} +1 -1
- package/assets/esri/core/workers/chunks/cee29c3a94376f6740d7.js +1 -0
- package/assets/esri/core/workers/chunks/d6d9d56b3733622deab6.js +1 -0
- package/assets/esri/core/workers/chunks/{ce9467dc1ff695d795e5.js → d8b72c6f5f9b2d013b7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{f0eb2bfe5a8607b251f5.js → dc2c9b584f8e4627de7f.js} +1 -1
- package/assets/esri/core/workers/chunks/{b586d7e608e8ba8b88fe.js → e067bbf12f711fd5b9a6.js} +1 -1
- package/assets/esri/core/workers/chunks/e271065410ba5c872f53.js +1 -0
- package/assets/esri/core/workers/chunks/{d9d2178d436597b1afaf.js → e7e508258ad27468a6a5.js} +1 -1
- package/assets/esri/core/workers/chunks/e8a0654cebafa22b5b56.js +1 -0
- package/assets/esri/core/workers/chunks/e95f90d59041640727da.js +1 -0
- package/assets/esri/core/workers/chunks/eb063660c37093f85349.js +1 -0
- package/assets/esri/core/workers/chunks/{2a1898c5b8d7757e39e3.js → f1e1666bede364c069fc.js} +1 -1
- package/assets/esri/core/workers/chunks/{ac0949ea3d2cf3eb7383.js → f25eb512592a84a508c1.js} +1 -1
- package/assets/esri/core/workers/chunks/f5ed6953a9255f0bed6a.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/f64ec13167eb51da2f9b.js +1 -0
- package/assets/esri/core/workers/chunks/{14f8215ab716c6d9d5f8.js → fbf21fda283836e8633c.js} +1 -1
- package/assets/esri/core/workers/chunks/fc763ce37d631e006199.js +1 -0
- package/assets/esri/core/workers/chunks/ff2a170acd98edfd0e06.js +1 -0
- package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
- package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
- 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/HUDMaterial.glsl.js +1 -1
- package/config.js +1 -1
- package/copyright.txt +2 -2
- package/core/Clonable.d.ts +0 -2
- package/core/Collection.d.ts +1 -1
- package/core/Error.d.ts +0 -1
- package/core/Evented.d.ts +0 -2
- package/core/Identifiable.d.ts +0 -1
- package/core/JSONSupport.d.ts +0 -2
- package/core/MultiOriginJSONSupport.d.ts +1 -3
- package/core/Promise.d.ts +8 -4
- package/core/ReadOnlyMultiOriginJSONSupport.d.ts +0 -2
- package/core/Version.d.ts +0 -1
- package/core/accessorSupport/types.d.ts +0 -1
- package/core/sql/types.d.ts +0 -1
- package/core/timeUtils.js +1 -1
- package/core/types.d.ts +0 -1
- package/core/units.d.ts +1 -1
- package/editing/sharedTemplates/templateLoader.js +5 -0
- package/editing/sharedTemplates/types.d.ts +0 -1
- package/editing/templateUtils.js +1 -1
- package/effects/FocusArea.d.ts +3 -3
- package/effects/FocusAreaOutline.d.ts +3 -3
- package/effects/FocusAreas.d.ts +3 -3
- package/effects/types.d.ts +0 -1
- package/form/ExpressionInfo.d.ts +2 -2
- package/form/FormTemplate.d.ts +2 -2
- package/form/elements/Element.d.ts +2 -2
- package/form/elements/UtilityNetworkAssociationsElement.d.ts +2 -2
- package/geometry/Geometry.d.ts +2 -2
- package/geometry/HeightModelInfo.d.ts +2 -2
- package/geometry/Mesh.d.ts +3 -3
- package/geometry/SpatialReference.d.ts +2 -2
- package/geometry/geometryEngineTypes.d.ts +0 -1
- package/geometry/support/MeshComponent.d.ts +3 -3
- package/geometry/support/MeshGeoreferencedVertexSpace.d.ts +3 -3
- package/geometry/support/MeshLocalVertexSpace.d.ts +3 -3
- package/geometry/support/MeshMaterial.d.ts +3 -3
- package/geometry/support/MeshTexture.d.ts +3 -3
- package/geometry/support/MeshTextureTransform.d.ts +3 -3
- package/geometry/support/MeshTransform.d.ts +3 -3
- package/geometry/support/MeshVertexAttributes.d.ts +3 -3
- package/graphic/GraphicOrigin.d.ts +0 -1
- package/ground/NavigationConstraint.d.ts +2 -2
- package/identity/Credential.d.ts +2 -2
- package/identity/OAuthInfo.d.ts +2 -2
- package/identity/ServerInfo.d.ts +2 -2
- package/interfaces.d.ts +8 -3
- package/intl/locale.d.ts +0 -1
- package/intl/messages.d.ts +0 -1
- package/intl/number.d.ts +0 -1
- package/intl/substitute.d.ts +0 -1
- package/intl/t9n.d.ts +0 -1
- package/kernel.js +1 -1
- package/layers/BaseElevationLayer.d.ts +3 -4
- package/layers/BingMapsLayer.d.ts +2 -2
- package/layers/BuildingSceneLayer.d.ts +5 -4
- package/layers/CatalogLayer.d.ts +3 -3
- package/layers/DimensionLayer.d.ts +2 -2
- package/layers/ElevationLayer.d.ts +3 -4
- package/layers/ElevationLayer.js +1 -1
- package/layers/FeatureLayer.d.ts +4 -4
- package/layers/GaussianSplatLayer.d.ts +2 -2
- package/layers/GeoJSONLayer.d.ts +2 -2
- package/layers/GeoRSSLayer.d.ts +2 -2
- package/layers/GroupLayer.d.ts +2 -2
- package/layers/ImageryLayer.d.ts +3 -3
- package/layers/ImageryTileLayer.d.ts +3 -3
- package/layers/IntegratedMesh3DTilesLayer.d.ts +2 -2
- package/layers/IntegratedMeshLayer.d.ts +5 -4
- package/layers/KMLLayer.d.ts +2 -2
- package/layers/KnowledgeGraphLayer.d.ts +2 -2
- package/layers/Layer.d.ts +2 -2
- package/layers/LineOfSightLayer.d.ts +2 -2
- package/layers/LinkChartLayer.d.ts +2 -2
- package/layers/MapImageLayer.d.ts +2 -2
- package/layers/MapNotesLayer.d.ts +2 -2
- package/layers/MediaLayer.d.ts +2 -2
- package/layers/OGCFeatureLayer.d.ts +2 -2
- package/layers/ParquetLayer.d.ts +3 -3
- package/layers/PointCloudLayer.d.ts +5 -4
- package/layers/RouteLayer.d.ts +2 -2
- package/layers/SceneLayer.d.ts +6 -5
- package/layers/StreamLayer.d.ts +3 -3
- package/layers/SubtypeGroupLayer.d.ts +4 -4
- package/layers/TileLayer.d.ts +2 -2
- package/layers/UnknownLayer.d.ts +2 -2
- package/layers/UnsupportedLayer.d.ts +2 -2
- package/layers/VectorTileLayer.d.ts +2 -2
- package/layers/VideoLayer.d.ts +2 -2
- package/layers/ViewshedLayer.d.ts +2 -2
- package/layers/VoxelLayer.d.ts +2 -2
- package/layers/WCSLayer.d.ts +3 -3
- package/layers/WFSLayer.d.ts +2 -2
- package/layers/WMSLayer.d.ts +2 -2
- package/layers/WMTSLayer.d.ts +2 -2
- package/layers/WebTileLayer.d.ts +2 -2
- package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +2 -2
- package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
- package/layers/buildingSublayers/BuildingSublayer.d.ts +2 -2
- package/layers/catalog/CatalogDynamicGroupLayer.d.ts +2 -2
- package/layers/catalog/CatalogFootprintLayer.d.ts +2 -2
- package/layers/effects/types.d.ts +0 -1
- package/layers/knowledgeGraph/IdTypePair.d.ts +0 -1
- package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +2 -2
- package/layers/mixins/APIKeyMixin.d.ts +0 -1
- package/layers/mixins/CustomParametersMixin.d.ts +0 -1
- package/layers/mixins/EditBusLayer.d.ts +0 -2
- package/layers/mixins/ImageryTileMixin.js +1 -1
- package/layers/mixins/OperationalLayer.d.ts +0 -1
- package/layers/mixins/ScaleRangeLayer.d.ts +0 -1
- package/layers/mixins/SceneService.d.ts +0 -6
- package/layers/pointCloudFilters/PointCloudFilter.d.ts +2 -2
- package/layers/raster/datasets/FunctionRaster.js +1 -1
- package/layers/raster/datasets/pixelReader.d.ts +0 -1
- package/layers/raster/datasets/types.d.ts +0 -1
- package/layers/raster/functions/BaseRasterFunction.js +1 -1
- package/layers/raster/functions/StretchFunction.js +1 -1
- package/layers/raster/functions/changeDetectionUtils.d.ts +0 -1
- package/layers/raster/functions/focalStatUtils.d.ts +0 -1
- package/layers/scene/types.d.ts +11 -0
- package/layers/support/AggregateField.d.ts +2 -2
- package/layers/support/BuildingFilter.d.ts +2 -2
- package/layers/support/BuildingFilterBlock.d.ts +2 -2
- package/layers/support/BuildingSummaryStatistics.d.ts +3 -3
- package/layers/support/CodedValue.d.ts +2 -2
- package/layers/support/ControlPoint.d.ts +2 -2
- package/layers/support/ControlPointsGeoreference.d.ts +2 -2
- package/layers/support/DimensionalDefinition.d.ts +2 -2
- package/layers/support/DisplayFilter.d.ts +3 -3
- package/layers/support/DisplayFilterInfo.d.ts +3 -3
- package/layers/support/Domain.d.ts +2 -2
- package/layers/support/EditFieldsInfo.d.ts +3 -3
- package/layers/support/ElevationQuery.js +1 -1
- package/layers/support/ElevationTileData.js +1 -1
- package/layers/support/ExpressionInfo.d.ts +3 -3
- package/layers/support/FacilityLayerInfo.d.ts +2 -2
- package/layers/support/FeatureEffect.d.ts +2 -2
- package/layers/support/FeatureFilter.d.ts +2 -2
- package/layers/support/FeatureReductionBinning.d.ts +2 -2
- package/layers/support/FeatureReductionCluster.d.ts +2 -2
- package/layers/support/FeatureReductionSelection.d.ts +2 -2
- package/layers/support/FeatureTemplate.d.ts +3 -3
- package/layers/support/FeatureType.d.ts +3 -3
- package/layers/support/Field.d.ts +2 -2
- package/layers/support/FieldConfiguration.d.ts +3 -3
- package/layers/support/GeometryFieldsInfo.d.ts +3 -3
- package/layers/support/KMLSublayer.d.ts +3 -3
- package/layers/support/LOD.d.ts +2 -2
- package/layers/support/LabelClass.d.ts +2 -2
- package/layers/support/LabelExpressionInfo.d.ts +2 -2
- package/layers/support/LayerFloorInfo.d.ts +2 -2
- package/layers/support/LevelLayerInfo.d.ts +2 -2
- package/layers/support/LocalMediaElementSource.d.ts +3 -3
- package/layers/support/MapImage.d.ts +2 -2
- package/layers/support/MediaElementBase.d.ts +2 -2
- package/layers/support/MosaicRule.d.ts +2 -2
- package/layers/support/MultidimensionalSubset.d.ts +13 -4
- package/layers/support/OrderByInfo.d.ts +2 -2
- package/layers/support/ParquetGeometryEncodingLocation.d.ts +3 -3
- package/layers/support/ParquetGeometryEncodingWkb.d.ts +3 -3
- package/layers/support/PixelBlock.d.ts +2 -2
- package/layers/support/PlaybackInfo.d.ts +3 -3
- package/layers/support/PurgeOptions.d.ts +2 -2
- package/layers/support/RasterBandInfo.d.ts +2 -2
- package/layers/support/RasterFunction.d.ts +2 -2
- package/layers/support/RasterInfo.d.ts +2 -2
- package/layers/support/RasterJobHandler.js +1 -1
- package/layers/support/RasterSensorInfo.d.ts +2 -2
- package/layers/support/RasterWorker.js +1 -1
- package/layers/support/Relationship.d.ts +5 -3
- package/layers/support/RouteStopSymbols.d.ts +2 -2
- package/layers/support/RouteSymbols.d.ts +2 -2
- package/layers/support/SceneFilter.d.ts +2 -2
- package/layers/support/SceneLayerViewFilter.js +5 -0
- package/layers/support/SceneModification.d.ts +2 -2
- package/layers/support/SceneModifications.d.ts +1 -1
- package/layers/support/SiteLayerInfo.d.ts +2 -2
- package/layers/support/Sublayer.d.ts +2 -2
- package/layers/support/Subtype.d.ts +3 -3
- package/layers/support/SubtypeSublayer.d.ts +3 -3
- package/layers/support/TelemetryData.d.ts +3 -3
- package/layers/support/TelemetryDisplay.d.ts +3 -3
- package/layers/support/TileInfo.d.ts +2 -2
- package/layers/support/TileMatrixSet.d.ts +2 -2
- package/layers/support/TimeInfo.d.ts +3 -3
- package/layers/support/TrackInfo.d.ts +3 -3
- package/layers/support/TrackPartInfo.d.ts +3 -3
- package/layers/support/VideoTimeExtent.d.ts +3 -3
- package/layers/support/WMSSublayer.d.ts +2 -2
- package/layers/support/WMTSStyle.d.ts +2 -2
- package/layers/support/WMTSSublayer.d.ts +2 -2
- package/layers/support/types.d.ts +32 -0
- package/layers/video/types.d.ts +0 -1
- package/layers/voxel/VoxelColorStop.d.ts +3 -3
- package/layers/voxel/VoxelDynamicSection.d.ts +3 -3
- package/layers/voxel/VoxelIsosurface.d.ts +3 -3
- package/layers/voxel/VoxelOpacityStop.d.ts +3 -3
- package/layers/voxel/VoxelRangeFilter.d.ts +3 -3
- package/layers/voxel/VoxelSlice.d.ts +3 -3
- package/layers/voxel/VoxelTransferFunctionStyle.d.ts +3 -3
- package/layers/voxel/VoxelUniqueValue.d.ts +3 -3
- package/layers/voxel/VoxelVariable.d.ts +2 -2
- package/layers/voxel/VoxelVariableStyle.d.ts +2 -2
- package/layers/voxel/VoxelVolumeStyle.d.ts +2 -2
- package/layers/wms/types.d.ts +0 -1
- package/layers/wmts/types.d.ts +0 -1
- package/linkChart/ChronologicalLayoutSettings.d.ts +3 -3
- package/linkChart/LayoutSettings.d.ts +3 -3
- package/linkChart/LinkChartProperties.d.ts +3 -3
- package/linkChart/NonspatialDataDisplay.d.ts +3 -3
- package/linkChart/OrganicLayoutSettings.d.ts +3 -3
- package/linkChart/types.d.ts +0 -1
- package/networks/CircuitManager.d.ts +3 -3
- package/networks/Network.d.ts +2 -2
- package/networks/UnitIdentifierManager.d.ts +2 -2
- package/networks/support/Circuit.d.ts +2 -2
- package/networks/support/CircuitLocation.d.ts +2 -2
- package/networks/support/CircuitPath.d.ts +2 -2
- package/networks/support/CircuitPathConnectivityElement.d.ts +2 -2
- package/networks/support/CircuitSection.d.ts +2 -2
- package/networks/support/NamedTraceConfiguration.d.ts +2 -2
- package/networks/support/Subcircuit.d.ts +2 -2
- package/networks/support/Terminal.d.ts +2 -2
- package/networks/support/TerminalConfiguration.d.ts +2 -2
- package/networks/support/TraceConfiguration.d.ts +2 -2
- package/networks/support/UNTraceConfiguration.d.ts +2 -2
- package/networks/support/jsonTypes.d.ts +65 -0
- package/networks/support/typeUtils.d.ts +0 -1
- package/package.json +1 -1
- package/popup/ElementExpressionInfo.d.ts +2 -2
- package/popup/ExpressionInfo.d.ts +2 -2
- package/popup/FieldInfo.d.ts +3 -3
- package/popup/LayerOptions.d.ts +2 -2
- package/popup/RelatedRecordsInfo.d.ts +2 -2
- package/popup/content/AttachmentsContent.d.ts +2 -2
- package/popup/content/Content.d.ts +2 -2
- package/popup/content/RelationshipContent.d.ts +2 -2
- package/popup/content/UtilityNetworkAssociationsContent.d.ts +2 -2
- package/popup/content/mixins/MediaInfo.d.ts +2 -2
- package/popup/content/support/ChartMediaInfoValue.d.ts +2 -2
- package/popup/content/support/ImageMediaInfoValue.d.ts +2 -2
- package/popup/support/AttachmentsOrderByInfo.d.ts +3 -3
- package/popup/support/FieldInfoFormat.d.ts +3 -3
- package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +2 -2
- package/popup/support/UtilityNetworkAssociationType.d.ts +3 -3
- package/portal/Portal.d.ts +2 -2
- package/portal/PortalFolder.d.ts +2 -2
- package/portal/PortalGroup.d.ts +2 -2
- package/portal/PortalItem.d.ts +2 -2
- package/portal/PortalUser.d.ts +2 -2
- package/portal/timeUnitKebabDictionary.js +1 -1
- package/renderers/FlowRenderer.d.ts +2 -2
- package/renderers/PieChartRenderer.d.ts +2 -2
- package/renderers/PointCloudRenderer.d.ts +2 -2
- package/renderers/RasterColormapRenderer.d.ts +2 -2
- package/renderers/RasterShadedReliefRenderer.d.ts +2 -2
- package/renderers/RasterStretchRenderer.d.ts +2 -2
- package/renderers/Renderer.d.ts +2 -2
- package/renderers/VectorFieldRenderer.d.ts +2 -2
- package/renderers/support/AttributeColorInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoFieldInfo.d.ts +2 -2
- package/renderers/support/AuthoringInfoVisualVariable.d.ts +2 -2
- package/renderers/support/ClassBreakInfo.d.ts +2 -2
- package/renderers/support/ColormapInfo.d.ts +2 -2
- package/renderers/support/DotDensityLegendOptions.d.ts +2 -2
- package/renderers/support/HeatmapColorStop.d.ts +2 -2
- package/renderers/support/HeatmapLegendOptions.d.ts +3 -3
- package/renderers/support/OthersCategory.d.ts +3 -3
- package/renderers/support/RasterPresetRenderer.d.ts +3 -3
- package/renderers/support/RendererLegendOptions.d.ts +3 -3
- package/renderers/support/UniqueValue.d.ts +3 -3
- package/renderers/support/UniqueValueClass.d.ts +3 -3
- package/renderers/support/UniqueValueGroup.d.ts +3 -3
- package/renderers/support/UniqueValueInfo.d.ts +2 -2
- package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +2 -2
- package/renderers/support/pointCloud/ColorModulation.d.ts +2 -2
- package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +2 -2
- package/renderers/visualVariables/VisualVariable.d.ts +2 -2
- package/renderers/visualVariables/support/ColorSizeStop.d.ts +2 -2
- package/renderers/visualVariables/support/ColorStop.d.ts +2 -2
- package/renderers/visualVariables/support/OpacityStop.d.ts +2 -2
- package/renderers/visualVariables/support/SizeStop.d.ts +2 -2
- package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +3 -3
- package/rest/featureService/FeatureService.d.ts +2 -2
- package/rest/featureService/types.d.ts +42 -5
- package/rest/geoprocessor/GPOptions.d.ts +2 -2
- package/rest/geoprocessor/utils.js +1 -1
- package/rest/knowledgeGraph/DataModel.d.ts +2 -2
- package/rest/knowledgeGraph/FieldIndex.d.ts +2 -2
- package/rest/knowledgeGraph/GraphObject.d.ts +2 -2
- package/rest/knowledgeGraph/GraphObjectType.d.ts +2 -2
- package/rest/knowledgeGraph/GraphProperty.d.ts +2 -2
- package/rest/knowledgeGraph/KnowledgeGraph.d.ts +2 -2
- package/rest/knowledgeGraph/Path.d.ts +2 -2
- package/rest/knowledgeGraph/ServiceDefinition.d.ts +2 -2
- package/rest/knowledgeGraph/SourceTypeValueBehavior.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +2 -2
- package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +0 -1
- package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +2 -2
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +0 -1
- package/rest/lastMileDelivery/types.d.ts +0 -1
- package/rest/layerSources/DynamicDataLayer.d.ts +2 -2
- package/rest/layerSources/DynamicMapLayer.d.ts +2 -2
- package/rest/layerSources/JoinTableDataSource.d.ts +2 -2
- package/rest/layerSources/QueryTableDataSource.d.ts +2 -2
- package/rest/layerSources/RasterDataSource.d.ts +2 -2
- package/rest/layerSources/TableDataSource.d.ts +2 -2
- package/rest/networks/circuits/exportCircuits.js +1 -1
- package/rest/networks/circuits/support/CircuitTraceResult.d.ts +2 -2
- package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +11 -3
- package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
- package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +2 -2
- package/rest/networks/support/AggregatedGeometry.d.ts +2 -2
- package/rest/networks/support/Association.d.ts +2 -2
- package/rest/networks/support/AssociationGeometriesResult.d.ts +2 -2
- package/rest/networks/support/FunctionResult.d.ts +2 -2
- package/rest/networks/support/NetworkElement.d.ts +2 -2
- package/rest/networks/support/QueryAssociationsParameters.d.ts +2 -2
- package/rest/networks/support/QueryAssociationsResult.d.ts +2 -2
- package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +2 -2
- package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +2 -2
- package/rest/networks/support/TraceLocation.d.ts +3 -3
- package/rest/networks/support/TraceParameters.d.ts +2 -2
- package/rest/networks/support/TraceResult.d.ts +2 -2
- package/rest/networks/support/ValidateNetworkTopologyParameters.d.ts +2 -2
- package/rest/networks/support/ValidateNetworkTopologyResult.d.ts +2 -2
- package/rest/query/support/AttachmentInfo.d.ts +2 -2
- package/rest/support/AddressCandidate.d.ts +2 -2
- package/rest/support/AddressToLocationsParameters.d.ts +2 -2
- package/rest/support/AddressesToLocationsParameters.d.ts +2 -2
- package/rest/support/ArealUnit.d.ts +2 -2
- package/rest/support/AreasAndLengthsParameters.d.ts +2 -2
- package/rest/support/AttachmentQuery.d.ts +2 -2
- package/rest/support/AttributeBinsFeatureSet.d.ts +2 -2
- package/rest/support/AttributeBinsGrouping.d.ts +3 -3
- package/rest/support/AttributeBinsQuery.d.ts +3 -3
- package/rest/support/BaseImageMeasureParameters.d.ts +2 -2
- package/rest/support/BaseImageMeasureResult.d.ts +2 -2
- package/rest/support/BaseImageMeasureResultValue.d.ts +2 -2
- package/rest/support/BinParametersBase.d.ts +3 -3
- package/rest/support/BufferParameters.d.ts +2 -2
- package/rest/support/CameraInfo.d.ts +2 -2
- package/rest/support/CameraInfoMixin.d.ts +0 -1
- package/rest/support/ClosestFacilityParameters.d.ts +3 -3
- package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
- package/rest/support/ColorRamp.d.ts +2 -2
- package/rest/support/DataFile.d.ts +2 -2
- package/rest/support/DataLayer.d.ts +3 -3
- package/rest/support/DateBinTimeInterval.d.ts +3 -3
- package/rest/support/DensifyParameters.d.ts +2 -2
- package/rest/support/DirectionLine.d.ts +3 -3
- package/rest/support/DirectionPoint.d.ts +3 -3
- package/rest/support/DirectionsEvent.d.ts +2 -2
- package/rest/support/DirectionsString.d.ts +2 -2
- package/rest/support/FeatureSet.d.ts +2 -2
- package/rest/support/FindImagesParameters.d.ts +3 -3
- package/rest/support/FindImagesResult.d.ts +2 -2
- package/rest/support/FindParameters.d.ts +2 -2
- package/rest/support/FindResult.d.ts +2 -2
- package/rest/support/GPMessage.d.ts +2 -2
- package/rest/support/GeneralizeParameters.d.ts +2 -2
- package/rest/support/IdentifyParameters.d.ts +2 -2
- package/rest/support/IdentifyResult.d.ts +2 -2
- package/rest/support/ImageAngleParameters.d.ts +2 -2
- package/rest/support/ImageAngleResult.d.ts +2 -2
- package/rest/support/ImageBoundaryParameters.d.ts +3 -3
- package/rest/support/ImageBoundaryResult.d.ts +2 -2
- package/rest/support/ImageGPSInfo.d.ts +2 -2
- package/rest/support/ImageGPSInfoParameters.d.ts +3 -3
- package/rest/support/ImageGPSInfoResult.d.ts +2 -2
- package/rest/support/ImageHistogramParameters.d.ts +2 -2
- package/rest/support/ImageIdentifyParameters.d.ts +2 -2
- package/rest/support/ImageIdentifyResult.d.ts +2 -2
- package/rest/support/ImageInspectionInfo.d.ts +2 -2
- package/rest/support/ImagePixelLocationParameters.d.ts +2 -2
- package/rest/support/ImagePixelLocationResult.d.ts +2 -2
- package/rest/support/ImageSample.d.ts +2 -2
- package/rest/support/ImageSampleParameters.d.ts +2 -2
- package/rest/support/ImageSampleResult.d.ts +2 -2
- package/rest/support/ImageToMapMultirayParameters.d.ts +3 -3
- package/rest/support/ImageToMapParameters.d.ts +3 -3
- package/rest/support/ImageUrlParameters.d.ts +3 -3
- package/rest/support/ImageUrlResult.d.ts +2 -2
- package/rest/support/ImageVolume.d.ts +2 -2
- package/rest/support/ImageVolumeParameters.d.ts +3 -3
- package/rest/support/ImageVolumeResult.d.ts +2 -2
- package/rest/support/JobInfo.d.ts +2 -2
- package/rest/support/LastMileDeliveryParameters.d.ts +3 -3
- package/rest/support/LegendLayer.d.ts +2 -2
- package/rest/support/LengthsParameters.d.ts +2 -2
- package/rest/support/LinearUnit.d.ts +2 -2
- package/rest/support/LocateSettingBase.d.ts +3 -3
- package/rest/support/LocateSettingSource.d.ts +3 -3
- package/rest/support/LocateSettings.d.ts +3 -3
- package/rest/support/LocateSettingsOverrides.d.ts +3 -3
- package/rest/support/LocationToAddressParameters.d.ts +2 -2
- package/rest/support/MapToImageParameters.d.ts +3 -3
- package/rest/support/MeasureAreaFromImageResult.d.ts +2 -2
- package/rest/support/MeasureFromImageParameters.d.ts +2 -2
- package/rest/support/MeasureLengthFromImageResult.d.ts +2 -2
- package/rest/support/NetworkUrl.d.ts +3 -3
- package/rest/support/NormalizationBinParametersMixin.d.ts +0 -1
- package/rest/support/OffsetParameters.d.ts +2 -2
- package/rest/support/ParameterValue.d.ts +4 -2
- package/rest/support/PointBarrier.d.ts +3 -3
- package/rest/support/PolygonBarrier.d.ts +3 -3
- package/rest/support/PolylineBarrier.d.ts +3 -3
- package/rest/support/ProjectParameters.d.ts +2 -2
- package/rest/support/QuantizationParameters.d.ts +2 -2
- package/rest/support/Query.d.ts +13 -2
- package/rest/support/RasterData.d.ts +2 -2
- package/rest/support/RelationParameters.d.ts +2 -2
- package/rest/support/RelationshipQuery.d.ts +2 -2
- package/rest/support/RouteInfo.d.ts +3 -3
- package/rest/support/RouteParameters.d.ts +3 -3
- package/rest/support/RouteResult.d.ts +2 -2
- package/rest/support/RouteSolveResult.d.ts +2 -2
- package/rest/support/ServiceAreaParameters.d.ts +3 -3
- package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
- package/rest/support/StatisticDefinition.d.ts +2 -2
- package/rest/support/Stop.d.ts +3 -3
- package/rest/support/SuggestLocationsParameters.d.ts +2 -2
- package/rest/support/TimeUnit.d.ts +42 -0
- package/rest/support/TimeUnit.js +5 -0
- package/rest/support/TopFeaturesQuery.d.ts +2 -2
- package/rest/support/TopFilter.d.ts +2 -2
- package/rest/support/TravelMode.d.ts +3 -3
- package/rest/support/TrimExtendParameters.d.ts +2 -2
- package/rest/support/parameterValueUtils.js +1 -1
- package/rest/types.d.ts +1 -1
- package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +2 -2
- package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +2 -2
- package/rest/versionManagement/support/CreateVersionParameters.d.ts +2 -2
- package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +2 -2
- package/statistics/types.d.ts +0 -1
- package/support/MapFloorInfo.d.ts +2 -2
- package/support/revision.js +1 -1
- package/symbols/Font.d.ts +2 -2
- package/symbols/LineStyleMarker3D.d.ts +3 -3
- package/symbols/LineSymbolMarker.d.ts +2 -2
- package/symbols/Symbol.d.ts +2 -2
- package/symbols/Symbol3DLayer.d.ts +2 -2
- package/symbols/callouts/Callout3D.d.ts +2 -2
- package/symbols/callouts/LineCallout3DBorder.d.ts +2 -2
- package/symbols/edges/Edges3D.d.ts +2 -2
- package/symbols/patterns/LinePattern3D.d.ts +2 -2
- package/symbols/patterns/Pattern3D.d.ts +2 -2
- package/symbols/support/ElevationInfo.d.ts +10 -4
- package/symbols/support/FeatureExpressionInfo.d.ts +2 -2
- package/symbols/support/IconSymbol3DLayerResource.d.ts +2 -2
- package/symbols/support/ObjectSymbol3DLayerResource.d.ts +2 -2
- package/symbols/support/OccludedVisibility.d.ts +3 -3
- package/symbols/support/Symbol3DFillMaterial.js +1 -1
- package/symbols/support/Symbol3DHalo.d.ts +2 -2
- package/symbols/support/Symbol3DIconOutline.d.ts +2 -2
- package/symbols/support/Symbol3DMaterial.d.ts +6 -4
- package/symbols/support/Symbol3DMaterial.js +1 -1
- package/symbols/support/Symbol3DOutline.d.ts +2 -2
- package/symbols/support/Symbol3DTextBackground.d.ts +3 -3
- package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
- package/symbols/support/symbolUtils.js +1 -1
- package/symbols/support/types.d.ts +0 -1
- package/tables/AttributeTableTemplate.d.ts +2 -2
- package/tables/elements/AttributeTableAttachmentElement.d.ts +2 -2
- package/tables/elements/AttributeTableElement.d.ts +2 -2
- package/tables/elements/AttributeTableFieldElement.d.ts +2 -2
- package/tables/elements/AttributeTableGroupElement.d.ts +2 -2
- package/tables/elements/AttributeTableRelationshipElement.d.ts +2 -2
- package/tables/support/FieldOrder.d.ts +3 -3
- package/time/TimeExtent.d.ts +2 -2
- package/time/TimeExtent.js +1 -1
- package/time/TimeInterval.d.ts +3 -3
- package/time/types.d.ts +0 -1
- package/versionManagement/VersionManagementService.d.ts +2 -2
- package/versionManagement/VersioningState.d.ts +2 -2
- package/versionManagement/support/type.d.ts +0 -1
- package/views/2d/ViewState.d.ts +2 -2
- package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
- package/views/2d/layers/imagery/BaseImageryTileSubView2D.js +1 -1
- package/views/2d/layers/imagery/ImageryTileView2D.js +1 -1
- package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +0 -1
- package/views/3d/analysis/Dimension/types.d.ts +0 -1
- package/views/3d/analysis/Slice/types.d.ts +0 -1
- package/views/3d/analysis/Viewshed/types.d.ts +0 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
- package/views/3d/camera/intersectionUtils.js +1 -1
- package/views/3d/constraints/AltitudeConstraint.d.ts +2 -2
- package/views/3d/constraints/ClipDistanceConstraint.d.ts +2 -2
- package/views/3d/constraints/Constraints.d.ts +2 -2
- package/views/3d/constraints/TiltConstraint.d.ts +2 -2
- package/views/3d/environment/CloudyWeather.d.ts +2 -2
- package/views/3d/environment/FoggyWeather.d.ts +2 -2
- package/views/3d/environment/RainyWeather.d.ts +2 -2
- package/views/3d/environment/SnowyWeather.d.ts +2 -2
- package/views/3d/environment/SunLighting.d.ts +2 -2
- package/views/3d/environment/SunnyWeather.d.ts +2 -2
- package/views/3d/environment/VirtualLighting.d.ts +2 -2
- package/views/3d/layers/ElevationLayerView3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
- package/views/3d/webgl/ManagedFBO.js +1 -1
- package/views/3d/webgl/ManagedFBOResource.d.ts +0 -1
- package/views/3d/webgl/RenderNode.d.ts +1 -1
- package/views/3d/webgl/RenderNode.js +1 -1
- package/views/3d/webgl/types.d.ts +0 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillDepth.js +1 -1
- package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
- package/views/3d/webgl.d.ts +16 -8
- package/views/3d/webgl.js +1 -1
- package/views/Theme.d.ts +2 -2
- package/views/VideoView.d.ts +4 -4
- package/views/View.d.ts +3 -3
- package/views/View2D.d.ts +2 -2
- package/views/ViewAnimation.d.ts +2 -2
- package/views/Viewport2DMixin.d.ts +0 -2
- package/views/analysis/ElevationProfile/ElevationProfileResult.d.ts +2 -2
- package/views/animation/types.d.ts +0 -1
- package/views/draw/CursorUpdateEvent.d.ts +0 -1
- package/views/draw/DrawAction.d.ts +3 -3
- package/views/draw/DrawCompleteEvent.d.ts +0 -1
- package/views/draw/VertexAddEvent.d.ts +0 -1
- package/views/draw/VertexRemoveEvent.d.ts +0 -1
- package/views/draw/support/managers/{DrawTooltipManager.js → TooltipManager.js} +1 -1
- package/views/draw/types.d.ts +0 -1
- package/views/interactive/Tooltip.d.ts +2 -2
- package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
- package/views/interactive/snapping/SnappingContext.js +1 -1
- package/views/interactive/tooltip/types.d.ts +0 -1
- package/views/layers/ImageryTileLayerViewMixin.d.ts +0 -1
- package/views/layers/LayerView.d.ts +3 -3
- package/views/layers/SceneLayerView.js +1 -1
- package/views/layers/types.d.ts +0 -1
- package/views/navigation/types.d.ts +0 -1
- package/views/support/AttributionItem.d.ts +0 -1
- package/views/ui/UI.d.ts +2 -2
- package/webdoc/GeotriggersInfo.d.ts +3 -3
- package/webdoc/IPSInfo.d.ts +3 -3
- package/webdoc/Widgets.d.ts +2 -2
- package/webdoc/applicationProperties/Search.d.ts +2 -2
- package/webdoc/applicationProperties/SearchLayer.d.ts +2 -2
- package/webdoc/applicationProperties/SearchLayerField.d.ts +2 -2
- package/webdoc/applicationProperties/SearchTable.d.ts +2 -2
- package/webdoc/applicationProperties/SearchTableField.d.ts +2 -2
- package/webdoc/applicationProperties/Viewing.d.ts +2 -2
- package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +3 -3
- package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureFilter.d.ts +3 -3
- package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +3 -3
- package/webdoc/geotriggersInfo/Geotrigger.d.ts +3 -3
- package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +3 -3
- package/webdoc/geotriggersInfo/support/typeUtils.d.ts +0 -1
- package/webdoc/ips/AppleIPSProperties.d.ts +3 -3
- package/webdoc/ips/Configuration.d.ts +3 -3
- package/webdoc/ips/GNSSProperties.d.ts +3 -3
- package/webdoc/ips/PathSnappingProperties.d.ts +3 -3
- package/webdoc/ips/PositioningService.d.ts +3 -3
- package/webdoc/ips/SmoothingProperties.d.ts +3 -3
- package/webdoc/support/SlideThumbnail.d.ts +3 -3
- package/webdoc/support/types.d.ts +0 -1
- package/webdoc/widgets/FloorFilter.d.ts +2 -2
- package/webdoc/widgets/TimeSlider.d.ts +2 -2
- package/webmap/ApplicationProperties.d.ts +2 -2
- package/webmap/Bookmark.d.ts +2 -2
- package/webmap/InitialViewProperties.d.ts +2 -2
- package/webmap/background/ColorBackground.d.ts +2 -2
- package/webscene/ApplicationProperties.d.ts +2 -2
- package/webscene/Environment.d.ts +2 -2
- package/webscene/InitialViewProperties.d.ts +3 -3
- package/webscene/Presentation.d.ts +3 -3
- package/webscene/Slide.d.ts +4 -4
- package/webscene/SlideLegendInfo.d.ts +3 -3
- package/webscene/SunLighting.d.ts +2 -2
- package/webscene/VirtualLighting.d.ts +2 -2
- package/webscene/background/Background.d.ts +2 -2
- package/webscene/support/Description.d.ts +3 -3
- package/webscene/support/FeatureReference.d.ts +3 -3
- package/webscene/support/FeatureReferenceId.d.ts +3 -3
- package/webscene/support/LayerReference.d.ts +3 -3
- package/webscene/support/SlideElements.d.ts +3 -3
- package/webscene/support/SlideEnvironment.d.ts +3 -3
- package/webscene/support/SlideGround.d.ts +3 -3
- package/webscene/support/SlidePopupInfo.d.ts +3 -3
- package/webscene/support/SlideVisibleLayer.d.ts +3 -3
- package/webscene/support/Title.d.ts +3 -3
- package/widgets/Attachments/types.d.ts +0 -1
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +2 -2
- package/widgets/BasemapLayerList/types.d.ts +0 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +20 -2
- package/widgets/BatchAttributeForm.d.ts +2 -0
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/Bookmarks/BookmarksViewModel.d.ts +2 -2
- package/widgets/CatalogLayerList/CatalogLayerListViewModel.d.ts +2 -2
- package/widgets/CatalogLayerList/types.d.ts +0 -1
- package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
- package/widgets/Daylight/DaylightViewModel.d.ts +2 -2
- package/widgets/Daylight/types.d.ts +0 -1
- package/widgets/DirectionalPad/DirectionalPadViewModel.d.ts +2 -2
- package/widgets/DirectionalPad/types.d.ts +0 -1
- package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +2 -2
- package/widgets/Editor/UpdateFeaturesWorkflowData.d.ts +2 -2
- package/widgets/Editor/Workflow.d.ts +2 -2
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/ElevationProfile/ElevationProfileLine.d.ts +2 -2
- package/widgets/Feature/support/featureUtils.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.d.ts +3 -3
- package/widgets/FeatureTable/FeatureTableViewModel.d.ts +43 -4
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -2
- package/widgets/FeatureTable/Grid/types.d.ts +7 -1
- package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +3 -3
- package/widgets/FeatureTable/support/EditableColumnTemplateMixin.d.ts +0 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTable/support/TableTemplate.d.ts +3 -3
- package/widgets/FeatureTable.d.ts +43 -4
- package/widgets/FeatureTable.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +2 -2
- package/widgets/Features/FeaturesViewModel.d.ts +2 -2
- package/widgets/Histogram/types.d.ts +0 -1
- package/widgets/HistogramRangeSlider/types.d.ts +0 -1
- package/widgets/Home/HomeViewModel.d.ts +2 -2
- package/widgets/Home.d.ts +1 -2
- package/widgets/LayerList/LayerListViewModel.d.ts +2 -2
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +2 -2
- package/widgets/Measurement/types.d.ts +0 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +3 -3
- package/widgets/OrientedImageryViewer/types.d.ts +0 -1
- package/widgets/Print/CustomTemplate.d.ts +2 -2
- package/widgets/Print/PrintViewModel.d.ts +3 -3
- package/widgets/ScaleRangeSlider/types.d.ts +0 -1
- package/widgets/Search/SearchSource.d.ts +2 -2
- package/widgets/Search/SearchViewModel.d.ts +8 -4
- package/widgets/Search/SearchViewModel.js +1 -1
- package/widgets/Search/support/layerSearchUtils.js +1 -1
- package/widgets/Search.js +1 -1
- package/widgets/ShadowCast/types.d.ts +0 -1
- package/widgets/Sketch/SketchViewModel.d.ts +2 -2
- package/widgets/Swipe/types.d.ts +0 -1
- package/widgets/TableList/TableListViewModel.d.ts +2 -2
- package/widgets/TimeSlider/TimeSliderViewModel.d.ts +2 -2
- package/widgets/Track/types.d.ts +0 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +2 -2
- package/widgets/ValuePicker/types.d.ts +0 -1
- package/widgets/Weather/types.d.ts +0 -1
- package/widgets/Widget.d.ts +3 -3
- package/widgets/support/GeolocationPositioning.d.ts +2 -2
- package/widgets/support/GridControls/GridControlsViewModel.d.ts +2 -2
- package/widgets/support/GridControls/types.d.ts +0 -1
- package/widgets/support/forms/types.d.ts +0 -1
- package/widgets/types.d.ts +1 -2
- package/assets/esri/core/workers/chunks/21ac84b5c7dedcfd747d.js +0 -2
- package/assets/esri/core/workers/chunks/22503abc06354741d28a.js +0 -1
- package/assets/esri/core/workers/chunks/3606fc5537c4d11b9554.js +0 -1
- package/assets/esri/core/workers/chunks/3ad7ec46adecf00ae1c2.js +0 -1
- package/assets/esri/core/workers/chunks/3b67aa46a60e35469bf8.js +0 -1
- package/assets/esri/core/workers/chunks/4b09d92c51c4619b548a.js +0 -1
- package/assets/esri/core/workers/chunks/52684c2abc9e8ce793cf.js +0 -1
- package/assets/esri/core/workers/chunks/532935f420ed5f13c011.js +0 -1
- package/assets/esri/core/workers/chunks/5348e4dc55428de9bba7.js +0 -1
- package/assets/esri/core/workers/chunks/534ed6574e4a1613ba05.js +0 -2
- package/assets/esri/core/workers/chunks/53a1c6e008287d1f12f0.js +0 -1
- package/assets/esri/core/workers/chunks/5aee84e827e6fcc9c4c4.js +0 -2
- package/assets/esri/core/workers/chunks/5fc6cada83bf8462d54c.js +0 -1
- package/assets/esri/core/workers/chunks/7b2f848947b296c7c785.js +0 -1
- package/assets/esri/core/workers/chunks/7f76566d9b3801742387.js +0 -1
- package/assets/esri/core/workers/chunks/81e395a93c67749c6487.js +0 -1
- package/assets/esri/core/workers/chunks/8deae3a426eceae73186.js +0 -1
- package/assets/esri/core/workers/chunks/90a53bfe95ed687c28c1.js +0 -2
- package/assets/esri/core/workers/chunks/911912b0ef7ffed875be.js +0 -1
- package/assets/esri/core/workers/chunks/a4ee92867ad5cde25aed.js +0 -1
- package/assets/esri/core/workers/chunks/ab3e457c82fa9bd0203f.js +0 -1
- package/assets/esri/core/workers/chunks/af3d4eba6fe24db3ceba.js +0 -1
- package/assets/esri/core/workers/chunks/b1085fa91724e2d3b24f.js +0 -1
- package/assets/esri/core/workers/chunks/b48b0f512a1cd7226bdc.js +0 -1
- package/assets/esri/core/workers/chunks/c0265669fb616f052b65.js +0 -1
- package/assets/esri/core/workers/chunks/c16115cfbca879dd6717.js +0 -1
- package/assets/esri/core/workers/chunks/d3c69c9cb3d9c3f5c67a.js +0 -1
- package/assets/esri/core/workers/chunks/d477def8bfd8482596d1.js +0 -1
- package/assets/esri/core/workers/chunks/dd30c1f5da0af72becd1.js +0 -1
- package/assets/esri/core/workers/chunks/dfef6e3d7bbf099de498.js +0 -1
- package/assets/esri/core/workers/chunks/e3d3fc87789fd711f161.js +0 -2
- package/assets/esri/core/workers/chunks/ef519984fa691aad8d87.js +0 -2
- package/layers/support/ElevationTileData.d.ts +0 -32
- package/rest/geoprocessor/execute.d.ts +0 -6
- /package/layers/buildingSublayers/{utils.d.ts → types.d.ts} +0 -0
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{getOrCreateMapValue as i}from"../core/MapUtils.js";import{watch as n,on as o}from"../core/reactiveUtils.js";import{property as a,subclass as s}from"../core/accessorSupport/decorators.js";import{isIntegerField as r}from"../layers/support/fieldUtils.js";import{isString as l}from"../support/guards.js";import d from"./Widget.js";import{getHiddenFieldsValidationErrorMessage as p,getVisibleFieldInputValidationErrorMessage as u,isElementTemplateWithInputType as m}from"./BatchAttributeForm/batchAttributeFormUtils.js";import c from"./BatchAttributeForm/BatchAttributeFormViewModel.js";import{css as h}from"./BatchAttributeForm/css.js";import v from"./BatchAttributeForm/VisibleElements.js";import{isGroupInput as f,isFieldInput as b,isTextElementInput as C,differentValuesString as g}from"./BatchAttributeForm/inputs/support/inputUtils.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as y,getIntlOptionsForField as F,prepareISOFieldValueForDateComponents as w,prepareUnixFieldValueForDateComponents as I,normalizeTimeOnlyString as x,getISOFieldValueFromDateComponents as M,getUnixFieldValueFromDateComponents as k}from"./support/dateUtils.js";import{globalCss as O}from"./support/globalCss.js";import{messageBundle as T,vmEvent as V,tsx as D}from"./support/widget.js";import{setFocus as U}from"./support/widgetUtils.js";import{isEmptyValue as E}from"./support/forms/formUtils.js";const S="data-element-id";let R=class extends d{constructor(e,t){super(e,t),this.headingLevel=2,this.messagesCommon=null,this.messages=null,this.featureFormMessages=null,this.viewModel=new c,this.visibleElements=new v,this.groupDisplay="all",this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._touchedInputs=new Set,this._focusedFieldInput=null,this._batchSwitchInputInitialValues=new Map,this._saveInput=this._saveInput.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreate=this._afterDateComponentCreate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this)}initialize(){this.addHandles([n(()=>this.features,()=>{this._dateComponentMap.clear()}),n(()=>this.viewModel.activeForm,()=>{this._batchSwitchInputInitialValues.clear()}),o(()=>this.viewModel,"submit",()=>{this.valid||this.goToClosestError()})])}loadDependencies(){return _({input:()=>import("@esri/calcite-components/dist/components/calcite-input"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item"),"combobox-item-group":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item-group"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker"),"input-time-zone":()=>import("@esri/calcite-components/dist/components/calcite-input-time-zone"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),"input-message":()=>import("@esri/calcite-components/dist/components/calcite-input-message"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch"),"text-area":()=>import("@esri/calcite-components/dist/components/calcite-text-area"),"radio-button":()=>import("@esri/calcite-components/dist/components/calcite-radio-button"),"radio-button-group":()=>import("@esri/calcite-components/dist/components/calcite-radio-button-group")})}get activeFeatureIndex(){return this.viewModel.activeFeatureIndex}set activeFeatureIndex(e){this.viewModel.activeFeatureIndex=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get _effectiveDisabled(){return this.disabled||this.viewModel.updating}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get maximumFeatureCount(){return this.viewModel.maximumFeatureCount}set maximumFeatureCount(e){this.viewModel.maximumFeatureCount=e}get maximumFeatureCountWithComplexForms(){return this.viewModel.maximumFeatureCountWithComplexForms}set maximumFeatureCountWithComplexForms(e){this.viewModel.maximumFeatureCountWithComplexForms=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get icon(){return"edit-attributes"}set icon(e){this._overrideIfSome("icon",e)}get readOnly(){return this.viewModel.readOnly}set readOnly(e){this.viewModel.readOnly=e}get valid(){return this.viewModel.valid}goToClosestError(){const e=this.viewModel.getFirstVisibleInvalidFieldInput();if(!e)return;const{groupInput:t}=e;t&&(t.open||(t.open=!0)),this._focusedFieldInput=e.input,this._attemptFocusOnNextRender=!0,this.scheduleRender()}render(){const{status:e}=this.viewModel;return"failed"===e?this.viewModel.hasTooManyComplexFeatures?this._renderErrorNotice(t(this.messages.formFailedToLoadTooManyComplexFeatures,{num:this.viewModel.maximumFeatureCountWithComplexForms})):this.viewModel.hasTooManyFeatures?this._renderErrorNotice(t(this.messages.formFailedToLoadTooManyFeatures,{num:this.viewModel.maximumFeatureCount})):this._renderErrorNotice(this.messages.formFailedToLoad):this.viewModel.expressionEvaluationFailed?this._renderErrorNotice(this.messages.expressionEvaluationFailed):this.viewModel.hasLayersWithContingentValues?this._renderErrorNotice(this.messages.unsupportedContingentValues):D("div",{class:this.classes(h.base,O.widget,O.panel)},"loaded"===e?this._renderForm():"loading"===e&&this.visibleElements.loadingIndicator?D("calcite-loader",{key:"loader",label:this.messagesCommon?.loading}):null)}submit(){this.viewModel.submit()}_setDateTimeTimeZoneMap(e){const{datePart:t,elementId:n}=e.dataset,o=i(this._dateComponentMap,`${n}`,()=>({}));switch(t){case"date":o.date=e;break;case"time":o.time=e;break;case"timeZone":o.timeZone=e}}_renderErrorNotice(e){return D("div",{class:this.classes(h.base,O.widget,O.panel)},D("calcite-notice",{class:h.noticeError,icon:!0,kind:"warning",open:!0},D("div",{slot:"message"},e)))}_renderForm(){return D("form",{class:h.form,onsubmit:this._onFormSubmit},this._renderInvisibleFieldsError(),this._renderContent())}_renderInvisibleFieldsError(){const{viewModel:e}=this,{hasNonActiveInvalidFeatures:t,activeForm:i}=e;let n;if(!e.submitHasBeenAttempted)return null;if(i.invalidHiddenInputs.length>0)if(n=p(i,e.mode,this.messages),"batch"===this.viewModel.mode){const e=i.invalidHiddenInputs.filter(e=>"hidden:group-visibility-expression:all-features"===e.effectiveVisibilityCode||"hidden:visibility-expression:all-features"===e.visibilityCode);e.length>0?n+=` (${e.map(e=>e.label).join(", ")})`:n=null}else n+=` (${i.invalidHiddenInputs.map(e=>e.label).join(", ")})`;else if(t)return null;return n?D("calcite-notice",{class:h.noticeError,icon:!0,kind:"danger",open:!0},D("div",{slot:"message"},n)):null}_renderContent(){if(!this.viewModel.hasVisibleInputs)return[D("calcite-notice",{class:h.noticeError,icon:!0,kind:"warning",open:!0},D("div",{slot:"message"},this.messages.noVisibleFields[this.viewModel.noVisibleElementsReason]))];const{inputs:e}=this.viewModel.activeForm;return e.filter(e=>e.visible).map(e=>this._renderInput(e))}_renderInput(e){return f(e)?this._renderGroupInput(e):b(e)?this._renderLabeledField(e):C(e)?this._renderTextComponent(e):void 0}_renderGroupInput(e){const{inputs:t,template:i,open:n}=e,o=t.filter(e=>e.visible),a=i.label??"";return D("calcite-block",{class:this.classes(h.group,"sequential"===this.groupDisplay?h.groupSequential:null,this.disabled?h.inputDisabled:null),collapsible:!0,description:i.description??void 0,disabled:this._effectiveDisabled,expanded:n,heading:a,headingLevel:this.headingLevel,key:`{${i.elementId}-key}`,label:a,onCalciteBlockClose:()=>{e.open=!1},onCalciteBlockOpen:()=>{e.open=!0}},o.map(e=>this._renderInput(e)))}_renderLabeledField(e){const{elementId:i}=e.template,{label:n,required:o,dataType:a}=e,s=o?t(this.messages.requiredFieldLabel,{name:n}):n;return D("calcite-label",{"aria-label":s,class:h.label,key:`field--${i}`},D("div",{class:h.labelTextContent,key:"labelTextContainer"},n,o?D("span",{"aria-hidden":"true",title:this.messagesCommon.required},"*"):void 0),"unsupported"!==a?this._renderFieldInput(e):this._renderReadOnlyComponent(e),this._renderAuxiliaryText(e))}_renderFieldInput(e){const t=this.getCommonInputProps(e),{dataType:i}=e;return"date"===i?this._renderDateComponents(e,t):"coded-value"===e.domain?.type?this._renderCodedInputs({input:e,props:t}):"number"===i?this._renderNumberComponent(e,t):this._renderStringComponent(e,t)}_renderAuxiliaryText(e){const{compositeError:t,description:i,submittable:n}=e,o=!n&&t&&(this.viewModel.submitHasBeenAttempted||this._touchedInputs.has(e.template.elementId))?u(e,t,this.messages):null;return o?D("calcite-input-message",{icon:!0,status:"invalid"},o):i?D("calcite-input-message",{class:h.description,icon:!1,status:"idle"},i):null}_renderCodedInputs({input:e,props:t}){const i=e.template.input?.type??null,n=e.codedValueOptions;switch(i){case"switch":return this._renderSwitchField({input:e,props:t});case"radio-buttons":return this._renderRadioButtonGroupComponent({input:e,options:n.flat(),props:t});default:return this._renderComboBoxComponent({options:n,props:t,input:e})}}_renderSwitchField({input:e,props:t}){if((this._batchSwitchInputInitialValues.get(e)===g||e.value===g)&&"batch"===this.viewModel.mode){const i={dropdown:{afterCreate:this._afterComponentCreateOrUpdate,afterUpdate:this._afterComponentCreateOrUpdate,disabled:t.readOnly,open:!1,[S]:t[S]},trigger:{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral",slot:"trigger",label:t.label},group:{mode:"single"}};return this._renderDropdownComponent({buttonValue:e.value,dropdownProps:i,options:[{name:this.messages.differentValuesPlaceholder,value:g,disabled:!0},...e.codedValueDomainOptions]})}return this._renderSwitchComponent({input:e,props:t})}_renderSwitchComponent({input:e,props:t}){return D("calcite-switch",{...t,checked:!!m(e.template,"switch")&&e.value===e.template.input.onValue,class:h.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldInput=null},onCalciteSwitchChange:({currentTarget:e})=>this._saveInput(e)})}_renderDropdownComponent({buttonValue:e,options:t,dropdownProps:i}){const{trigger:n,dropdown:o,group:a}=i;return D("calcite-dropdown",{...o,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,onCalciteDropdownSelect:({currentTarget:e})=>this._saveInput(e)},D("calcite-button",{...n},e===g?this.messages.differentValuesPlaceholder:e),D("calcite-dropdown-group",{selectionMode:a.mode},t.map(t=>D("calcite-dropdown-item",{disabled:t.disabled,label:String(t.name),selected:e===t.value},t.name))))}_renderComboBoxComponent({input:e,options:t,props:i}){const n="INSERT"===this.viewModel.editType,o=this._touchedInputs.has(e?.template?.elementId),a=n&&e.showNoValueOptionEnabled&&!o?()=>{}:i.onblur,s={...i,onblur:a};return D("calcite-combobox",{...s,selectionMode:"single",value:i.placeholder===this.messages.differentValuesPlaceholder?g:String(i.value),onCalciteComboboxChange:({currentTarget:e})=>{e.value!==g&&this._saveInput(e)}},this.renderComboboxOptionsList({input:e,options:t,props:i}))}renderComboboxOptionsList({input:e,options:t,props:i}){const[n,o]=t.map(e=>e.map(({name:e,value:t})=>D("calcite-combobox-item",{heading:e,key:`#${t}`,selected:i.value===t,value:`${t}`}))),a=[...n];o.length>0&&a.push(D("calcite-combobox-item-group",{key:"unsupported",label:this.featureFormMessages.subtypes.unsupportedDomainGroupTitle},o));const s=i.placeholder===this.messages.differentValuesPlaceholder,r=!s&&E(i.value);return e.showNoValueOptionEnabled&&a.unshift(D("calcite-combobox-item",{heading:e.showNoValueLabel||this.messages.empty,key:"empty-option",selected:r,value:""})),s&&a.unshift(D("calcite-combobox-item",{heading:this.messages.differentValuesPlaceholder,key:g,selected:!0,value:g})),a}_renderRadioButtonGroupComponent({input:e,options:t,props:i}){const n=t.map(({name:t,value:n})=>this._renderRadioButtons({label:t,value:n,selected:n===e.value,props:i}));if(e.showNoValueOptionEnabled){const t="",o=e.showNoValueLabel||this.messages.empty,a=E(e.value);n.unshift(this._renderRadioButtons({label:o,value:t,selected:a,props:i}))}return D("calcite-radio-button-group",{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:h.inputRadioGroup,disabled:i.readOnly,key:`${i.key}-radio-group`,layout:"vertical",name:i.name,required:i.required},n,i.placeholder===this.messages.differentValuesPlaceholder?D("calcite-label",{class:h.placeholderRadio,key:i.label,layout:"inline"},D("calcite-radio-button",{checked:!0,class:h.inputRadio,disabled:!0,name:i.placeholder,value:i.placeholder}),i.placeholder):null)}_renderRadioButtons({value:e,selected:t,label:i,props:n}){return D("calcite-label",{class:h.inputRadioLabel,key:n.label,layout:"inline"},D("calcite-radio-button",{...n,afterCreate:void 0,afterUpdate:void 0,checked:t,class:h.inputRadio,disabled:n.readOnly,name:n.label,onblur:()=>{this._focusedFieldInput=null},value:e,onCalciteRadioButtonChange:({currentTarget:e})=>{e.checked&&this._saveInput(e)}}),i)}_renderStringComponent(e,t){const{template:i}=e;return!i.field.editable||this.readOnly?this._renderReadOnlyComponent(e):"text-area"===i.input?.type?D("calcite-text-area",{...t,class:this.classes(h.individualElement),resize:"vertical",value:t.value?String(t.value):"",onCalciteTextAreaInput:({currentTarget:e})=>this._saveInput(e)}):D("calcite-input",{...t,class:this.classes(h.individualElement),type:"text",value:t.value?String(t.value):"",onCalciteInputInput:({currentTarget:e})=>this._saveInput(e)})}_renderNumberComponent(e,t){const i=r(e.field);return D("calcite-input-number",{...t,integer:i,type:"number",value:i&&""!==t.value?Math.round(parseFloat(String(t.value))).toString():String(t.value),onCalciteInputNumberInput:({currentTarget:e})=>this._saveInput(e)})}_renderReadOnlyComponent(e,t){const i=this.getCommonInputProps(e);return D("calcite-input",{...i,class:this.classes(h.fieldInput,h.inputDisabled,h.individualElement),readOnly:!0,type:"text",value:String(t??i.value??"")})}_renderDateComponents(e,t){const{field:i}=e;let n;switch(i.type){case"date":n=this._renderDateFieldComponents(e,t);break;case"date-only":n=this._renderDateOnlyFieldComponent(e,t);break;case"time-only":n=this._renderTimeOnlyFieldComponent(e,t);break;case"timestamp-offset":n=this._renderTimestampOffsetFieldComponents(e,t);break;default:n=this._renderReadOnlyComponent(e,y(i,t.value,{timeZone:e.effectiveTimeZone,...F(e.template.field)}))}return e.value===g?[n,D("calcite-input-message",{icon:"information",key:"diff-values-message",status:"idle"},this.messages.differentValues)]:n}_renderDateOnlyFieldComponent(e,t){const{class:i,key:n,readOnly:o}=t,{rawMax:a,rawMin:s}=e.range;return D("calcite-input-date-picker",{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,class:i,"data-date-part":"date","data-element-id":t[S],key:`${n}-date-input`,max:l(a)?a:void 0,min:l(s)?s:void 0,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,overlayPositioning:"fixed",readOnly:o,value:e.value===g?"":e.value?String(e.value):"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.currentTarget)})}_renderTimeOnlyFieldComponent(e,t){const{class:i,key:n,readOnly:o}=t;return D("calcite-input-time-picker",{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,class:i,"data-date-part":"time","data-element-id":t[S],key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,overlayPositioning:"fixed",readOnly:o,value:e.value===g?"":e.value?String(e.value):"",onCalciteInputTimePickerChange:t=>this._saveValueFromDateComponent(e,t.currentTarget)})}_renderTimestampOffsetFieldComponents(e,t){const{class:i,key:n,readOnly:o}=t,{rawMax:a,rawMin:s}=e.range,r=w(a),l=w(s),d=w(e.value===g?"":e.value),p=e.includeTimeOffset,u={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,overlayPositioning:"fixed",readOnly:o,[S]:t[S],onfocus:this._onComponentFocus};return D("div",{class:h.dateInputContainer,key:`${n}-date-time-container`},D("calcite-input-date-picker",{...u,class:i,"data-date-part":"date",key:`${n}-date-input`,max:r?.date??void 0,min:l?.date??void 0,onblur:()=>{this._focusedFieldInput=null},value:d.date??"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),D("calcite-input-time-picker",{...u,class:i,"data-date-part":"time",key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},value:d.time??"",onCalciteInputTimePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),p?D("calcite-input-time-zone",{...u,class:i,clearable:e.value===g||null==e.value,"data-date-part":"timeZone",key:`${n}-timezone-input`,onblur:()=>{this._focusedFieldInput=null},value:d.timeZoneOffset||"",onCalciteInputTimeZoneChange:t=>this._saveValueFromDateComponent(e,t.target)}):null)}_renderDateFieldComponents(e,t){const{class:i,key:n,readOnly:o,min:a,max:s}=t,r=e.effectiveTimeZone,l=I(e.value===g?"":e.value,r),d=I(s,r),p=I(a,r),u=e.includeTime,m={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,overlayPositioning:"fixed",readOnly:o,[S]:t[S],onfocus:this._onComponentFocus};return D("div",{class:h.dateInputContainer,key:`${n}-date-time-container`},D("calcite-input-date-picker",{...m,class:i,"data-date-part":"date",key:`${n}-date-input`,max:d?.date??void 0,min:p?.date??void 0,onblur:()=>{this._focusedFieldInput=null},value:l.date??"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),u?D("calcite-input-time-picker",{...m,"data-date-part":"time",key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},step:1,value:l.time??"",onCalciteInputTimePickerChange:t=>{this._saveValueFromDateComponent(e,t.target)}}):null)}_renderTextComponent(e){const{elementId:t}=e.template;return D("div",{class:h.textElementInput,"data-testid":`text-element-${t}`,innerHTML:e.text,key:`text-element-${t}`})}getCommonInputProps(e){const{template:t,valid:i,value:n,minLength:o,maxLength:a,required:s,fieldName:r,editable:l,userHasChangedValue:d,range:{max:p,min:u}}=e,m=!l||this.readOnly,c=!m&&this._effectiveDisabled;let v=t.hint??void 0,f=!1;return n===g&&(v=this.messages.differentValuesPlaceholder,f=!0),{afterCreate:this._afterComponentCreateOrUpdate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":i?"false":"true",class:this.classes(h.fieldInput,m?h.inputDisabled:null),status:!d&&!this.viewModel.submitHasBeenAttempted||i?"idle":"invalid",maxLength:a&&a>-1?a:void 0,minLength:o&&o>-1?o:void 0,key:t.elementId,label:r,name:r,max:null!=p?p:void 0,min:null!=u?u:void 0,disabled:c,readOnly:m,onblur:this._onComponentBlur,required:s,placeholder:v,value:f?"":n??"",[S]:t.elementId,onfocus:this._onComponentFocus}}_onFormSubmit(e){e.preventDefault()}_getFieldInputFromHTMLElement(e){return this.viewModel.findFieldInput(e.getAttribute(S))}_afterRadioGroupCreateOrUpdate(e){const t=e.selectedItem,i=e.querySelector("calcite-radio-button"),n=t||i;n&&this._afterComponentCreateOrUpdate(n)}_onComponentFocus(e){const t=e.target,i=this._getFieldInputFromHTMLElement(t);this._touchedInputs.add(i.template.elementId),this._focusedFieldInput=i}_afterComponentCreateOrUpdate(e){const t=this._getFieldInputFromHTMLElement(e),i=this._focusedFieldInput;this._attemptFocusOnNextRender&&i===t&&(this._attemptFocusOnNextRender=!1,U(e))}_onComponentBlur(){this._focusedFieldInput=null}_parseValue(e,t){if(m(t.template,"switch")){if("calcite-dropdown"===e.localName&&t.domain)for(const i of t.domain.codedValues)if(i.name===e.selectedItems[0].textContent)return i.code;return e.checked?t.template.input.onValue:t.template.input.offValue}const i=e.value;return null==i||""===i?null:"number"===t.dataType?"-0"===i||"-0."===i||"-0,"===i?i:parseFloat(i):"date"===t.field.type?parseFloat(i):i}_saveInput(e){const t=this._getFieldInputFromHTMLElement(e),{elementId:n}=t.template;if(!t)return;const o=t?.value;if(m(t.template,"switch")&&"single"!==this.viewModel.mode){const e=i(this._batchSwitchInputInitialValues,t,()=>t.value);this._batchSwitchInputInitialValues.set(t,null===e?o:e)}const a=this._parseValue(e,t);a!==o&&this.viewModel.setValue(n,a)}_afterDateComponentCreate(e){this._setDateTimeTimeZoneMap(e),this._afterComponentCreateOrUpdate(e)}_saveValueFromDateComponent(e,t){const{elementId:i}=e.template,n=e.field.type,o=this._dateComponentMap.get(`${i}`);if(!o)return;const a=e.effectiveTimeZone;let s=e.value===g?void 0:e.value,r=null;"date-only"===n?r=Array.isArray(t.value)?t.value[0]:t.value:"time-only"===n?(s=x(s),r=x(t.value)):r="timestamp-offset"===n?null!=t.value?M({dateComponent:o.date,timeComponent:o.time,oldValue:s,timeZoneComponent:o.timeZone,defaultTimeZone:a}):null:null!=t.value?k({oldValue:s,dateComponent:o.date,timeZone:a,timeComponent:o.time?.value===g?void 0:o.time}):null,s!==r&&(null!==r&&t.value?this.viewModel.setValue(`${i}`,r):this.viewModel.setValue(`${i}`,null))}};e([a()],R.prototype,"activeFeatureIndex",null),e([a()],R.prototype,"disabled",null),e([a()],R.prototype,"_effectiveDisabled",null),e([a()],R.prototype,"features",null),e([a()],R.prototype,"map",null),e([a()],R.prototype,"maximumFeatureCount",null),e([a()],R.prototype,"maximumFeatureCountWithComplexForms",null),e([a()],R.prototype,"spatialReference",null),e([a()],R.prototype,"layerInfos",null),e([a()],R.prototype,"timeZone",null),e([a()],R.prototype,"headingLevel",void 0),e([a()],R.prototype,"icon",null),e([a(),T("esri/t9n/common")],R.prototype,"messagesCommon",void 0),e([a(),T("esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm")],R.prototype,"messages",void 0),e([a(),T("esri/widgets/FeatureForm/t9n/FeatureForm")],R.prototype,"featureFormMessages",void 0),e([a()],R.prototype,"readOnly",null),e([a()],R.prototype,"valid",null),e([a({type:c}),V(["value-change","submit"])],R.prototype,"viewModel",void 0),e([a({type:v,nonNullable:!0})],R.prototype,"visibleElements",void 0),e([a()],R.prototype,"groupDisplay",void 0),R=e([s("esri.widgets.BatchAttributeForm")],R);const B=R;export{B as default};
|
|
5
|
+
import{__decorate as e}from"tslib";import{substitute as t}from"../intl.js";import{getOrCreateMapValue as i}from"../core/MapUtils.js";import{watch as n,on as o}from"../core/reactiveUtils.js";import{property as a,subclass as s}from"../core/accessorSupport/decorators.js";import{isIntegerField as r}from"../layers/support/fieldUtils.js";import{isString as l}from"../support/guards.js";import d from"./Widget.js";import{getHiddenFieldsValidationErrorMessage as p,getVisibleFieldInputValidationErrorMessage as u,isElementTemplateWithInputType as m}from"./BatchAttributeForm/batchAttributeFormUtils.js";import c from"./BatchAttributeForm/BatchAttributeFormViewModel.js";import{css as h}from"./BatchAttributeForm/css.js";import v from"./BatchAttributeForm/VisibleElements.js";import{isGroupInput as f,isFieldInput as b,isTextElementInput as C,differentValuesString as g}from"./BatchAttributeForm/inputs/support/inputUtils.js";import{loadCalciteComponents as _}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as y,getIntlOptionsForField as F,prepareISOFieldValueForDateComponents as w,prepareUnixFieldValueForDateComponents as I,normalizeTimeOnlyString as x,getISOFieldValueFromDateComponents as M,getUnixFieldValueFromDateComponents as k}from"./support/dateUtils.js";import{globalCss as O}from"./support/globalCss.js";import{messageBundle as T,vmEvent as V,tsx as D}from"./support/widget.js";import{setFocus as U}from"./support/widgetUtils.js";import{isEmptyValue as E}from"./support/forms/formUtils.js";const S="data-element-id";let R=class extends d{constructor(e,t){super(e,t),this.headingLevel=2,this.messagesCommon=null,this.messages=null,this.featureFormMessages=null,this.viewModel=new c,this.visibleElements=new v,this.groupDisplay="all",this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._touchedInputs=new Set,this._focusedFieldInput=null,this._batchSwitchInputInitialValues=new Map,this._saveInput=this._saveInput.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreate=this._afterDateComponentCreate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this)}initialize(){this.addHandles([n(()=>this.features,()=>{this._dateComponentMap.clear()}),n(()=>this.viewModel.activeForm,()=>{this._batchSwitchInputInitialValues.clear()}),o(()=>this.viewModel,"submit",()=>{this.valid||this.goToFirstError()})])}loadDependencies(){return _({input:()=>import("@esri/calcite-components/dist/components/calcite-input"),block:()=>import("@esri/calcite-components/dist/components/calcite-block"),button:()=>import("@esri/calcite-components/dist/components/calcite-button"),combobox:()=>import("@esri/calcite-components/dist/components/calcite-combobox"),"combobox-item":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item"),"combobox-item-group":()=>import("@esri/calcite-components/dist/components/calcite-combobox-item-group"),dropdown:()=>import("@esri/calcite-components/dist/components/calcite-dropdown"),"dropdown-group":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-group"),"dropdown-item":()=>import("@esri/calcite-components/dist/components/calcite-dropdown-item"),"input-date-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-date-picker"),"input-number":()=>import("@esri/calcite-components/dist/components/calcite-input-number"),"input-time-picker":()=>import("@esri/calcite-components/dist/components/calcite-input-time-picker"),"input-time-zone":()=>import("@esri/calcite-components/dist/components/calcite-input-time-zone"),label:()=>import("@esri/calcite-components/dist/components/calcite-label"),"input-message":()=>import("@esri/calcite-components/dist/components/calcite-input-message"),loader:()=>import("@esri/calcite-components/dist/components/calcite-loader"),notice:()=>import("@esri/calcite-components/dist/components/calcite-notice"),switch:()=>import("@esri/calcite-components/dist/components/calcite-switch"),"text-area":()=>import("@esri/calcite-components/dist/components/calcite-text-area"),"radio-button":()=>import("@esri/calcite-components/dist/components/calcite-radio-button"),"radio-button-group":()=>import("@esri/calcite-components/dist/components/calcite-radio-button-group")})}get activeFeatureIndex(){return this.viewModel.activeFeatureIndex}set activeFeatureIndex(e){this.viewModel.activeFeatureIndex=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get _effectiveDisabled(){return this.disabled||this.viewModel.updating}get features(){return this.viewModel.features}set features(e){this.viewModel.features=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get maximumFeatureCount(){return this.viewModel.maximumFeatureCount}set maximumFeatureCount(e){this.viewModel.maximumFeatureCount=e}get maximumFeatureCountWithComplexForms(){return this.viewModel.maximumFeatureCountWithComplexForms}set maximumFeatureCountWithComplexForms(e){this.viewModel.maximumFeatureCountWithComplexForms=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get layerInfos(){return this.viewModel.layerInfos}set layerInfos(e){this.viewModel.layerInfos=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get icon(){return"edit-attributes"}set icon(e){this._overrideIfSome("icon",e)}get readOnly(){return this.viewModel.readOnly}set readOnly(e){this.viewModel.readOnly=e}get valid(){return this.viewModel.valid}goToFirstError(){const e=this.viewModel.getFirstVisibleInvalidFieldInput();if(!e)return;const{groupInput:t}=e;t&&(t.open||(t.open=!0)),this._focusedFieldInput=e.input,this._attemptFocusOnNextRender=!0,this.scheduleRender()}render(){const{status:e}=this.viewModel;return"failed"===e?this.viewModel.hasTooManyComplexFeatures?this._renderErrorNotice(t(this.messages.formFailedToLoadTooManyComplexFeatures,{num:this.viewModel.maximumFeatureCountWithComplexForms})):this.viewModel.hasTooManyFeatures?this._renderErrorNotice(t(this.messages.formFailedToLoadTooManyFeatures,{num:this.viewModel.maximumFeatureCount})):this._renderErrorNotice(this.messages.formFailedToLoad):this.viewModel.expressionEvaluationFailed?this._renderErrorNotice(this.messages.expressionEvaluationFailed):this.viewModel.hasLayersWithContingentValues?this._renderErrorNotice(this.messages.unsupportedContingentValues):D("div",{class:this.classes(h.base,O.widget,O.panel)},"loaded"===e?this._renderForm():"loading"===e&&this.visibleElements.loadingIndicator?D("calcite-loader",{key:"loader",label:this.messagesCommon?.loading}):null)}submit(){this.viewModel.submit()}_setDateTimeTimeZoneMap(e){const{datePart:t,elementId:n}=e.dataset,o=i(this._dateComponentMap,`${n}`,()=>({}));switch(t){case"date":o.date=e;break;case"time":o.time=e;break;case"timeZone":o.timeZone=e}}_renderErrorNotice(e){return D("div",{class:this.classes(h.base,O.widget,O.panel)},D("calcite-notice",{class:h.noticeError,icon:!0,kind:"warning",open:!0},D("div",{slot:"message"},e)))}_renderForm(){return D("form",{class:h.form,onsubmit:this._onFormSubmit},this._renderInvisibleFieldsError(),this._renderContent())}_renderInvisibleFieldsError(){const{viewModel:e}=this,{hasNonActiveInvalidFeatures:t,activeForm:i}=e;let n;if(!e.submitHasBeenAttempted)return null;if(i.invalidHiddenInputs.length>0)if(n=p(i,e.mode,this.messages),"batch"===this.viewModel.mode){const e=i.invalidHiddenInputs.filter(e=>"hidden:group-visibility-expression:all-features"===e.effectiveVisibilityCode||"hidden:visibility-expression:all-features"===e.visibilityCode);e.length>0?n+=` (${e.map(e=>e.label).join(", ")})`:n=null}else n+=` (${i.invalidHiddenInputs.map(e=>e.label).join(", ")})`;else if(t)return null;return n?D("calcite-notice",{class:h.noticeError,icon:!0,kind:"danger",open:!0},D("div",{slot:"message"},n)):null}_renderContent(){if(!this.viewModel.hasVisibleInputs)return[D("calcite-notice",{class:h.noticeError,icon:!0,kind:"warning",open:!0},D("div",{slot:"message"},this.messages.noVisibleFields[this.viewModel.noVisibleElementsReason]))];const{inputs:e}=this.viewModel.activeForm;return e.filter(e=>e.visible).map(e=>this._renderInput(e))}_renderInput(e){return f(e)?this._renderGroupInput(e):b(e)?this._renderLabeledField(e):C(e)?this._renderTextComponent(e):void 0}_renderGroupInput(e){const{inputs:t,template:i,open:n}=e,o=t.filter(e=>e.visible),a=i.label??"";return D("calcite-block",{class:this.classes(h.group,"sequential"===this.groupDisplay?h.groupSequential:null,this.disabled?h.inputDisabled:null),collapsible:!0,description:i.description??void 0,disabled:this._effectiveDisabled,expanded:n,heading:a,headingLevel:this.headingLevel,key:`{${i.elementId}-key}`,label:a,onCalciteBlockClose:()=>{e.open=!1},onCalciteBlockOpen:()=>{e.open=!0}},o.map(e=>this._renderInput(e)))}_renderLabeledField(e){const{elementId:i}=e.template,{label:n,required:o,dataType:a}=e,s=o?t(this.messages.requiredFieldLabel,{name:n}):n;return D("calcite-label",{"aria-label":s,class:h.label,key:`field--${i}`},D("div",{class:h.labelTextContent,key:"labelTextContainer"},n,o?D("span",{"aria-hidden":"true",title:this.messagesCommon.required},"*"):void 0),"unsupported"!==a?this._renderFieldInput(e):this._renderReadOnlyComponent(e),this._renderAuxiliaryText(e))}_renderFieldInput(e){const t=this.getCommonInputProps(e),{dataType:i}=e;return"date"===i?this._renderDateComponents(e,t):"coded-value"===e.domain?.type?this._renderCodedInputs({input:e,props:t}):"number"===i?this._renderNumberComponent(e,t):this._renderStringComponent(e,t)}_renderAuxiliaryText(e){const{compositeError:t,description:i,submittable:n}=e,o=!n&&t&&(this.viewModel.submitHasBeenAttempted||this._touchedInputs.has(e.template.elementId))?u(e,t,this.messages):null;return o?D("calcite-input-message",{icon:!0,status:"invalid"},o):i?D("calcite-input-message",{class:h.description,icon:!1,status:"idle"},i):null}_renderCodedInputs({input:e,props:t}){const i=e.template.input?.type??null,n=e.codedValueOptions;switch(i){case"switch":return this._renderSwitchField({input:e,props:t});case"radio-buttons":return this._renderRadioButtonGroupComponent({input:e,options:n.flat(),props:t});default:return this._renderComboBoxComponent({options:n,props:t,input:e})}}_renderSwitchField({input:e,props:t}){if((this._batchSwitchInputInitialValues.get(e)===g||e.value===g)&&"batch"===this.viewModel.mode){const i={dropdown:{afterCreate:this._afterComponentCreateOrUpdate,afterUpdate:this._afterComponentCreateOrUpdate,disabled:t.readOnly,open:!1,[S]:t[S]},trigger:{appearance:"transparent",iconEnd:"chevron-down",kind:"neutral",slot:"trigger",label:t.label},group:{mode:"single"}};return this._renderDropdownComponent({buttonValue:e.value,dropdownProps:i,options:[{name:this.messages.differentValuesPlaceholder,value:g,disabled:!0},...e.codedValueDomainOptions]})}return this._renderSwitchComponent({input:e,props:t})}_renderSwitchComponent({input:e,props:t}){return D("calcite-switch",{...t,checked:!!m(e.template,"switch")&&e.value===e.template.input.onValue,class:h.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldInput=null},onCalciteSwitchChange:({currentTarget:e})=>this._saveInput(e)})}_renderDropdownComponent({buttonValue:e,options:t,dropdownProps:i}){const{trigger:n,dropdown:o,group:a}=i;return D("calcite-dropdown",{...o,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,onCalciteDropdownSelect:({currentTarget:e})=>this._saveInput(e)},D("calcite-button",{...n},e===g?this.messages.differentValuesPlaceholder:e),D("calcite-dropdown-group",{selectionMode:a.mode},t.map(t=>D("calcite-dropdown-item",{disabled:t.disabled,label:String(t.name),selected:e===t.value},t.name))))}_renderComboBoxComponent({input:e,options:t,props:i}){const n="INSERT"===this.viewModel.editType,o=this._touchedInputs.has(e?.template?.elementId),a=n&&e.showNoValueOptionEnabled&&!o?()=>{}:i.onblur,s={...i,onblur:a};return D("calcite-combobox",{...s,selectionMode:"single",value:i.placeholder===this.messages.differentValuesPlaceholder?g:String(i.value),onCalciteComboboxChange:({currentTarget:e})=>{e.value!==g&&this._saveInput(e)}},this.renderComboboxOptionsList({input:e,options:t,props:i}))}renderComboboxOptionsList({input:e,options:t,props:i}){const[n,o]=t.map(e=>e.map(({name:e,value:t})=>D("calcite-combobox-item",{heading:e,key:`#${t}`,selected:i.value===t,value:`${t}`}))),a=[...n];o.length>0&&a.push(D("calcite-combobox-item-group",{key:"unsupported",label:this.featureFormMessages.subtypes.unsupportedDomainGroupTitle},o));const s=i.placeholder===this.messages.differentValuesPlaceholder,r=!s&&E(i.value);return e.showNoValueOptionEnabled&&a.unshift(D("calcite-combobox-item",{heading:e.showNoValueLabel||this.messages.empty,key:"empty-option",selected:r,value:""})),s&&a.unshift(D("calcite-combobox-item",{heading:this.messages.differentValuesPlaceholder,key:g,selected:!0,value:g})),a}_renderRadioButtonGroupComponent({input:e,options:t,props:i}){const n=t.map(({name:t,value:n})=>this._renderRadioButtons({label:t,value:n,selected:n===e.value,props:i}));if(e.showNoValueOptionEnabled){const t="",o=e.showNoValueLabel||this.messages.empty,a=E(e.value);n.unshift(this._renderRadioButtons({label:o,value:t,selected:a,props:i}))}return D("calcite-radio-button-group",{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:h.inputRadioGroup,disabled:i.readOnly,key:`${i.key}-radio-group`,layout:"vertical",name:i.name,required:i.required},n,i.placeholder===this.messages.differentValuesPlaceholder?D("calcite-label",{class:h.placeholderRadio,key:i.label,layout:"inline"},D("calcite-radio-button",{checked:!0,class:h.inputRadio,disabled:!0,name:i.placeholder,value:i.placeholder}),i.placeholder):null)}_renderRadioButtons({value:e,selected:t,label:i,props:n}){return D("calcite-label",{class:h.inputRadioLabel,key:n.label,layout:"inline"},D("calcite-radio-button",{...n,afterCreate:void 0,afterUpdate:void 0,checked:t,class:h.inputRadio,disabled:n.readOnly,name:n.label,onblur:()=>{this._focusedFieldInput=null},value:e,onCalciteRadioButtonChange:({currentTarget:e})=>{e.checked&&this._saveInput(e)}}),i)}_renderStringComponent(e,t){const{template:i}=e;return!i.field.editable||this.readOnly?this._renderReadOnlyComponent(e):"text-area"===i.input?.type?D("calcite-text-area",{...t,class:this.classes(h.individualElement),resize:"vertical",value:t.value?String(t.value):"",onCalciteTextAreaInput:({currentTarget:e})=>this._saveInput(e)}):D("calcite-input",{...t,class:this.classes(h.individualElement),type:"text",value:t.value?String(t.value):"",onCalciteInputInput:({currentTarget:e})=>this._saveInput(e)})}_renderNumberComponent(e,t){const i=r(e.field);return D("calcite-input-number",{...t,integer:i,type:"number",value:i&&""!==t.value?Math.round(parseFloat(String(t.value))).toString():String(t.value),onCalciteInputNumberInput:({currentTarget:e})=>this._saveInput(e)})}_renderReadOnlyComponent(e,t){const i=this.getCommonInputProps(e);return D("calcite-input",{...i,class:this.classes(h.fieldInput,h.inputDisabled,h.individualElement),readOnly:!0,type:"text",value:String(t??i.value??"")})}_renderDateComponents(e,t){const{field:i}=e;let n;switch(i.type){case"date":n=this._renderDateFieldComponents(e,t);break;case"date-only":n=this._renderDateOnlyFieldComponent(e,t);break;case"time-only":n=this._renderTimeOnlyFieldComponent(e,t);break;case"timestamp-offset":n=this._renderTimestampOffsetFieldComponents(e,t);break;default:n=this._renderReadOnlyComponent(e,y(i,t.value,{timeZone:e.effectiveTimeZone,...F(e.template.field)}))}return e.value===g?[n,D("calcite-input-message",{icon:"information",key:"diff-values-message",status:"idle"},this.messages.differentValues)]:n}_renderDateOnlyFieldComponent(e,t){const{class:i,key:n,readOnly:o}=t,{rawMax:a,rawMin:s}=e.range;return D("calcite-input-date-picker",{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,class:i,"data-date-part":"date","data-element-id":t[S],key:`${n}-date-input`,max:l(a)?a:void 0,min:l(s)?s:void 0,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,overlayPositioning:"fixed",readOnly:o,value:e.value===g?"":e.value?String(e.value):"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.currentTarget)})}_renderTimeOnlyFieldComponent(e,t){const{class:i,key:n,readOnly:o}=t;return D("calcite-input-time-picker",{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,class:i,"data-date-part":"time","data-element-id":t[S],key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},onfocus:this._onComponentFocus,overlayPositioning:"fixed",readOnly:o,value:e.value===g?"":e.value?String(e.value):"",onCalciteInputTimePickerChange:t=>this._saveValueFromDateComponent(e,t.currentTarget)})}_renderTimestampOffsetFieldComponents(e,t){const{class:i,key:n,readOnly:o}=t,{rawMax:a,rawMin:s}=e.range,r=w(a),l=w(s),d=w(e.value===g?"":e.value),p=e.includeTimeOffset,u={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,overlayPositioning:"fixed",readOnly:o,[S]:t[S],onfocus:this._onComponentFocus};return D("div",{class:h.dateInputContainer,key:`${n}-date-time-container`},D("calcite-input-date-picker",{...u,class:i,"data-date-part":"date",key:`${n}-date-input`,max:r?.date??void 0,min:l?.date??void 0,onblur:()=>{this._focusedFieldInput=null},value:d.date??"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),D("calcite-input-time-picker",{...u,class:i,"data-date-part":"time",key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},value:d.time??"",onCalciteInputTimePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),p?D("calcite-input-time-zone",{...u,class:i,clearable:e.value===g||null==e.value,"data-date-part":"timeZone",key:`${n}-timezone-input`,onblur:()=>{this._focusedFieldInput=null},value:d.timeZoneOffset||"",onCalciteInputTimeZoneChange:t=>this._saveValueFromDateComponent(e,t.target)}):null)}_renderDateFieldComponents(e,t){const{class:i,key:n,readOnly:o,min:a,max:s}=t,r=e.effectiveTimeZone,l=I(e.value===g?"":e.value,r),d=I(s,r),p=I(a,r),u=e.includeTime,m={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,overlayPositioning:"fixed",readOnly:o,[S]:t[S],onfocus:this._onComponentFocus};return D("div",{class:h.dateInputContainer,key:`${n}-date-time-container`},D("calcite-input-date-picker",{...m,class:i,"data-date-part":"date",key:`${n}-date-input`,max:d?.date??void 0,min:p?.date??void 0,onblur:()=>{this._focusedFieldInput=null},value:l.date??"",onCalciteInputDatePickerChange:t=>this._saveValueFromDateComponent(e,t.target)}),u?D("calcite-input-time-picker",{...m,"data-date-part":"time",key:`${n}-time-input`,onblur:()=>{this._focusedFieldInput=null},step:1,value:l.time??"",onCalciteInputTimePickerChange:t=>{this._saveValueFromDateComponent(e,t.target)}}):null)}_renderTextComponent(e){const{elementId:t}=e.template;return D("div",{class:h.textElementInput,"data-testid":`text-element-${t}`,innerHTML:e.text,key:`text-element-${t}`})}getCommonInputProps(e){const{template:t,valid:i,value:n,minLength:o,maxLength:a,required:s,fieldName:r,editable:l,userHasChangedValue:d,range:{max:p,min:u}}=e,m=!l||this.readOnly,c=!m&&this._effectiveDisabled;let v=t.hint??void 0,f=!1;return n===g&&(v=this.messages.differentValuesPlaceholder,f=!0),{afterCreate:this._afterComponentCreateOrUpdate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":i?"false":"true",class:this.classes(h.fieldInput,m?h.inputDisabled:null),status:!d&&!this.viewModel.submitHasBeenAttempted||i?"idle":"invalid",maxLength:a&&a>-1?a:void 0,minLength:o&&o>-1?o:void 0,key:t.elementId,label:r,name:r,max:null!=p?p:void 0,min:null!=u?u:void 0,disabled:c,readOnly:m,onblur:this._onComponentBlur,required:s,placeholder:v,value:f?"":n??"",[S]:t.elementId,onfocus:this._onComponentFocus}}_onFormSubmit(e){e.preventDefault()}_getFieldInputFromHTMLElement(e){return this.viewModel.findFieldInput(e.getAttribute(S))}_afterRadioGroupCreateOrUpdate(e){const t=e.selectedItem,i=e.querySelector("calcite-radio-button"),n=t||i;n&&this._afterComponentCreateOrUpdate(n)}_onComponentFocus(e){const t=e.target,i=this._getFieldInputFromHTMLElement(t);this._touchedInputs.add(i.template.elementId),this._focusedFieldInput=i}_afterComponentCreateOrUpdate(e){const t=this._getFieldInputFromHTMLElement(e),i=this._focusedFieldInput;this._attemptFocusOnNextRender&&i===t&&(this._attemptFocusOnNextRender=!1,U(e))}_onComponentBlur(){this._focusedFieldInput=null}_parseValue(e,t){if(m(t.template,"switch")){if("calcite-dropdown"===e.localName&&t.domain)for(const i of t.domain.codedValues)if(i.name===e.selectedItems[0].textContent)return i.code;return e.checked?t.template.input.onValue:t.template.input.offValue}const i=e.value;return null==i||""===i?null:"number"===t.dataType?"-0"===i||"-0."===i||"-0,"===i?i:parseFloat(i):"date"===t.field.type?parseFloat(i):i}_saveInput(e){const t=this._getFieldInputFromHTMLElement(e),{elementId:n}=t.template;if(!t)return;const o=t?.value;if(m(t.template,"switch")&&"single"!==this.viewModel.mode){const e=i(this._batchSwitchInputInitialValues,t,()=>t.value);this._batchSwitchInputInitialValues.set(t,null===e?o:e)}const a=this._parseValue(e,t);a!==o&&this.viewModel.setValue(n,a)}_afterDateComponentCreate(e){this._setDateTimeTimeZoneMap(e),this._afterComponentCreateOrUpdate(e)}_saveValueFromDateComponent(e,t){const{elementId:i}=e.template,n=e.field.type,o=this._dateComponentMap.get(`${i}`);if(!o)return;const a=e.effectiveTimeZone;let s=e.value===g?void 0:e.value,r=null;"date-only"===n?r=Array.isArray(t.value)?t.value[0]:t.value:"time-only"===n?(s=x(s),r=x(t.value)):r="timestamp-offset"===n?null!=t.value?M({dateComponent:o.date,timeComponent:o.time,oldValue:s,timeZoneComponent:o.timeZone,defaultTimeZone:a}):null:null!=t.value?k({oldValue:s,dateComponent:o.date,timeZone:a,timeComponent:o.time?.value===g?void 0:o.time}):null,s!==r&&(null!==r&&t.value?this.viewModel.setValue(`${i}`,r):this.viewModel.setValue(`${i}`,null))}};e([a()],R.prototype,"activeFeatureIndex",null),e([a()],R.prototype,"disabled",null),e([a()],R.prototype,"_effectiveDisabled",null),e([a()],R.prototype,"features",null),e([a()],R.prototype,"map",null),e([a()],R.prototype,"maximumFeatureCount",null),e([a()],R.prototype,"maximumFeatureCountWithComplexForms",null),e([a()],R.prototype,"spatialReference",null),e([a()],R.prototype,"layerInfos",null),e([a()],R.prototype,"timeZone",null),e([a()],R.prototype,"headingLevel",void 0),e([a()],R.prototype,"icon",null),e([a(),T("esri/t9n/common")],R.prototype,"messagesCommon",void 0),e([a(),T("esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm")],R.prototype,"messages",void 0),e([a(),T("esri/widgets/FeatureForm/t9n/FeatureForm")],R.prototype,"featureFormMessages",void 0),e([a()],R.prototype,"readOnly",null),e([a()],R.prototype,"valid",null),e([a({type:c}),V(["value-change","submit"])],R.prototype,"viewModel",void 0),e([a({type:v,nonNullable:!0})],R.prototype,"visibleElements",void 0),e([a()],R.prototype,"groupDisplay",void 0),R=e([s("esri.widgets.BatchAttributeForm")],R);const B=R;export{B as default};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type Collection from "../../core/Collection.js";
|
|
2
2
|
import type Bookmark from "../../webmap/Bookmark.js";
|
|
3
3
|
import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
|
|
4
|
-
import type { EventedAccessor
|
|
4
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
5
5
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
6
6
|
import type { BookmarkProperties } from "../../webmap/Bookmark.js";
|
|
7
7
|
import type { BookmarkOptions, BookmarksCapabilities } from "./types.js";
|
|
8
8
|
import type { GoTo, GoToProperties } from "../support/GoTo.js";
|
|
9
9
|
|
|
10
|
-
export interface BookmarksViewModelProperties extends
|
|
10
|
+
export interface BookmarksViewModelProperties extends GoToProperties, Partial<Pick<BookmarksViewModel, "capabilities" | "view">> {
|
|
11
11
|
/** A collection of [Bookmark](https://developers.arcgis.com/javascript/latest/api-reference/esri-webmap-Bookmark.html)s. */
|
|
12
12
|
bookmarks?: ReadonlyArrayOrCollection<BookmarkProperties> | null;
|
|
13
13
|
/**
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type Collection from "../../core/Collection.js";
|
|
2
2
|
import type CatalogLayer from "../../layers/CatalogLayer.js";
|
|
3
3
|
import type ListItem from "../LayerList/ListItem.js";
|
|
4
|
-
import type { EventedAccessor
|
|
4
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
5
5
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
6
6
|
import type { CatalogLayerListState } from "./types.js";
|
|
7
7
|
import type { LayerListViewModelEvents } from "../LayerList/LayerListViewModel.js";
|
|
8
8
|
import type { Action, ListItemModifier } from "../LayerList/types.js";
|
|
9
9
|
|
|
10
|
-
export interface CatalogLayerListViewModelProperties extends
|
|
10
|
+
export interface CatalogLayerListViewModelProperties extends Partial<Pick<CatalogLayerListViewModel, "catalogLayer" | "checkPublishStatusEnabled" | "listItemCreatedFunction" | "listModeDisabled" | "view">> {}
|
|
11
11
|
|
|
12
12
|
export interface CatalogLayerListViewModelEvents extends LayerListViewModelEvents {}
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ import type SimpleMarkerSymbol from "../../symbols/SimpleMarkerSymbol.js";
|
|
|
7
7
|
import type Conversion from "./support/Conversion.js";
|
|
8
8
|
import type Format from "./support/Format.js";
|
|
9
9
|
import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
|
|
10
|
-
import type { EventedAccessor
|
|
10
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
11
11
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
12
12
|
import type { Mode, Position } from "../types.js";
|
|
13
13
|
import type { ConversionProperties } from "./support/Conversion.js";
|
|
@@ -19,7 +19,7 @@ import type { PointSymbol3DProperties } from "../../symbols/PointSymbol3D.js";
|
|
|
19
19
|
import type { PictureMarkerSymbolProperties } from "../../symbols/PictureMarkerSymbol.js";
|
|
20
20
|
import type { SimpleMarkerSymbolProperties } from "../../symbols/SimpleMarkerSymbol.js";
|
|
21
21
|
|
|
22
|
-
export interface CoordinateConversionViewModelProperties extends
|
|
22
|
+
export interface CoordinateConversionViewModelProperties extends GoToProperties, Partial<Pick<CoordinateConversionViewModel, "mode" | "storageEnabled" | "storageType" | "view">> {
|
|
23
23
|
/**
|
|
24
24
|
* A [Collection](https://developers.arcgis.com/javascript/latest/api-reference/esri-core-Collection.html) containing every [Conversion](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-CoordinateConversion-support-Conversion.html)
|
|
25
25
|
* that is currently displaying.
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type SceneView from "../../views/SceneView.js";
|
|
2
|
-
import type { EventedAccessor
|
|
2
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
3
3
|
import type { Season } from "./types.js";
|
|
4
4
|
|
|
5
5
|
/** @deprecated since version 4.34. Use the [Daylight component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/) instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). */
|
|
6
|
-
export interface DaylightViewModelProperties extends
|
|
6
|
+
export interface DaylightViewModelProperties extends Partial<Pick<DaylightViewModel, "currentSeason" | "dayPlaying" | "directShadowsEnabled" | "playSpeedMultiplier" | "sunLightingEnabled" | "timeSliderPosition" | "utcOffset" | "view" | "yearPlaying">> {
|
|
7
7
|
/**
|
|
8
8
|
* The calendar date in the timezone given by [utcOffset](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Daylight-DaylightViewModel.html#utcOffset).
|
|
9
9
|
*
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
/**
|
|
3
2
|
* @deprecated since version 4.34. Use the [Daylight component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-daylight/) instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/).
|
|
4
3
|
* @since 5.0
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type MapView from "../../views/MapView.js";
|
|
2
|
-
import type { EventedAccessor
|
|
2
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
3
3
|
import type { DirectionalPadAngle, Vector } from "./types.js";
|
|
4
4
|
import type { GoTo, GoToProperties } from "../support/GoTo.js";
|
|
5
5
|
|
|
6
|
-
export interface DirectionalPadViewModelProperties extends
|
|
6
|
+
export interface DirectionalPadViewModelProperties extends GoToProperties, Partial<Pick<DirectionalPadViewModel, "disabled" | "rotation" | "view">> {}
|
|
7
7
|
|
|
8
8
|
export type DirectionalPadViewModelState = "ready" | "disabled" | "moving";
|
|
9
9
|
|
|
@@ -12,7 +12,7 @@ import type RouteInfo from "../../rest/support/RouteInfo.js";
|
|
|
12
12
|
import type RouteParameters from "../../rest/support/RouteParameters.js";
|
|
13
13
|
import type Stop from "../../rest/support/Stop.js";
|
|
14
14
|
import type TravelMode from "../../rest/support/TravelMode.js";
|
|
15
|
-
import type { EventedAccessor
|
|
15
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
16
16
|
import type { GeometryUnion } from "../../geometry/types.js";
|
|
17
17
|
import type { RouteLayerSolveResult, LayerSaveAsOptions } from "../../layers/types.js";
|
|
18
18
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
@@ -21,7 +21,7 @@ import type { GoTo, GoToProperties } from "../support/GoTo.js";
|
|
|
21
21
|
import type { RouteParametersProperties } from "../../rest/support/RouteParameters.js";
|
|
22
22
|
import type { TravelModeProperties } from "../../rest/support/TravelMode.js";
|
|
23
23
|
|
|
24
|
-
export interface DirectionsViewModelProperties extends
|
|
24
|
+
export interface DirectionsViewModelProperties extends GoToProperties, Partial<Pick<DirectionsViewModel, "apiKey" | "autoSolve" | "autoSolveOn" | "layer" | "maxStops" | "view">> {
|
|
25
25
|
/**
|
|
26
26
|
* Route Parameters object used to call the service.
|
|
27
27
|
* Please refer to the [RouteParameters](https://developers.arcgis.com/javascript/latest/api-reference/esri-rest-support-RouteParameters.html)
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import{__decorate as e}from"tslib";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as i,handlesGroup as r,abortHandle as s}from"../../core/handleUtils.js";import"../../core/has.js";import n from"../../core/Logger.js";import{removeMaybe as o,destroyMaybe as l}from"../../core/maybe.js";import{debounce as d,isPromiseLike as c}from"../../core/promiseUtils.js";import{watch as u,when as h,initial as p,whenOnce as m,syncAndInitial as f}from"../../core/reactiveUtils.js";import{generateBracedUUID as w}from"../../core/uuid.js";import{property as g,subclass as y}from"../../core/accessorSupport/decorators.js";import{isSharedTemplateOrMetadata as v,isSharedTemplate as _,isStandardFeatureTemplate as F}from"../../editing/templateUtils.js";import b from"../../layers/GraphicsLayer.js";import{isTable as M}from"../../layers/support/layerUtils.js";import{isNumber as I}from"../../support/guards.js";import{getDisplayedSymbol as V}from"../../symbols/support/symbolUtils.js";import{getDrawHelpMessage as k}from"../../views/draw/support/helpMessageUtils.js";import S from"../../views/draw/support/HighlightHelper.js";import A from"../../views/interactive/sketch/SketchOptions.js";import C from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{temporaryHighlightName as P}from"../../views/support/HighlightDefaults.js";import T from"./CreateFeaturesWorkflowData.js";import{isModelUpload as E,handleModelUpload as H}from"./modelUploadUtils.js";import U from"./Workflow.js";import{createToolFromGeometryType as L,findEditorItemForLayer as j,getServiceEditsFromWorkflowData as x,getServiceInfoForLayer as O,orderEditsByRelationshipDependencies as z,getFullTemplateForCreationInfo as W,getServiceLayersById as D,startCreatingNewFeature as R,findLayerInfo as G,updateGraphicSymbolWhenRequired as N,isTerminalUpdateEventType as K,getVisualVariableAttributes as Z,startUpdatingFeatureGeometry as q,createWorkflowSteps as B,avoidFeatureTemplateSelectionWithOnlyOneItem as J,getCreationAttributes as Q,setUpSketchCreateWatchers as X,setRelationshipFields as Y,prepareAttachmentsForCreateFeaturesWorkflow as $,showProgressCursor as ee,setVisualVariablesAndElevationInfoForUpdate as te,visualVariableInteractiveUpdate as ae}from"./workflowUtils.js";import ie from"../FeatureForm/FeatureFormViewModel.js";import re from"../Sketch/SketchViewModel.js";var se;const ne=Symbol(),oe=Symbol(),le=Symbol(),de=Symbol(),ce={point:["point"],multipoint:["multipoint"],polygon:["polygon","freehandPolygon","rectangle","circle"],polyline:["polyline","freehandPolyline"],mesh:[],multipatch:[]};let ue=se=class extends U{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._webStyleCache=new Map,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._formViewModel=new ie,this._sketchLayer=null,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._isActive=!0}initialize(){this.isNested&&(this._isActive=!1),this._initializeSketchViewModel()}destroy(){this._sketchViewModel.destroy()}get allowSave(){return!this.updating}get formViewModel(){return this._formViewModel}get hasInvalidFormTemplate(){return!!this.data.editorItem?.hasInvalidFormTemplate}get hasPendingEdits(){if(this.pendingFeatures.some(e=>!!this.data.getEditsForPendingFeature(e)?.modified))return!0;const{creationInfo:e,upload:t}=this.data,{activeComponent:a,createGraphic:i}=this._sketchViewModel,r=i?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==a?.type&&"draw-3d"!==a?.type)&&a.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get hasPreviousStep(){return this._stepIndex>0||"update-pending"===this.createFeatureState&&!!this.data.selectedPendingFeature&&!this.parent&&!E(this.data.creationInfo)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const{_sketchViewModel:a}=this,i=e.layer.geometryType,r=a.createGraphic;if("mesh"===i){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then(e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage});const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(r,e):void 0}const{activeCreateToolDrawMode:s,activeTool:n}=a;return k("rectangle"===n||"circle"===n?n:i,r?.geometry,s)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.length}get numPendingFeaturesExcludingHidden(){return this.pendingFeatures.filter(e=>this.data.isDisplayable(e)).length}get parent(){return this.data.parent}get pendingFeatures(){return this.data.pendingFeatures}get keyboardCancellationEnabled(){return 0===this.numPendingFeatures}get reliesOnOwnerAdminPrivileges(){return this.data.editorItem?.capabilities.create.reliesOnOwnerAdminPrivileges??!1}get saveActionLabel(){return"create"}get shouldShowAttachments(){return(this.data.selectedPendingFeature&&this.data.editorItem?.capabilities.create.attachments.enabled)??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}get availableCreateTools(){const e=this.data.creationInfo?.layer.geometryType,t=this.data.viewModel.view;if(!e)return[];if(this.data.creationInfo?.maxFeatures&&this.data.creationInfo.maxFeatures<=this.numPendingFeatures)return[];if(v(this.data.fullTemplate)){const{tool:t}=L(e,this.data.fullTemplate);return[t]}return"2d"!==t?.type&&"multipoint"===e?[]:[...ce[e]]}get _attachmentsActive(){const e=this.data.viewModel.attachmentsViewModel.mode,t=this.stepId;return this.shouldShowAttachments&&("add"===e||"edit"===e||"adding-attachment"===t||"editing-attachment"===t)}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&await this._updatingHandles.addPromise(this._setUpCreatingFeaturesStep())}exit(){this._isActive=!1,this.removeHandles([le])}async updatePendingFeature(e){if(e!==this.data.selectedPendingFeature)return this._sketchViewModel.cancel(),this._startUpdating({feature:e})}async start(){return await super.start(),M(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}async save(){const{formViewModel:e}=this;if(e.pendingSubtypeChoice)return;e.submit(),this._stashValidationState();const t=this.data.selectedPendingFeature,a=this._hasValidationErrors(t)?t:this.data.pendingFeatures.find(e=>this._hasValidationErrors(e));return a?(await this._startUpdating({feature:a}),void e?.submit()):super.save()}back(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive||this.parent?super.back(e):this._clearSelectedFeature()}previous(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||E(this.data.creationInfo)||this._attachmentsActive?super.previous(e):this._clearSelectedFeature()}cancelFeature(e){this.data.isSharedTemplateWorkflow?n.getLogger(this).warn("Cannot cancel individual features created by shared templates."):(this.data.removePendingFeature(e),this.sketchViewModel.removeGraphic(e))}static create(e){const{addAttachmentsCallback:t,applyEdits:a,applyEditsFeatureService:i,isNested:r,creationInfo:s,parent:n,snappingManager:o,startAt:l,viewModel:d}=e,c=e.sketchOptions??new A,u=s?.layer,h=u?j(d.editorItems,u):void 0,p=new se({data:new T({creationInfo:s,editorItem:h,parent:n,sketchOptions:c,snappingManager:o,viewModel:d}),isNested:r,onCommit:async e=>{const{creationInfo:r}=e;if(!r)return;p._sketchViewModel.cancel();const s=e.pendingFeatures.toArray(),{layer:n}=r,o=n.capabilities?.editing.supportsGlobalId&&"globalIdField"in n,l=p._attachmentFileInfos,{fullTemplate:c}=e,u=x(p.data),h=_(c)&&u;if(o){if(fe(s),h){let t=ge(u,l);const a=await(O(n,d.view)?.load());a&&(t=z({edits:t,serviceInfo:a,view:d.view,findOriginalFeature:t=>e.getEditsForPendingFeature(t)?.initialFeature??t})),await i(c.featureService,t,{globalIdUsed:!0,gdbVersion:c.layer.gdbVersion??void 0})}else{const e=we(s,l);await a(n,e,{globalIdUsed:!0})}return}const m=h?await i(c.featureService,u,{gdbVersion:c.layer.gdbVersion??void 0}):[await a(n,{addFeatures:s})];m&&l.size>0&&await Promise.all(m.map(e=>{if(e?.addFeatureResults)return t(n,me(s,e.addFeatureResults,n,l))}))}});return p._set("steps",this._createWorkflowSteps(p,l)),p}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",i(()=>e.effect=t)}const t=e.opacity;return e.opacity=.7,i(()=>e.opacity=t)}async _initializeFullTemplateAndExecutorInfo(e){const{creationInfo:t}=e,{view:a}=e.viewModel;if(!t||!a)return null;const i=await W(t,a);if(e.fullTemplate=i,i&&_(i)){const{createTemplateExecutor:r}=await import("../../editing/sharedTemplates/executor/createTemplateExecutor.js"),s={completionResults:[],executor:await r(i),serviceLayersById:D(t.layer,a)};e.templateExecutorInfo=s}return i}async _startCreating(){this.removeHandles(oe);const{data:e}=this;if(!e.creationInfo)return;const t=this.data.creationInfo?.maxFeatures;if(t&&this.numPendingFeatures>=t)return this.sketchViewModel.cancel(),void(this.numPendingFeatures&&await this._startUpdating({feature:this.pendingFeatures.at(-1)}));this.createFeatureState="create-new",await R(this._sketchViewModel,this._sketchLayer,e,this._webStyleCache)}async _clearSelectedFeature(){const e=this._formViewModel.pendingSubtypeChoice;e&&(e.resolve("undo"),await e.promise),this._stashValidationState(),this.sketchViewModel.cancel(),this.data.selectedPendingFeature=null,this._featureFormHandle=o(this._featureFormHandle),this._formViewModel.feature=null;const t=this.data.viewModel.attachmentsViewModel;"add"!==t.mode&&"edit"!==t.mode||await(this.data.viewModel.activeWorkflow?.previous())}_stashValidationState(){const e=this._formViewModel.feature,t=e&&this.data.getEditsForPendingFeature(e);t&&(t.submittable=this._formViewModel.submittable)}async _selectFeatureForUpdate({feature:e,initialFeature:t=e}){this._stashValidationState();const{data:a,pendingFeatures:i,_webStyleCache:s}=this;i.includes(e)||a.addPendingFeature(e,t),a.selectedPendingFeature=e;const{_formViewModel:n,_sketchViewModel:l}=this,{creationInfo:d,viewModel:c}=a,{attachmentsViewModel:h,layerInfos:p,view:m}=c;if(!m||!d)return;o(this._featureFormHandle);const f=e.sourceLayer,w=G(p,f),g=w?.formTemplate,y=m.spatialReference;n.set({editType:"INSERT",feature:e,formTemplate:g,spatialReference:y,map:m.map}),"add"!==h.mode&&"edit"!==h.mode||await(c.activeWorkflow?.previous()),h.graphic=e,h.fileInfos.removeAll(),h.mode="view";(this._attachmentFileInfos.get(e)||[]).forEach(({file:e,form:t})=>h.addFile(e,t)),await N(e,s,"2d"===m.type?m.scale:null);const v=a.getEditsForPendingFeature(e);this._featureFormHandle=r([n.on("value-change",async({fieldName:t,value:a})=>{if(v?.updateAttributes(n.getValues()),I(a)){const e=this._visualVariableAttributes;e.size&&!e.size.isUpdatingInteractively&&t===e.size.field&&e.size.setInitialValue(a),e.rotation&&!e.rotation.isUpdatingInteractively&&t===e.rotation.field&&e.rotation.setInitialValue(a)}await N(e,s,"2d"===m.type?m.scale:null)}),l.on(["update","undo","redo"],e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&K(e.toolEventInfo.type))&&n.notifyFeatureGeometryChanged()}),u(()=>n.feature?.sourceLayer,t=>e.sourceLayer=t),u(()=>[n.feature,n.submittable],()=>this._stashValidationState())]),this.createFeatureState="update-pending"}async _startUpdating({feature:e,initialFeature:t=e}){await this._selectFeatureForUpdate({feature:e,initialFeature:t});const{_sketchLayer:a,_sketchViewModel:i,data:r}=this,{creationInfo:s,viewModel:n}=r,{view:o}=n;if(!o||!s)return;const l=e.sourceLayer??s.layer;return M(l)?void 0:(this._visualVariableAttributes=Z(e),q({graphic:e,sketchLayer:a,sketchViewModel:i,sourceLayer:l,visualVariables:this._visualVariableAttributes,webStyleCache:this._webStyleCache}))}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=B(["awaiting-feature-creation-info","creating-features","adding-attachment","editing-attachment"],t,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){const{creationInfo:t,viewModel:i}=a,{view:r}=i;r&&(E(t)?e.addHandles(await H({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&e.addHandles(i.restrictFeatureTemplatesViewModelToLayer(t.layer),this.id),e.addHandles(i.featureTemplatesViewModel.on("select",({item:t})=>{t&&(a.creationInfo={...a.creationInfo,layer:t.layer,template:t.template},e.next())}),this.id)))},async tearDown(){e.removeHandles(this.id)}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([le,ne,oe,de]),i.attachmentsViewModel.fileInfos.removeAll(),e._attachmentFileInfos.clear())}}),"adding-attachment":()=>({id:"adding-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}})});return J(a,i)}static _configureSketchViewModel(e){const{data:t,_sketchLayer:a,_sketchViewModel:s,_webStyleCache:n}=e,{creationInfo:o,viewModel:l}=t,{view:c}=l,p=[];if(!c)return i();if("2d"===c.type){o&&p.push(e._fadeExistingFeatures(o.layer));const t=d((e,t)=>Promise.all(e.map(e=>N(e,n,t))));p.push(u(()=>c.scale,e=>t(a.graphics,e)))}const m=Q(t.fullTemplate,o?.attributeOverrides),f=u(()=>s.createGraphic,a=>{a&&!e.hasHandles(oe)&&e._updatingHandles.addPromise(X({creationAttributes:m,data:t,sketchViewModel:s,view:c,webStyleCache:n}).then(t=>e.addHandles(t,oe)))}),w=async t=>{if("cancel"!==t.state&&"complete"!==t.state||e.removeHandles(oe),"cancel"===t.state&&null!==c.activeTool&&c.activeTool!==e.sketchViewModel.activeComponent&&(await e._waitForActiveToolCleared(),await e._startCreating()),"complete"===t.state&&t.graphic){const a=await e._processEdits(t.graphic,{scale:"2d"===c.type?c.scale:null,useSourceLayer:!0,webStyleCache:e._webStyleCache});a&&(await e._waitForActiveToolCleared(),await e._startUpdating({feature:a}))}},g=async i=>{const{attachmentsViewModel:r}=l,{_formViewModel:n}=e;if(i.graphics.length>1)return void await e._clearSelectedFeature();const d=i.graphics[0];if("complete"===i.state){const{submittable:t}=n;if(e.numPendingFeatures!==o?.maxFeatures&&t||n.submit(),await e._clearSelectedFeature(),"add"!==r.mode&&"edit"!==r.mode||await(l.activeWorkflow?.previous()),!i.aborted&&c.activeTool===e.sketchViewModel.activeComponent&&(await e.sketchViewModel.wait(),"ready"===e.sketchViewModel.state&&"mesh"!==e.data.creationInfo?.layer.geometryType))return e._startCreating()}else{if("start"===i.state)return d.sourceLayer??=t.creationInfo?.layer,await te({graphic:d,sketchLayer:a,sketchViewModel:s,visualVariables:e._visualVariableAttributes,webStyleCache:e._webStyleCache,sourceLayer:d.sourceLayer}),e._selectFeatureForUpdate({feature:d});if("active"===i.state){await e.updatePendingFeature(d);const t=e._visualVariableAttributes;ae(c,d,i,t)&&await N(d,e._webStyleCache,"2d"===c.type?c.scale:null);const a=d.attributes,{rotation:r,size:s}=t;if(null!=r){const{field:e}=r;n.setValue(e,a[e])}if(null!=s){const{field:e}=s;n.setValue(e,a[e])}}}},y=async a=>{if(a.graphics.forEach(e=>{t.removePendingFeature(e)}),!E(t.creationInfo))return e._startCreating()},v=async()=>{if(E(t.creationInfo))try{await e.data.viewModel.back()}catch{}return e._startCreating()};p.push(f,s.on("create",t=>e._updatingHandles.addPromise(w(t))),s.on("update",t=>e._updatingHandles.addPromise(g(t))),s.on("delete",t=>e._updatingHandles.addPromise(y(t))),h(()=>!e.numPendingFeatures,()=>e._updatingHandles.addPromise(v())),i(()=>{s.cancel()}),he(s,a,t),...pe(t));const _=r(p);return s.addHandles(_),_}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new b({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide",title:"createFeaturesWorkflow-internal"}),r=new re({layer:a,creationMode:"single",sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:t});this._sketchLayer=a,this._sketchViewModel=r,t?.map.add(a),this.addHandles([i(()=>{t?.destroyed||t?.map.remove(a),a.destroy()}),u(()=>this.numPendingFeatures>0,e=>this._sketchViewModel.updateOnGraphicClick=e,p)])}_hasValidationErrors(e){return!!e&&(!this.data.isSubmittable(e)||!!this._formViewModel.validateContingencyConstraints(e.attributes,{includeIncompleteViolations:!0})?.length)}async _processEdits(e,t){const{data:a,_formViewModel:i,_sketchLayer:r}=this,{layerInfos:s,view:n}=a.viewModel;i.editType="INSERT",i.map=n?.map,i.spatialReference=n?.spatialReference;const{templateExecutorInfo:o}=a;if(!o){const t=e.clone();return t.geometry=null,await this._addAndInitializeEdits(e,t),e}r.remove(e);const{executor:l}=o,d=l(e.geometry,"completion"),u=c(d)?await d:d;o.completionResults.push(u),Y(u.relationships),i.editType="INSERT",i.map=n?.map,i.spatialReference=n?.spatialReference,u.primary&&a.creationInfo?.attributeOverrides&&(u.primary.graphic.attributes={...u.primary.graphic.attributes,...a.creationInfo.attributeOverrides});for(const c of u.edits){let e=null;if(c.addFeatures)for(const a of c.addFeatures){const i=a.clone();i.geometry=null,null!=a.geometry&&(a.symbol=await V(a,t),r.add(a)),a.sourceLayer!==e?.layer&&(e=G(s,a.sourceLayer));const n=!!u.associationGraphics?.has(a);await this._addAndInitializeEdits(a,i,e,n)}}i.feature=null,await m(()=>!i.updating);return u.edits.reduce((e,t)=>e+(t.addFeatures?.length??0),0)>1?null:u.primary?.graphic}async _addAndInitializeEdits(e,t,a,i=!1){const{data:r,_formViewModel:s}=this,{layerInfos:n}=r.viewModel,o=r.addPendingFeature(e,t,{isAssociation:i});a??=G(n,e.sourceLayer),s.feature=e,s.formTemplate=a?.formTemplate,await m(()=>!s.updating),o.updateAttributes(s.getValues()),o.submittable=s.submittable}async _setUpCreatingFeaturesStep(){if(this.hasHandles(le))return;const{data:e,sketchViewModel:s}=this,{creationInfo:n,viewModel:l}=e,{attachmentsViewModel:d,view:c}=l;if(!c||!n?.layer)throw new a("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");const{initialFeature:h,layer:m}=n,f=[],w=[];this._featureFormHandle=o(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},e.editorItem=j(l.editorItems,n.layer),n.template&&(null==e.fullTemplate&&await this._initializeFullTemplateAndExecutorInfo(e),w.push(i(()=>{e.templateExecutorInfo&&(e.templateExecutorInfo.completionResults=[])}))),s.allowDeleteKey=!e.isSharedTemplateWorkflow,$(d),f.push(u(()=>d.mode,e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}}));const g=ee(c);f.push(g);const y=M(n.layer),{template:_}=n,b=!_||F(_)||v(_)&&"feature"===_.type,I=y&&b;try{if(I){const a=h??new t({attributes:Q(e.fullTemplate,n.attributeOverrides),sourceLayer:m}),i=await this._processEdits(a);i&&await this._startUpdating({feature:i})}else f.push(se._configureSketchViewModel(this)),h?(E(n)&&n.geometryToPlace&&(h.attributes=Q(e.fullTemplate,n.attributeOverrides)),s.addGraphic(h),await this._startUpdating({feature:h})):await this._startCreating()}finally{g.remove()}const V=i(()=>{for(const t of e.pendingFeatures)s.removeGraphic(t),e.removePendingFeature(t)}),k=u(()=>c?.timeZone,e=>{this._formViewModel.timeZone=e,this.data.timeZone=e},p),S=i(()=>{E(n)&&l.cancelWorkflow({warnIfNoWorkflow:!1})});this._featureFormHandle&&f.push(this._featureFormHandle),this.addHandles(f,this._handleKeys.beforeCommit),this.addHandles(w,this._handleKeys.afterCommit),this.addHandles([i(()=>d.fileInfos.removeAll()),r(f),r(w),S,V,k],le)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(s(t),de),await m(()=>null==e?.activeTool,t.signal),t.abort()}};function he(e,t,a){let s=null;const n=()=>e.snappingOptions.featureSources,o=()=>(s=new C({layer:t}),n().add(s),s),d=()=>{null!=s&&(n().remove(s),s=l(s))};return r([u(()=>{const e=a.creationInfo?.layer,t=n().find(t=>t.layer===e);return{hasFeatureLayerSource:!!t,enabled:t?.enabled??!1}},({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return d();s??=o(),s.enabled=t},f),i(d)])}function pe(e){const t=e.viewModel.view;if(!t)return[];const a=[];if("3d"===t.type){const r=new S({view:t});a.push(u(()=>e.selectedPendingFeature,(e,t)=>{r.remove(e),r.add(t)}),i(()=>r.destroy()))}const r=new S({view:t,highlightName:P});return a.push(u(()=>e.temporaryHighlightFeature,e=>{r.removeAll(),r.add(e)}),i(()=>r.destroy())),a}function me(e,t,a,i){const r=[];return t.forEach((t,s)=>{if(!t.error){const n=e[s],o=i.get(n)||[];n.attributes[a.objectIdField]=t.objectId,o.forEach(({form:e})=>r.push({feature:n,attachment:e}))}}),r}function fe(e){for(const t of e){const{sourceLayer:e}=t;e&&"globalIdField"in e&&null!=e.globalIdField&&(t.attributes[e.globalIdField]??=w())}}function we(e,t){const a=[];if(!t||0===t.size)return{addFeatures:e};for(const[i,r]of t)for(const{file:e}of r)a.push({feature:i,attachment:{globalId:w(),data:e}});return a.length?{addFeatures:e,addAttachments:a}:{addFeatures:e}}function ge(e,t){return e.map(e=>{const{addFeatures:a}=e;if(!a||0===a.length)return e;const i=[];for(const r of a){const e=t.get(r);if(e)for(const{file:t}of e)i.push({feature:r,attachment:{globalId:w(),data:t}})}return i.length?{...e,addAttachments:i}:e})}e([g()],ue.prototype,"allowSave",null),e([g()],ue.prototype,"createFeatureState",void 0),e([g()],ue.prototype,"data",void 0),e([g({constructOnly:!0})],ue.prototype,"isNested",void 0),e([g()],ue.prototype,"formViewModel",null),e([g()],ue.prototype,"hasInvalidFormTemplate",null),e([g()],ue.prototype,"hasPendingEdits",null),e([g()],ue.prototype,"hasPreviousStep",null),e([g()],ue.prototype,"_getDrawMeshHelpMessage",void 0),e([g()],ue.prototype,"helpMessage",null),e([g()],ue.prototype,"layer",null),e([g()],ue.prototype,"parent",null),e([g()],ue.prototype,"keyboardCancellationEnabled",null),e([g()],ue.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],ue.prototype,"saveActionLabel",null),e([g()],ue.prototype,"shouldShowAttachments",null),e([g()],ue.prototype,"shouldAllowAttachmentEditing",null),e([g()],ue.prototype,"sketchViewModel",null),e([g()],ue.prototype,"availableCreateTools",null),e([g()],ue.prototype,"_attachmentsActive",null),ue=se=e([y("esri.widgets.Editor.CreateFeaturesWorkflow")],ue);const ye=ue;export{ye as default};
|
|
5
|
+
import{__decorate as e}from"tslib";import t from"../../Graphic.js";import a from"../../core/Error.js";import{makeHandle as i,handlesGroup as r,abortHandle as s}from"../../core/handleUtils.js";import"../../core/has.js";import n from"../../core/Logger.js";import{removeMaybe as o,destroyMaybe as l}from"../../core/maybe.js";import{debounce as d,isPromiseLike as c}from"../../core/promiseUtils.js";import{watch as u,when as h,initial as p,whenOnce as m,syncAndInitial as f}from"../../core/reactiveUtils.js";import{generateBracedUUID as w}from"../../core/uuid.js";import{property as g,subclass as y}from"../../core/accessorSupport/decorators.js";import{isSharedTemplateOrMetadata as v,isSharedTemplate as _,getCreationAttributes as F,isStandardFeatureTemplate as b}from"../../editing/templateUtils.js";import{getFullTemplate as M}from"../../editing/sharedTemplates/templateLoader.js";import I from"../../layers/GraphicsLayer.js";import{isTable as V}from"../../layers/support/layerUtils.js";import{isNumber as k}from"../../support/guards.js";import{getDisplayedSymbol as S}from"../../symbols/support/symbolUtils.js";import{getDrawHelpMessage as A}from"../../views/draw/support/helpMessageUtils.js";import T from"../../views/draw/support/HighlightHelper.js";import C from"../../views/interactive/sketch/SketchOptions.js";import P from"../../views/interactive/snapping/FeatureSnappingLayerSource.js";import{temporaryHighlightName as E}from"../../views/support/HighlightDefaults.js";import H from"./CreateFeaturesWorkflowData.js";import{isModelUpload as L,handleModelUpload as U}from"./modelUploadUtils.js";import j from"./Workflow.js";import{createToolFromGeometryType as x,findEditorItemForLayer as O,getServiceEditsFromWorkflowData as z,getServiceInfoForLayer as W,orderEditsByRelationshipDependencies as D,getServiceLayersById as R,startCreatingNewFeature as G,findLayerInfo as N,updateGraphicSymbolWhenRequired as K,isTerminalUpdateEventType as Z,getVisualVariableAttributes as q,startUpdatingFeatureGeometry as B,createWorkflowSteps as J,avoidFeatureTemplateSelectionWithOnlyOneItem as Q,setUpSketchCreateWatchers as X,setRelationshipFields as Y,prepareAttachmentsForCreateFeaturesWorkflow as $,showProgressCursor as ee,setVisualVariablesAndElevationInfoForUpdate as te,visualVariableInteractiveUpdate as ae}from"./workflowUtils.js";import ie from"../FeatureForm/FeatureFormViewModel.js";import re from"../Sketch/SketchViewModel.js";var se;const ne=Symbol(),oe=Symbol(),le=Symbol(),de=Symbol(),ce={point:["point"],multipoint:["multipoint"],polygon:["polygon","freehandPolygon","rectangle","circle"],polyline:["polyline","freehandPolyline"],mesh:[],multipatch:[]};let ue=se=class extends j{constructor(e){super(e),this.type="create-features",this.createFeatureState="create-new",this.data=void 0,this.isNested=!1,this._getDrawMeshHelpMessage=void 0,this._webStyleCache=new Map,this._featureFormHandle=null,this._visualVariableAttributes={rotation:null,size:null},this._formViewModel=new ie,this._sketchLayer=null,this._sketchViewModel=null,this._attachmentFileInfos=new Map,this._isActive=!0}initialize(){this.isNested&&(this._isActive=!1),this._initializeSketchViewModel()}destroy(){this._sketchViewModel.destroy()}get allowSave(){return!this.updating}get formViewModel(){return this._formViewModel}get hasInvalidFormTemplate(){return!!this.data.editorItem?.hasInvalidFormTemplate}get hasPendingEdits(){if(this.pendingFeatures.some(e=>!!this.data.getEditsForPendingFeature(e)?.modified))return!0;const{creationInfo:e,upload:t}=this.data,{activeComponent:a,createGraphic:i}=this._sketchViewModel,r=i?.geometry?.type;return!("polyline"!==r&&"polygon"!==r&&"multipoint"!==r||"draw-2d"!==a?.type&&"draw-3d"!==a?.type)&&a.drawOperation.committedVertices.length>0||(!(!t||"pending"!==t.state&&"success"!==t.state)||!!e?.geometryToPlace)}get hasPreviousStep(){return this._stepIndex>0||"update-pending"===this.createFeatureState&&!!this.data.selectedPendingFeature&&!this.parent&&!L(this.data.creationInfo)}get helpMessage(){const{creationInfo:e,viewModel:t}=this.data;if("creating-features"!==this.stepId||!e)return;const{_sketchViewModel:a}=this,i=e.layer.geometryType,r=a.createGraphic;if("mesh"===i){this._getDrawMeshHelpMessage||import("../../views/draw/support/helpMessageUtils3d.js").then(e=>{this._getDrawMeshHelpMessage=e.getDrawMeshHelpMessage});const{view:e}=t;return"3d"===e?.type?this._getDrawMeshHelpMessage?.(r,e):void 0}const{activeCreateToolDrawMode:s,activeTool:n}=a;return A("rectangle"===n||"circle"===n?n:i,r?.geometry,s)}get layer(){return this.data.creationInfo?.layer}get numPendingFeatures(){return this.pendingFeatures.length}get numPendingFeaturesExcludingHidden(){return this.pendingFeatures.filter(e=>this.data.isDisplayable(e)).length}get parent(){return this.data.parent}get pendingFeatures(){return this.data.pendingFeatures}get keyboardCancellationEnabled(){return 0===this.numPendingFeatures}get reliesOnOwnerAdminPrivileges(){return this.data.editorItem?.capabilities.create.reliesOnOwnerAdminPrivileges??!1}get saveActionLabel(){return"create"}get shouldShowAttachments(){return(this.data.selectedPendingFeature&&this.data.editorItem?.capabilities.create.attachments.enabled)??!1}get shouldAllowAttachmentEditing(){return this.shouldShowAttachments}get sketchViewModel(){return this._sketchViewModel}get test(){}get availableCreateTools(){const e=this.data.creationInfo?.layer.geometryType,t=this.data.viewModel.view;if(!e)return[];if(this.data.creationInfo?.maxFeatures&&this.data.creationInfo.maxFeatures<=this.numPendingFeatures)return[];if(v(this.data.fullTemplate)){const{tool:t}=x(e,this.data.fullTemplate);return[t]}return"2d"!==t?.type&&"multipoint"===e?[]:[...ce[e]]}get _attachmentsActive(){const e=this.data.viewModel.attachmentsViewModel.mode,t=this.stepId;return this.shouldShowAttachments&&("add"===e||"edit"===e||"adding-attachment"===t||"editing-attachment"===t)}async enter(){this._isActive=!0,"awaiting-feature-creation-info"!==this.stepId&&await this._updatingHandles.addPromise(this._setUpCreatingFeaturesStep())}exit(){this._isActive=!1,this.removeHandles([le])}async updatePendingFeature(e){if(e!==this.data.selectedPendingFeature)return this._sketchViewModel.cancel(),this._startUpdating({feature:e})}async start(){return await super.start(),V(this.data.creationInfo?.layer)?null:{enter:async()=>{},exit:async()=>{},viewModel:this._sketchViewModel}}async save(){const{formViewModel:e}=this;if(e.pendingSubtypeChoice)return;e.submit(),this._stashValidationState();const t=this.data.selectedPendingFeature,a=this._hasValidationErrors(t)?t:this.data.pendingFeatures.find(e=>this._hasValidationErrors(e));return a?(await this._startUpdating({feature:a}),void e?.submit()):super.save()}back(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||L(this.data.creationInfo)||this._attachmentsActive||this.parent?super.back(e):this._clearSelectedFeature()}previous(e){return"update-pending"!==this.createFeatureState||!this.data.selectedPendingFeature||L(this.data.creationInfo)||this._attachmentsActive?super.previous(e):this._clearSelectedFeature()}cancelFeature(e){this.data.isSharedTemplateWorkflow?n.getLogger(this).warn("Cannot cancel individual features created by shared templates."):(this.data.removePendingFeature(e),this.sketchViewModel.removeGraphic(e))}static create(e){const{addAttachmentsCallback:t,applyEdits:a,applyEditsFeatureService:i,isNested:r,creationInfo:s,parent:n,snappingManager:o,startAt:l,viewModel:d}=e,c=e.sketchOptions??new C,u=s?.layer,h=u?O(d.editorItems,u):void 0,p=new se({data:new H({creationInfo:s,editorItem:h,parent:n,sketchOptions:c,snappingManager:o,viewModel:d}),isNested:r,onCommit:async e=>{const{creationInfo:r}=e;if(!r)return;p._sketchViewModel.cancel();const s=e.pendingFeatures.toArray(),{layer:n}=r,o=n.capabilities?.editing.supportsGlobalId&&"globalIdField"in n,l=p._attachmentFileInfos,{fullTemplate:c}=e,u=z(p.data),h=_(c)&&u;if(o){if(fe(s),h){let t=ge(u,l);const a=await(W(n,d.view)?.load());a&&(t=D({edits:t,serviceInfo:a,view:d.view,findOriginalFeature:t=>e.getEditsForPendingFeature(t)?.initialFeature??t})),await i(c.featureService,t,{globalIdUsed:!0,gdbVersion:c.layer.gdbVersion??void 0})}else{const e=we(s,l);await a(n,e,{globalIdUsed:!0})}return}const m=h?await i(c.featureService,u,{gdbVersion:c.layer.gdbVersion??void 0}):[await a(n,{addFeatures:s})];m&&l.size>0&&await Promise.all(m.map(e=>{if(e?.addFeatureResults)return t(n,me(s,e.addFeatureResults,n,l))}))}});return p._set("steps",this._createWorkflowSteps(p,l)),p}_fadeExistingFeatures(e){if("effect"in e){const t=e.effect;return e.effect="saturate(0.6) opacity(0.8)",i(()=>e.effect=t)}const t=e.opacity;return e.opacity=.7,i(()=>e.opacity=t)}async _initializeFullTemplateAndExecutorInfo(e){const{creationInfo:t}=e,{view:a}=e.viewModel;if(!t||!a)return null;const i=await M(a,t.template);if(e.fullTemplate=i,i&&_(i)){const{createTemplateExecutor:r}=await import("../../editing/sharedTemplates/executor/createTemplateExecutor.js"),s={completionResults:[],executor:await r(i),serviceLayersById:R(t.layer,a)};e.templateExecutorInfo=s}return i}async _startCreating(){this.removeHandles(oe);const{data:e}=this;if(!e.creationInfo)return;const t=this.data.creationInfo?.maxFeatures;if(t&&this.numPendingFeatures>=t)return this.sketchViewModel.cancel(),void(this.numPendingFeatures&&await this._startUpdating({feature:this.pendingFeatures.at(-1)}));this.createFeatureState="create-new",await G(this._sketchViewModel,this._sketchLayer,e,this._webStyleCache)}async _clearSelectedFeature(){const e=this._formViewModel.pendingSubtypeChoice;e&&(e.resolve("undo"),await e.promise),this._stashValidationState(),this.sketchViewModel.cancel(),this.data.selectedPendingFeature=null,this._featureFormHandle=o(this._featureFormHandle),this._formViewModel.feature=null;const t=this.data.viewModel.attachmentsViewModel;"add"!==t.mode&&"edit"!==t.mode||await(this.data.viewModel.activeWorkflow?.previous())}_stashValidationState(){const e=this._formViewModel.feature,t=e&&this.data.getEditsForPendingFeature(e);t&&(t.submittable=this._formViewModel.submittable)}async _selectFeatureForUpdate({feature:e,initialFeature:t=e}){this._stashValidationState();const{data:a,pendingFeatures:i,_webStyleCache:s}=this;i.includes(e)||a.addPendingFeature(e,t),a.selectedPendingFeature=e;const{_formViewModel:n,_sketchViewModel:l}=this,{creationInfo:d,viewModel:c}=a,{attachmentsViewModel:h,layerInfos:p,view:m}=c;if(!m||!d)return;o(this._featureFormHandle);const f=e.sourceLayer,w=N(p,f),g=w?.formTemplate,y=m.spatialReference;n.set({editType:"INSERT",feature:e,formTemplate:g,spatialReference:y,map:m.map}),"add"!==h.mode&&"edit"!==h.mode||await(c.activeWorkflow?.previous()),h.graphic=e,h.fileInfos.removeAll(),h.mode="view";(this._attachmentFileInfos.get(e)||[]).forEach(({file:e,form:t})=>h.addFile(e,t)),await K(e,s,"2d"===m.type?m.scale:null);const v=a.getEditsForPendingFeature(e);this._featureFormHandle=r([n.on("value-change",async({fieldName:t,value:a})=>{if(v?.updateAttributes(n.getValues()),k(a)){const e=this._visualVariableAttributes;e.size&&!e.size.isUpdatingInteractively&&t===e.size.field&&e.size.setInitialValue(a),e.rotation&&!e.rotation.isUpdatingInteractively&&t===e.rotation.field&&e.rotation.setInitialValue(a)}await K(e,s,"2d"===m.type?m.scale:null)}),l.on(["update","undo","redo"],e=>{("undo"===e.type||"redo"===e.type||"update"===e.type&&null!=e.toolEventInfo&&Z(e.toolEventInfo.type))&&n.notifyFeatureGeometryChanged()}),u(()=>n.feature?.sourceLayer,t=>e.sourceLayer=t),u(()=>[n.feature,n.submittable],()=>this._stashValidationState())]),this.createFeatureState="update-pending"}async _startUpdating({feature:e,initialFeature:t=e}){await this._selectFeatureForUpdate({feature:e,initialFeature:t});const{_sketchLayer:a,_sketchViewModel:i,data:r}=this,{creationInfo:s,viewModel:n}=r,{view:o}=n;if(!o||!s)return;const l=e.sourceLayer??s.layer;return V(l)?void 0:(this._visualVariableAttributes=q(e),B({graphic:e,sketchLayer:a,sketchViewModel:i,sourceLayer:l,visualVariables:this._visualVariableAttributes,webStyleCache:this._webStyleCache}))}static _createWorkflowSteps(e,t="awaiting-feature-creation-info"){const{data:a}=e,i=J(["awaiting-feature-creation-info","creating-features","adding-attachment","editing-attachment"],t,{"awaiting-feature-creation-info":()=>({id:"awaiting-feature-creation-info",async setUp(){const{creationInfo:t,viewModel:i}=a,{view:r}=i;r&&(L(t)?e.addHandles(await U({view:r,data:a,next:()=>e.next(),cancel:()=>i.cancelWorkflow({warnIfNoWorkflow:!1})}),this.id):(a.parent&&t&&e.addHandles(i.restrictFeatureTemplatesViewModelToLayer(t.layer),this.id),e.addHandles(i.featureTemplatesViewModel.on("select",({item:t})=>{t&&(a.creationInfo={...a.creationInfo,layer:t.layer,template:t.template},e.next())}),this.id)))},async tearDown(){e.removeHandles(this.id)}}),"creating-features":()=>({id:"creating-features",async setUp(){e._isActive&&await e._setUpCreatingFeaturesStep()},async tearDown(t){const{viewModel:i}=a;t.canceled&&(e.removeHandles([le,ne,oe,de]),i.attachmentsViewModel.fileInfos.removeAll(),e._attachmentFileInfos.clear())}}),"adding-attachment":()=>({id:"adding-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}}),"editing-attachment":()=>({id:"editing-attachment",parent:"creating-features",async setUp(){},async tearDown(){const{attachmentsViewModel:t}=a.viewModel,{graphic:i,fileInfos:r}=t;e._attachmentFileInfos.set(i,r.toArray()),t.mode="view"}})});return Q(a,i)}static _configureSketchViewModel(e){const{data:t,_sketchLayer:a,_sketchViewModel:s,_webStyleCache:n}=e,{creationInfo:o,viewModel:l}=t,{view:c}=l,p=[];if(!c)return i();if("2d"===c.type){o&&p.push(e._fadeExistingFeatures(o.layer));const t=d((e,t)=>Promise.all(e.map(e=>K(e,n,t))));p.push(u(()=>c.scale,e=>t(a.graphics,e)))}const m=F(t.fullTemplate,o?.attributeOverrides),f=u(()=>s.createGraphic,a=>{a&&!e.hasHandles(oe)&&e._updatingHandles.addPromise(X({creationAttributes:m,data:t,sketchViewModel:s,view:c,webStyleCache:n}).then(t=>e.addHandles(t,oe)))}),w=async t=>{if("cancel"!==t.state&&"complete"!==t.state||e.removeHandles(oe),"cancel"===t.state&&null!==c.activeTool&&c.activeTool!==e.sketchViewModel.activeComponent&&(await e._waitForActiveToolCleared(),await e._startCreating()),"complete"===t.state&&t.graphic){const a=await e._processEdits(t.graphic,{scale:"2d"===c.type?c.scale:null,useSourceLayer:!0,webStyleCache:e._webStyleCache});a&&(await e._waitForActiveToolCleared(),await e._startUpdating({feature:a}))}},g=async i=>{const{attachmentsViewModel:r}=l,{_formViewModel:n}=e;if(i.graphics.length>1)return void await e._clearSelectedFeature();const d=i.graphics[0];if("complete"===i.state){const{submittable:t}=n;if(e.numPendingFeatures!==o?.maxFeatures&&t||n.submit(),await e._clearSelectedFeature(),"add"!==r.mode&&"edit"!==r.mode||await(l.activeWorkflow?.previous()),!i.aborted&&c.activeTool===e.sketchViewModel.activeComponent&&(await e.sketchViewModel.wait(),"ready"===e.sketchViewModel.state&&"mesh"!==e.data.creationInfo?.layer.geometryType))return e._startCreating()}else{if("start"===i.state)return d.sourceLayer??=t.creationInfo?.layer,await te({graphic:d,sketchLayer:a,sketchViewModel:s,visualVariables:e._visualVariableAttributes,webStyleCache:e._webStyleCache,sourceLayer:d.sourceLayer}),e._selectFeatureForUpdate({feature:d});if("active"===i.state){await e.updatePendingFeature(d);const t=e._visualVariableAttributes;ae(c,d,i,t)&&await K(d,e._webStyleCache,"2d"===c.type?c.scale:null);const a=d.attributes,{rotation:r,size:s}=t;if(null!=r){const{field:e}=r;n.setValue(e,a[e])}if(null!=s){const{field:e}=s;n.setValue(e,a[e])}}}},y=async a=>{if(a.graphics.forEach(e=>{t.removePendingFeature(e)}),!L(t.creationInfo))return e._startCreating()},v=async()=>{if(L(t.creationInfo))try{await e.data.viewModel.back()}catch{}return e._startCreating()};p.push(f,s.on("create",t=>e._updatingHandles.addPromise(w(t))),s.on("update",t=>e._updatingHandles.addPromise(g(t))),s.on("delete",t=>e._updatingHandles.addPromise(y(t))),h(()=>!e.numPendingFeatures,()=>e._updatingHandles.addPromise(v())),i(()=>{s.cancel()}),he(s,a,t),...pe(t));const _=r(p);return s.addHandles(_),_}_initializeSketchViewModel(){const{data:e}=this,{view:t}=e.viewModel,a=new I({elevationInfo:e.creationInfo?.layer.elevationInfo,internal:!0,listMode:"hide",title:"createFeaturesWorkflow-internal"}),r=new re({layer:a,creationMode:"single",sketchOptions:e.sketchOptions,snappingManager:e.snappingManager,updateOnGraphicClick:!1,defaultUpdateOptions:{multipleSelectionEnabled:!1},view:t});this._sketchLayer=a,this._sketchViewModel=r,t?.map.add(a),this.addHandles([i(()=>{t?.destroyed||t?.map.remove(a),a.destroy()}),u(()=>this.numPendingFeatures>0,e=>this._sketchViewModel.updateOnGraphicClick=e,p)])}_hasValidationErrors(e){return!!e&&(!this.data.isSubmittable(e)||!!this._formViewModel.validateContingencyConstraints(e.attributes,{includeIncompleteViolations:!0})?.length)}async _processEdits(e,t){const{data:a,_formViewModel:i,_sketchLayer:r}=this,{layerInfos:s,view:n}=a.viewModel;i.editType="INSERT",i.map=n?.map,i.spatialReference=n?.spatialReference;const{templateExecutorInfo:o}=a;if(!o){const t=e.clone();return t.geometry=null,await this._addAndInitializeEdits(e,t),e}r.remove(e);const{executor:l}=o,d=l(e.geometry,"completion"),u=c(d)?await d:d;o.completionResults.push(u),Y(u.relationships),i.editType="INSERT",i.map=n?.map,i.spatialReference=n?.spatialReference,u.primary&&a.creationInfo?.attributeOverrides&&(u.primary.graphic.attributes={...u.primary.graphic.attributes,...a.creationInfo.attributeOverrides});for(const c of u.edits){let e=null;if(c.addFeatures)for(const a of c.addFeatures){const i=a.clone();i.geometry=null,null!=a.geometry&&(a.symbol=await S(a,t),r.add(a)),a.sourceLayer!==e?.layer&&(e=N(s,a.sourceLayer));const n=!!u.associationGraphics?.has(a);await this._addAndInitializeEdits(a,i,e,n)}}i.feature=null,await m(()=>!i.updating);return u.edits.reduce((e,t)=>e+(t.addFeatures?.length??0),0)>1?null:u.primary?.graphic}async _addAndInitializeEdits(e,t,a,i=!1){const{data:r,_formViewModel:s}=this,{layerInfos:n}=r.viewModel,o=r.addPendingFeature(e,t,{isAssociation:i});a??=N(n,e.sourceLayer),s.feature=e,s.formTemplate=a?.formTemplate,await m(()=>!s.updating),o.updateAttributes(s.getValues()),o.submittable=s.submittable}async _setUpCreatingFeaturesStep(){if(this.hasHandles(le))return;const{data:e,sketchViewModel:s}=this,{creationInfo:n,viewModel:l}=e,{attachmentsViewModel:d,view:c}=l;if(!c||!n?.layer)throw new a("missing-parameters","CreateFeaturesWorkflow requires a view and creationInfo.");const{initialFeature:h,layer:m}=n,f=[],w=[];this._featureFormHandle=o(this._featureFormHandle),this._visualVariableAttributes={rotation:null,size:null},e.editorItem=O(l.editorItems,n.layer),n.template&&(null==e.fullTemplate&&await this._initializeFullTemplateAndExecutorInfo(e),w.push(i(()=>{e.templateExecutorInfo&&(e.templateExecutorInfo.completionResults=[])}))),s.allowDeleteKey=!e.isSharedTemplateWorkflow,$(d),f.push(u(()=>d.mode,e=>{switch(e){case"add":this.go("adding-attachment");break;case"edit":this.go("editing-attachment")}}));const g=ee(c);f.push(g);const y=V(n.layer),{template:_}=n,M=!_||b(_)||v(_)&&"feature"===_.type,I=y&&M;try{if(I){const a=h??new t({attributes:F(e.fullTemplate,n.attributeOverrides),sourceLayer:m}),i=await this._processEdits(a);i&&await this._startUpdating({feature:i})}else f.push(se._configureSketchViewModel(this)),h?(L(n)&&n.geometryToPlace&&(h.attributes=F(e.fullTemplate,n.attributeOverrides)),s.addGraphic(h),await this._startUpdating({feature:h})):await this._startCreating()}finally{g.remove()}const k=i(()=>{for(const t of e.pendingFeatures)s.removeGraphic(t),e.removePendingFeature(t)}),S=u(()=>c?.timeZone,e=>{this._formViewModel.timeZone=e,this.data.timeZone=e},p),A=i(()=>{L(n)&&l.cancelWorkflow({warnIfNoWorkflow:!1})});this._featureFormHandle&&f.push(this._featureFormHandle),this.addHandles(f,this._handleKeys.beforeCommit),this.addHandles(w,this._handleKeys.afterCommit),this.addHandles([i(()=>d.fileInfos.removeAll()),r(f),r(w),A,k,S],le)}async _waitForActiveToolCleared(){const e=this.data.viewModel.view;if(null==e?.activeTool)return;const t=new AbortController;this.addHandles(s(t),de),await m(()=>null==e?.activeTool,t.signal),t.abort()}};function he(e,t,a){let s=null;const n=()=>e.snappingOptions.featureSources,o=()=>(s=new P({layer:t}),n().add(s),s),d=()=>{null!=s&&(n().remove(s),s=l(s))};return r([u(()=>{const e=a.creationInfo?.layer,t=n().find(t=>t.layer===e);return{hasFeatureLayerSource:!!t,enabled:t?.enabled??!1}},({hasFeatureLayerSource:e,enabled:t})=>{if(!e)return d();s??=o(),s.enabled=t},f),i(d)])}function pe(e){const t=e.viewModel.view;if(!t)return[];const a=[];if("3d"===t.type){const r=new T({view:t});a.push(u(()=>e.selectedPendingFeature,(e,t)=>{r.remove(e),r.add(t)}),i(()=>r.destroy()))}const r=new T({view:t,highlightName:E});return a.push(u(()=>e.temporaryHighlightFeature,e=>{r.removeAll(),r.add(e)}),i(()=>r.destroy())),a}function me(e,t,a,i){const r=[];return t.forEach((t,s)=>{if(!t.error){const n=e[s],o=i.get(n)||[];n.attributes[a.objectIdField]=t.objectId,o.forEach(({form:e})=>r.push({feature:n,attachment:e}))}}),r}function fe(e){for(const t of e){const{sourceLayer:e}=t;e&&"globalIdField"in e&&null!=e.globalIdField&&(t.attributes[e.globalIdField]??=w())}}function we(e,t){const a=[];if(!t||0===t.size)return{addFeatures:e};for(const[i,r]of t)for(const{file:e}of r)a.push({feature:i,attachment:{globalId:w(),data:e}});return a.length?{addFeatures:e,addAttachments:a}:{addFeatures:e}}function ge(e,t){return e.map(e=>{const{addFeatures:a}=e;if(!a||0===a.length)return e;const i=[];for(const r of a){const e=t.get(r);if(e)for(const{file:t}of e)i.push({feature:r,attachment:{globalId:w(),data:t}})}return i.length?{...e,addAttachments:i}:e})}e([g()],ue.prototype,"allowSave",null),e([g()],ue.prototype,"createFeatureState",void 0),e([g()],ue.prototype,"data",void 0),e([g({constructOnly:!0})],ue.prototype,"isNested",void 0),e([g()],ue.prototype,"formViewModel",null),e([g()],ue.prototype,"hasInvalidFormTemplate",null),e([g()],ue.prototype,"hasPendingEdits",null),e([g()],ue.prototype,"hasPreviousStep",null),e([g()],ue.prototype,"_getDrawMeshHelpMessage",void 0),e([g()],ue.prototype,"helpMessage",null),e([g()],ue.prototype,"layer",null),e([g()],ue.prototype,"parent",null),e([g()],ue.prototype,"keyboardCancellationEnabled",null),e([g()],ue.prototype,"reliesOnOwnerAdminPrivileges",null),e([g()],ue.prototype,"saveActionLabel",null),e([g()],ue.prototype,"shouldShowAttachments",null),e([g()],ue.prototype,"shouldAllowAttachmentEditing",null),e([g()],ue.prototype,"sketchViewModel",null),e([g()],ue.prototype,"availableCreateTools",null),e([g()],ue.prototype,"_attachmentsActive",null),ue=se=e([y("esri.widgets.Editor.CreateFeaturesWorkflow")],ue);const ye=ue;export{ye as default};
|
|
@@ -12,7 +12,7 @@ import type EditorItem from "./support/EditorItem.js";
|
|
|
12
12
|
import type FeatureFormViewModel from "../FeatureForm/FeatureFormViewModel.js";
|
|
13
13
|
import type FeatureTemplatesViewModel from "../FeatureTemplates/FeatureTemplatesViewModel.js";
|
|
14
14
|
import type SketchViewModel from "../Sketch/SketchViewModel.js";
|
|
15
|
-
import type { EventedAccessor
|
|
15
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
16
16
|
import type { AnyEditingTemplateInfo } from "../../editing/types.js";
|
|
17
17
|
import type { MapViewOrSceneView } from "../../views/MapViewOrSceneView.js";
|
|
18
18
|
import type { CreationInfo, EditorLayerUnion, EditorSketchCreateEvent, EditorSketchUpdateEvent, FailedOperation, FeatureInfo, LayerInfo, SplitFeatureWorkflowStep, State, SplitterGeometryType, SplitterGeometry } from "./types.js";
|
|
@@ -23,7 +23,7 @@ import type { SnappingOptionsProperties } from "../../views/interactive/snapping
|
|
|
23
23
|
import type { SketchTooltipOptionsProperties } from "../../views/interactive/sketch/SketchTooltipOptions.js";
|
|
24
24
|
import type { SketchValueOptionsProperties } from "../../views/interactive/sketch/SketchValueOptions.js";
|
|
25
25
|
|
|
26
|
-
export interface EditorViewModelProperties extends
|
|
26
|
+
export interface EditorViewModelProperties extends Partial<Pick<EditorViewModel, "layerInfos" | "view">> {
|
|
27
27
|
/** The [AttachmentsViewModel][AttachmentsViewModel](https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Attachments-AttachmentsViewModel.html) for supporting the editor widget. Attachment editing is enabled by default if the layer has support for it. */
|
|
28
28
|
attachmentsViewModel?: AttachmentsViewModelProperties;
|
|
29
29
|
/**
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type Graphic from "../../Graphic.js";
|
|
2
2
|
import type EditorViewModel from "./EditorViewModel.js";
|
|
3
3
|
import type EditorItem from "./support/EditorItem.js";
|
|
4
|
-
import type { EsriPromise
|
|
4
|
+
import type { EsriPromise } from "../../core/Promise.js";
|
|
5
5
|
import type { FeatureInfo } from "./types.js";
|
|
6
6
|
|
|
7
|
-
export interface UpdateFeaturesWorkflowDataProperties extends
|
|
7
|
+
export interface UpdateFeaturesWorkflowDataProperties extends Partial<Pick<UpdateFeaturesWorkflowData, "selectedFeature" | "viewModel">> {
|
|
8
8
|
/**
|
|
9
9
|
* The `EditorItem` objects from `EditorViewModel` corresponding to the
|
|
10
10
|
* layers/tables being updated.
|
|
@@ -3,10 +3,10 @@ import type MergeFeaturesWorkflowData from "./MergeFeaturesWorkflowData.js";
|
|
|
3
3
|
import type SplitFeatureWorkflowData from "./SplitFeatureWorkflowData.js";
|
|
4
4
|
import type UpdateFeaturesWorkflowData from "./UpdateFeaturesWorkflowData.js";
|
|
5
5
|
import type UpdateWorkflowData from "./UpdateWorkflowData.js";
|
|
6
|
-
import type { EventedAccessor
|
|
6
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
7
7
|
import type { CancelWorkflowOptions } from "./types.js";
|
|
8
8
|
|
|
9
|
-
export interface WorkflowProperties<D extends CreateFeaturesWorkflowData | MergeFeaturesWorkflowData | SplitFeatureWorkflowData | UpdateWorkflowData | UpdateFeaturesWorkflowData = CreateFeaturesWorkflowData | MergeFeaturesWorkflowData | SplitFeatureWorkflowData | UpdateWorkflowData | UpdateFeaturesWorkflowData, S extends string = string>
|
|
9
|
+
export interface WorkflowProperties<D extends CreateFeaturesWorkflowData | MergeFeaturesWorkflowData | SplitFeatureWorkflowData | UpdateWorkflowData | UpdateFeaturesWorkflowData = CreateFeaturesWorkflowData | MergeFeaturesWorkflowData | SplitFeatureWorkflowData | UpdateWorkflowData | UpdateFeaturesWorkflowData, S extends string = string> {}
|
|
10
10
|
|
|
11
11
|
export interface WorkflowEvents {}
|
|
12
12
|
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
All material copyright Esri, All Rights Reserved, unless otherwise specified.
|
|
3
3
|
See https://js.arcgis.com/5.0/esri/copyright.txt for details.
|
|
4
4
|
*/
|
|
5
|
-
import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as r,equals as n,addMany as o}from"../../core/arrayUtils.js";import{createTask as a}from"../../core/asyncUtils.js";import i from"../../core/Error.js";import{handlesGroup as s,makeHandle as l,abortHandle as c}from"../../core/handleUtils.js";import{clone as u}from"../../core/lang.js";import d from"../../core/Logger.js";import{getOrCreateMapValue as p}from"../../core/MapUtils.js";import{debounce as f,isPromiseLike as y,throwIfAborted as m,whenOrAbort as h}from"../../core/promiseUtils.js";import{watch as b,on as g,whenOnce as w}from"../../core/reactiveUtils.js";import{px2pt as I}from"../../core/screenUtils.js";import{addMany as v}from"../../core/SetUtils.js";import{diff as T}from"../../core/accessorSupport/diffUtils.js";import{isSharedTemplateOrMetadata as S,isSharedGroupTemplate as F,isSharedTemplate as j,isSharedPresetTemplate as k,isStandardFeatureTemplate as A,isSharedFeatureTemplate as L}from"../../editing/templateUtils.js";import{getSharedTemplateProvider as U}from"../../editing/sharedTemplates/SharedTemplateProvider.js";import V from"../../layers/GraphicsLayer.js";import{featureHasFields as M,fixFields as O,getDisplayFieldName as x}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as q,isGraphicsLayer as z,isSceneLayer as E}from"../../layers/support/layerUtils.js";import{calculateTolerance as P}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as C}from"../../renderers/support/lengthUtils.js";import{isRenderer as R}from"../../renderers/support/typeUtils.js";import{getTransformationType as D}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as G}from"../../support/guards.js";import B from"../../symbols/SimpleFillSymbol.js";import N from"../../symbols/SimpleLineSymbol.js";import Z from"../../symbols/SimpleMarkerSymbol.js";import{to3D as Q}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as W}from"../../symbols/support/symbolUtils.js";import{getServices as $}from"../../undoredo/support/Services.js";import{GraphicState as J}from"../../views/3d/layers/graphics/GraphicState.js";import{defaultDrawingMode as H}from"../../views/draw/drawingModes.js";import{createQueryGeometry as K}from"../../views/support/drapedUtils.js";import{filterGraphicHits as X,hitTestSelectSimilarDistance as Y}from"../../views/support/hitTestSelectUtils.js";import{dependencySort as _}from"./support/dependencySort.js";import{isDrawGraphicTool as ee}from"../Sketch/support/sketchUtils.js";const te=()=>d.getLogger("esri.widgets.Editor.workflowUtils");function re(e){return le(e)||ie(e)}function ne(e){return!!e&&"features"in e}function oe(e){return null!=e&&"create-features"===e.type}function ae(e){return!!e&&"feature"in e}function ie(e){return null!=e&&"update-features"===e.type}function se(e){return null!=e&&"update-feature"===e.type}function le(e){return null!=e&&e.type.includes("update-")&&"fullFeature"in e}function ce(e){return null!=e&&"update"===e.type}function ue(e){return null!=e&&"merge-features"===e.type}function de(e){return null!=e&&"split-feature"===e.type}function pe(e){const t=e?.type;return"update-feature"===t||"update-table-record"===t||"update-features"===t||"split-feature"===t}function fe(e){return"merge"===e?.type}function ye(e){return"split"===e?.type}function me(e){return ue(e)||de(e)}function he(e){return"update-multiple"===e?.type}function be(e){const t=e&&"renderer"in e?e.renderer:null;if(!Fe(t))return{rotation:null,size:null};const r=t.getVisualVariablesForType("rotation").filter(e=>(!e.axis||"heading"===e.axis)&&e.field&&!e.valueExpression),n=t.getVisualVariablesForType("size").filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&"real-world-size"===D(e));return{rotation:1===r.length?r[0]:null,size:1===n.length?n[0]:null}}function ge(e){const t=e.sourceLayer;if(!(t&&"renderer"in t&&Fe(t.renderer)))return{rotation:null,size:null};const{rotation:r,size:n}=be(t);let o=null,a=null;if(r){const e=t.fields?.filter(e=>e.name===r.field),n=1===e?.length?e[0]:null;o=we(r,n)}if(n){const e=t.fields?.filter(e=>e.name===n.field),r=1===e?.length?e[0]:null;a=Te(n,r)}return{rotation:o,size:a}}function we(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,n=t?.type??"double",o={initial:0,current:0};return{field:e.field,fieldType:n,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(o.current=o.initial-r*e,Se((o.current+360)%360,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function Ie(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function ve(e,t,r){if(null==t)return 0;const{symbol:n}=Q(t);if(null==n||"web-style"===n.type||"cim"===n.type)return 0;const o=n.symbolLayers.at(0);if(!o)return 0;switch(o.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return Math.min(dt.icon,(await e(o,dt.icon))[0])||dt.icon}case"text":return dt.text;case"line":return dt.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return Ie(await t(o,e.scale/dt.viewScaleSizeFactor),r)}case"path":case"extrude":return e.scale/dt.viewScaleSizeFactor;default:return 0}}function Te(e,t){const r=e.axis,n=t?.type??"double",o={initial:0,current:0},a=C[e.valueUnit]??1;let i;return i="area"===e.valueRepresentation?e=>(e*a/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*a/2:e=>e*a,{field:e.field,fieldType:n,getDefaultValue:async(e,t)=>Se(i(await ve(t,e,r)),n),getValue:(e,t)=>(o.initial||(o.initial=t.pixelSizeAt(t.center)),o.current=o.initial*e,Se(o.current,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,displayUnit:yt(e.valueUnit),axis:e.axis}}function Se(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function Fe(e){if(!R(e))return!1;switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function je(e,t,r){const n=await W(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t,scale:r});null!=T(e.symbol,n)&&(e.symbol=n)}function ke(e,t){if(!e||!t)throw new Error("no geometry type");if("multipatch"===e)return{tool:"mesh",createOptions:{mode:"hybrid"}};const r=new Map;r.set("circle",{mode:"freehand"}),r.set("rectangle",{mode:"freehand"});const n={mode:H,optionsPerTool:r};if(S(t)){const o=t.defaultTool,a=F(t)?t.definition?.inputGeometryType??e:e;switch(o){case"freehand":case"stream-line":return{tool:"polyline"===a?"freehandPolyline":"freehandPolygon",createOptions:n};case"autocomplete-freehand-polygons":case"stream-polygon":return{tool:"freehandPolygon",createOptions:n};case"autocomplete-polygons":case"difference-polygon":case"create-structures":case"polygon":case"trace":return{tool:"polygon"===a?"polygon":"polyline",createOptions:n};case"circle":return r.get("circle").preserveAspectRatio=!0,{tool:"circle",createOptions:n};case"ellipse":return r.get("circle").preserveAspectRatio=!1,{tool:"circle",createOptions:n};case"create-points-along-line":case"multipoint":return{tool:"multipoint",createOptions:n};case"line":case"radial-line":case"right-angle-line":case"split":case"two-point-line":return{tool:"polyline",createOptions:n};case"rectangle":case"regular-polygon":case"right-angle-polygon":return{tool:"rectangle",createOptions:n};case"elevation-point-from-contour":case"elevation-point-from-dem":case"parcel-seed":case"point":case"point-and-rotation":case"point-at-end-of-line":return{tool:"point",createOptions:n}}}else{const o=t.drawingTool;if("circle"===o||"ellipse"===o)return r.get("circle").preserveAspectRatio="circle"===o,{tool:"circle",createOptions:n};if("rectangle"===o)return{tool:"rectangle",createOptions:n};if("freehand"===o)return{tool:"polygon"===e?"freehandPolygon":"freehandPolyline",createOptions:n}}return{tool:e,createOptions:n}}async function Ae(e,t,r,n){const{creationInfo:o,fullTemplate:a}=r;if(!o)throw new i("featureworkflow","No creation info provided.");const s=o.layer,l=Qe(a,o.attributeOverrides),{view:c}=e,u="2d"===c?.type;F(a)||k(a)||await We(e,s,l,n,u?c.scale:null);const{capabilities:d}=s;t.elevationInfo=s.elevationInfo;const p=ke(s.geometryType,a);e.defaultCreateOptions={graphicProperties:{attributes:l,sourceLayer:s},mode:p.createOptions.mode,optionsPerTool:p.createOptions.optionsPerTool,preserveAspectRatio:p.createOptions.preserveAspectRatio,hasZ:d.data.supportsZ,defaultZ:(u?d.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},null==o.geometryToPlace?await e.create(p.tool):await e.place(o.geometryToPlace,{graphicProperties:{attributes:l,sourceLayer:s}})}async function Le(e){return s([Ue(e),Ve(e)])}function Ue({creationAttributes:e,data:t,sketchViewModel:r,view:n,webStyleCache:o}){const{creationInfo:a}=t,{fullTemplate:i}=t;if(!a||"2d"!==n?.type||F(i)||k(i))return null;const s=f(t=>We(r,a.layer,e,o,t));return b(()=>n.scale,e=>s(e))}function Ve({data:t,sketchViewModel:r,view:n}){const{templateExecutorInfo:o}=t;if(!o)return null;const a=r.activeComponent;if(!n||!ee(a))return te().error(new i("featureworkflow","Failed to set up template feedback.")),null;const c=new V({effect:"saturate(0.6) opacity(0.8)",listMode:"hide",title:"Shared Template Feedback Graphics"});n.map?.add(c);const{executor:u,serviceLayersById:d}=o,p=n.theme?.accentColor??new e([255,165,0,1]);return s([g(()=>a,["cursor-update","vertex-add"],()=>{c.removeAll();const e=a.graphic?.geometry;if(!e||!Me(e))return;const t=u(e,"digitizing");if(!y(t))for(const r of t.edits){const e=d.get(r.id);if(e&&r.addFeatures&&0!==r.addFeatures.length)for(const t of e)if(!t.isTable)for(const e of r.addFeatures){const t=Oe(e,p);t&&c.add(t)}}}),l(()=>{n.map.remove(c),c.destroy()})])}function Me(e){switch(e.type){case"point":case"multipoint":return!0;case"polyline":return e.paths[0].length>1;case"polygon":{const t=e.rings[0];return n(t.at(0),t.at(-1))?t.length>2:t.length>1}default:return!1}}function Oe(e,r){let n=null;switch(e.geometry?.type){case"point":case"multipoint":n=new Z({angle:0,color:r,outline:new N({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:1}),path:"undefined",size:8,style:"circle",xoffset:0,yoffset:0});break;case"polygon":n=new B({color:r,outline:new N({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:3}),style:"none"});break;case"polyline":n=new N({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:2});break;default:return null}return new t({geometry:e.geometry,symbol:n,attributes:{...e.attributes}})}function xe(e,t){const r=$(t),n=q(e)?e.parent:e;return r.tablesAndLayersLookup.get(n)}function qe(e,t){const r=xe(e,t);if(!r)return new Map;const n=new Map;for(const o of r.layersAndTables)p(n,o.layerId,()=>[]).push(o);return n}function ze(e){const t=e.objectIdField,r=e.globalIdField??"";return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:r},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function Ee(e){const{edits:t,serviceInfo:n,view:o,findOriginalFeature:a}=e,i=Pe(n.layersAndTables),s=n.layersAndTables.toArray(),{allEditData:l,editDataByLayerIdMap:c,editDataByIdMap:u}=Re(t,i,a),d=De(l,Ce(s,c),c);if(o&&Ne(l,d,o),0===d.length)return t;const p=_(d,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(r),f=new Map;for(const r of p)f.set(r.uniqueId,r);const y=[];for(const r of l)f.has(r.uniqueId)||y.push(r);const m=[];let h=null;for(const r of p){const{layer:e}=r;switch(null==h?h=ze(e):h.id!==e.layerId&&(m.push(h),h=ze(e)),r.operationType){case"add":case"modify":h.addFeatures.push(r.after);break;case"delete":h.deleteFeatures.push(r.before)}}null!==h&&m.push(h);for(const r of y){const e=r.layer.layerId,t=m.find(t=>t.id===e)??ze(r.layer);switch(m.includes(t)||m.push(t),r.operationType){case"add":t.addFeatures.push(r.after);break;case"modify":t.updateFeatures.push(r.after);break;case"delete":t.deleteFeatures.push(r.before);break;case"deleteAttachment":t.deleteAttachments.push(r.attachmentId);break;case"addAttachment":t.addAttachments.push(r.attachment)}}for(const r of m)void 0!==r.deleteAttachments&&0===r.deleteAttachments.length&&delete r.deleteAttachments,void 0!==r.addAttachments&&0===r.addAttachments.length&&delete r.addAttachments;return m}function Pe(e){const t=new Map;for(const r of e)t.set(r.layerId,r);return t}function Ce(e,t){const r=new Map;for(const n of e)for(const e of n.relationships??[])if(r.set(Ge(n,e),""),t.has(e.relatedTableId)){const o=t.get(e.relatedTableId);if(o.length>0)for(const t of o[0].layer.relationships??[])if(t.id===e.id){r.set(Ge(n,e),t.keyField);break}}return r}function Re(e,t,r){const n=new Map,o=[],a=new Map;let s=1;for(const l of e){const e=[],c=t.get(l.id);if(!c)throw new i("featureworkflow",`Failed to prepare applyEdits payload. Layer with id ${l.id} not found.`);for(const t of l.addFeatures??[])e.push({uniqueId:"T"+s++,operationType:"add",layer:c,after:t});for(const t of l.deleteFeatures??[])e.push({uniqueId:"T"+s++,operationType:"delete",before:t,layer:c});for(const t of l.deleteAttachments??[])e.push({uniqueId:"T"+s++,operationType:"deleteAttachment",attachmentId:t,layer:c});for(const t of l.addAttachments??[])e.push({uniqueId:"T"+s++,operationType:"addAttachment",attachment:t,layer:c});for(const t of l.updateFeatures??[])e.push({uniqueId:"T"+s++,operationType:"modify",before:r(t),after:t,layer:c});n.set(c.layerId,e);for(const t of e)o.push(t),a.set(t.uniqueId,t)}return{allEditData:o,editDataByIdMap:a,editDataByLayerIdMap:n}}function De(e,t,r){const n=[];for(const o of e){const e=o.layer.relationships??[],{uniqueId:a}=o;for(const i of e){const e=i.keyField;if("origin"===i.role){const s=r.get(i.relatedTableId);if(!s||0===s.length)continue;const l=Ge(o.layer,i),c=t.get(l);if(void 0===c||""===c)continue;switch(o.operationType){case"add":for(const t of s)t!==o&&("add"!==t.operationType&&"modify"!==t.operationType||t.after.attributes[c]===o.after.attributes[e]&&n.push([a,t.uniqueId]));break;case"modify":if(o.before.attributes[e]!==o.after.attributes[e])for(const t of s){const r=t.uniqueId;t!==o&&("delete"===t.operationType?t.before.attributes[c]===o.before.attributes[e]?n.push([r,a]):t.before.attributes[c]===o.after.attributes[e]&&n.push([a,r]):"add"===t.operationType?t.after.attributes[c]===o.after.attributes[e]?n.push([a,r]):t.after.attributes[c]===o.before.attributes[e]&&n.push([r,a]):"modify"===t.operationType&&(t.before.attributes[c]!==t.after.attributes[c]?t.after.attributes[c]===o.after.attributes[e]?n.push([a,r]):n.push([r,a]):n.push([a,r])))}break;case"delete":for(const t of s)t!==o&&("delete"!==t.operationType&&"modify"!==t.operationType||t.before.attributes[c]===o.before.attributes[e]&&n.push([t.uniqueId,a]))}}}}return n}function Ge(e,t){return`${e.layerId}:${t.id}`}function Be(e,t){return!!(t?.map&&"utilityNetworks"in t.map&&t.map.utilityNetworks?.length&&t.map.utilityNetworks.some(t=>!(!t.loaded||!e.url?.startsWith(t.featureServiceUrl)||e.layerId!==t.networkSystemLayers.associationsTableId)))}function Ne(e,t,r){const n=[];for(const a of e)Be(a.layer,r)&&n.push(a);if(0===n.length)return;let o=[];for(const a of n){const r=a.layer;switch(a.operationType){case"delete":o=[...Ze(a.before.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Ze(a.before.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([a.uniqueId,e.uniqueId]);break;case"add":o=[...Ze(a.after.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Ze(a.after.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([e.uniqueId,a.uniqueId])}}}function Ze(e,t){const r=[],n=t.filter(({layer:e})=>""!==e.globalIdField&&null!=e.globalIdField);for(const o of n){const t=o.layer.globalIdField;("before"in o&&o.before?.attributes[t]===e||"after"in o&&o.after?.attributes[t]===e)&&r.push(o)}return r}function Qe(e,t={}){return F(e)||k(e)?{}:A(e)?{...e.prototype.attributes,...t}:L(e)?{...e.definition?.defaultValues,...t}:{...t}}async function We(e,r,n,o,a){const i=new t({sourceLayer:r,attributes:n}),{rotation:s,size:l}=ge(i);let c=await W(i,{useSourceLayer:!0,webStyleCache:o,scale:a}),u=!1;for(const t of[l,s]){if(null==t)continue;null==n[t.field]&&(n[t.field]=await t.getDefaultValue(c,e.view),u=!0)}switch(u&&(c=await W(i,{useSourceLayer:!0,webStyleCache:o,scale:a})),c?.type){case"simple-fill":case"polygon-3d":e.polygonSymbol=c;break;case"simple-line":case"line-3d":e.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":e.pointSymbol=c;break;case"mesh-3d":e.meshSymbol=c}$e(e.tooltipOptions,l,s)}function $e(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function Je(e,t){return e.find(e=>e.layer===t)}function He(e,t){const r=Je(e,t);if(null==r)throw new i("no-editorItem-found","The EditorViewModel provided did not have an EditorItem associated with the specified layer");return r}function Ke(e,t){return e?.find(e=>e.layer===t)}async function Xe(e,t,r,n){switch(t.type){case"3d":return Ye(e,t,r,n);case"2d":return _e(e,t,r,n)}}async function Ye(e,t,r,n){if(0===e.length)return[];const{updatable:a,graphicsByLayer:i}=await r.defer(async()=>{const{results:o}=await h(Y(t,r),n),a=new Map,i=e=>{const t=e.layer,r=a.get(t);if(!r){const e=new Array;return a.set(t,e),e}return r};X(o).forEach(({graphic:e})=>i(e).push(e));const s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&a.has(t));return 0!==s.length&&r.stopPropagation(),{updatable:s,graphicsByLayer:a}});return h(Promise.allSettled(a.map(async({layer:e})=>{const t=i.get(e),r=et(e);if(t.every(e=>M(e,r)))return t;const a=[];for(const n of t){a.push(n.getObjectId());const e=Object.keys(n.attributes);o(r,e)}const s=e.createQuery();return s.returnGeometry=!1,s.objectIds=a,s.outFields=O(e.fieldsIndex,r),e.queryFeatures(s,{signal:n}).then(({features:e})=>e)})),n)}async function _e(e,t,r,n){if(0===e.length)return[];const{mapPoint:o}=r;if(null==o)return[];let a=null;const i=await r.defer(async()=>{const{results:o}=await h(t.hitTest(r),n);if(0===o.length)return[];const i=new Set;a=X(o),a.forEach(({graphic:e})=>e&&i.add(e.layer));const s=e.filter(e=>i.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&r.stopPropagation(),s});return h(Promise.allSettled(i.map(async({layer:e})=>{const i=e.createQuery();i.returnGeometry=!0,i.outFields=et(e);const s="renderer"in e?P({renderer:e.renderer,pointerType:r.pointerType}):0;i.geometry=K(o,s,t),i.outSpatialReference=t.spatialReference;const{features:l}=await e.queryFeatures(i,{signal:n});return a?.forEach(({graphic:t})=>{t.layer!==e||l.some(e=>e.getObjectId()===t.getObjectId())||l.push(t)}),l})),n)}function et(e){return O(e.fieldsIndex,[e.objectIdField,x({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function tt(e,t,n,o){return rt(e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(r),t,n,o)}async function rt(e,t,r,n){const o=t.createQuery();o.objectIds=e,o.outFields=["*"],o.returnM=t.capabilities.data.supportsM,o.returnZ=t.capabilities.data.supportsZ,o.returnGeometry=!0,E(t)&&null!=t.infoFor3D||(o.outSpatialReference=r),!E(t)&&t.capabilities?.data.supportsTrueCurve&&(o.returnTrueCurves=!0);const a=await t.queryFeatures(o,{signal:n});return m(n),a.features}async function nt(e){const{graphic:t,sketchViewModel:r,sourceLayer:n,visualVariables:o}=e;await ot(e);const a={multipleSelectionEnabled:!1};return"point"===n.geometryType&&(a.enableRotation=null!=o.rotation,a.enableScaling=null!=o.size),r.update(t,a)}async function ot(e){const{graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:o,visualVariables:a,webStyleCache:i}=e;let s=!1;const{rotation:l,size:c}=a;for(const u of[l,c]){if(null==u)continue;const e=t.getAttribute(u.field);if(null!=e)u.setInitialValue(e);else{const e=await u.getDefaultValue(t.symbol,n.view);u.setInitialValue(e),t.setAttribute(u.field,e),s=!0}}if(s){const e="2d"===n.view?.type?n.view.scale:null;await je(t,i,e)}$e(n.tooltipOptions,c,l),r.elevationInfo=o.elevationInfo}function at(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function it(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}function st(e,t,r,n){if(null==t.geometry||"point"!==t.geometry?.type)return!1;const o=t.attributes;let a=!1;const i=n.rotation,s=at(r.toolEventInfo);if(null!=i&&null!=s){const{field:r,getValue:n}=i;if("rotate-stop"===s.type)i.isUpdatingInteractively=!1,i.setInitialValue(t.getAttribute(r));else{i.isUpdatingInteractively=!0;const l=n(s.angle,e);l!==o[r]&&t.setAttribute(r,l),a=!0}}const l=n.size,c=it(r.toolEventInfo);if(null!=l&&null!=c){const{field:r,getValue:n}=l;if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r));else{l.isUpdatingInteractively=!0;const i=n(c.xScale,e);i!==o[r]&&t.setAttribute(r,i),a=!0}}return a}async function lt({feature:e,featureClone:t,visualVariableAttributes:r,sketchLayer:n,sketchViewModel:o,view:a,onUpdate:i,webStyleCache:u,addUpdatingPromise:d,addHandle:p}){await je(t,u,"2d"===a.type?a.scale:null);let y=null;if("2d"===o?.view?.type){const e=f(e=>je(t,u,e));y=b(()=>o?.view?.scale,t=>e(t))}const m=t.sourceLayer,h=bt(a,m);await nt({graphic:t,sketchLayer:n,sketchViewModel:o,sourceLayer:m,visualVariables:r,webStyleCache:u});let g=null;h.then(e=>g=e).catch(()=>{});const I=r.size,v=r.rotation,T=b(()=>e.attributes,async e=>{let r=!1;for(const n in e){const o=e[n];o!==t.getAttribute(n)&&(t.setAttribute(n,o),null==I||I.isUpdatingInteractively||I.field!==n||I.setInitialValue(o),null==v||v.isUpdatingInteractively||v.field!==n||v.setInitialValue(o),(null==g||g.requiredFields.includes(n))&&(r=!0))}r&&await je(t,u,"2d"===a.type?a.scale:null)}),S=o.on("update",async e=>{const t=e.graphics[0],s={graphic:t,sketchLayer:n,sketchViewModel:o,sourceLayer:m,visualVariables:r,webStyleCache:u};if("complete"===e.state){if(null===a.activeTool)return nt(s);const e=new AbortController,t=c(e);return p(t),d(w(()=>null===a.activeTool,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),nt(s)}))}st(a,t,e,r)&&await je(t,u,"2d"===a.type?a.scale:null),i(wt(t),e)}),F=o.on(["undo","redo"],e=>{i(wt(e.graphics[0]),e)});return s([F,S,l(()=>o.cancel()),T,y])}async function ct(e,t,r,n){e.add(n);const o=r.sourceLayer,i=r.layer??o,c=r.getAttribute(o.objectIdField);let u=null;function d(e){u?.abort(),z(i)?r.visible=e:u=a(async r=>{const n=await bt(t,i);m(r),n.setVisibility?.(c,e)})}return await ut(t,n),d(!1),s([l(async()=>{d(!0);try{if(!t.destroyed){const e=await bt(t,i).catch(()=>{});e&&!e.destroyed&&await w(()=>!e.updating)}}finally{e.remove(n)}})])}async function ut(e,t){if("3d"===e.type){const r=new J({graphic:t}),n=e.trackGraphicState(r);await w(()=>r.displaying||r.error),n.remove()}else await w(()=>t.visible)}const dt={icon:I(24),text:I(12),line:I(1),viewScaleSizeFactor:100};function pt(e,t,r){let n=!1;return e.filter(e=>!!n||(n=e===t,n)).map(e=>r[e]())}function ft(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const n=r.layer,o=e.viewModel.getTemplatesForLayer(n);1===o.length&&"scene"!==n.type&&(r.template=o[0],t.shift())}return t}function yt(e){return"unknown"===e?null:e}function mt(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}const ht=e=>e.includes("-stop")||e.includes("vertex-"),bt=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function gt(e){return"createInteractiveEditSession"in e}function wt(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=u(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function It(e){return e.acquireCursor("progress")}async function vt(e,t){const{template:r}=e;if(null==r)return null;if(j(r))return r.load();if(S(r)){const e=(await import("../../editing/sharedTemplates/SharedTemplate.js")).default,n=U(t,{makeSharedTemplateFromJSON:t=>e.fromJSON(t)}),o=await n.getTemplates({templateIds:[r.templateId],featureService:r.featureService});if(0===o.length)throw new i("editor:failed-to-load-template","Unable to load the provided template");return o[0].load()}return r}function Tt(e){for(const t of e){const{destinationGraphic:e,destinationField:r,sourceGraphic:n,sourceField:o}=t;e.setAttribute(r,n.getAttribute(o))}}function St(e){const t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>Tt(e.relationships)),t.flatMap(e=>e.edits)):null}function Ft(e){const t=ce(e)?e.activeWorkflow:e;if(null==t)return[];if(ie(t))return t.data.layers;const r=t.layer;return r?[r]:[]}function jt({attributes:e},t){const r=new Set;r.add(t.objectIdField),"uniqueIdFields"in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&v(r,t.uniqueIdFields);const n={};for(const o of r)null!=e[o]&&(n[o]=e[o]);if("scene"===t.type&&null!=t.infoFor3D){const r=t.associatedLayer?.globalIdField;null!=r&&(e[r]=e[r])}return n}function kt(e){if(!At(e))return e;const t=new Map;for(const r of e){const e=r.getObjectId();if(null!=e){const n=r.sourceLayer??r.layer;p(t,n,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function At(e){return 0===e.length||G(e[0])}export{Ne as appendAllUtilityNetworkAssociationRelationships,ft as avoidFeatureTemplateSelectionWithOnlyOneItem,gt as canCreateInteractiveEditSession,wt as cloneGraphicExceptMesh,Pe as createLayerIdMap,Ce as createRelationshipKeyMap,ke as createToolFromGeometryType,pt as createWorkflowSteps,Xe as fetchCandidates,tt as fetchFullFeatures,rt as fetchFullFeaturesByObjectId,De as findAllDependencies,Ze as findChangesByGlobalId,Je as findEditorItemForLayer,He as findEditorItemForLayerOrThrow,Ke as findLayerInfo,Ge as generateHashForRelationship,Qe as getCreationAttributes,vt as getFullTemplateForCreationInfo,Ft as getLayersFromWorkflow,we as getRotationVariableAttribute,St as getServiceEditsFromWorkflowData,xe as getServiceInfoForLayer,qe as getServiceLayersById,Te as getSizeVariableAttribute,ge as getVisualVariableAttributes,be as getVisualVariablesForLayer,re as isAnyUpdateLeafWorkflow,ne as isBatchAttributeFormViewModel,oe as isCreateFeaturesWorkflow,ae as isFeatureFormViewModel,At as isGraphicsArray,ue as isMergeFeaturesWorkflow,fe as isMergeWorkflowOptions,pe as isParentWorkflow,de as isSplitFeatureWorkflow,ye as isSplitWorkflowOptions,ht as isTerminalUpdateEventType,se as isUpdateFeatureWorkflow,ie as isUpdateFeaturesWorkflow,he as isUpdateFeaturesWorkflowOptions,le as isUpdateRecordWorkflow,ce as isUpdateWorkflow,Be as isUtilityNetworkAssociationsTable,jt as makeMinimalAttributes,Ee as orderEditsByRelationshipDependencies,mt as prepareAttachmentsForCreateFeaturesWorkflow,Tt as setRelationshipFields,lt as setUpGeometryUpdate,Le as setUpSketchCreateWatchers,ot as setVisualVariablesAndElevationInfoForUpdate,It as showProgressCursor,dt as sizeDefaults,yt as sizeVariableUnitToLengthUnit,Ae as startCreatingNewFeature,nt as startUpdatingFeatureGeometry,ct as swapForEditingSession,kt as toFeatureInfos,je as updateGraphicSymbolWhenRequired,st as visualVariableInteractiveUpdate,bt as whenEditorLayerView,ut as whenGraphicDisplayed,me as workflowInfluencesOutcomeOfParent};
|
|
5
|
+
import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as r,equals as n,addMany as o}from"../../core/arrayUtils.js";import{createTask as a}from"../../core/asyncUtils.js";import i from"../../core/Error.js";import{handlesGroup as s,makeHandle as l,abortHandle as c}from"../../core/handleUtils.js";import{clone as u}from"../../core/lang.js";import d from"../../core/Logger.js";import{getOrCreateMapValue as p}from"../../core/MapUtils.js";import{debounce as f,isPromiseLike as y,throwIfAborted as m,whenOrAbort as h}from"../../core/promiseUtils.js";import{watch as b,on as g,whenOnce as w}from"../../core/reactiveUtils.js";import{px2pt as I}from"../../core/screenUtils.js";import{addMany as v}from"../../core/SetUtils.js";import{diff as T}from"../../core/accessorSupport/diffUtils.js";import{isSharedTemplateOrMetadata as F,isSharedGroupTemplate as j,getCreationAttributes as S,isSharedPresetTemplate as k}from"../../editing/templateUtils.js";import A from"../../layers/GraphicsLayer.js";import{featureHasFields as L,fixFields as U,getDisplayFieldName as V}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as M,isGraphicsLayer as O,isSceneLayer as x}from"../../layers/support/layerUtils.js";import{calculateTolerance as q}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as z}from"../../renderers/support/lengthUtils.js";import{isRenderer as E}from"../../renderers/support/typeUtils.js";import{getTransformationType as C}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as P}from"../../support/guards.js";import R from"../../symbols/SimpleFillSymbol.js";import D from"../../symbols/SimpleLineSymbol.js";import G from"../../symbols/SimpleMarkerSymbol.js";import{to3D as B}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as Z}from"../../symbols/support/symbolUtils.js";import{getServices as N}from"../../undoredo/support/Services.js";import{GraphicState as Q}from"../../views/3d/layers/graphics/GraphicState.js";import{defaultDrawingMode as W}from"../../views/draw/drawingModes.js";import{createQueryGeometry as $}from"../../views/support/drapedUtils.js";import{filterGraphicHits as H,hitTestSelectSimilarDistance as J}from"../../views/support/hitTestSelectUtils.js";import{dependencySort as K}from"./support/dependencySort.js";import{isDrawGraphicTool as X}from"../Sketch/support/sketchUtils.js";const Y=()=>d.getLogger("esri.widgets.Editor.workflowUtils");function _(e){return ae(e)||ne(e)}function ee(e){return!!e&&"features"in e}function te(e){return null!=e&&"create-features"===e.type}function re(e){return!!e&&"feature"in e}function ne(e){return null!=e&&"update-features"===e.type}function oe(e){return null!=e&&"update-feature"===e.type}function ae(e){return null!=e&&e.type.includes("update-")&&"fullFeature"in e}function ie(e){return null!=e&&"update"===e.type}function se(e){return null!=e&&"merge-features"===e.type}function le(e){return null!=e&&"split-feature"===e.type}function ce(e){const t=e?.type;return"update-feature"===t||"update-table-record"===t||"update-features"===t||"split-feature"===t}function ue(e){return"merge"===e?.type}function de(e){return"split"===e?.type}function pe(e){return se(e)||le(e)}function fe(e){return"update-multiple"===e?.type}function ye(e){const t=e&&"renderer"in e?e.renderer:null;if(!ve(t))return{rotation:null,size:null};const r=t.getVisualVariablesForType("rotation").filter(e=>(!e.axis||"heading"===e.axis)&&e.field&&!e.valueExpression),n=t.getVisualVariablesForType("size").filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&"real-world-size"===C(e));return{rotation:1===r.length?r[0]:null,size:1===n.length?n[0]:null}}function me(e){const t=e.sourceLayer;if(!(t&&"renderer"in t&&ve(t.renderer)))return{rotation:null,size:null};const{rotation:r,size:n}=ye(t);let o=null,a=null;if(r){const e=t.fields?.filter(e=>e.name===r.field),n=1===e?.length?e[0]:null;o=he(r,n)}if(n){const e=t.fields?.filter(e=>e.name===n.field),r=1===e?.length?e[0]:null;a=we(n,r)}return{rotation:o,size:a}}function he(e,t){const r="heading"===(e.axis||"heading")&&"arithmetic"===e.rotationType?-1:1,n=t?.type??"double",o={initial:0,current:0};return{field:e.field,fieldType:n,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(o.current=o.initial-r*e,Ie((o.current+360)%360,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??"geographic"}}function be(e,t){switch(t){case"width":return e[0];case"depth":return e[1];case"height":return e[2];default:return e[2]||e[1]||e[0]}}async function ge(e,t,r){if(null==t)return 0;const{symbol:n}=B(t);if(null==n||"web-style"===n.type||"cim"===n.type)return 0;const o=n.symbolLayers.at(0);if(!o)return 0;switch(o.type){case"icon":{const{computeIconLayerResourceSize:e}=await import("../../symbols/support/symbolLayerUtils.js");return Math.min(st.icon,(await e(o,st.icon))[0])||st.icon}case"text":return st.text;case"line":return st.line;case"object":{const{computeObjectLayerResourceSize:t}=await import("../../symbols/support/symbolLayerUtils.js");return be(await t(o,e.scale/st.viewScaleSizeFactor),r)}case"path":case"extrude":return e.scale/st.viewScaleSizeFactor;default:return 0}}function we(e,t){const r=e.axis,n=t?.type??"double",o={initial:0,current:0},a=z[e.valueUnit]??1;let i;return i="area"===e.valueRepresentation?e=>(e*a/2)**2*Math.PI:"radius"===e.valueRepresentation||"distance"===e.valueRepresentation?e=>e*a/2:e=>e*a,{field:e.field,fieldType:n,getDefaultValue:async(e,t)=>Ie(i(await ge(t,e,r)),n),getValue:(e,t)=>(o.initial||(o.initial=t.pixelSizeAt(t.center)),o.current=o.initial*e,Ie(o.current,n)),setInitialValue:e=>{o.initial=e,o.current=0},isUpdatingInteractively:!1,displayUnit:ut(e.valueUnit),axis:e.axis}}function Ie(e,t){switch(t){case"small-integer":case"integer":case"long":return Math.round(e);case"double":case"single":return e;default:return 0}}function ve(e){if(!E(e))return!1;switch(e?.type){case"class-breaks":case"simple":case"unique-value":case"dot-density":case"dictionary":case"pie-chart":return!0;default:return!1}}async function Te(e,t,r){const n=await Z(e,{useSourceLayer:!0,ignoreGraphicSymbol:!0,webStyleCache:t,scale:r});null!=T(e.symbol,n)&&(e.symbol=n)}function Fe(e,t){if(!e||!t)throw new Error("no geometry type");if("multipatch"===e)return{tool:"mesh",createOptions:{mode:"hybrid"}};const r=new Map;r.set("circle",{mode:"freehand"}),r.set("rectangle",{mode:"freehand"});const n={mode:W,optionsPerTool:r};if(F(t)){const o=t.defaultTool,a=j(t)?t.definition?.inputGeometryType??e:e;switch(o){case"freehand":case"stream-line":return{tool:"polyline"===a?"freehandPolyline":"freehandPolygon",createOptions:n};case"autocomplete-freehand-polygons":case"stream-polygon":return{tool:"freehandPolygon",createOptions:n};case"autocomplete-polygons":case"difference-polygon":case"create-structures":case"polygon":case"trace":return{tool:"polygon"===a?"polygon":"polyline",createOptions:n};case"circle":return r.get("circle").preserveAspectRatio=!0,{tool:"circle",createOptions:n};case"ellipse":return r.get("circle").preserveAspectRatio=!1,{tool:"circle",createOptions:n};case"create-points-along-line":case"multipoint":return{tool:"multipoint",createOptions:n};case"line":case"radial-line":case"right-angle-line":case"split":case"two-point-line":return{tool:"polyline",createOptions:n};case"rectangle":case"regular-polygon":case"right-angle-polygon":return{tool:"rectangle",createOptions:n};case"elevation-point-from-contour":case"elevation-point-from-dem":case"parcel-seed":case"point":case"point-and-rotation":case"point-at-end-of-line":return{tool:"point",createOptions:n}}}else{const o=t.drawingTool;if("circle"===o||"ellipse"===o)return r.get("circle").preserveAspectRatio="circle"===o,{tool:"circle",createOptions:n};if("rectangle"===o)return{tool:"rectangle",createOptions:n};if("freehand"===o)return{tool:"polygon"===e?"freehandPolygon":"freehandPolyline",createOptions:n}}return{tool:e,createOptions:n}}async function je(e,t,r,n){const{creationInfo:o,fullTemplate:a}=r;if(!o)throw new i("featureworkflow","No creation info provided.");const s=o.layer,l=S(a,o.attributeOverrides),{view:c}=e,u="2d"===c?.type;j(a)||k(a)||await Be(e,s,l,n,u?c.scale:null);const{capabilities:d}=s;t.elevationInfo=s.elevationInfo;const p=Fe(s.geometryType,a);e.defaultCreateOptions={graphicProperties:{attributes:l,sourceLayer:s},mode:p.createOptions.mode,optionsPerTool:p.createOptions.optionsPerTool,preserveAspectRatio:p.createOptions.preserveAspectRatio,hasZ:d.data.supportsZ,defaultZ:(u?d.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},null==o.geometryToPlace?await e.create(p.tool):await e.place(o.geometryToPlace,{graphicProperties:{attributes:l,sourceLayer:s}})}async function Se(e){return s([ke(e),Ae(e)])}function ke({creationAttributes:e,data:t,sketchViewModel:r,view:n,webStyleCache:o}){const{creationInfo:a}=t,{fullTemplate:i}=t;if(!a||"2d"!==n?.type||j(i)||k(i))return null;const s=f(t=>Be(r,a.layer,e,o,t));return b(()=>n.scale,e=>s(e))}function Ae({data:t,sketchViewModel:r,view:n}){const{templateExecutorInfo:o}=t;if(!o)return null;const a=r.activeComponent;if(!n||!X(a))return Y().error(new i("featureworkflow","Failed to set up template feedback.")),null;const c=new A({effect:"saturate(0.6) opacity(0.8)",listMode:"hide",title:"Shared Template Feedback Graphics"});n.map?.add(c);const{executor:u,serviceLayersById:d}=o,p=n.theme?.accentColor??new e([255,165,0,1]);return s([g(()=>a,["cursor-update","vertex-add"],()=>{c.removeAll();const e=a.graphic?.geometry;if(!e||!Le(e))return;const t=u(e,"digitizing");if(!y(t))for(const r of t.edits){const e=d.get(r.id);if(e&&r.addFeatures&&0!==r.addFeatures.length)for(const t of e)if(!t.isTable)for(const e of r.addFeatures){const t=Ue(e,p);t&&c.add(t)}}}),l(()=>{n.map.remove(c),c.destroy()})])}function Le(e){switch(e.type){case"point":case"multipoint":return!0;case"polyline":return e.paths[0].length>1;case"polygon":{const t=e.rings[0];return n(t.at(0),t.at(-1))?t.length>2:t.length>1}default:return!1}}function Ue(e,r){let n=null;switch(e.geometry?.type){case"point":case"multipoint":n=new G({angle:0,color:r,outline:new D({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:1}),path:"undefined",size:8,style:"circle",xoffset:0,yoffset:0});break;case"polygon":n=new R({color:r,outline:new D({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:3}),style:"none"});break;case"polyline":n=new D({cap:"round",color:r,join:"round",miterLimit:1,style:"solid",width:2});break;default:return null}return new t({geometry:e.geometry,symbol:n,attributes:{...e.attributes}})}function Ve(e,t){const r=N(t),n=M(e)?e.parent:e;return r.tablesAndLayersLookup.get(n)}function Me(e,t){const r=Ve(e,t);if(!r)return new Map;const n=new Map;for(const o of r.layersAndTables)p(n,o.layerId,()=>[]).push(o);return n}function Oe(e){const t=e.objectIdField,r=e.globalIdField??"";return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:r},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function xe(e){const{edits:t,serviceInfo:n,view:o,findOriginalFeature:a}=e,i=qe(n.layersAndTables),s=n.layersAndTables.toArray(),{allEditData:l,editDataByLayerIdMap:c,editDataByIdMap:u}=Ee(t,i,a),d=Ce(l,ze(s,c),c);if(o&&De(l,d,o),0===d.length)return t;const p=K(d,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(r),f=new Map;for(const r of p)f.set(r.uniqueId,r);const y=[];for(const r of l)f.has(r.uniqueId)||y.push(r);const m=[];let h=null;for(const r of p){const{layer:e}=r;switch(null==h?h=Oe(e):h.id!==e.layerId&&(m.push(h),h=Oe(e)),r.operationType){case"add":case"modify":h.addFeatures.push(r.after);break;case"delete":h.deleteFeatures.push(r.before)}}null!==h&&m.push(h);for(const r of y){const e=r.layer.layerId,t=m.find(t=>t.id===e)??Oe(r.layer);switch(m.includes(t)||m.push(t),r.operationType){case"add":t.addFeatures.push(r.after);break;case"modify":t.updateFeatures.push(r.after);break;case"delete":t.deleteFeatures.push(r.before);break;case"deleteAttachment":t.deleteAttachments.push(r.attachmentId);break;case"addAttachment":t.addAttachments.push(r.attachment)}}for(const r of m)void 0!==r.deleteAttachments&&0===r.deleteAttachments.length&&delete r.deleteAttachments,void 0!==r.addAttachments&&0===r.addAttachments.length&&delete r.addAttachments;return m}function qe(e){const t=new Map;for(const r of e)t.set(r.layerId,r);return t}function ze(e,t){const r=new Map;for(const n of e)for(const e of n.relationships??[])if(r.set(Pe(n,e),""),t.has(e.relatedTableId)){const o=t.get(e.relatedTableId);if(o.length>0)for(const t of o[0].layer.relationships??[])if(t.id===e.id){r.set(Pe(n,e),t.keyField);break}}return r}function Ee(e,t,r){const n=new Map,o=[],a=new Map;let s=1;for(const l of e){const e=[],c=t.get(l.id);if(!c)throw new i("featureworkflow",`Failed to prepare applyEdits payload. Layer with id ${l.id} not found.`);for(const t of l.addFeatures??[])e.push({uniqueId:"T"+s++,operationType:"add",layer:c,after:t});for(const t of l.deleteFeatures??[])e.push({uniqueId:"T"+s++,operationType:"delete",before:t,layer:c});for(const t of l.deleteAttachments??[])e.push({uniqueId:"T"+s++,operationType:"deleteAttachment",attachmentId:t,layer:c});for(const t of l.addAttachments??[])e.push({uniqueId:"T"+s++,operationType:"addAttachment",attachment:t,layer:c});for(const t of l.updateFeatures??[])e.push({uniqueId:"T"+s++,operationType:"modify",before:r(t),after:t,layer:c});n.set(c.layerId,e);for(const t of e)o.push(t),a.set(t.uniqueId,t)}return{allEditData:o,editDataByIdMap:a,editDataByLayerIdMap:n}}function Ce(e,t,r){const n=[];for(const o of e){const e=o.layer.relationships??[],{uniqueId:a}=o;for(const i of e){const e=i.keyField;if("origin"===i.role){const s=r.get(i.relatedTableId);if(!s||0===s.length)continue;const l=Pe(o.layer,i),c=t.get(l);if(void 0===c||""===c)continue;switch(o.operationType){case"add":for(const t of s)t!==o&&("add"!==t.operationType&&"modify"!==t.operationType||t.after.attributes[c]===o.after.attributes[e]&&n.push([a,t.uniqueId]));break;case"modify":if(o.before.attributes[e]!==o.after.attributes[e])for(const t of s){const r=t.uniqueId;t!==o&&("delete"===t.operationType?t.before.attributes[c]===o.before.attributes[e]?n.push([r,a]):t.before.attributes[c]===o.after.attributes[e]&&n.push([a,r]):"add"===t.operationType?t.after.attributes[c]===o.after.attributes[e]?n.push([a,r]):t.after.attributes[c]===o.before.attributes[e]&&n.push([r,a]):"modify"===t.operationType&&(t.before.attributes[c]!==t.after.attributes[c]?t.after.attributes[c]===o.after.attributes[e]?n.push([a,r]):n.push([r,a]):n.push([a,r])))}break;case"delete":for(const t of s)t!==o&&("delete"!==t.operationType&&"modify"!==t.operationType||t.before.attributes[c]===o.before.attributes[e]&&n.push([t.uniqueId,a]))}}}}return n}function Pe(e,t){return`${e.layerId}:${t.id}`}function Re(e,t){return!!(t?.map&&"utilityNetworks"in t.map&&t.map.utilityNetworks?.length&&t.map.utilityNetworks.some(t=>!(!t.loaded||!e.url?.startsWith(t.featureServiceUrl)||e.layerId!==t.networkSystemLayers.associationsTableId)))}function De(e,t,r){const n=[];for(const a of e)Re(a.layer,r)&&n.push(a);if(0===n.length)return;let o=[];for(const a of n){const r=a.layer;switch(a.operationType){case"delete":o=[...Ge(a.before.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Ge(a.before.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([a.uniqueId,e.uniqueId]);break;case"add":o=[...Ge(a.after.attributes[r.fieldsIndex.get("fromglobalid").name],e),...Ge(a.after.attributes[r.fieldsIndex.get("toglobalid").name],e)];for(const e of o)t.push([e.uniqueId,a.uniqueId])}}}function Ge(e,t){const r=[],n=t.filter(({layer:e})=>""!==e.globalIdField&&null!=e.globalIdField);for(const o of n){const t=o.layer.globalIdField;("before"in o&&o.before?.attributes[t]===e||"after"in o&&o.after?.attributes[t]===e)&&r.push(o)}return r}async function Be(e,r,n,o,a){const i=new t({sourceLayer:r,attributes:n}),{rotation:s,size:l}=me(i);let c=await Z(i,{useSourceLayer:!0,webStyleCache:o,scale:a}),u=!1;for(const t of[l,s]){if(null==t)continue;null==n[t.field]&&(n[t.field]=await t.getDefaultValue(c,e.view),u=!0)}switch(u&&(c=await Z(i,{useSourceLayer:!0,webStyleCache:o,scale:a})),c?.type){case"simple-fill":case"polygon-3d":e.polygonSymbol=c;break;case"simple-line":case"line-3d":e.polylineSymbol=c;break;case"simple-marker":case"picture-marker":case"point-3d":case"cim":e.pointSymbol=c;break;case"mesh-3d":e.meshSymbol=c}Ze(e.tooltipOptions,l,s)}function Ze(e,t,r){e.visualVariables=null!=t||null!=r?{size:null!=t?{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType}:null,rotation:null!=r?{valueType:r.fieldType,rotationType:r.rotationType??"geographic"}:null}:null}function Ne(e,t){return e.find(e=>e.layer===t)}function Qe(e,t){const r=Ne(e,t);if(null==r)throw new i("no-editorItem-found","The EditorViewModel provided did not have an EditorItem associated with the specified layer");return r}function We(e,t){return e?.find(e=>e.layer===t)}async function $e(e,t,r,n){switch(t.type){case"3d":return He(e,t,r,n);case"2d":return Je(e,t,r,n)}}async function He(e,t,r,n){if(0===e.length)return[];const{updatable:a,graphicsByLayer:i}=await r.defer(async()=>{const{results:o}=await h(J(t,r),n),a=new Map,i=e=>{const t=e.layer,r=a.get(t);if(!r){const e=new Array;return a.set(t,e),e}return r};H(o).forEach(({graphic:e})=>i(e).push(e));const s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&a.has(t));return 0!==s.length&&r.stopPropagation(),{updatable:s,graphicsByLayer:a}});return h(Promise.allSettled(a.map(async({layer:e})=>{const t=i.get(e),r=Ke(e);if(t.every(e=>L(e,r)))return t;const a=[];for(const n of t){a.push(n.getObjectId());const e=Object.keys(n.attributes);o(r,e)}const s=e.createQuery();return s.returnGeometry=!1,s.objectIds=a,s.outFields=U(e.fieldsIndex,r),e.queryFeatures(s,{signal:n}).then(({features:e})=>e)})),n)}async function Je(e,t,r,n){if(0===e.length)return[];const{mapPoint:o}=r;if(null==o)return[];let a=null;const i=await r.defer(async()=>{const{results:o}=await h(t.hitTest(r),n);if(0===o.length)return[];const i=new Set;a=H(o),a.forEach(({graphic:e})=>e&&i.add(e.layer));const s=e.filter(e=>i.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&r.stopPropagation(),s});return h(Promise.allSettled(i.map(async({layer:e})=>{const i=e.createQuery();i.returnGeometry=!0,i.outFields=Ke(e);const s="renderer"in e?q({renderer:e.renderer,pointerType:r.pointerType}):0;i.geometry=$(o,s,t),i.outSpatialReference=t.spatialReference;const{features:l}=await e.queryFeatures(i,{signal:n});return a?.forEach(({graphic:t})=>{t.layer!==e||l.some(e=>e.getObjectId()===t.getObjectId())||l.push(t)}),l})),n)}function Ke(e){return U(e.fieldsIndex,[e.objectIdField,V({displayField:"displayField"in e?e.displayField:null,fields:e.fields})])}async function Xe(e,t,n,o){return Ye(e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(r),t,n,o)}async function Ye(e,t,r,n){const o=t.createQuery();o.objectIds=e,o.outFields=["*"],o.returnM=t.capabilities.data.supportsM,o.returnZ=t.capabilities.data.supportsZ,o.returnGeometry=!0,x(t)&&null!=t.infoFor3D||(o.outSpatialReference=r),!x(t)&&t.capabilities?.data.supportsTrueCurve&&(o.returnTrueCurves=!0);const a=await t.queryFeatures(o,{signal:n});return m(n),a.features}async function _e(e){const{graphic:t,sketchViewModel:r,sourceLayer:n,visualVariables:o}=e;await et(e);const a={multipleSelectionEnabled:!1};return"point"===n.geometryType&&(a.enableRotation=null!=o.rotation,a.enableScaling=null!=o.size),r.update(t,a)}async function et(e){const{graphic:t,sketchLayer:r,sketchViewModel:n,sourceLayer:o,visualVariables:a,webStyleCache:i}=e;let s=!1;const{rotation:l,size:c}=a;for(const u of[l,c]){if(null==u)continue;const e=t.getAttribute(u.field);if(null!=e)u.setInitialValue(e);else{const e=await u.getDefaultValue(t.symbol,n.view);u.setInitialValue(e),t.setAttribute(u.field,e),s=!0}}if(s){const e="2d"===n.view?.type?n.view.scale:null;await Te(t,i,e)}Ze(n.tooltipOptions,c,l),r.elevationInfo=o.elevationInfo}function tt(e){return null==e||"rotate-start"!==e.type&&"rotate"!==e.type&&"rotate-stop"!==e.type?null:e}function rt(e){return null==e||"scale-start"!==e.type&&"scale"!==e.type&&"scale-stop"!==e.type?null:e}function nt(e,t,r,n){if(null==t.geometry||"point"!==t.geometry?.type)return!1;const o=t.attributes;let a=!1;const i=n.rotation,s=tt(r.toolEventInfo);if(null!=i&&null!=s){const{field:r,getValue:n}=i;if("rotate-stop"===s.type)i.isUpdatingInteractively=!1,i.setInitialValue(t.getAttribute(r));else{i.isUpdatingInteractively=!0;const l=n(s.angle,e);l!==o[r]&&t.setAttribute(r,l),a=!0}}const l=n.size,c=rt(r.toolEventInfo);if(null!=l&&null!=c){const{field:r,getValue:n}=l;if("scale-stop"===c.type)l.isUpdatingInteractively=!1,l.setInitialValue(t.getAttribute(r));else{l.isUpdatingInteractively=!0;const i=n(c.xScale,e);i!==o[r]&&t.setAttribute(r,i),a=!0}}return a}async function ot({feature:e,featureClone:t,visualVariableAttributes:r,sketchLayer:n,sketchViewModel:o,view:a,onUpdate:i,webStyleCache:u,addUpdatingPromise:d,addHandle:p}){await Te(t,u,"2d"===a.type?a.scale:null);let y=null;if("2d"===o?.view?.type){const e=f(e=>Te(t,u,e));y=b(()=>o?.view?.scale,t=>e(t))}const m=t.sourceLayer,h=ft(a,m);await _e({graphic:t,sketchLayer:n,sketchViewModel:o,sourceLayer:m,visualVariables:r,webStyleCache:u});let g=null;h.then(e=>g=e).catch(()=>{});const I=r.size,v=r.rotation,T=b(()=>e.attributes,async e=>{let r=!1;for(const n in e){const o=e[n];o!==t.getAttribute(n)&&(t.setAttribute(n,o),null==I||I.isUpdatingInteractively||I.field!==n||I.setInitialValue(o),null==v||v.isUpdatingInteractively||v.field!==n||v.setInitialValue(o),(null==g||g.requiredFields.includes(n))&&(r=!0))}r&&await Te(t,u,"2d"===a.type?a.scale:null)}),F=o.on("update",async e=>{const t=e.graphics[0],s={graphic:t,sketchLayer:n,sketchViewModel:o,sourceLayer:m,visualVariables:r,webStyleCache:u};if("complete"===e.state){if(null===a.activeTool)return _e(s);const e=new AbortController,t=c(e);return p(t),d(w(()=>null===a.activeTool,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),_e(s)}))}nt(a,t,e,r)&&await Te(t,u,"2d"===a.type?a.scale:null),i(mt(t),e)}),j=o.on(["undo","redo"],e=>{i(mt(e.graphics[0]),e)});return s([j,F,l(()=>o.cancel()),T,y])}async function at(e,t,r,n){e.add(n);const o=r.sourceLayer,i=r.layer??o,c=r.getAttribute(o.objectIdField);let u=null;function d(e){u?.abort(),O(i)?r.visible=e:u=a(async r=>{const n=await ft(t,i);m(r),n.setVisibility?.(c,e)})}return await it(t,n),d(!1),s([l(async()=>{d(!0);try{if(!t.destroyed){const e=await ft(t,i).catch(()=>{});e&&!e.destroyed&&await w(()=>!e.updating)}}finally{e.remove(n)}})])}async function it(e,t){if("3d"===e.type){const r=new Q({graphic:t}),n=e.trackGraphicState(r);await w(()=>r.displaying||r.error),n.remove()}else await w(()=>t.visible)}const st={icon:I(24),text:I(12),line:I(1),viewScaleSizeFactor:100};function lt(e,t,r){let n=!1;return e.filter(e=>!!n||(n=e===t,n)).map(e=>r[e]())}function ct(e,t){e.viewModel.syncFeatureTemplates();const r=e.creationInfo;if("awaiting-feature-creation-info"===t[0].id&&r){const n=r.layer,o=e.viewModel.getTemplatesForLayer(n);1===o.length&&"scene"!==n.type&&(r.template=o[0],t.shift())}return t}function ut(e){return"unknown"===e?null:e}function dt(e){e.filesEnabled=!0,e.mode="view",e.capabilities={editing:!0,operations:{add:!0,update:!0,delete:!0}}}const pt=e=>e.includes("-stop")||e.includes("vertex-"),ft=(e,t)=>{const r="subtype-sublayer"===t.type?t.parent:t;return e.whenLayerView(r)};function yt(e){return"createInteractiveEditSession"in e}function mt(e){const t=e.geometry;if("mesh"===t?.type){const r=e.cloneShallow();return r.attributes=u(e.attributes),r.geometry=t.cloneShallow(),r.geometry.transform=t.transform?.clone()??null,r}return e.clone()}function ht(e){return e.acquireCursor("progress")}function bt(e){for(const t of e){const{destinationGraphic:e,destinationField:r,sourceGraphic:n,sourceField:o}=t;e.setAttribute(r,n.getAttribute(o))}}function gt(e){const t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>bt(e.relationships)),t.flatMap(e=>e.edits)):null}function wt(e){const t=ie(e)?e.activeWorkflow:e;if(null==t)return[];if(ne(t))return t.data.layers;const r=t.layer;return r?[r]:[]}function It({attributes:e},t){const r=new Set;r.add(t.objectIdField),"uniqueIdFields"in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&v(r,t.uniqueIdFields);const n={};for(const o of r)null!=e[o]&&(n[o]=e[o]);if("scene"===t.type&&null!=t.infoFor3D){const r=t.associatedLayer?.globalIdField;null!=r&&(e[r]=e[r])}return n}function vt(e){if(!Tt(e))return e;const t=new Map;for(const r of e){const e=r.getObjectId();if(null!=e){const n=r.sourceLayer??r.layer;p(t,n,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function Tt(e){return 0===e.length||P(e[0])}export{De as appendAllUtilityNetworkAssociationRelationships,ct as avoidFeatureTemplateSelectionWithOnlyOneItem,yt as canCreateInteractiveEditSession,mt as cloneGraphicExceptMesh,qe as createLayerIdMap,ze as createRelationshipKeyMap,Fe as createToolFromGeometryType,lt as createWorkflowSteps,$e as fetchCandidates,Xe as fetchFullFeatures,Ye as fetchFullFeaturesByObjectId,Ce as findAllDependencies,Ge as findChangesByGlobalId,Ne as findEditorItemForLayer,Qe as findEditorItemForLayerOrThrow,We as findLayerInfo,Pe as generateHashForRelationship,wt as getLayersFromWorkflow,he as getRotationVariableAttribute,gt as getServiceEditsFromWorkflowData,Ve as getServiceInfoForLayer,Me as getServiceLayersById,we as getSizeVariableAttribute,me as getVisualVariableAttributes,ye as getVisualVariablesForLayer,_ as isAnyUpdateLeafWorkflow,ee as isBatchAttributeFormViewModel,te as isCreateFeaturesWorkflow,re as isFeatureFormViewModel,Tt as isGraphicsArray,se as isMergeFeaturesWorkflow,ue as isMergeWorkflowOptions,ce as isParentWorkflow,le as isSplitFeatureWorkflow,de as isSplitWorkflowOptions,pt as isTerminalUpdateEventType,oe as isUpdateFeatureWorkflow,ne as isUpdateFeaturesWorkflow,fe as isUpdateFeaturesWorkflowOptions,ae as isUpdateRecordWorkflow,ie as isUpdateWorkflow,Re as isUtilityNetworkAssociationsTable,It as makeMinimalAttributes,xe as orderEditsByRelationshipDependencies,dt as prepareAttachmentsForCreateFeaturesWorkflow,bt as setRelationshipFields,ot as setUpGeometryUpdate,Se as setUpSketchCreateWatchers,et as setVisualVariablesAndElevationInfoForUpdate,ht as showProgressCursor,st as sizeDefaults,ut as sizeVariableUnitToLengthUnit,je as startCreatingNewFeature,_e as startUpdatingFeatureGeometry,at as swapForEditingSession,vt as toFeatureInfos,Te as updateGraphicSymbolWhenRequired,nt as visualVariableInteractiveUpdate,ft as whenEditorLayerView,it as whenGraphicDisplayed,pe as workflowInfluencesOutcomeOfParent};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type Color from "../../Color.js";
|
|
2
2
|
import type Point from "../../geometry/Point.js";
|
|
3
|
-
import type { EventedAccessor
|
|
3
|
+
import type { EventedAccessor } from "../../core/Evented.js";
|
|
4
4
|
import type { ElevationProfileSample, ElevationProfileStatistics, ElevationProfileLineType } from "./types.js";
|
|
5
5
|
import type { ColorLike } from "../../Color.js";
|
|
6
6
|
|
|
7
7
|
/** @deprecated since version 5.0. Use the [Elevation Profile component](https://developers.arcgis.com/javascript/latest/references/map-components/arcgis-elevation-profile/) or [ElevationProfileLine](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfile-ElevationProfileLine.html) from [ElevationProfileAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-ElevationProfileAnalysis.html) instead. For information on widget deprecation, read about [Esri's move to web components](https://developers.arcgis.com/javascript/latest/components-transition-plan/). */
|
|
8
|
-
export interface ElevationProfileLineProperties extends
|
|
8
|
+
export interface ElevationProfileLineProperties extends Partial<Pick<ElevationProfileLine, "id" | "title" | "viewVisualizationEnabled" | "visible">> {
|
|
9
9
|
/**
|
|
10
10
|
* Color of the line on the chart and the hovered points in the view.
|
|
11
11
|
*
|