@arcgis/core 6.0.0-next.1 → 6.0.0-next.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/analysis/AreaMeasurementAnalysis.d.ts +11 -1
- package/analysis/DimensionSimpleStyle.js +1 -1
- package/analysis/DirectLineMeasurementAnalysis.d.ts +11 -1
- package/analysis/DistanceMeasurementAnalysis.d.ts +8 -0
- package/arcade/featureSetUtils.js +1 -1
- package/arcade/functions/knowledgegraph.js +1 -1
- package/arcade/geometry/unitConversion.js +1 -1
- package/arcgisGlobal.d.ts +5 -5
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/01803f76bc0d9f2cd566.js +1 -0
- package/assets/esri/core/workers/chunks/{f09c9d9a554c33a753b4.js → 02253bdffbd580af22d8.js} +1 -1
- package/assets/esri/core/workers/chunks/{5078b66ba31b770b689f.js → 037a8cc19debbaaa4e10.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ede8666d804c553803e.js → 0b6941781e35ce0f7274.js} +1 -1
- package/assets/esri/core/workers/chunks/0ccab50877b24f862d6e.js +1 -0
- package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → 0dc66b03ff55d0ea5a09.js} +1 -1
- package/assets/esri/core/workers/chunks/0f725cf79ce00e790a7d.js +1 -0
- package/assets/esri/core/workers/chunks/{a0d459bdb91ee892d4b6.js → 116293b1ee788a89ce1e.js} +1 -1
- package/assets/esri/core/workers/chunks/12a7997a40c77f5c9160.js +1 -0
- package/assets/esri/core/workers/chunks/{a7325ebb7edf3273bb34.js → 12b84262dedc6b393136.js} +1 -1
- package/assets/esri/core/workers/chunks/1b077c92345ffb5916c2.js +1 -0
- package/assets/esri/core/workers/chunks/{6dd0b79fa3a629ab4f27.js → 1bca39e0e651426bdbb5.js} +1 -1
- package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +1 -0
- package/assets/esri/core/workers/chunks/{8959a825f5e1ce6f38ac.js → 1c65ab9ed611c322ce27.js} +1 -1
- package/assets/esri/core/workers/chunks/1e0d2715d603f48a7e0b.js +1 -0
- package/assets/esri/core/workers/chunks/261fea092ee7d27608a0.js +1 -0
- package/assets/esri/core/workers/chunks/2686fe5b62dd0be699c0.js +1 -0
- package/assets/esri/core/workers/chunks/2a97268000c6d03ef720.js +1 -0
- package/assets/esri/core/workers/chunks/{83589144eeeb08f45557.js → 2aeb5cc32284dd3e4d22.js} +1 -1
- package/assets/esri/core/workers/chunks/2d9a1f23ec6ce90723ac.js +1 -0
- package/assets/esri/core/workers/chunks/2e096537a3a5555a4a93.js +1 -0
- package/assets/esri/core/workers/chunks/{7a05b18f655c1167ce0a.js → 2ef5237e4c876d6a4ee0.js} +1 -1
- package/assets/esri/core/workers/chunks/37d6a264a3f1d8072aa0.js +1 -0
- package/assets/esri/core/workers/chunks/3b3e519f15ed52c83f0c.js +1 -0
- package/assets/esri/core/workers/chunks/3c0ed15b544df6fb0903.js +1 -0
- package/assets/esri/core/workers/chunks/{b612de42ee86c0d95247.js → 3d9d7d3a40b51eb7ee3d.js} +1 -1
- package/assets/esri/core/workers/chunks/3df5500a85345577480a.js +1 -0
- package/assets/esri/core/workers/chunks/3f7d583b676b23b3fadb.js +1 -0
- package/assets/esri/core/workers/chunks/3ffda5bf0b91700dc308.js +1 -0
- package/assets/esri/core/workers/chunks/40a584cb952e94326e9e.js +1 -0
- package/assets/esri/core/workers/chunks/{1317ecdfd0cfa683a493.js → 42323093827adffe56d3.js} +1 -1
- package/assets/esri/core/workers/chunks/{1ba0dfbe0958cdbd7c9f.js → 42fd2a7b22b03dacc6a7.js} +1 -1
- package/assets/esri/core/workers/chunks/444e5f214abce3d607cd.js +1 -0
- package/assets/esri/core/workers/chunks/{d201fbf3ceff946d2bd6.js → 44d5508042cacdfcac47.js} +1 -1
- package/assets/esri/core/workers/chunks/4503b20ca6a80fb63d72.js +1 -0
- package/assets/esri/core/workers/chunks/45367aa8e5c5d574de94.js +1 -0
- package/assets/esri/core/workers/chunks/45800373650fbc8262e6.js +1 -0
- package/assets/esri/core/workers/chunks/{6a7ab1ef9a37e87db5ae.js → 46a7da93a63663878583.js} +1 -1
- package/assets/esri/core/workers/chunks/46b4fb6a7fe4877b0efc.js +1120 -0
- package/assets/esri/core/workers/chunks/47d074136a7f8e551a9a.js +1 -0
- package/assets/esri/core/workers/chunks/4911ce62421a6c3320b0.js +1 -0
- package/assets/esri/core/workers/chunks/4a1e23e021bac37a88ab.js +1 -0
- package/assets/esri/core/workers/chunks/4a6b92ecbb1f1c55cc43.js +1 -0
- package/assets/esri/core/workers/chunks/4debf2d9c3465250ef7a.js +1 -0
- package/assets/esri/core/workers/chunks/4e544de61f07ca660236.js +1 -0
- package/assets/esri/core/workers/chunks/4e8e322b469657ac22e2.js +1 -0
- package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +1 -0
- package/assets/esri/core/workers/chunks/{67ac6b326bf80fc3d33d.js → 53be85d04cd2da4f391d.js} +1 -1
- package/assets/esri/core/workers/chunks/54778dec1598818d93cb.js +1 -0
- package/assets/esri/core/workers/chunks/54b18559280a7d2a8d93.js +1 -0
- package/assets/esri/core/workers/chunks/557671c897ca5563be6c.js +1 -0
- package/assets/esri/core/workers/chunks/567a65f4203f6e81f4b4.js +1 -0
- package/assets/esri/core/workers/chunks/5c7780f804d789cb37f5.js +1 -0
- package/assets/esri/core/workers/chunks/606ea251075fe81a1206.js +1 -0
- package/assets/esri/core/workers/chunks/{ceb680688fe7e570a774.js → 608be1172a908e92b9f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{e521bb9ee2030245c3ce.js → 612104dff305ff062dfa.js} +2 -2
- package/assets/esri/core/workers/chunks/6299be5e7e26bf3c6859.js +1 -0
- package/assets/esri/core/workers/chunks/{3ac9dcbb0571a2580236.js → 62c8c9ad09e0166207fd.js} +1 -1
- package/assets/esri/core/workers/chunks/6400446b7615b97c3521.js +1 -0
- package/assets/esri/core/workers/chunks/6431480ba0fa8c8d487f.js +1 -0
- package/assets/esri/core/workers/chunks/6588725275c75fae0d9c.js +1 -0
- package/assets/esri/core/workers/chunks/665e31c494d2af505acc.js +1 -0
- package/assets/esri/core/workers/chunks/{9232f57623e1fa3ccabc.js → 67e4b5651fd7ff7d8cf0.js} +1 -1
- package/assets/esri/core/workers/chunks/68be3fb88ca61f82fb90.js +1 -0
- package/assets/esri/core/workers/chunks/6c9266120d46e8c69dbf.js +1 -0
- package/assets/esri/core/workers/chunks/6c9acd9e4e201dc380e9.js +1 -0
- package/assets/esri/core/workers/chunks/6ebe73f69ae822053b70.js +1 -0
- package/assets/esri/core/workers/chunks/709e019885822b1f6f3e.js +1 -0
- package/assets/esri/core/workers/chunks/70cc2d79653d66e85b58.js +1 -0
- package/assets/esri/core/workers/chunks/7449568eb2305bf2d650.js +1 -0
- package/assets/esri/core/workers/chunks/745a153d0cd34faa124e.js +1 -0
- package/assets/esri/core/workers/chunks/7572c2bc5062e66f6330.js +1 -0
- package/assets/esri/core/workers/chunks/76196c414e48834f7b92.js +1 -0
- package/assets/esri/core/workers/chunks/78472a57c2ba146fec65.js +1 -0
- package/assets/esri/core/workers/chunks/7ef182e24cad50815b4e.js +1 -0
- package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +1 -0
- package/assets/esri/core/workers/chunks/814751e705c05099f864.js +1 -0
- package/assets/esri/core/workers/chunks/8293600f94553afc8c38.js +1 -0
- package/assets/esri/core/workers/chunks/8487727f1197cf7dbf50.js +1 -0
- package/assets/esri/core/workers/chunks/88e54449261ef94e390d.js +1 -0
- package/assets/esri/core/workers/chunks/8b0d5551978ab0aac0d1.js +1 -0
- package/assets/esri/core/workers/chunks/8d0c2de92770a1567536.js +1 -0
- package/assets/esri/core/workers/chunks/900181f68449d8f82eeb.js +1 -0
- package/assets/esri/core/workers/chunks/917f53833b853898facc.js +1 -0
- package/assets/esri/core/workers/chunks/939942b00ba380e2957e.js +1 -0
- package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
- package/assets/esri/core/workers/chunks/9ce91a909eccc4dfe388.js +1 -0
- package/assets/esri/core/workers/chunks/{c76c42c74eedd43263d3.js → 9dd1fc56eb1ea6eb705e.js} +1 -1
- package/assets/esri/core/workers/chunks/{86a051e9fe71aa356108.js → 9e3e442a9874ed23a043.js} +1 -1
- package/assets/esri/core/workers/chunks/{aa1054834738aef48bda.js → a0356702f2d3f787aeac.js} +1 -1
- package/assets/esri/core/workers/chunks/a40b6d8b5c73e06e14d4.js +1 -0
- package/assets/esri/core/workers/chunks/{1ba1f705b6ce5c8ea702.js → a655ebdb4bf0660615a2.js} +1 -1
- package/assets/esri/core/workers/chunks/a8286febe371dc186aaa.js +1 -0
- package/assets/esri/core/workers/chunks/aaba33611753c6aada68.js +1 -0
- package/assets/esri/core/workers/chunks/aba42885c5d6b2b5fe7f.js +1 -0
- package/assets/esri/core/workers/chunks/ad76f7ab2f3e6d5a5b3c.js +1 -0
- package/assets/esri/core/workers/chunks/ae40eac1eadd1a537bf4.js +1 -0
- package/assets/esri/core/workers/chunks/aeaaff7a4b1a99540f52.js +1 -0
- package/assets/esri/core/workers/chunks/af349c7bc8ef41a0e1bd.js +1 -0
- package/assets/esri/core/workers/chunks/af75747b06d79446a855.js +1 -0
- package/assets/esri/core/workers/chunks/b564ec4e03478f5659db.js +1 -0
- package/assets/esri/core/workers/chunks/b5fdcc80d5973b6e26d1.js +1 -0
- package/assets/esri/core/workers/chunks/bbf993dba74850bbf9d7.js +1 -0
- package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
- package/assets/esri/core/workers/chunks/{9ab25ee06041f907b9a2.js → c2c1f51a4668055c2838.js} +1 -1
- package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +1 -0
- package/assets/esri/core/workers/chunks/{a7985d20fa6e8d4878e7.js → d0f5bee9db1ad51ae687.js} +1 -1
- package/assets/esri/core/workers/chunks/d6ad4390df576198e45b.js +1 -0
- package/assets/esri/core/workers/chunks/d90a3bfd45b5ed4092e0.js +1 -0
- package/assets/esri/core/workers/chunks/dba280c370df13196711.js +1 -0
- package/assets/esri/core/workers/chunks/ddf0671976648f621269.js +1 -0
- package/assets/esri/core/workers/chunks/{c18189710d6198516175.js → de5ecb567bd69c613e9d.js} +1 -1
- package/assets/esri/core/workers/chunks/e10b57aefcc89671116e.js +1 -0
- package/assets/esri/core/workers/chunks/{534186fc921a0ccf58dc.js → e1f5d00878f27e1d413e.js} +1 -1
- package/assets/esri/core/workers/chunks/e65dfa19f030ec298437.js +1 -0
- package/assets/esri/core/workers/chunks/e932951598499befabf5.js +1 -0
- package/assets/esri/core/workers/chunks/{e1ba915dae7747932c0f.js → eb04e1717a1002cda3ab.js} +1 -1
- package/assets/esri/core/workers/chunks/f122c18af10e56f9ec2b.js +1 -0
- package/assets/esri/core/workers/chunks/f1df76f098a3cc924832.js +1 -0
- package/assets/esri/core/workers/chunks/f1f90adae13b04898008.js +1 -0
- package/assets/esri/core/workers/chunks/f46d9a19f79d4a4bd354.js +1 -0
- package/assets/esri/core/workers/chunks/f4f9d08b2df856e3b694.js +1 -0
- package/assets/esri/core/workers/chunks/{711cfb84659cb4437679.js → f528ac5c648ca6a98582.js} +1 -1
- package/assets/esri/core/workers/chunks/f92364afaefbac7e8f77.js +1 -0
- package/assets/esri/core/workers/chunks/fb444954be74c1962ced.js +1 -0
- package/assets/esri/core/workers/chunks/fc44227c1756f65b95df.js +1 -0
- package/assets/esri/core/workers/chunks/{72019baeba520edb6bb0.js → fc44d45598a7476bc606.js} +1 -1
- package/assets/esri/core/workers/chunks/fecaf0bc28aeea4d15db.js +1 -0
- package/assets/esri/libs/librust-parquet/pkg/parquet_bg.wasm +0 -0
- package/assets/esri/themes/base/_mixins.scss +2 -2
- package/assets/esri/themes/base/widgets/_Attribution.scss +1 -1
- package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +2 -2
- package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +5 -5
- package/assets/esri/themes/base/widgets/_Bookmarks.scss +1 -1
- package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +5 -5
- package/assets/esri/themes/base/widgets/_CatalogLayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Compass.scss +0 -2
- package/assets/esri/themes/base/widgets/_DirectionalPad.scss +4 -10
- package/assets/esri/themes/base/widgets/_Directions.scss +40 -40
- package/assets/esri/themes/base/widgets/_Editor.scss +7 -7
- package/assets/esri/themes/base/widgets/_Expand.scss +1 -1
- package/assets/esri/themes/base/widgets/_Feature.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureForm.scss +6 -6
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationLayers.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationList.scss +1 -1
- package/assets/esri/themes/base/widgets/_FeatureFormUtilityNetworkAssociationSettings.scss +4 -4
- package/assets/esri/themes/base/widgets/_FeatureTable.scss +27 -27
- package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +1 -1
- package/assets/esri/themes/base/widgets/_Features.scss +6 -6
- package/assets/esri/themes/base/widgets/_FilterBuilder.scss +1 -1
- package/assets/esri/themes/base/widgets/_FilterCondition.scss +1 -1
- package/assets/esri/themes/base/widgets/_Grid.scss +18 -18
- package/assets/esri/themes/base/widgets/_GridControls.scss +11 -11
- package/assets/esri/themes/base/widgets/_LayerList.scss +1 -1
- package/assets/esri/themes/base/widgets/_Legend.scss +5 -5
- package/assets/esri/themes/base/widgets/_NavigationToggle.scss +4 -1
- package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +23 -28
- package/assets/esri/themes/base/widgets/_ResponsiveToolbar.scss +0 -2
- package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +1 -1
- package/assets/esri/themes/base/widgets/_SelectionList.scss +15 -15
- package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +3 -5
- package/assets/esri/themes/base/widgets/_ShadowCast.scss +11 -11
- package/assets/esri/themes/base/widgets/_Sketch.scss +1 -1
- package/assets/esri/themes/base/widgets/_Slice.scss +3 -3
- package/assets/esri/themes/base/widgets/_SnappingControls.scss +1 -1
- package/assets/esri/themes/base/widgets/_TimeSlider.scss +5 -5
- package/assets/esri/themes/base/widgets/_TimeZoneLabel.scss +5 -4
- package/assets/esri/themes/base/widgets/_Tooltip.scss +14 -17
- package/assets/esri/themes/base/widgets/_UtilityNetworkAssociations.scss +2 -2
- package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +1 -1
- package/assets/esri/themes/base/widgets/_UtilityNetworkValidateTopology.scss +2 -2
- package/assets/esri/themes/base/widgets/_ValuePicker.scss +2 -2
- package/assets/esri/themes/base/widgets/_VideoPlayer.scss +5 -5
- package/assets/esri/themes/base/widgets/_Widget.scss +5 -1
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/assets/esri/widgets/BatchAttributeForm/t9n/messages.en.json +1 -1
- package/{basemaps/BasemapCollection.d.ts → basemapGallery/BasemapGalleryModel.d.ts} +8 -8
- package/{basemaps/BasemapCollection.js → basemapGallery/BasemapGalleryModel.js} +1 -1
- package/{basemaps → basemapGallery}/BasemapsSource.d.ts +1 -1
- package/{basemaps → basemapGallery}/BasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/LocalBasemapsSource.d.ts +2 -2
- package/{basemaps → basemapGallery}/LocalBasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/PortalBasemapsSource.d.ts +2 -2
- package/{basemaps → basemapGallery}/PortalBasemapsSource.js +1 -1
- package/{basemaps → basemapGallery}/support/BasemapItem.d.ts +2 -2
- package/{basemaps → basemapGallery}/support/BasemapItem.js +1 -1
- package/{basemaps → basemapGallery}/types.d.ts +2 -2
- package/chunks/AtmosphereCompositing.glsl.js +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +3 -3
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/Component.glsl.js +41 -41
- package/chunks/DefaultMaterial.glsl.js +2 -2
- package/chunks/EdgeShader.glsl.js +9 -9
- package/chunks/Fog.glsl.js +5 -5
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GlobalIllumination.glsl.js +13 -11
- package/chunks/GlobalIlluminationBlur.glsl.js +3 -5
- package/chunks/GlobalIlluminationUpscale.glsl.js +1 -1
- package/chunks/HUDMaterial.glsl.js +13 -13
- package/chunks/Haze.glsl.js +6 -6
- package/chunks/HazeCompositing.glsl.js +1 -1
- package/chunks/LaserlinePath.glsl.js +6 -6
- package/chunks/LineCallout.glsl.js +1 -1
- package/chunks/LineMarker.glsl.js +5 -5
- package/chunks/NavigationDepth.glsl.js +2 -2
- package/chunks/Path.glsl.js +1 -1
- package/chunks/Pattern.glsl.js +26 -26
- package/chunks/Precipitation.glsl.js +7 -7
- package/chunks/RealisticTree.glsl.js +2 -2
- package/chunks/RibbonLine.glsl.js +80 -73
- package/chunks/ShadowCastAccumulate.glsl.js +1 -1
- package/chunks/ShadowHighlight.glsl.js +5 -5
- package/chunks/ShadowHighlightBuffer.glsl.js +1 -1
- package/chunks/SimpleAtmosphere.glsl.js +4 -4
- package/chunks/Terrain.glsl.js +29 -32
- package/chunks/Viewshed.glsl.js +2 -2
- package/chunks/Water.glsl.js +2 -2
- package/config.js +1 -1
- package/core/Loadable.js +1 -1
- package/core/arrayUtils.js +1 -1
- package/core/colorUtils.js +1 -1
- package/core/has.js +1 -1
- package/core/screenUtils.js +1 -1
- package/core/units.js +1 -1
- package/core/workers/workerFactory.js +1 -1
- package/form/elements/inputs/DynamicChoiceInput.d.ts +35 -5
- package/geometry/HeightModelInfo.js +1 -1
- package/geometry/operators/proximityOperator.js +1 -1
- package/geometry/projectionUtils.js +1 -1
- package/geometry/support/meshUtils.d.ts +1 -1
- package/geometry/support/scaleUtils.js +1 -1
- package/geometry/support/wkt.js +2 -0
- package/kernel.js +1 -1
- package/layers/BaseDynamicLayer.d.ts +1 -0
- package/layers/BaseElevationLayer.d.ts +2 -0
- package/layers/BaseTileLayer.d.ts +12 -9
- package/layers/CSVLayer.d.ts +0 -15
- package/layers/FeatureLayer.d.ts +2 -15
- package/layers/GeoJSONLayer.d.ts +0 -52
- package/layers/GeoRSSLayer.d.ts +0 -44
- package/layers/GeospatialPDFLayer.d.ts +2 -5
- package/layers/GeospatialPDFLayer.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/OrientedImageryLayer.js +1 -1
- package/layers/ParquetLayer.d.ts +100 -12
- package/layers/ParquetLayer.js +1 -1
- package/layers/SketchLayer.d.ts +0 -1
- package/layers/VectorTileLayer.d.ts +2 -12
- package/layers/geospatialPDF/renderExtentUtils.js +1 -1
- package/layers/graphics/data/FeatureStore.js +1 -1
- package/layers/graphics/data/QueryEngineResult.js +1 -1
- package/layers/graphics/data/geometryUtils.js +1 -1
- package/layers/graphics/data/projectionSupport.js +1 -1
- package/layers/graphics/sources/FeatureLayerSource.js +1 -1
- package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
- package/layers/graphics/transferFeatures.js +1 -1
- package/layers/knowledgeGraph/layerUtils.js +1 -1
- package/layers/knowledgeGraph/nodeMovementUtils.js +1 -1
- package/layers/mixins/PortalLayer.js +1 -1
- package/layers/mixins/RefreshableLayer.d.ts +1 -3
- package/layers/mixins/ScaleRangeLayer.js +1 -1
- package/layers/mixins/SublayersOwner.js +1 -1
- package/layers/orientedImagery/core/ExposurePoint.js +1 -1
- package/layers/orientedImagery/core/utils.js +1 -1
- package/layers/raster/datasets/GeospatialPDFRaster.js +1 -1
- package/layers/raster/datasets/TIFFRaster.js +1 -1
- package/layers/raster/datasets/byteStreamUtils.js +1 -1
- package/layers/raster/formats/tiffParser.js +1 -1
- package/layers/support/ParquetPortalItemData.d.ts +2 -0
- package/layers/support/ParquetPortalItemData.js +1 -1
- package/layers/support/PortalItemData.d.ts +21 -0
- package/layers/support/PortalItemData.js +1 -1
- package/layers/support/Sublayer.js +1 -1
- package/layers/support/SubtypeSublayer.js +1 -1
- package/layers/support/layersLoader.js +1 -1
- package/layers/support/parquetUtils.d.ts +1 -1
- package/layers/support/types.d.ts +1 -1
- package/package.json +3 -3
- package/popup/FeaturesModel.d.ts +27 -6
- package/popup/FeaturesModel.js +1 -1
- package/portal/support/layersLoader.js +1 -1
- package/portal/support/portalLayers.js +1 -1
- package/renderers/VectorFieldRenderer.d.ts +4 -4
- package/rest/print.d.ts +49 -3
- package/rest/print.js +1 -1
- package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
- package/rest/support/printTaskUtils.js +1 -1
- package/smartMapping/renderers/color.js +1 -1
- package/smartMapping/renderers/dotDensity.js +1 -1
- package/smartMapping/renderers/heatmap.js +1 -1
- package/smartMapping/renderers/pieChart.js +1 -1
- package/smartMapping/renderers/support/spikeUtils.js +3 -3
- package/smartMapping/renderers/type.js +1 -1
- package/smartMapping/statistics/heatmapStatistics.js +1 -1
- package/smartMapping/statistics/histogram.js +1 -1
- package/smartMapping/statistics/summaryStatistics.js +1 -1
- package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
- package/smartMapping/statistics/uniqueValues.js +1 -1
- package/smartMapping/support/adapters/support/layerUtils.js +1 -1
- package/smartMapping/types.d.ts +3 -1
- package/symbols/LineSymbol3DLayer.js +1 -1
- package/symbols/callouts/LineCallout3D.js +1 -1
- package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
- package/symbols/cim/CIMSymbolHelper.js +1 -1
- package/symbols/cim/cimAnalyzer.js +1 -1
- package/symbols/edges/Edges3D.js +1 -1
- package/symbols/support/Symbol3DIconOutline.js +1 -1
- package/symbols/support/Symbol3DOutline.js +1 -1
- package/symbols/support/Symbol3DTextBorder.js +1 -1
- package/symbols/support/defaults3D.js +1 -1
- package/views/2d/analysis/AreaMeasurement/AreaMeasurementTool.js +1 -1
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +6 -4
- package/views/2d/analysis/AreaMeasurementAnalysisView2D.js +1 -1
- package/views/2d/analysis/DistanceMeasurement/DistanceMeasurementTool.js +1 -1
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +6 -4
- package/views/2d/analysis/DistanceMeasurementAnalysisView2D.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
- package/views/2d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles2D.js +1 -1
- package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
- package/views/2d/layers/LayerView2D.js +1 -1
- package/views/2d/layers/features/FeatureContainer.js +1 -1
- package/views/2d/layers/features/FeatureSourceEventLog.js +1 -1
- package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
- package/views/2d/layers/features/processor/tracks/TrackAdapter.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/features/sources/FeatureSourceQueryInfo.js +1 -1
- package/views/2d/layers/features/sources/strategies/AFeatureTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/FeatureDrillDownTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
- package/views/2d/layers/features/support/FeatureMetadata.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderIndirect.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderJSON.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBF.js +1 -1
- package/views/2d/layers/features/support/FeatureSetReaderPBFHeader.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightEditTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightInteractionVisuals.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemManipulatedObject3D.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightItemTool.js +1 -1
- package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
- package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
- package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
- package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
- package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
- package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
- package/views/3d/analysis/Viewshed/types.d.ts +3 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.d.ts +3 -0
- package/views/3d/analysis/VolumeMeasurementAnalysisView3D.d.ts +2 -1
- package/views/3d/environment/Environment.d.ts +2 -2
- package/views/3d/environment/Environment.js +1 -1
- package/views/3d/environment/EnvironmentView.js +2 -0
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
- package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
- package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
- package/views/3d/layers/BuildingSceneLayerView3D.js +1 -1
- package/views/3d/layers/DynamicLayerView3D.js +1 -1
- package/views/3d/layers/FeatureLikeLayerViewBase3D.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/GraphicsLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
- package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
- package/views/3d/layers/MediaLayerView3D.js +1 -1
- package/views/3d/layers/PointCloudLayerView3D.js +1 -1
- package/views/3d/layers/RouteLayerView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/SceneLayerView3D.js +1 -1
- package/views/3d/layers/TiledLayerView3D.js +1 -1
- package/views/3d/layers/VoxelLayerView3D.js +1 -1
- package/views/3d/layers/graphics/Deconflictor.js +1 -1
- package/views/3d/layers/graphics/ElevationAligners.js +1 -1
- package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedBufferGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +2 -0
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
- package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
- package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +2 -0
- package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
- package/views/3d/layers/graphics/LabelInfo.js +1 -1
- package/views/3d/layers/graphics/Labeler.js +1 -1
- package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
- package/views/3d/layers/graphics/pointUtils.js +1 -1
- package/views/3d/layers/support/FeatureMemory.js +1 -1
- package/views/3d/layers/support/FeatureTile.js +1 -1
- package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
- package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
- package/views/3d/layers/support/ImageHighlightHelper3D.js +1 -1
- package/views/3d/layers/support/SampledGeometryMaxDistanceRatio.js +1 -1
- package/views/3d/layers/support/featureTileQuery3D.js +1 -1
- package/views/3d/support/PBFDecoder.js +1 -1
- package/views/3d/support/elevationUpdateUtils.js +1 -1
- package/views/3d/support/popupHitTest.js +1 -1
- package/views/3d/terrain/OverlayManager.js +1 -1
- package/views/3d/terrain/OverlayRenderer.js +1 -1
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/Laserline.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +13 -13
- package/views/3d/webgl-engine/core/shaderLibrary/bindUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/lastFrameUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +7 -7
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +31 -29
- package/views/3d/webgl-engine/core/shaderLibrary/shading/LineStipple.glsl.js +26 -12
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +14 -14
- package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadGlobalIllumination.glsl.js +16 -11
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js +5 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterColor.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/evaluateSceneLightingFragment.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js +2 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/pbrGlobals.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js +6 -6
- package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/util/View.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
- package/views/3d/webgl-engine/effects/WeatherFader.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanRaymarching.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +2 -2
- package/views/3d/webgl-engine/effects/glow/applyEmissiveGlow.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/raymarching/DistanceFalloff.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.js +1 -1
- package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/affectsGeometry.js +1 -1
- package/views/3d/webgl-engine/lib/bufferGeometryUtils.js +2 -0
- package/views/3d/webgl-engine/lib/edgeRendering/AdjustProjectedPosition.glsl.js +5 -5
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeShader.glsl.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeUtil.glsl.js +11 -11
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SphereDepthInterpolate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/lineUniforms.js +2 -0
- package/views/DOMContainer.d.ts +28 -9
- package/views/DOMContainer.js +1 -1
- package/views/PopupView.d.ts +6 -0
- package/views/SceneView.d.ts +4 -10
- package/views/SceneView.js +1 -1
- package/views/VideoView.d.ts +27 -9
- package/views/View.d.ts +20 -19
- package/views/View.js +1 -1
- package/views/View2D.d.ts +13 -13
- package/views/draw/Draw.d.ts +1 -1
- package/views/draw/support/InteractiveHandle.js +1 -1
- package/views/draw/support/PluginContext.js +1 -1
- package/views/draw/support/managers/TooltipManager.js +1 -1
- package/views/interactive/options/SnappingOptions.d.ts +29 -12
- package/views/interactive/options/TooltipOptions.d.ts +9 -1
- package/views/interactive/options/ValueOptions.d.ts +9 -2
- package/views/interactive/options/ViewOptions.d.ts +82 -6
- package/views/interactive/snapping/FeatureSnappingSourceInfo.js +1 -1
- package/views/interactive/snapping/SnappingManagerPool.js +1 -1
- package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
- package/views/interactive/snapping/SnappingVisualizer.js +1 -1
- package/views/interactive/support/Units.d.ts +1 -0
- package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
- package/views/interactive/tooltip/components/ElevationModeSelect.js +1 -1
- package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
- package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
- package/views/layers/FeatureLikeLayerView.d.ts +2 -2
- package/views/layers/GraphicsLayerView.d.ts +1 -0
- package/views/layers/ImageryLayerView.d.ts +1 -0
- package/views/layers/LayerView.js +1 -1
- package/views/layers/LineOfSightLayerView.d.ts +3 -4
- package/views/layers/ParquetLayerView.d.ts +15 -0
- package/views/layers/ParquetLayerView.js +1 -1
- package/views/layers/ViewshedLayerView.d.ts +5 -6
- package/views/support/layerViewUtils.js +1 -1
- package/views/support/projectionUtils.js +1 -1
- package/views/types.d.ts +3 -1
- package/webdoc/support/saveUtils.js +1 -1
- package/webdoc/support/unsupportedErrors.js +1 -1
- package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +2 -2
- package/widgets/BasemapGallery/BasemapGalleryViewModel.js +1 -1
- package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +3 -3
- package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +2 -2
- package/widgets/BasemapGallery/types.d.ts +3 -3
- package/widgets/BasemapLayerList.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
- package/widgets/BatchAttributeForm/expressions/expressionUtils.js +1 -1
- package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +6 -0
- package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/DynamicChoiceController.js +1 -1
- package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
- package/widgets/BatchAttributeForm.js +1 -1
- package/widgets/DirectionalPad.js +1 -1
- package/widgets/Editor/EditorViewModel.d.ts +13 -8
- package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
- package/widgets/Editor/workflowUtils.js +1 -1
- package/widgets/Editor.d.ts +19 -9
- package/widgets/Expand.js +1 -1
- package/widgets/FeatureForm.d.ts +2 -2
- package/widgets/FeatureForm.js +1 -1
- package/widgets/FeatureTable/FieldColumn.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/Features/FeaturesDrillIn.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/Legend.d.ts +1 -0
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/draw/HeightMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/components/ImageLocationViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
- package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
- package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
- package/widgets/OrientedImageryViewer/types.d.ts +20 -0
- package/widgets/OrientedImageryViewer.d.ts +9 -1
- package/widgets/PanoramicVideoViewer.js +1 -1
- package/widgets/Print/PrintViewModel.d.ts +3 -2
- package/widgets/Print/PrintViewModel.js +1 -1
- package/widgets/Print.js +1 -1
- package/widgets/ScaleRangeSlider.js +1 -1
- package/widgets/Search/SearchResultRenderer.js +1 -1
- package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
- package/widgets/Sketch/SketchViewModel.d.ts +14 -9
- package/widgets/Sketch/support/ResponsiveToolbar/ResponsiveToolbar.js +1 -1
- package/widgets/Sketch.d.ts +10 -10
- package/widgets/Track/TrackViewModel.d.ts +1 -1
- package/widgets/UtilityNetworkAssociations.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
- package/widgets/UtilityNetworkTrace/types.d.ts +2 -2
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkValidateTopology.js +1 -1
- package/widgets/ValuePicker.js +1 -1
- package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
- package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
- package/widgets/support/GridControls.js +1 -1
- package/widgets/support/PluginSettingsControls.js +1 -1
- package/widgets/support/SelectionList/FeatureItem.d.ts +9 -2
- package/widgets/support/SelectionToolbar.js +1 -1
- package/widgets/support/SnappingControls.d.ts +1 -1
- package/widgets/support/SnappingControls.js +1 -1
- package/widgets/support/componentsUtils.js +1 -1
- package/arcade/geometry/wkt.js +0 -2
- package/assets/esri/core/workers/chunks/00a600c71ceebe7bfeee.js +0 -1
- package/assets/esri/core/workers/chunks/00d24415bdeb0adae3df.js +0 -1
- package/assets/esri/core/workers/chunks/0193df3f9fb23633da87.js +0 -1
- package/assets/esri/core/workers/chunks/01b00fbf6a6a22d573ee.js +0 -1
- package/assets/esri/core/workers/chunks/02d4f91652a79d2b637e.js +0 -1
- package/assets/esri/core/workers/chunks/050c4b212f2b5691db34.js +0 -1
- package/assets/esri/core/workers/chunks/05963f57cbe5a5249496.js +0 -1
- package/assets/esri/core/workers/chunks/05d865b2736f452ad2aa.js +0 -1
- package/assets/esri/core/workers/chunks/06e7400f5ebe0719b81c.js +0 -1
- package/assets/esri/core/workers/chunks/07aa6d36f1006b6ab7ff.js +0 -1
- package/assets/esri/core/workers/chunks/084222c00d263a534952.js +0 -1
- package/assets/esri/core/workers/chunks/0b36abcbf03037b4073d.js +0 -1
- package/assets/esri/core/workers/chunks/107b025dc5b09465a78f.js +0 -1
- package/assets/esri/core/workers/chunks/1b551ef3d84d9c1e93f9.js +0 -1
- package/assets/esri/core/workers/chunks/1ef39aef6b33c530cbe4.js +0 -1
- package/assets/esri/core/workers/chunks/1f3148cebee1961249a4.js +0 -1
- package/assets/esri/core/workers/chunks/1f43e06dcfe56229bb0f.js +0 -1
- package/assets/esri/core/workers/chunks/2164fcaced72b0fda31f.js +0 -1
- package/assets/esri/core/workers/chunks/25b0885d3bc190b28c04.js +0 -1
- package/assets/esri/core/workers/chunks/25d6c674b1c4829f040f.js +0 -1
- package/assets/esri/core/workers/chunks/260dcb79dfd0f981949f.js +0 -1
- package/assets/esri/core/workers/chunks/2a570ce6b99dac6ee996.js +0 -1
- package/assets/esri/core/workers/chunks/2e6a2f4d686b71249c0e.js +0 -1
- package/assets/esri/core/workers/chunks/2f9033890c465acff698.js +0 -1
- package/assets/esri/core/workers/chunks/303676d1b10676c9cab4.js +0 -1
- package/assets/esri/core/workers/chunks/303fde8f3459dde16555.js +0 -1
- package/assets/esri/core/workers/chunks/32d08b571bbd996d4e6d.js +0 -1
- package/assets/esri/core/workers/chunks/33956f12505e72e60293.js +0 -1
- package/assets/esri/core/workers/chunks/350540770781b281c39a.js +0 -1
- package/assets/esri/core/workers/chunks/37a636f61cfe89c6bfd1.js +0 -1
- package/assets/esri/core/workers/chunks/380cc538c1ab453870fa.js +0 -1
- package/assets/esri/core/workers/chunks/3880d2c7fb14955d7f93.js +0 -1
- package/assets/esri/core/workers/chunks/3b017b718ea2d4ed498f.js +0 -1
- package/assets/esri/core/workers/chunks/40fb1910f780e78c128c.js +0 -1
- package/assets/esri/core/workers/chunks/4310c8d2b40ae69c3681.js +0 -1
- package/assets/esri/core/workers/chunks/43fc42405167a5537039.js +0 -1
- package/assets/esri/core/workers/chunks/4848f195eb93cc93dd15.js +0 -1
- package/assets/esri/core/workers/chunks/4cddd217383b9333f32e.js +0 -1
- package/assets/esri/core/workers/chunks/4d82db661365daa513a6.js +0 -1
- package/assets/esri/core/workers/chunks/4fa59f8ed3b7b6239548.js +0 -1
- package/assets/esri/core/workers/chunks/57970d43cdcc5cf57a30.js +0 -1
- package/assets/esri/core/workers/chunks/5e184fd47e76eb976fa9.js +0 -1
- package/assets/esri/core/workers/chunks/5ea8809b6519c05ad9f6.js +0 -1
- package/assets/esri/core/workers/chunks/5f3ab77a79c408423fde.js +0 -1
- package/assets/esri/core/workers/chunks/5fd099ca1024707387b2.js +0 -1
- package/assets/esri/core/workers/chunks/604344e45c0f27497188.js +0 -1
- package/assets/esri/core/workers/chunks/61ad8306ab79aca79505.js +0 -1
- package/assets/esri/core/workers/chunks/633a9051580c5302d2f7.js +0 -1
- package/assets/esri/core/workers/chunks/6469c0d18d3663e7da4b.js +0 -1
- package/assets/esri/core/workers/chunks/65654e481cce9ae40e54.js +0 -1
- package/assets/esri/core/workers/chunks/669e39c3437d7273f0c7.js +0 -1
- package/assets/esri/core/workers/chunks/68e24fa3f564c2a5c9fd.js +0 -1
- package/assets/esri/core/workers/chunks/6aebf7cfd294e88bf926.js +0 -1
- package/assets/esri/core/workers/chunks/71f739bb3f7350704af6.js +0 -1
- package/assets/esri/core/workers/chunks/750a9f3cdb96b966274a.js +0 -1
- package/assets/esri/core/workers/chunks/776565dd9741ba2ba151.js +0 -1
- package/assets/esri/core/workers/chunks/798a63653f82c0e842c5.js +0 -1
- package/assets/esri/core/workers/chunks/841f67baf6a1634ada48.js +0 -1
- package/assets/esri/core/workers/chunks/84fcbf7a1d04f01685d1.js +0 -1
- package/assets/esri/core/workers/chunks/897fc8e78a0d54a5ff5a.js +0 -1
- package/assets/esri/core/workers/chunks/8af92bcc075e03e3e902.js +0 -1742
- package/assets/esri/core/workers/chunks/8e511079918e2fd9261f.js +0 -1
- package/assets/esri/core/workers/chunks/8e7a33cc1f83063043f2.js +0 -1
- package/assets/esri/core/workers/chunks/8fcfd515ee1b18c902e5.js +0 -1
- package/assets/esri/core/workers/chunks/9001e9a1e81bce175ddd.js +0 -1
- package/assets/esri/core/workers/chunks/9432feca48ca3e5849bd.js +0 -1
- package/assets/esri/core/workers/chunks/956a40f40bde416efe93.js +0 -1
- package/assets/esri/core/workers/chunks/95b82cbbe355266c65d7.js +0 -1
- package/assets/esri/core/workers/chunks/9673a9efec86040b8c13.js +0 -1
- package/assets/esri/core/workers/chunks/97dbbedea9fe03bd1306.js +0 -1
- package/assets/esri/core/workers/chunks/985b3f18cee87c3fe022.js +0 -1
- package/assets/esri/core/workers/chunks/9a7fc93cc693fd12b5d8.js +0 -1
- package/assets/esri/core/workers/chunks/9c0fd8baa00ee9733ba4.js +0 -1
- package/assets/esri/core/workers/chunks/a010d2e4e34eb7bc1fec.js +0 -1
- package/assets/esri/core/workers/chunks/a20526996d01386ec3b7.js +0 -1
- package/assets/esri/core/workers/chunks/a23272a7a47a95f6ddea.js +0 -1
- package/assets/esri/core/workers/chunks/a7edf7541569fef77cb3.js +0 -1
- package/assets/esri/core/workers/chunks/aa5b42e44d2959fdacd3.js +0 -1
- package/assets/esri/core/workers/chunks/ae2181805d8ba130babc.js +0 -1
- package/assets/esri/core/workers/chunks/b05a41a60e30935644be.js +0 -1
- package/assets/esri/core/workers/chunks/b0cfec11c758eed8095f.js +0 -1
- package/assets/esri/core/workers/chunks/bff767ec5bb4c0d6b324.js +0 -1
- package/assets/esri/core/workers/chunks/c906f984b2b6e7578c06.js +0 -1
- package/assets/esri/core/workers/chunks/ca7fb75e2c62e7d37122.js +0 -1
- package/assets/esri/core/workers/chunks/cbdebdfa5f2cded29d0d.js +0 -1
- package/assets/esri/core/workers/chunks/cbe6c0f32608cb504695.js +0 -1
- package/assets/esri/core/workers/chunks/cfae60b9d2f2939e9c16.js +0 -1
- package/assets/esri/core/workers/chunks/d270cc9807161033686e.js +0 -1
- package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +0 -1
- package/assets/esri/core/workers/chunks/d6d5a9e73ee43d6066d3.js +0 -1
- package/assets/esri/core/workers/chunks/d89fe41c71c9621c41ae.js +0 -1
- package/assets/esri/core/workers/chunks/da18d96b35af20e73b3b.js +0 -1
- package/assets/esri/core/workers/chunks/de02a6a1f4810f99e9bb.js +0 -1
- package/assets/esri/core/workers/chunks/df0481bcc1613ee4b7af.js +0 -1
- package/assets/esri/core/workers/chunks/e22d45aeef293a5ffb78.js +0 -1
- package/assets/esri/core/workers/chunks/e5943f3a4bbc12c06c4d.js +0 -1
- package/assets/esri/core/workers/chunks/e7c60bd85abbd36cdc64.js +0 -1
- package/assets/esri/core/workers/chunks/ec9a2425b4a498054a19.js +0 -1
- package/assets/esri/core/workers/chunks/edf3be87a997f4f05b96.js +0 -1
- package/assets/esri/core/workers/chunks/f05de08e194a3f9b96f2.js +0 -1
- package/assets/esri/core/workers/chunks/f0a68d2900d24f56afa0.js +0 -1
- package/assets/esri/core/workers/chunks/f0aaa646b17ffdbdcefa.js +0 -1
- package/assets/esri/core/workers/chunks/f0c0c02730fe0d948fc1.js +0 -1
- package/assets/esri/core/workers/chunks/fd0254c6fc6c03ec11ba.js +0 -1
- package/assets/esri/core/workers/chunks/ffb3728e6ac428f62af1.js +0 -1
- package/views/3d/environment/EnvironmentManager.js +0 -2
- /package/{basemaps → basemapGallery}/support/basemapCompatibilityUtils.js +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as n,equals as r,addMany as i}from"../../core/arrayUtils.js";import a from"../../core/Error.js";import{handlesGroup as o,makeHandle as s,abortHandle as c}from"../../core/handleUtils.js";import{clone as l}from"../../core/lang.js";import u from"../../core/Logger.js";import{getOrCreateMapValue as d}from"../../core/MapUtils.js";import{debounce as f,isPromiseLike as p,whenOrAbort as m}from"../../core/promiseUtils.js";import{watch as h,on as g,whenOnce as ee,when as te}from"../../core/reactiveUtils.js";import{px2pt as _}from"../../core/screenUtils.js";import{addMany as v}from"../../core/SetUtils.js";import{isSharedTemplateOrMetadata as y,isSharedGroupTemplate as b,getCreationAttributes as x,isSharedPresetTemplate as S}from"../../editing/templateUtils.js";import{isCurvedGeometry as C,hasUnsupportedCurve as ne}from"../../geometry/support/curves/curveUtils.js";import re from"../../layers/GraphicsLayer.js";import{featureHasFields as ie,fixFields as w,getDisplayFieldName as ae}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as oe}from"../../layers/support/layerUtils.js";import{calculateTolerance as se}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as ce}from"../../renderers/support/lengthUtils.js";import{isRenderer as le}from"../../renderers/support/typeUtils.js";import{getTransformationType as ue}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as de}from"../../support/graphicInstanceUtils.js";import fe from"../../symbols/SimpleFillSymbol.js";import T from"../../symbols/SimpleLineSymbol.js";import pe from"../../symbols/SimpleMarkerSymbol.js";import{to3D as me}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as E}from"../../symbols/support/symbolUtils.js";import{getServices as he}from"../../undoredo/support/Services.js";import{defaultDrawingMode as ge}from"../../views/draw/drawingModes.js";import{updateGraphicSymbolWhenRequired as D,fetchFullFeaturesByObjectId as _e}from"../../views/draw/support/editingSessionUtils.js";import{createQueryGeometry as ve}from"../../views/support/drapedUtils.js";import{filterGraphicHits as O,hitTestSelectSimilarDistance as ye}from"../../views/support/hitTestSelectUtils.js";import{isNextOrLegacyUpdateWorkflow as be,isNextOrLegacyUpdateFeaturesWorkflow as xe}from"./compatibilityAdapters.js";import{dependencySort as Se}from"./support/dependencySort.js";import{isDrawGraphicTool as k,isDrawTool as Ce}from"../Sketch/support/sketchUtils.js";const we=()=>u.getLogger(`esri.widgets.Editor.workflowUtils`);function Te(e){return De(e)||A(e)}function Ee(e){return!!e&&`features`in e}function A(e){return e!=null&&e.type===`update-features`}function De(e){return e!=null&&e.type.includes(`update-`)&&`fullFeature`in e}function Oe(e){return e!=null&&e.type===`merge-features`}function ke(e){return e!=null&&e.type===`split-feature`}function Ae(e){let t=e?.type;return t===`update-feature`||t===`update-table-record`||t===`update-features`||t===`split-feature`}function je(e){return e?.type===`merge`}function Me(e){return e?.type===`split`}function Ne(e){return Oe(e)||ke(e)}function Pe(e){return e?.type===`update-multiple`}function j(e){let t=e&&`renderer`in e?e.renderer:null;if(!I(t))return{rotation:null,size:null};let n=t.getVisualVariablesForType(`rotation`).filter(e=>(!e.axis||e.axis===`heading`)&&e.field&&!e.valueExpression),r=t.getVisualVariablesForType(`size`).filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&ue(e)===`real-world-size`);return{rotation:n.length===1?n[0]:null,size:r.length===1?r[0]:null}}function M(e){let t=e.sourceLayer;if(!(t&&`renderer`in t&&I(t.renderer)))return{rotation:null,size:null};let{rotation:n,size:r}=j(t),i=null,a=null;if(n){let e=t.fields?.filter(e=>e.name===n.field);i=N(n,e?.length===1?e[0]:null)}if(r){let e=t.fields?.filter(e=>e.name===r.field);a=P(r,e?.length===1?e[0]:null)}return{rotation:i,size:a}}function N(e,t){let n=(e.axis||`heading`)===`heading`&&e.rotationType===`arithmetic`?-1:1,r=t?.type??`double`,i={initial:0,current:0};return{field:e.field,fieldType:r,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(i.current=i.initial-n*e,F((i.current+360)%360,r)),setInitialValue:e=>{i.initial=e,i.current=0},isUpdatingInteractively:!1,rotationType:e.rotationType??`geographic`}}function Fe(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 Ie(e,t,n){if(t==null)return 0;let{symbol:r}=me(t);if(r==null||r.type===`web-style`||r.type===`cim`)return 0;let i=r.symbolLayers.at(0);if(!i)return 0;switch(i.type){case`icon`:{let{computeIconLayerResourceSize:e}=await import(`../../symbols/support/symbolLayerUtils.js`);return Math.min(Q.icon,(await e(i,Q.icon))[0])||Q.icon}case`text`:return Q.text;case`line`:return Q.line;case`object`:{let{computeObjectLayerResourceSize:t}=await import(`../../symbols/support/symbolLayerUtils.js`);return Fe(await t(i,e.scale/Q.viewScaleSizeFactor),n)}case`path`:return e.scale/Q.viewScaleSizeFactor;case`extrude`:return e.scale/Q.viewScaleSizeFactor;case`fill`:case`water`:return 0;default:return 0}}function P(e,t){let n=e.axis,r=t?.type??`double`,i={initial:0,current:0},a=ce[e.valueUnit]??1,o;return o=e.valueRepresentation===`area`?e=>(e*a/2)**2*Math.PI:e.valueRepresentation===`radius`||e.valueRepresentation===`distance`?e=>e*a/2:e=>e*a,{field:e.field,fieldType:r,getDefaultValue:async(e,t)=>F(o(await Ie(t,e,n)),r),getValue:(e,t)=>(i.initial||=t.pixelSizeAt(t.center),i.current=i.initial*e,F(i.current,r)),setInitialValue:e=>{i.initial=e,i.current=0},isUpdatingInteractively:!1,displayUnit:ot(e.valueUnit),axis:e.axis}}function F(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 I(e){if(!le(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}}function L(e,t){if(!e||!t)throw Error(`no geometry type`);if(e===`multipatch`)return{tool:`mesh`,createOptions:{mode:`hybrid`}};let n=new Map;n.set(`circle`,{mode:`freehand`}),n.set(`rectangle`,{mode:`freehand`});let r={mode:ge,optionsPerTool:n};if(y(t)){let i=t.defaultTool,a=b(t)?t.definition?.inputGeometryType??e:e;switch(i){case`freehand`:case`stream-line`:return{tool:a===`polyline`?`freehandPolyline`:`freehandPolygon`,createOptions:r};case`autocomplete-freehand-polygons`:case`stream-polygon`:return{tool:`freehandPolygon`,createOptions:r};case`autocomplete-polygons`:case`difference-polygon`:case`create-structures`:case`polygon`:case`trace`:return{tool:a===`polygon`?`polygon`:`polyline`,createOptions:r};case`circle`:return n.get(`circle`).preserveAspectRatio=!0,{tool:`circle`,createOptions:r};case`ellipse`:return n.get(`circle`).preserveAspectRatio=!1,{tool:`circle`,createOptions:r};case`create-points-along-line`:case`multipoint`:return{tool:`multipoint`,createOptions:r};case`line`:case`radial-line`:case`right-angle-line`:case`split`:case`two-point-line`:return{tool:`polyline`,createOptions:r};case`rectangle`:case`regular-polygon`:case`right-angle-polygon`:return{tool:`rectangle`,createOptions:r};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:r}}}else{let i=t.drawingTool;if(i===`circle`||i===`ellipse`)return n.get(`circle`).preserveAspectRatio=i===`circle`,{tool:`circle`,createOptions:r};if(i===`rectangle`)return{tool:`rectangle`,createOptions:r};if(i===`freehand`)return{tool:e===`polygon`?`freehandPolygon`:`freehandPolyline`,createOptions:r}}return{tool:e,createOptions:r}}async function Le(e,t,n){let{creationInfo:r,fullTemplate:i}=n;if(!r)throw new a(`featureworkflow`,`No creation info provided.`);let o=r.layer,s=x(i,r.attributeOverrides,r.layer),{view:c}=e,l=c?.type===`2d`;!b(i)&&!S(i)&&await q(e,o,s,l?c.scale:null);let{capabilities:u}=o;t.elevationInfo=o.elevationInfo;let d=L(o.geometryType,i);e.defaultCreateOptions={graphicProperties:{attributes:s,sourceLayer:o},mode:d.createOptions.mode,optionsPerTool:d.createOptions.optionsPerTool,preserveAspectRatio:d.createOptions.preserveAspectRatio,hasZ:u.data.supportsZ,defaultZ:(l?u.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},r.geometryToPlace==null?await e.create(d.tool):await e.place(r.geometryToPlace,{graphicProperties:{attributes:s,sourceLayer:o}})}async function Re(e){return o([ze(e),Be(e)])}function ze({creationAttributes:e,data:t,sketchViewModel:n,view:r}){let{creationInfo:i}=t,{fullTemplate:a}=t;if(!i||r?.type!==`2d`||b(a)||S(a))return null;let o=f(t=>q(n,i.layer,e,t));return h(()=>r.scale,e=>o(e))}function Be({data:t,sketchViewModel:n,view:r}){let{templateExecutorInfo:i}=t;if(!i)return null;let c=n.activeComponent;if(!r||!k(c)&&!Ce(c))return we().error(new a(`featureworkflow`,`Failed to set up template feedback.`)),null;let l=new re({effect:`saturate(0.6) opacity(0.8)`,listMode:`hide`,title:`Shared Template Feedback Graphics`});r.map?.add(l);let{executor:u,serviceLayersById:d}=i,f=r.theme?.accentColor??new e([255,165,0,1]);return o([g(()=>c,[`cursor-update`,`vertex-add`],()=>{l.removeAll();let e=k(c)?c.graphic?.geometry:c.unprocessedGeometry;if(!e||!Ve(e))return;let t=u(e,`digitizing`);if(!p(t))for(let e of t.edits){let t=d.get(e.id);if(t&&e.addFeatures&&e.addFeatures.length!==0){for(let n of t)if(!n.isTable)for(let t of e.addFeatures){let e=He(t,f);e&&l.add(e)}}}}),s(()=>{r.map.remove(l),l.destroy()})])}function Ve(e){switch(e.type){case`point`:case`multipoint`:return!0;case`polyline`:{if(C(e))return e.curvePaths[0].length>1;let t=e.paths[0];return t?t.length>1:!1}case`polygon`:{if(C(e))return e.curveRings[0].length>2;let t=e.rings[0];return t?r(t.at(0),t.at(-1))?t.length>2:t.length>1:!1}default:return!1}}function He(e,n){let r=null;switch(e.geometry?.type){case`point`:case`multipoint`:r=new pe({angle:0,color:n,outline:new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:1}),path:`undefined`,size:8,style:`circle`,xoffset:0,yoffset:0});break;case`polygon`:r=new fe({color:n,outline:new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:3}),style:`none`});break;case`polyline`:r=new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:2});break;default:return null}return new t({geometry:e.geometry,symbol:r,attributes:{...e.attributes}})}function R(e,t){let n=he(t),r=oe(e)?e.parent:e;return n.tablesAndLayersLookup.get(r)}function Ue(e,t){let n=R(e,t);if(!n)return new Map;let r=new Map;for(let e of n.layersAndTables)d(r,e.layerId,()=>[]).push(e);return r}function z(e){let t=e.objectIdField,n=e.globalIdField??``;return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:n},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function We(e){let{edits:t,serviceInfo:r,view:i,findOriginalFeature:a}=e,o=B(r.layersAndTables),s=r.layersAndTables.toArray(),{allEditData:c,editDataByLayerIdMap:l,editDataByIdMap:u}=Ge(t,o,a),d=H(c,V(s,l),l);if(i&&G(c,d,i),d.length===0)return t;let f=Se(d,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(n),p=new Map;for(let e of f)p.set(e.uniqueId,e);let m=[];for(let e of c)p.has(e.uniqueId)||m.push(e);let h=[],g=null;for(let e of f){let{layer:t}=e;switch(g==null?g=z(t):g.id!==t.layerId&&(h.push(g),g=z(t)),e.operationType){case`add`:case`modify`:g.addFeatures.push(e.after);break;case`delete`:g.deleteFeatures.push(e.before)}}g!==null&&h.push(g);for(let e of m){let t=e.layer.layerId,n=h.find(e=>e.id===t)??z(e.layer);switch(h.includes(n)||h.push(n),e.operationType){case`add`:n.addFeatures.push(e.after);break;case`modify`:n.updateFeatures.push(e.after);break;case`delete`:n.deleteFeatures.push(e.before);break;case`deleteAttachment`:n.deleteAttachments.push(e.attachmentId);break;case`addAttachment`:n.addAttachments.push(e.attachment)}}for(let e of h)e.deleteAttachments!==void 0&&e.deleteAttachments.length===0&&delete e.deleteAttachments,e.addAttachments!==void 0&&e.addAttachments.length===0&&delete e.addAttachments;return h}function B(e){let t=new Map;for(let n of e)t.set(n.layerId,n);return t}function V(e,t){let n=new Map;for(let r of e)for(let e of r.relationships??[])if(n.set(U(r,e),``),t.has(e.relatedTableId)){let i=t.get(e.relatedTableId);if(i.length>0){for(let t of i[0].layer.relationships??[])if(t.id===e.id){n.set(U(r,e),t.keyField);break}}}return n}function Ge(e,t,n){let r=new Map,i=[],o=new Map,s=1;for(let c of e){let e=[],l=t.get(c.id);if(!l)throw new a(`featureworkflow`,`Failed to prepare applyEdits payload. Layer with id ${c.id} not found.`);for(let t of c.addFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`add`,layer:l,after:t});for(let t of c.deleteFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`delete`,before:t,layer:l});for(let t of c.deleteAttachments??[])e.push({uniqueId:`T${s++}`,operationType:`deleteAttachment`,attachmentId:t,layer:l});for(let t of c.addAttachments??[])e.push({uniqueId:`T${s++}`,operationType:`addAttachment`,attachment:t,layer:l});for(let t of c.updateFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`modify`,before:n(t),after:t,layer:l});r.set(l.layerId,e);for(let t of e)i.push(t),o.set(t.uniqueId,t)}return{allEditData:i,editDataByIdMap:o,editDataByLayerIdMap:r}}function H(e,t,n){let r=[];for(let i of e){let e=i.layer.relationships??[],{uniqueId:a}=i;for(let o of e){let e=o.keyField;if(o.role===`origin`){let s=n.get(o.relatedTableId);if(!s||s.length===0)continue;let c=U(i.layer,o),l=t.get(c);if(l===void 0||l===``)continue;switch(i.operationType){case`add`:for(let t of s)t!==i&&(t.operationType===`add`||t.operationType===`modify`)&&t.after.attributes[l]===i.after.attributes[e]&&r.push([a,t.uniqueId]);break;case`modify`:if(i.before.attributes[e]!==i.after.attributes[e])for(let t of s){let n=t.uniqueId;t!==i&&(t.operationType===`delete`?t.before.attributes[l]===i.before.attributes[e]?r.push([n,a]):t.before.attributes[l]===i.after.attributes[e]&&r.push([a,n]):t.operationType===`add`?t.after.attributes[l]===i.after.attributes[e]?r.push([a,n]):t.after.attributes[l]===i.before.attributes[e]&&r.push([n,a]):t.operationType===`modify`&&(t.before.attributes[l]===t.after.attributes[l]||t.after.attributes[l]===i.after.attributes[e]?r.push([a,n]):r.push([n,a])))}break;case`delete`:for(let t of s)t!==i&&(t.operationType===`delete`||t.operationType===`modify`)&&t.before.attributes[l]===i.before.attributes[e]&&r.push([t.uniqueId,a])}}}}return r}function U(e,t){return`${e.layerId}:${t.id}`}function W(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 G(e,t,n){let r=[];for(let t of e)W(t.layer,n)&&r.push(t);if(r.length===0)return;let i=[];for(let n of r){let r=n.layer;switch(n.operationType){case`delete`:i=[...K(n.before.attributes[r.fieldsIndex.get(`fromglobalid`).name],e),...K(n.before.attributes[r.fieldsIndex.get(`toglobalid`).name],e)];for(let e of i)t.push([n.uniqueId,e.uniqueId]);break;case`add`:i=[...K(n.after.attributes[r.fieldsIndex.get(`fromglobalid`).name],e),...K(n.after.attributes[r.fieldsIndex.get(`toglobalid`).name],e)];for(let e of i)t.push([e.uniqueId,n.uniqueId])}}}function K(e,t){let n=[],r=t.filter(({layer:e})=>e.globalIdField!==``&&e.globalIdField!=null);for(let t of r){let r=t.layer.globalIdField;(`before`in t&&t.before?.attributes[r]===e||`after`in t&&t.after?.attributes[r]===e)&&n.push(t)}return n}async function q(e,n,r,i){let a=new t({sourceLayer:n,attributes:r}),{rotation:o,size:s}=M(a),c=await E(a,{useSourceLayer:!0,scale:i}),l=!1;for(let t of[s,o])t!=null&&(r[t.field]??(r[t.field]=await t.getDefaultValue(c,e.view),l=!0));switch(l&&(c=await E(a,{useSourceLayer:!0,scale:i})),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}J(e.tooltipOptions,s,o)}function J(e,t,n){e.visualVariables=t!=null||n!=null?{size:t==null?null:{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType},rotation:n==null?null:{valueType:n.fieldType,rotationType:n.rotationType??`geographic`}}:null}function Y(e,t){return e.find(e=>e.layer===t)}function Ke(e,t){let n=Y(e,t);if(n==null)throw new a(`no-editorItem-found`,`The EditorViewModel provided did not have an EditorItem associated with the specified layer`);return n}function qe(e,t){return e?.find(e=>e.layer===t)}async function Je(e,t,n,r){switch(t.type){case`3d`:return Ye(e,t,n,r);case`2d`:return Xe(e,t,n,r)}}async function Ye(e,t,n,r){if(e.length===0)return[];let{updatable:a,graphicsByLayer:o}=await n.defer(async()=>{let{results:i}=await m(ye(t,n),r),a=new Map,o=e=>{let t=e.layer,n=a.get(t);if(!n){let e=[];return a.set(t,e),e}return n};O(i).forEach(({graphic:e})=>o(e).push(e));let s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&a.has(t));return s.length!==0&&n.stopPropagation(),{updatable:s,graphicsByLayer:a}});return m(Promise.allSettled(a.map(async({layer:e})=>{let t=o.get(e),n=X(e);if(t.every(e=>ie(e,n)))return t;let a=[];for(let e of t){a.push(e.getObjectId());let t=Object.keys(e.attributes);i(n,t)}let s=e.createQuery();return s.returnGeometry=!1,s.objectIds=a,s.outFields=w(e.fieldsIndex,n),e.queryFeatures(s,{signal:r}).then(({features:e})=>e)})),r)}async function Xe(e,t,n,r){if(e.length===0)return[];let{mapPoint:i}=n;if(i==null)return[];let a=null,o=await n.defer(async()=>{let{results:i}=await m(t.hitTest(n),r);if(i.length===0)return[];let o=new Set;a=O(i),a.forEach(({graphic:e})=>e&&o.add(e.layer));let s=e.filter(e=>o.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&n.stopPropagation(),s});return m(Promise.allSettled(o.map(async({layer:e})=>{let o=e.createQuery();o.returnGeometry=!0,o.outFields=X(e);let s=`renderer`in e?se({renderer:e.renderer,pointerType:n.pointerType}):0;o.geometry=ve(i,s,t),o.outSpatialReference=t.spatialReference;let{features:c}=await e.queryFeatures(o,{signal:r});return a?.forEach(({graphic:t})=>{t.layer===e&&!c.some(e=>e.getObjectId()===t.getObjectId())&&c.push(t)}),c})),r)}function X(e){return w(e.fieldsIndex,[e.objectIdField,ae({displayField:`displayField`in e?e.displayField:null,fields:e.fields})])}async function Ze(e,t,r,i){let a=e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(n);return await _e(a,t,r,i)}async function Z(e){let{graphic:t,sketchViewModel:n,sourceLayer:r,updateOptions:i,visualVariables:a}=e;await $e(e);let o={multipleSelectionEnabled:!1,...i};return r.geometryType===`point`&&(o.enableRotation=a.rotation!=null,o.enableScaling=a.size!=null),n.update(t,o)}function Qe(e,t){let{activeUpdateOptions:n}=e;n&&(e.activeUpdateOptions={...n,...t,reshapeOptions:{...n.reshapeOptions,...t.reshapeOptions},highlightOptions:{...n.highlightOptions,...t.highlightOptions}})}async function $e(e){let{graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:i,visualVariables:a}=e,o=!1,{rotation:s,size:c}=a;for(let e of[s,c]){if(e==null)continue;let n=t.getAttribute(e.field);if(n!=null)e.setInitialValue(n);else{let n=await e.getDefaultValue(t.symbol,r.view);e.setInitialValue(n),t.setAttribute(e.field,n),o=!0}}if(o){let e=r.view?.type===`2d`?r.view.scale:null;await D(t,e)}J(r.tooltipOptions,c,s),n.elevationInfo=i.elevationInfo}function et(e){return e!=null&&(e.type===`rotate-start`||e.type===`rotate`||e.type===`rotate-stop`)?e:null}function tt(e){return e!=null&&(e.type===`scale-start`||e.type===`scale`||e.type===`scale-stop`)?e:null}function nt(e,t,n,r){if(t.geometry==null||t.geometry?.type!==`point`)return!1;let i=t.attributes,a=!1,o=r.rotation,s=et(n.toolEventInfo);if(o!=null&&s!=null){let{field:n,getValue:r}=o;if(s.type===`rotate-stop`)o.isUpdatingInteractively=!1,o.setInitialValue(t.getAttribute(n));else{o.isUpdatingInteractively=!0;let c=r(s.angle,e);c!==i[n]&&t.setAttribute(n,c),a=!0}}let c=r.size,l=tt(n.toolEventInfo);if(c!=null&&l!=null){let{field:n,getValue:r}=c;if(l.type===`scale-stop`)c.isUpdatingInteractively=!1,c.setInitialValue(t.getAttribute(n));else{c.isUpdatingInteractively=!0;let o=r(l.xScale,e);o!==i[n]&&t.setAttribute(n,o),a=!0}}return a}async function rt({feature:e,featureClone:t,sketchLayer:n,sketchViewModel:r,getUpdateOptions:i,view:a,visualVariableAttributes:l,addHandle:u,updatingHandles:d,onUpdate:p}){await D(t,a.type===`2d`?a.scale:null);let m=null;if(r?.view?.type===`2d`){let e=f(e=>D(t,e));m=d.add(()=>r?.view?.scale,t=>d.consumePromise(e(t)))}let h=t.sourceLayer,g=ct(a,h);await Z({graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:h,updateOptions:i(),visualVariables:l});let _=null;g.then(e=>_=e).catch(()=>{});let v=l.size,y=l.rotation,b=d.add(()=>e.attributes,async e=>{let n=!1;for(let r in e){let i=e[r];i!==t.getAttribute(r)&&(t.setAttribute(r,i),v!=null&&!v.isUpdatingInteractively&&v.field===r&&v.setInitialValue(i),y!=null&&!y.isUpdatingInteractively&&y.field===r&&y.setInitialValue(i),(_==null||_.requiredFields.includes(r))&&(n=!0))}n&&await d.addPromise(D(t,a.type===`2d`?a.scale:null))}),x=r.on(`update`,async e=>{let t=e.graphics[0],o={graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:h,updateOptions:i(),visualVariables:l};if(e.state===`complete`){let e=new AbortController;u(c(e)),d.consumePromise(ee(()=>a.activeTool===null,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),Z(o)}))}else nt(a,t,e,l)&&await d.addPromise(D(t,a.type===`2d`?a.scale:null)),p($(t),e)}),S=te(()=>a.activeTool!=null&&a.activeTool!==r.activeComponent,()=>r.cancel()),C=r.on([`undo`,`redo`],e=>{p($(e.graphics[0]),e)});return o([C,x,S,s(()=>r.cancel()),b,m])}const Q={icon:_(24),text:_(12),line:_(1),viewScaleSizeFactor:100};function it(e,t,n){let r=!1;return e.filter(e=>r?!0:(r=e===t,r)).map(e=>n[e]())}function at(e,t){e.viewModel.syncFeatureTemplates();let n=e.creationInfo;if(t[0].id===`awaiting-feature-creation-info`&&n){let r=n.layer,i=e.viewModel.getTemplatesForLayer(r);i.length===1&&r.type!==`scene`&&(n.template=i[0],t.shift())}return t}function ot(e){switch(e){case`unknown`:return null;default:return e}}const st=e=>e.includes(`-stop`)||e.includes(`vertex-`),ct=(e,t)=>{let n=t.type===`subtype-sublayer`?t.parent:t;return e.whenLayerView(n)};function lt(e){return`createInteractiveEditSession`in e}function $(e){let t=e.geometry;if(t?.type===`mesh`){let n=e.cloneShallow();return n.attributes=l(e.attributes),n.geometry=t.cloneShallow(),n.geometry.transform=t.transform?.clone()??null,n}return e.clone()}function ut(e){return e.acquireCursor(`progress`)}function dt(e){for(let t of e){let{destinationGraphic:e,destinationField:n,sourceGraphic:r,sourceField:i}=t;e.setAttribute(n,r.getAttribute(i))}}function ft(e){let t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>dt(e.relationships)),t.flatMap(e=>e.edits)):null}function pt(e){let t=be(e)?e.activeWorkflow:e;if(t==null)return[];if(xe(t))return t.data.layers;let n=t.layer;return n?[n]:[]}function mt({attributes:e},t){let n=new Set;n.add(t.objectIdField),`uniqueIdFields`in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&v(n,t.uniqueIdFields);let r={};for(let t of n)e[t]!=null&&(r[t]=e[t]);if(t.type===`scene`&&t.infoFor3D!=null){let n=t.associatedLayer?.globalIdField;n!=null&&(e[n]=e[n])}return r}function ht(e){if(!gt(e))return e;let t=new Map;for(let n of e){let e=n.getObjectId();if(e!=null){let r=n.sourceLayer??n.layer;d(t,r,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function gt(e){return e.length===0||de(e[0])}function _t({drawTool:e},t){let n=e?.mostDownstreamPlugin?.configuration?.curveTypes;if(!t||!n||n.length===0)return!1;let r=new Set(t.capabilities.supportedCurveTypes);return n.some(e=>!r.has(e))}function vt(e,t){let n=new Set(t.capabilities.supportedCurveTypes);return e.some(({geometry:e})=>e&&C(e)&&ne(e,n))}function yt({filter:e,forEachFeature:t,forEachValueChange:n}){return r=>{for(let{feature:i,changes:a}of r.data)if(!e||e(i)){for(let{fieldName:e,value:t}of a)n?.(e,t,i);t?.(i,a)}}}export{_t as activeSketchToolDrawsUnsupportedCurve,G as appendAllUtilityNetworkAssociationRelationships,at as avoidFeatureTemplateSelectionWithOnlyOneItem,lt as canCreateInteractiveEditSession,$ as cloneGraphicExceptMesh,vt as containsUnsupportedCurve,B as createLayerIdMap,V as createRelationshipKeyMap,L as createToolFromGeometryType,it as createWorkflowSteps,Je as fetchCandidates,Ze as fetchFullFeatures,H as findAllDependencies,K as findChangesByGlobalId,Y as findEditorItemForLayer,Ke as findEditorItemForLayerOrThrow,qe as findLayerInfo,U as generateHashForRelationship,pt as getLayersFromWorkflow,N as getRotationVariableAttribute,ft as getServiceEditsFromWorkflowData,R as getServiceInfoForLayer,Ue as getServiceLayersById,P as getSizeVariableAttribute,M as getVisualVariableAttributes,j as getVisualVariablesForLayer,yt as handleFormValuesChangeEvent,Te as isAnyUpdateLeafWorkflow,Ee as isBatchAttributeFormViewModel,gt as isGraphicsArray,Oe as isMergeFeaturesWorkflow,je as isMergeWorkflowOptions,Ae as isParentWorkflow,ke as isSplitFeatureWorkflow,Me as isSplitWorkflowOptions,st as isTerminalUpdateEventType,A as isUpdateFeaturesWorkflow,Pe as isUpdateFeaturesWorkflowOptions,De as isUpdateRecordWorkflow,W as isUtilityNetworkAssociationsTable,mt as makeMinimalAttributes,We as orderEditsByRelationshipDependencies,dt as setRelationshipFields,rt as setUpGeometryUpdate,Re as setUpSketchCreateWatchers,$e as setVisualVariablesAndElevationInfoForUpdate,ut as showProgressCursor,Q as sizeDefaults,ot as sizeVariableUnitToLengthUnit,Le as startCreatingNewFeature,Z as startUpdatingFeatureGeometry,Qe as syncUpdateOptions,ht as toFeatureInfos,nt as visualVariableInteractiveUpdate,ct as whenEditorLayerView,Ne as workflowInfluencesOutcomeOfParent};
|
|
2
|
+
import e from"../../Color.js";import t from"../../Graphic.js";import{isSome as n,equals as r,addMany as i}from"../../core/arrayUtils.js";import a from"../../core/Error.js";import{handlesGroup as o,makeHandle as s,abortHandle as c}from"../../core/handleUtils.js";import{clone as l}from"../../core/lang.js";import u from"../../core/Logger.js";import{getOrCreateMapValue as d}from"../../core/MapUtils.js";import{debounce as f,isPromiseLike as p,whenOrAbort as m}from"../../core/promiseUtils.js";import{watch as h,on as g,whenOnce as ee,when as te}from"../../core/reactiveUtils.js";import{onePixelInPoints as _,px2pt as v}from"../../core/screenUtils.js";import{addMany as y}from"../../core/SetUtils.js";import{isSharedTemplateOrMetadata as b,isSharedGroupTemplate as x,getCreationAttributes as S,isSharedPresetTemplate as C}from"../../editing/templateUtils.js";import{isCurvedGeometry as w,hasUnsupportedCurve as ne}from"../../geometry/support/curves/curveUtils.js";import re from"../../layers/GraphicsLayer.js";import{featureHasFields as ie,fixFields as ae,getDisplayFieldName as oe}from"../../layers/support/fieldUtils.js";import{isSubtypeSublayer as se}from"../../layers/support/layerUtils.js";import{calculateTolerance as ce}from"../../renderers/support/clickToleranceUtils.js";import{meterIn as le}from"../../renderers/support/lengthUtils.js";import{isRenderer as ue}from"../../renderers/support/typeUtils.js";import{getTransformationType as de}from"../../renderers/visualVariables/support/sizeVariableUtils.js";import{isGraphic as fe}from"../../support/graphicInstanceUtils.js";import pe from"../../symbols/SimpleFillSymbol.js";import T from"../../symbols/SimpleLineSymbol.js";import me from"../../symbols/SimpleMarkerSymbol.js";import{to3D as he}from"../../symbols/support/symbolConversion.js";import{getDisplayedSymbol as E}from"../../symbols/support/symbolUtils.js";import{getServices as ge}from"../../undoredo/support/Services.js";import{defaultDrawingMode as _e}from"../../views/draw/drawingModes.js";import{updateGraphicSymbolWhenRequired as D,fetchFullFeaturesByObjectId as ve}from"../../views/draw/support/editingSessionUtils.js";import{createQueryGeometry as ye}from"../../views/support/drapedUtils.js";import{filterGraphicHits as O,hitTestSelectSimilarDistance as be}from"../../views/support/hitTestSelectUtils.js";import{isNextOrLegacyUpdateWorkflow as xe,isNextOrLegacyUpdateFeaturesWorkflow as Se}from"./compatibilityAdapters.js";import{dependencySort as Ce}from"./support/dependencySort.js";import{isDrawGraphicTool as k,isDrawTool as we}from"../Sketch/support/sketchUtils.js";const Te=()=>u.getLogger(`esri.widgets.Editor.workflowUtils`);function Ee(e){return ke(e)||Oe(e)}function De(e){return!!e&&`features`in e}function Oe(e){return e!=null&&e.type===`update-features`}function ke(e){return e!=null&&e.type.includes(`update-`)&&`fullFeature`in e}function Ae(e){return e!=null&&e.type===`merge-features`}function A(e){return e!=null&&e.type===`split-feature`}function je(e){let t=e?.type;return t===`update-feature`||t===`update-table-record`||t===`update-features`||t===`split-feature`}function Me(e){return e?.type===`merge`}function Ne(e){return e?.type===`split`}function Pe(e){return Ae(e)||A(e)}function Fe(e){return e?.type===`update-multiple`}function j(e){let t=e&&`renderer`in e?e.renderer:null;if(!I(t))return{rotation:null,size:null};let n=t.getVisualVariablesForType(`rotation`).filter(e=>(!e.axis||e.axis===`heading`)&&e.field&&!e.valueExpression),r=t.getVisualVariablesForType(`size`).filter(e=>e.field&&!e.useSymbolValue&&!e.valueExpression&&de(e)===`real-world-size`);return{rotation:n.length===1?n[0]:null,size:r.length===1?r[0]:null}}function M(e){let t=e.sourceLayer;if(!(t&&`renderer`in t&&I(t.renderer)))return{rotation:null,size:null};let{rotation:n,size:r}=j(t),i=null,a=null;if(n){let e=t.fields?.filter(e=>e.name===n.field);i=N(n,e?.length===1?e[0]:null)}if(r){let e=t.fields?.filter(e=>e.name===r.field);a=P(r,e?.length===1?e[0]:null)}return{rotation:i,size:a}}function N(e,t){let n=(e.axis||`heading`)===`heading`&&e.rotationType===`arithmetic`?-1:1,r=t?.type??`double`,i={initial:0,current:0};return{field:e.field,fieldType:r,getDefaultValue:()=>Promise.resolve(0),getValue:e=>(i.current=i.initial-n*e,F((i.current+360)%360,r)),setInitialValue:e=>{i.initial=e,i.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 Le(e,t,n){if(t==null)return 0;let{symbol:r}=he(t);if(r==null||r.type===`web-style`||r.type===`cim`)return 0;let i=r.symbolLayers.at(0);if(!i)return 0;switch(i.type){case`icon`:{let{computeIconLayerResourceSize:e}=await import(`../../symbols/support/symbolLayerUtils.js`);return Math.min(Q.icon,(await e(i,Q.icon))[0])||Q.icon}case`text`:return Q.text;case`line`:return Q.line;case`object`:{let{computeObjectLayerResourceSize:t}=await import(`../../symbols/support/symbolLayerUtils.js`);return Ie(await t(i,e.scale/Q.viewScaleSizeFactor),n)}case`path`:return e.scale/Q.viewScaleSizeFactor;case`extrude`:return e.scale/Q.viewScaleSizeFactor;case`fill`:case`water`:return 0;default:return 0}}function P(e,t){let n=e.axis,r=t?.type??`double`,i={initial:0,current:0},a=le[e.valueUnit]??1,o;return o=e.valueRepresentation===`area`?e=>(e*a/2)**2*Math.PI:e.valueRepresentation===`radius`||e.valueRepresentation===`distance`?e=>e*a/2:e=>e*a,{field:e.field,fieldType:r,getDefaultValue:async(e,t)=>F(o(await Le(t,e,n)),r),getValue:(e,t)=>(i.initial||=t.pixelSizeAt(t.center),i.current=i.initial*e,F(i.current,r)),setInitialValue:e=>{i.initial=e,i.current=0},isUpdatingInteractively:!1,displayUnit:st(e.valueUnit),axis:e.axis}}function F(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 I(e){if(!ue(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}}function L(e,t){if(!e||!t)throw Error(`no geometry type`);if(e===`multipatch`)return{tool:`mesh`,createOptions:{mode:`hybrid`}};let n=new Map;n.set(`circle`,{mode:`freehand`}),n.set(`rectangle`,{mode:`freehand`});let r={mode:_e,optionsPerTool:n};if(b(t)){let i=t.defaultTool,a=x(t)?t.definition?.inputGeometryType??e:e;switch(i){case`freehand`:case`stream-line`:return{tool:a===`polyline`?`freehandPolyline`:`freehandPolygon`,createOptions:r};case`autocomplete-freehand-polygons`:case`stream-polygon`:return{tool:`freehandPolygon`,createOptions:r};case`autocomplete-polygons`:case`difference-polygon`:case`create-structures`:case`polygon`:case`trace`:return{tool:a===`polygon`?`polygon`:`polyline`,createOptions:r};case`circle`:return n.get(`circle`).preserveAspectRatio=!0,{tool:`circle`,createOptions:r};case`ellipse`:return n.get(`circle`).preserveAspectRatio=!1,{tool:`circle`,createOptions:r};case`create-points-along-line`:case`multipoint`:return{tool:`multipoint`,createOptions:r};case`line`:case`radial-line`:case`right-angle-line`:case`split`:case`two-point-line`:return{tool:`polyline`,createOptions:r};case`rectangle`:case`regular-polygon`:case`right-angle-polygon`:return{tool:`rectangle`,createOptions:r};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:r}}}else{let i=t.drawingTool;if(i===`circle`||i===`ellipse`)return n.get(`circle`).preserveAspectRatio=i===`circle`,{tool:`circle`,createOptions:r};if(i===`rectangle`)return{tool:`rectangle`,createOptions:r};if(i===`freehand`)return{tool:e===`polygon`?`freehandPolygon`:`freehandPolyline`,createOptions:r}}return{tool:e,createOptions:r}}async function Re(e,t,n){let{creationInfo:r,fullTemplate:i}=n;if(!r)throw new a(`featureworkflow`,`No creation info provided.`);let o=r.layer,s=S(i,r.attributeOverrides,r.layer),{view:c}=e,l=c?.type===`2d`;!x(i)&&!C(i)&&await q(e,o,s,l?c.scale:null);let{capabilities:u}=o;t.elevationInfo=o.elevationInfo;let d=L(o.geometryType,i);e.defaultCreateOptions={graphicProperties:{attributes:s,sourceLayer:o},mode:d.createOptions.mode,optionsPerTool:d.createOptions.optionsPerTool,preserveAspectRatio:d.createOptions.preserveAspectRatio,hasZ:u.data.supportsZ,defaultZ:(l?u.editing.zDefault:null)??e.defaultCreateOptions.defaultZ},r.geometryToPlace==null?await e.create(d.tool):await e.place(r.geometryToPlace,{graphicProperties:{attributes:s,sourceLayer:o}})}async function ze(e){return o([Be(e),Ve(e)])}function Be({creationAttributes:e,data:t,sketchViewModel:n,view:r}){let{creationInfo:i}=t,{fullTemplate:a}=t;if(!i||r?.type!==`2d`||x(a)||C(a))return null;let o=f(t=>q(n,i.layer,e,t));return h(()=>r.scale,e=>o(e))}function Ve({data:t,sketchViewModel:n,view:r}){let{templateExecutorInfo:i}=t;if(!i)return null;let c=n.activeComponent;if(!r||!k(c)&&!we(c))return Te().error(new a(`featureworkflow`,`Failed to set up template feedback.`)),null;let l=new re({effect:`saturate(0.6) opacity(0.8)`,listMode:`hide`,title:`Shared Template Feedback Graphics`});r.map?.add(l);let{executor:u,serviceLayersById:d}=i,f=r.theme?.accentColor??new e([255,165,0,1]);return o([g(()=>c,[`cursor-update`,`vertex-add`],()=>{l.removeAll();let e=k(c)?c.graphic?.geometry:c.unprocessedGeometry;if(!e||!He(e))return;let t=u(e,`digitizing`);if(!p(t))for(let e of t.edits){let t=d.get(e.id);if(t&&e.addFeatures&&e.addFeatures.length!==0){for(let n of t)if(!n.isTable)for(let t of e.addFeatures){let e=Ue(t,f);e&&l.add(e)}}}}),s(()=>{r.map.remove(l),l.destroy()})])}function He(e){switch(e.type){case`point`:case`multipoint`:return!0;case`polyline`:{if(w(e))return e.curvePaths[0].length>1;let t=e.paths[0];return t?t.length>1:!1}case`polygon`:{if(w(e))return e.curveRings[0].length>2;let t=e.rings[0];return t?r(t.at(0),t.at(-1))?t.length>2:t.length>1:!1}default:return!1}}function Ue(e,n){let r=null;switch(e.geometry?.type){case`point`:case`multipoint`:r=new me({angle:0,color:n,outline:new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:1}),path:`undefined`,size:8,style:`circle`,xoffset:0,yoffset:0});break;case`polygon`:r=new pe({color:n,outline:new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:3}),style:`none`});break;case`polyline`:r=new T({cap:`round`,color:n,join:`round`,miterLimit:1,style:`solid`,width:2});break;default:return null}return new t({geometry:e.geometry,symbol:r,attributes:{...e.attributes}})}function R(e,t){let n=ge(t),r=se(e)?e.parent:e;return n.tablesAndLayersLookup.get(r)}function We(e,t){let n=R(e,t);if(!n)return new Map;let r=new Map;for(let e of n.layersAndTables)d(r,e.layerId,()=>[]).push(e);return r}function z(e){let t=e.objectIdField,n=e.globalIdField??``;return{id:e.layerId,identifierFields:{objectIdField:t,globalIdField:n},addFeatures:[],deleteAttachments:[],addAttachments:[],deleteFeatures:[],updateFeatures:[]}}function Ge(e){let{edits:t,serviceInfo:r,view:i,findOriginalFeature:a}=e,o=B(r.layersAndTables),s=r.layersAndTables.toArray(),{allEditData:c,editDataByLayerIdMap:l,editDataByIdMap:u}=Ke(t,o,a),d=H(c,V(s,l),l);if(i&&G(c,d,i),d.length===0)return t;let f=Ce(d,{continueOnCircularDependency:!0}).map(e=>u.get(e)).filter(n),p=new Map;for(let e of f)p.set(e.uniqueId,e);let m=[];for(let e of c)p.has(e.uniqueId)||m.push(e);let h=[],g=null;for(let e of f){let{layer:t}=e;switch(g==null?g=z(t):g.id!==t.layerId&&(h.push(g),g=z(t)),e.operationType){case`add`:case`modify`:g.addFeatures.push(e.after);break;case`delete`:g.deleteFeatures.push(e.before)}}g!==null&&h.push(g);for(let e of m){let t=e.layer.layerId,n=h.find(e=>e.id===t)??z(e.layer);switch(h.includes(n)||h.push(n),e.operationType){case`add`:n.addFeatures.push(e.after);break;case`modify`:n.updateFeatures.push(e.after);break;case`delete`:n.deleteFeatures.push(e.before);break;case`deleteAttachment`:n.deleteAttachments.push(e.attachmentId);break;case`addAttachment`:n.addAttachments.push(e.attachment)}}for(let e of h)e.deleteAttachments!==void 0&&e.deleteAttachments.length===0&&delete e.deleteAttachments,e.addAttachments!==void 0&&e.addAttachments.length===0&&delete e.addAttachments;return h}function B(e){let t=new Map;for(let n of e)t.set(n.layerId,n);return t}function V(e,t){let n=new Map;for(let r of e)for(let e of r.relationships??[])if(n.set(U(r,e),``),t.has(e.relatedTableId)){let i=t.get(e.relatedTableId);if(i.length>0){for(let t of i[0].layer.relationships??[])if(t.id===e.id){n.set(U(r,e),t.keyField);break}}}return n}function Ke(e,t,n){let r=new Map,i=[],o=new Map,s=1;for(let c of e){let e=[],l=t.get(c.id);if(!l)throw new a(`featureworkflow`,`Failed to prepare applyEdits payload. Layer with id ${c.id} not found.`);for(let t of c.addFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`add`,layer:l,after:t});for(let t of c.deleteFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`delete`,before:t,layer:l});for(let t of c.deleteAttachments??[])e.push({uniqueId:`T${s++}`,operationType:`deleteAttachment`,attachmentId:t,layer:l});for(let t of c.addAttachments??[])e.push({uniqueId:`T${s++}`,operationType:`addAttachment`,attachment:t,layer:l});for(let t of c.updateFeatures??[])e.push({uniqueId:`T${s++}`,operationType:`modify`,before:n(t),after:t,layer:l});r.set(l.layerId,e);for(let t of e)i.push(t),o.set(t.uniqueId,t)}return{allEditData:i,editDataByIdMap:o,editDataByLayerIdMap:r}}function H(e,t,n){let r=[];for(let i of e){let e=i.layer.relationships??[],{uniqueId:a}=i;for(let o of e){let e=o.keyField;if(o.role===`origin`){let s=n.get(o.relatedTableId);if(!s||s.length===0)continue;let c=U(i.layer,o),l=t.get(c);if(l===void 0||l===``)continue;switch(i.operationType){case`add`:for(let t of s)t!==i&&(t.operationType===`add`||t.operationType===`modify`)&&t.after.attributes[l]===i.after.attributes[e]&&r.push([a,t.uniqueId]);break;case`modify`:if(i.before.attributes[e]!==i.after.attributes[e])for(let t of s){let n=t.uniqueId;t!==i&&(t.operationType===`delete`?t.before.attributes[l]===i.before.attributes[e]?r.push([n,a]):t.before.attributes[l]===i.after.attributes[e]&&r.push([a,n]):t.operationType===`add`?t.after.attributes[l]===i.after.attributes[e]?r.push([a,n]):t.after.attributes[l]===i.before.attributes[e]&&r.push([n,a]):t.operationType===`modify`&&(t.before.attributes[l]===t.after.attributes[l]||t.after.attributes[l]===i.after.attributes[e]?r.push([a,n]):r.push([n,a])))}break;case`delete`:for(let t of s)t!==i&&(t.operationType===`delete`||t.operationType===`modify`)&&t.before.attributes[l]===i.before.attributes[e]&&r.push([t.uniqueId,a])}}}}return r}function U(e,t){return`${e.layerId}:${t.id}`}function W(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 G(e,t,n){let r=[];for(let t of e)W(t.layer,n)&&r.push(t);if(r.length===0)return;let i=[];for(let n of r){let r=n.layer;switch(n.operationType){case`delete`:i=[...K(n.before.attributes[r.fieldsIndex.get(`fromglobalid`).name],e),...K(n.before.attributes[r.fieldsIndex.get(`toglobalid`).name],e)];for(let e of i)t.push([n.uniqueId,e.uniqueId]);break;case`add`:i=[...K(n.after.attributes[r.fieldsIndex.get(`fromglobalid`).name],e),...K(n.after.attributes[r.fieldsIndex.get(`toglobalid`).name],e)];for(let e of i)t.push([e.uniqueId,n.uniqueId])}}}function K(e,t){let n=[],r=t.filter(({layer:e})=>e.globalIdField!==``&&e.globalIdField!=null);for(let t of r){let r=t.layer.globalIdField;(`before`in t&&t.before?.attributes[r]===e||`after`in t&&t.after?.attributes[r]===e)&&n.push(t)}return n}async function q(e,n,r,i){let a=new t({sourceLayer:n,attributes:r}),{rotation:o,size:s}=M(a),c=await E(a,{useSourceLayer:!0,scale:i}),l=!1;for(let t of[s,o])t!=null&&(r[t.field]??(r[t.field]=await t.getDefaultValue(c,e.view),l=!0));switch(l&&(c=await E(a,{useSourceLayer:!0,scale:i})),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}J(e.tooltipOptions,s,o)}function J(e,t,n){e.visualVariables=t!=null||n!=null?{size:t==null?null:{unit:t.displayUnit,axis:t.axis,valueType:t.fieldType},rotation:n==null?null:{valueType:n.fieldType,rotationType:n.rotationType??`geographic`}}:null}function Y(e,t){return e.find(e=>e.layer===t)}function qe(e,t){let n=Y(e,t);if(n==null)throw new a(`no-editorItem-found`,`The EditorViewModel provided did not have an EditorItem associated with the specified layer`);return n}function Je(e,t){return e?.find(e=>e.layer===t)}async function Ye(e,t,n,r){switch(t.type){case`3d`:return Xe(e,t,n,r);case`2d`:return Ze(e,t,n,r)}}async function Xe(e,t,n,r){if(e.length===0)return[];let{updatable:a,graphicsByLayer:o}=await n.defer(async()=>{let{results:i}=await m(be(t,n),r),a=new Map,o=e=>{let t=e.layer,n=a.get(t);if(!n){let e=[];return a.set(t,e),e}return n};O(i).forEach(({graphic:e})=>o(e).push(e));let s=e.filter(({capabilities:e,layer:t})=>e.update.enabled&&a.has(t));return s.length!==0&&n.stopPropagation(),{updatable:s,graphicsByLayer:a}});return m(Promise.allSettled(a.map(async({layer:e})=>{let t=o.get(e),n=X(e);if(t.every(e=>ie(e,n)))return t;let a=[];for(let e of t){a.push(e.getObjectId());let t=Object.keys(e.attributes);i(n,t)}let s=e.createQuery();return s.returnGeometry=!1,s.objectIds=a,s.outFields=ae(e.fieldsIndex,n),e.queryFeatures(s,{signal:r}).then(({features:e})=>e)})),r)}async function Ze(e,t,n,r){if(e.length===0)return[];let{mapPoint:i}=n;if(i==null)return[];let a=null,o=await n.defer(async()=>{let{results:i}=await m(t.hitTest(n),r);if(i.length===0)return[];let o=new Set;a=O(i),a.forEach(({graphic:e})=>e&&o.add(e.layer));let s=e.filter(e=>o.has(e.layer)&&e.supportsUpdateWorkflow);return s.length>0&&n.stopPropagation(),s});return m(Promise.allSettled(o.map(async({layer:e})=>{let o=e.createQuery();o.returnGeometry=!0,o.outFields=X(e);let s=`renderer`in e?ce({renderer:e.renderer,pointerType:n.pointerType}):0;o.geometry=ye(i,s,t),o.outSpatialReference=t.spatialReference;let{features:c}=await e.queryFeatures(o,{signal:r});return a?.forEach(({graphic:t})=>{t.layer===e&&!c.some(e=>e.getObjectId()===t.getObjectId())&&c.push(t)}),c})),r)}function X(e){return ae(e.fieldsIndex,[e.objectIdField,oe({displayField:`displayField`in e?e.displayField:null,fields:e.fields})])}async function Qe(e,t,r,i){let a=e.map(e=>e.getObjectId()??e.attributes[t.objectIdField]).filter(n);return await ve(a,t,r,i)}async function Z(e){let{graphic:t,sketchViewModel:n,sourceLayer:r,updateOptions:i,visualVariables:a}=e;await et(e);let o={multipleSelectionEnabled:!1,...i};return r.geometryType===`point`&&(o.enableRotation=a.rotation!=null,o.enableScaling=a.size!=null),n.update(t,o)}function $e(e,t){let{activeUpdateOptions:n}=e;n&&(e.activeUpdateOptions={...n,...t,reshapeOptions:{...n.reshapeOptions,...t.reshapeOptions},highlightOptions:{...n.highlightOptions,...t.highlightOptions}})}async function et(e){let{graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:i,visualVariables:a}=e,o=!1,{rotation:s,size:c}=a;for(let e of[s,c]){if(e==null)continue;let n=t.getAttribute(e.field);if(n!=null)e.setInitialValue(n);else{let n=await e.getDefaultValue(t.symbol,r.view);e.setInitialValue(n),t.setAttribute(e.field,n),o=!0}}if(o){let e=r.view?.type===`2d`?r.view.scale:null;await D(t,e)}J(r.tooltipOptions,c,s),n.elevationInfo=i.elevationInfo}function tt(e){return e!=null&&(e.type===`rotate-start`||e.type===`rotate`||e.type===`rotate-stop`)?e:null}function nt(e){return e!=null&&(e.type===`scale-start`||e.type===`scale`||e.type===`scale-stop`)?e:null}function rt(e,t,n,r){if(t.geometry==null||t.geometry?.type!==`point`)return!1;let i=t.attributes,a=!1,o=r.rotation,s=tt(n.toolEventInfo);if(o!=null&&s!=null){let{field:n,getValue:r}=o;if(s.type===`rotate-stop`)o.isUpdatingInteractively=!1,o.setInitialValue(t.getAttribute(n));else{o.isUpdatingInteractively=!0;let c=r(s.angle,e);c!==i[n]&&t.setAttribute(n,c),a=!0}}let c=r.size,l=nt(n.toolEventInfo);if(c!=null&&l!=null){let{field:n,getValue:r}=c;if(l.type===`scale-stop`)c.isUpdatingInteractively=!1,c.setInitialValue(t.getAttribute(n));else{c.isUpdatingInteractively=!0;let o=r(l.xScale,e);o!==i[n]&&t.setAttribute(n,o),a=!0}}return a}async function it({feature:e,featureClone:t,sketchLayer:n,sketchViewModel:r,getUpdateOptions:i,view:a,visualVariableAttributes:l,addHandle:u,updatingHandles:d,onUpdate:p}){await D(t,a.type===`2d`?a.scale:null);let m=null;if(r?.view?.type===`2d`){let e=f(e=>D(t,e));m=d.add(()=>r?.view?.scale,t=>d.consumePromise(e(t)))}let h=t.sourceLayer,g=lt(a,h);await Z({graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:h,updateOptions:i(),visualVariables:l});let _=null;g.then(e=>_=e).catch(()=>{});let v=l.size,y=l.rotation,b=d.add(()=>e.attributes,async e=>{let n=!1;for(let r in e){let i=e[r];i!==t.getAttribute(r)&&(t.setAttribute(r,i),v!=null&&!v.isUpdatingInteractively&&v.field===r&&v.setInitialValue(i),y!=null&&!y.isUpdatingInteractively&&y.field===r&&y.setInitialValue(i),(_==null||_.requiredFields.includes(r))&&(n=!0))}n&&await d.addPromise(D(t,a.type===`2d`?a.scale:null))}),x=r.on(`update`,async e=>{let t=e.graphics[0],o={graphic:t,sketchLayer:n,sketchViewModel:r,sourceLayer:h,updateOptions:i(),visualVariables:l};if(e.state===`complete`){let e=new AbortController;u(c(e)),d.consumePromise(ee(()=>a.activeTool===null,e.signal).then(async()=>{if(!e.signal.aborted)return e.abort(),Z(o)}))}else rt(a,t,e,l)&&await d.addPromise(D(t,a.type===`2d`?a.scale:null)),p($(t),e)}),S=te(()=>a.activeTool!=null&&a.activeTool!==r.activeComponent,()=>r.cancel()),C=r.on([`undo`,`redo`],e=>{p($(e.graphics[0]),e)});return o([C,x,S,s(()=>r.cancel()),b,m])}const Q={icon:v(24),text:v(12),line:_,viewScaleSizeFactor:100};function at(e,t,n){let r=!1;return e.filter(e=>r?!0:(r=e===t,r)).map(e=>n[e]())}function ot(e,t){e.viewModel.syncFeatureTemplates();let n=e.creationInfo;if(t[0].id===`awaiting-feature-creation-info`&&n){let r=n.layer,i=e.viewModel.getTemplatesForLayer(r);i.length===1&&r.type!==`scene`&&(n.template=i[0],t.shift())}return t}function st(e){switch(e){case`unknown`:return null;default:return e}}const ct=e=>e.includes(`-stop`)||e.includes(`vertex-`),lt=(e,t)=>{let n=t.type===`subtype-sublayer`?t.parent:t;return e.whenLayerView(n)};function ut(e){return`createInteractiveEditSession`in e}function $(e){let t=e.geometry;if(t?.type===`mesh`){let n=e.cloneShallow();return n.attributes=l(e.attributes),n.geometry=t.cloneShallow(),n.geometry.transform=t.transform?.clone()??null,n}return e.clone()}function dt(e){return e.acquireCursor(`progress`)}function ft(e){for(let t of e){let{destinationGraphic:e,destinationField:n,sourceGraphic:r,sourceField:i}=t;e.setAttribute(n,r.getAttribute(i))}}function pt(e){let t=e.templateExecutorInfo?.completionResults;return t?.length?(t.forEach(e=>ft(e.relationships)),t.flatMap(e=>e.edits)):null}function mt(e){let t=xe(e)?e.activeWorkflow:e;if(t==null)return[];if(Se(t))return t.data.layers;let n=t.layer;return n?[n]:[]}function ht({attributes:e},t){let n=new Set;n.add(t.objectIdField),`uniqueIdFields`in t&&t.uniqueIdFields&&t.uniqueIdFields.length>0&&y(n,t.uniqueIdFields);let r={};for(let t of n)e[t]!=null&&(r[t]=e[t]);if(t.type===`scene`&&t.infoFor3D!=null){let n=t.associatedLayer?.globalIdField;n!=null&&(e[n]=e[n])}return r}function gt(e){if(!_t(e))return e;let t=new Map;for(let n of e){let e=n.getObjectId();if(e!=null){let r=n.sourceLayer??n.layer;d(t,r,()=>[]).push(e)}}return Array.from(t.entries()).map(([e,t])=>({layer:e,objectIds:t}))}function _t(e){return e.length===0||fe(e[0])}function vt({drawTool:e},t){let n=e?.mostDownstreamPlugin?.configuration?.curveTypes;if(!t||!n||n.length===0)return!1;let r=new Set(t.capabilities.supportedCurveTypes);return n.some(e=>!r.has(e))}function yt(e,t){let n=new Set(t.capabilities.supportedCurveTypes);return e.some(({geometry:e})=>e&&w(e)&&ne(e,n))}function bt({filter:e,forEachFeature:t,forEachValueChange:n}){return r=>{for(let{feature:i,changes:a}of r.data)if(!e||e(i)){for(let{fieldName:e,value:t}of a)n?.(e,t,i);t?.(i,a)}}}export{vt as activeSketchToolDrawsUnsupportedCurve,G as appendAllUtilityNetworkAssociationRelationships,ot as avoidFeatureTemplateSelectionWithOnlyOneItem,ut as canCreateInteractiveEditSession,$ as cloneGraphicExceptMesh,yt as containsUnsupportedCurve,B as createLayerIdMap,V as createRelationshipKeyMap,L as createToolFromGeometryType,at as createWorkflowSteps,Ye as fetchCandidates,Qe as fetchFullFeatures,H as findAllDependencies,K as findChangesByGlobalId,Y as findEditorItemForLayer,qe as findEditorItemForLayerOrThrow,Je as findLayerInfo,U as generateHashForRelationship,mt as getLayersFromWorkflow,N as getRotationVariableAttribute,pt as getServiceEditsFromWorkflowData,R as getServiceInfoForLayer,We as getServiceLayersById,P as getSizeVariableAttribute,M as getVisualVariableAttributes,j as getVisualVariablesForLayer,bt as handleFormValuesChangeEvent,Ee as isAnyUpdateLeafWorkflow,De as isBatchAttributeFormViewModel,_t as isGraphicsArray,Ae as isMergeFeaturesWorkflow,Me as isMergeWorkflowOptions,je as isParentWorkflow,A as isSplitFeatureWorkflow,Ne as isSplitWorkflowOptions,ct as isTerminalUpdateEventType,Oe as isUpdateFeaturesWorkflow,Fe as isUpdateFeaturesWorkflowOptions,ke as isUpdateRecordWorkflow,W as isUtilityNetworkAssociationsTable,ht as makeMinimalAttributes,Ge as orderEditsByRelationshipDependencies,ft as setRelationshipFields,it as setUpGeometryUpdate,ze as setUpSketchCreateWatchers,et as setVisualVariablesAndElevationInfoForUpdate,dt as showProgressCursor,Q as sizeDefaults,st as sizeVariableUnitToLengthUnit,Re as startCreatingNewFeature,Z as startUpdatingFeatureGeometry,$e as syncUpdateOptions,gt as toFeatureInfos,rt as visualVariableInteractiveUpdate,lt as whenEditorLayerView,Pe as workflowInfluencesOutcomeOfParent};
|
package/widgets/Editor.d.ts
CHANGED
|
@@ -5,12 +5,14 @@ import type SketchLabelOptions from "../views/interactive/sketch/SketchLabelOpti
|
|
|
5
5
|
import type SketchTooltipOptions from "../views/interactive/sketch/SketchTooltipOptions.js";
|
|
6
6
|
import type SketchValueOptions from "../views/interactive/sketch/SketchValueOptions.js";
|
|
7
7
|
import type SnappingOptions from "../views/interactive/snapping/SnappingOptions.js";
|
|
8
|
+
import type SelectionOperation from "../views/selection/SelectionOperation.js";
|
|
8
9
|
import type Widget from "./Widget.js";
|
|
9
10
|
import type EditorViewModel from "./Editor/EditorViewModel.js";
|
|
10
11
|
import type VisibleElements from "./Editor/VisibleElements.js";
|
|
11
12
|
import type EditorItem from "./Editor/support/EditorItem.js";
|
|
12
13
|
import type { Icon } from "@esri/calcite-components/components/calcite-icon";
|
|
13
14
|
import type { MapViewOrSceneView } from "../views/MapViewOrSceneView.js";
|
|
15
|
+
import type { SelectionToolName } from "../views/selection/types.js";
|
|
14
16
|
import type { WidgetProperties } from "./Widget.js";
|
|
15
17
|
import type { EditorViewModelEvents, EditorViewModelProperties } from "./Editor/EditorViewModel.js";
|
|
16
18
|
import type { CancelWorkflowOptions, CreationInfo, EditorStartCreateFeaturesWorkflowAtFeatureEditParameters, EditorStartCreateFeaturesWorkflowAtFeatureTypeSelectionParameters, EditorStartMergeFeaturesWorkflowOptions, EditorStartSplitFeatureWorkflowOptions, FeatureInfo, LayerInfo, SupportingWidgetDefaults } from "./Editor/types.js";
|
|
@@ -571,19 +573,19 @@ export default class Editor extends Widget {
|
|
|
571
573
|
*/
|
|
572
574
|
accessor useLegacyCreateTools: boolean;
|
|
573
575
|
/**
|
|
574
|
-
* Indicates whether to use
|
|
576
|
+
* Indicates whether to use snapping, tooltips, display units, and input units from
|
|
575
577
|
* [ViewOptions](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ViewOptions/).
|
|
576
578
|
*
|
|
577
|
-
* When
|
|
578
|
-
* [snappingOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#snappingOptions) and [tooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#tooltipOptions) are preserved but ignored.
|
|
579
|
-
* When `false`, those options are used instead.
|
|
579
|
+
* When this property is `true`:
|
|
580
580
|
*
|
|
581
|
-
*
|
|
582
|
-
*
|
|
581
|
+
* - Snapping and tooltip options are inherited from the view. The widget's
|
|
582
|
+
* [snappingOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#snappingOptions) and [tooltipOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#tooltipOptions) are preserved but ignored.
|
|
583
|
+
* - Snapping controls and the tooltip toggle are hidden from the widget's Settings menu.
|
|
584
|
+
* - Units set through [valueOptions](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#valueOptions) override the corresponding units on the view,
|
|
585
|
+
* such as length or area, without changing the view's options. Setting a unit to `null` or `undefined` restores
|
|
586
|
+
* inheritance for that measurement type.
|
|
583
587
|
*
|
|
584
|
-
*
|
|
585
|
-
* view for the corresponding measurement type, such as length or area, without changing the units configured
|
|
586
|
-
* in the view. Setting an explicit unit to `null` or `undefined` restores inheritance for that measurement type.
|
|
588
|
+
* When `false`, the widget uses its own snapping, tooltip, and unit options instead.
|
|
587
589
|
*
|
|
588
590
|
* Label [options](https://developers.arcgis.com/javascript/latest/references/core/widgets/Editor/#labelOptions) and
|
|
589
591
|
* [direction mode](https://developers.arcgis.com/javascript/latest/references/core/views/interactive/options/ValueOptions/#directionMode) are not inherited from the view.
|
|
@@ -629,6 +631,14 @@ export default class Editor extends Widget {
|
|
|
629
631
|
*/
|
|
630
632
|
get visibleElements(): VisibleElements;
|
|
631
633
|
set visibleElements(value: VisibleElementsProperties);
|
|
634
|
+
/**
|
|
635
|
+
* Activates a selection tool specified by name. Additionally, cancels the previously active selection operation.
|
|
636
|
+
*
|
|
637
|
+
* @param toolName - The name of the selection tool to activate.
|
|
638
|
+
* @returns A reference to the active selection operation.
|
|
639
|
+
* @since 5.2
|
|
640
|
+
*/
|
|
641
|
+
activateSelectionTool(toolName: SelectionToolName): SelectionOperation | undefined;
|
|
632
642
|
/**
|
|
633
643
|
* Cancels any active selection operation.
|
|
634
644
|
*
|
package/widgets/Expand.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{deprecateWidget as t}from"../core/deprecate.js";import{makeHandle as n}from"../core/handleUtils.js";import r from"../core/Logger.js";import{watch as i,initial as a}from"../core/reactiveUtils.js";import{property as o,subclass as s}from"../core/accessorSupport/decorators.js";import c from"./Widget.js";import l from"./Expand/ExpandViewModel.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{globalCss as d}from"./support/globalCss.js";import{messageBundle as f,tsx as p,isWidget as m,hasDomNode as h}from"./support/widget.js";const g=`esri-expand`,_={base:g,toggle:`${g}__toggle`,popoverContent:`${g}__popover-content`,panel:`${g}__panel`,panelContent:`${g}__panel-content`,sheet:`${g}__sheet`,contentContainer:`${g}__content-container`,icon:`esri-collapse__icon`,iconFlip:`esri-collapse__icon-flip`,iconNumber:`${g}__icon-number`},v=`chevrons-left`,y=`chevrons-right`,b=Symbol(`scheduleRender-override-handle`);let x=class extends c{constructor(e,n){super(e,n),this._boundScheduledRender=this.scheduleRender.bind(this),this.closeOnEsc=!0,this.collapseTooltip=``,this.content=``,this.expandTooltip=``,this.focusTrapDisabled=!1,this.iconNumber=0,this.messages=null,this.messagesCommon=null,this.mode=`auto`,this.placement=null,this.viewModel=new l({suppressDeprecationWarning:!0}),this.toggle=()=>{this.viewModel.expanded=!this.viewModel.expanded},this._handlePopoverClose=e=>{e.target===this._popoverEl&&(this.viewModel.expanded=e.currentTarget.open)},this._handleSheetClose=e=>{this.viewModel.expanded=e.currentTarget.open},this._handlePanelClose=e=>{this.viewModel.expanded=!e.currentTarget.closed},this._handleKeyDown=e=>{this.viewModel.expanded&&e.key===`Escape`&&!this._willCloseOnEsc(e)&&e.preventDefault()},this._storeToggleActionEl=e=>{this._toggleActionEl=e},this._storePopoverEl=e=>{this._popoverEl=e},t(r.getLogger(this),`Expand`,`arcgis-expand`,{version:`4.34`})}initialize(){this.addHandles(i(()=>this.viewModel?.view?.size,()=>this._popoverEl?.reposition(),a))}loadDependencies(){return u({action:()=>import(`@esri/calcite-components/dist/components/calcite-action`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),panel:()=>import(`@esri/calcite-components/dist/components/calcite-panel`),popover:()=>import(`@esri/calcite-components/dist/components/calcite-popover`),sheet:()=>import(`@esri/calcite-components/dist/components/calcite-sheet`)})}get expandTitle(){let{expanded:e,messagesCommon:t,collapseTooltip:n,expandTooltip:r}=this;return(e?n||t?.collapse:r||t?.expand)??``}get _displaySheet(){switch(this.mode){case`drawer`:return!0;case`auto`:return this.viewModel.view?.widthBreakpoint===`xsmall`;default:return!1}}get autoCollapse(){return this.viewModel.autoCollapse}set autoCollapse(e){this.viewModel.autoCollapse=e}get collapseIcon(){return y}set collapseIcon(e){this._overrideIfSome(`collapseIcon`,e)}get expanded(){return this.viewModel.expanded}set expanded(e){this.viewModel.expanded=e}get expandIcon(){return typeof this.content==`object`&&`icon`in this.content&&this.content.icon?this.content.icon:v}set expandIcon(e){this._overrideIfSome(`expandIcon`,e)}get group(){return this.viewModel.group}set group(e){this.viewModel.group=e}get icon(){return null}get label(){return typeof this.content==`object`&&`label`in this.content&&this.content.label?this.content.label:this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}expand(){this.viewModel.expanded=!0}collapse(){this.viewModel.expanded=!1}render(){let{_displaySheet:e,_toggleActionEl:t,viewModel:{expanded:n},label:r,placement:i}=this;return p(`div`,{class:this.classes(_.base,d.widget)},this._renderToggle(),e?p(`calcite-sheet`,{class:_.sheet,
|
|
2
|
+
import{__decorate as e}from"tslib";import{deprecateWidget as t}from"../core/deprecate.js";import{makeHandle as n}from"../core/handleUtils.js";import r from"../core/Logger.js";import{watch as i,initial as a}from"../core/reactiveUtils.js";import{property as o,subclass as s}from"../core/accessorSupport/decorators.js";import c from"./Widget.js";import l from"./Expand/ExpandViewModel.js";import{loadCalciteComponents as u}from"./support/componentsUtils.js";import{globalCss as d}from"./support/globalCss.js";import{messageBundle as f,tsx as p,isWidget as m,hasDomNode as h}from"./support/widget.js";const g=`esri-expand`,_={base:g,toggle:`${g}__toggle`,popoverContent:`${g}__popover-content`,panel:`${g}__panel`,panelContent:`${g}__panel-content`,sheet:`${g}__sheet`,contentContainer:`${g}__content-container`,icon:`esri-collapse__icon`,iconFlip:`esri-collapse__icon-flip`,iconNumber:`${g}__icon-number`},v=`chevrons-left`,y=`chevrons-right`,b=Symbol(`scheduleRender-override-handle`);let x=class extends c{constructor(e,n){super(e,n),this._boundScheduledRender=this.scheduleRender.bind(this),this.closeOnEsc=!0,this.collapseTooltip=``,this.content=``,this.expandTooltip=``,this.focusTrapDisabled=!1,this.iconNumber=0,this.messages=null,this.messagesCommon=null,this.mode=`auto`,this.placement=null,this.viewModel=new l({suppressDeprecationWarning:!0}),this.toggle=()=>{this.viewModel.expanded=!this.viewModel.expanded},this._handlePopoverClose=e=>{e.target===this._popoverEl&&(this.viewModel.expanded=e.currentTarget.open)},this._handleSheetClose=e=>{this.viewModel.expanded=e.currentTarget.open},this._handlePanelClose=e=>{this.viewModel.expanded=!e.currentTarget.closed},this._handleKeyDown=e=>{this.viewModel.expanded&&e.key===`Escape`&&!this._willCloseOnEsc(e)&&e.preventDefault()},this._storeToggleActionEl=e=>{this._toggleActionEl=e},this._storePopoverEl=e=>{this._popoverEl=e},t(r.getLogger(this),`Expand`,`arcgis-expand`,{version:`4.34`})}initialize(){this.addHandles(i(()=>this.viewModel?.view?.size,()=>this._popoverEl?.reposition(),a))}loadDependencies(){return u({action:()=>import(`@esri/calcite-components/dist/components/calcite-action`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),panel:()=>import(`@esri/calcite-components/dist/components/calcite-panel`),popover:()=>import(`@esri/calcite-components/dist/components/calcite-popover`),sheet:()=>import(`@esri/calcite-components/dist/components/calcite-sheet`)})}get expandTitle(){let{expanded:e,messagesCommon:t,collapseTooltip:n,expandTooltip:r}=this;return(e?n||t?.collapse:r||t?.expand)??``}get _displaySheet(){switch(this.mode){case`drawer`:return!0;case`auto`:return this.viewModel.view?.widthBreakpoint===`xsmall`;default:return!1}}get autoCollapse(){return this.viewModel.autoCollapse}set autoCollapse(e){this.viewModel.autoCollapse=e}get collapseIcon(){return y}set collapseIcon(e){this._overrideIfSome(`collapseIcon`,e)}get expanded(){return this.viewModel.expanded}set expanded(e){this.viewModel.expanded=e}get expandIcon(){return typeof this.content==`object`&&`icon`in this.content&&this.content.icon?this.content.icon:v}set expandIcon(e){this._overrideIfSome(`expandIcon`,e)}get group(){return this.viewModel.group}set group(e){this.viewModel.group=e}get icon(){return null}get label(){return typeof this.content==`object`&&`label`in this.content&&this.content.label?this.content.label:this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get view(){return this.viewModel.view}set view(e){this.viewModel.view=e}expand(){this.viewModel.expanded=!0}collapse(){this.viewModel.expanded=!1}render(){let{_displaySheet:e,_toggleActionEl:t,viewModel:{expanded:n},label:r,placement:i}=this;return p(`div`,{class:this.classes(_.base,d.widget)},this._renderToggle(),e?p(`calcite-sheet`,{class:_.sheet,height:`l`,label:r,open:n,position:`block-end`,topLayerDisabled:this.topLayerDisabled,onCalciteSheetClose:this._handleSheetClose,onkeydown:this._handleKeyDown},p(`calcite-panel`,{class:_.panel,closable:!0,closed:!n,heading:r,onCalcitePanelClose:this._handlePanelClose,onkeydown:this._handleKeyDown},p(`div`,{class:_.panelContent},this._renderContent()))):t?p(`calcite-popover`,{afterCreate:this._storePopoverEl,afterUpdate:this._storePopoverEl,focusTrapDisabled:this.focusTrapDisabled,label:r,open:n,overlayPositioning:`fixed`,placement:i??this._getPlacement(),referenceElement:t,topLayerDisabled:this.topLayerDisabled,onCalcitePopoverClose:this._handlePopoverClose,onkeydown:this._handleKeyDown},p(`div`,{class:_.popoverContent},this._renderContent())):null)}_getPlacement(){let{container:e,view:t}=this,n=e&&t?t.ui.getPosition(e):null;if(!n||n===`manual`)return`auto`;let[r,i]=n.split(`-`);return`${i===`right`?`left`:`right`}-${r===`bottom`?`end`:`start`}`}_willCloseOnEsc(e){let{closeOnEsc:t}=this;return typeof t==`function`?t(e):t}_renderBadgeNumber(){let{expanded:e,iconNumber:t}=this;return t&&!e?p(`span`,{class:_.iconNumber,key:`expand__icon-number`},t):null}_renderToggleButton(){let{expanded:e,expandTitle:t,expandIcon:n,collapseIcon:r}=this,i=e?r:n,a=i===v||i===y;return p(`calcite-action`,{afterCreate:this._storeToggleActionEl,afterUpdate:this._storeToggleActionEl,class:d.widgetButton,text:t,title:t,onclick:this.toggle},i?p(`calcite-icon`,{class:this.classes(_.icon,a&&_.iconFlip),icon:i,scale:`s`}):null)}_renderToggle(){return p(`div`,{class:_.toggle},this._renderToggleButton(),this._renderBadgeNumber())}_renderContent(){let{content:e}=this;return typeof e==`string`?p(`div`,{class:_.contentContainer,innerHTML:e,key:`content__string`}):m(e)?p(`div`,{afterCreate:()=>{this._overwriteChildScheduleRender(e)},afterRemoved:()=>this.removeHandles(b),afterUpdate:()=>{e.scheduleRender!==this._boundScheduledRender&&(this.removeHandles(b),this._overwriteChildScheduleRender(e))},class:_.contentContainer,key:`content__widget`},e.render()):e instanceof HTMLElement?p(`div`,{afterCreate:this._attachToNode,bind:e,class:_.contentContainer,key:`content__html-element`}):h(e)?p(`div`,{afterCreate:this._attachToNode,bind:e.domNode,class:_.contentContainer,key:`content__node`}):null}_overwriteChildScheduleRender(e){let t=e.scheduleRender;e.scheduleRender=this._boundScheduledRender,this.addHandles(n(()=>e.scheduleRender=t),b)}_attachToNode(e){let t=this;e.appendChild(t)}};e([o({readOnly:!0})],x.prototype,`expandTitle`,null),e([o()],x.prototype,`_toggleActionEl`,void 0),e([o()],x.prototype,`_displaySheet`,null),e([o()],x.prototype,`autoCollapse`,null),e([o()],x.prototype,`closeOnEsc`,void 0),e([o()],x.prototype,`collapseIcon`,null),e([o()],x.prototype,`collapseTooltip`,void 0),e([o()],x.prototype,`content`,void 0),e([o()],x.prototype,`expanded`,null),e([o()],x.prototype,`expandIcon`,null),e([o()],x.prototype,`expandTooltip`,void 0),e([o()],x.prototype,`focusTrapDisabled`,void 0),e([o()],x.prototype,`group`,null),e([o()],x.prototype,`icon`,null),e([o()],x.prototype,`iconNumber`,void 0),e([o()],x.prototype,`label`,null),e([o(),f(`esri/widgets/Expand/t9n/Expand`)],x.prototype,`messages`,void 0),e([o(),f(`esri/t9n/common`)],x.prototype,`messagesCommon`,void 0),e([o()],x.prototype,`mode`,void 0),e([o()],x.prototype,`placement`,void 0),e([o()],x.prototype,`view`,null),e([o({type:l})],x.prototype,`viewModel`,void 0),x=e([s(`esri.widgets.Expand`)],x);const S=x;export{S as default};
|
package/widgets/FeatureForm.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ export interface FeatureFormProperties extends WidgetProperties, Partial<Pick<Fe
|
|
|
18
18
|
*
|
|
19
19
|
* The [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/) is used to configure how the form should display and set any associated properties for the form, e.g. title, description, field elements, etc.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
21
|
+
* > [!NOTE]
|
|
22
22
|
* >
|
|
23
23
|
* > It is recommended to set the `formTemplate` property on the layer itself so that it can be accessed by other widgets and components that also reference the same layer, such as the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/). In addition, it can also be set on the [Editor's `layerInfo`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/). If a template is set on the `layerInfo`, it will take precedence over a template set directly on the layer.
|
|
24
24
|
*
|
|
@@ -155,7 +155,7 @@ export default class FeatureForm extends Widget {
|
|
|
155
155
|
*
|
|
156
156
|
* The [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/) is used to configure how the form should display and set any associated properties for the form, e.g. title, description, field elements, etc.
|
|
157
157
|
*
|
|
158
|
-
*
|
|
158
|
+
* > [!NOTE]
|
|
159
159
|
* >
|
|
160
160
|
* > It is recommended to set the `formTemplate` property on the layer itself so that it can be accessed by other widgets and components that also reference the same layer, such as the [Editor](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/). In addition, it can also be set on the [Editor's `layerInfo`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-editor/#layerInfos/). If a template is set on the `layerInfo`, it will take precedence over a template set directly on the layer.
|
|
161
161
|
*
|
package/widgets/FeatureForm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import{substitute as t,formatNumber as n}from"../intl.js";import{isSome as r}from"../core/arrayUtils.js";import{deprecateWidget as i}from"../core/deprecate.js";import a from"../core/Logger.js";import o from"../core/ReactiveMap.js";import{watch as s,whenOnce as c,initial as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import{isIntegerField as f}from"../layers/support/fieldUtils.js";import{isSubtypeGroupLayer as p,getSubtypesFromLayer as m}from"../layers/support/layerUtils.js";import{isRelatableFeatureSupportedLayer as h}from"../popup/support/featureUtils.js";import{isString as g}from"../support/guards.js";import _ from"./Widget.js";import{Prompt as v}from"./Editor/components/Prompt.js";import{css as y}from"./FeatureForm/css.js";import{isUtilityNetworkAssociationInput as b,isGroupInput as x,isFieldInput as S,isRelationshipInput as C,isTextElementInput as w,flattenInputs as T,isInputInGroupInput as E,isFieldElementWithInputType as D,getErrorMessageForFieldInput as O,getIconForFeature as k,isNumberFieldInput as A,isInputInThisGroupInput as j,subtypeChangeShouldPrompt as M}from"./FeatureForm/featureFormUtils.js";import N from"./FeatureForm/FeatureFormViewModel.js";import P from"./FeatureForm/VisibleElements.js";import{loadCalciteComponents as F}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as I,getIntlOptionsForField as L,numberingSystem as R,prepareISOFieldValueForDateComponents as z,prepareUnixFieldValueForDateComponents as B,normalizeTimeOnlyString as V,getISOFieldValueFromDateComponents as H,getUnixFieldValueFromDateComponents as U}from"./support/dateUtils.js";import{globalCss as W}from"./support/globalCss.js";import{Heading as G,incrementHeadingLevel as K}from"./support/Heading.js";import{messageBundle as q,vmEvent as J,tsx as Y}from"./support/widget.js";import{setFocus as X}from"./support/widgetUtils.js";const Z=`data-field-name`;let Q=class extends _{constructor(e,t){super(e,t),this._associationsWidgetsMap=new o,this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._inputsWithChanges=new Set,this._focusedFieldName=null,this._pendingSubtypeChoice=null,this._listObserverNode=null,this._listObserver=new IntersectionObserver(e=>{e.length&&e[0].isIntersecting&&this._incrementRelatedRecordPage()},{root:window.document}),this._prompt=null,this._featureFormUNAssociationList=null,this.groupDisplay=`all`,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.messagesFeature=null,this.messagesTemplates=null,this.viewModel=new N,this.visibleElements=new P,this._onShowAllRelatedRecordsClick=e=>{let{feature:t,callbacks:n}=this;t&&n?.showAllRelatedRecords&&n.showAllRelatedRecords({parentFeature:t,relationshipId:e})},this._onAddRelatedRecordsClick=(e,t,n)=>{let{feature:r,callbacks:i}=this,a=n;if(r&&i?.addRelatedRecord){if(p(n)&&e.activeCategory){let t=e.activeCategory.value,r=n.findSublayerForSubtypeCode(t);r&&h(r)&&(a=r)}i.addRelatedRecord({parentFeature:r,relatedLayer:a,relationshipId:t})}},e?.suppressDeprecationWarning||(this.announceDeprecation=()=>{i(a.getLogger(this),`Feature Form`,`arcgis-feature-form`,{version:`5.0`})}),this._onFormKeyDown=this._onFormKeyDown.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onGroupToggle=this._onGroupToggle.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentKeyDown=this._onComponentKeyDown.bind(this),this._afterComponentCreate=this._afterComponentCreate.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreate=this._afterDateComponentCreate.bind(this),this._afterDateComponentCreateOrUpdate=this._afterDateComponentCreateOrUpdate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this),this._afterGroupCreate=this._afterGroupCreate.bind(this)}normalizeCtorArgs(e={}){let{suppressDeprecationWarning:t,...n}=e;return n}initialize(){this.addHandles([s(()=>this.feature,()=>{this._inputsWithChanges.clear(),this._dateComponentMap.clear(),c(()=>!this.viewModel.updating).then(()=>{let e=this._getFocusableInput(`forward`);this._syncGroupInputStates(),this._focusedFieldName=e?.name||null,this._attemptFocusOnNextRender=!0})}),s(()=>[this._featureFormUNAssociationList,this.visibleElements.associationDetails],([e,t])=>{e&&(e.visibleElements.associationDetails=t)},l),s(()=>this.groupDisplay,()=>this._syncGroupInputStates()),this.on(`submit`,e=>{if(e.invalid.length>0){let[t]=e.invalid;e.invalid.forEach(e=>this._inputsWithChanges.add(e)),this._focusedFieldName=t,this._attemptFocusOnNextRender=!0,this.scheduleRender()}}),s(()=>[this.viewModel.activeRelationshipInput,this._listObserverNode],()=>this._onObserverChange()),s(()=>this.viewModel.activeAssociationInput,e=>{e&&this._featureFormUNAssociationList&&(this._featureFormUNAssociationList.associationInput=e,this._featureFormUNAssociationList.viewModel=e.viewModel)}),s(()=>this.viewModel.inputs.filter(b),async e=>{this._featureFormUNAssociationList||await this._setUpUtilityNetworkAssociationList();for(let t of e)this._associationsWidgetsMap.has(t)||this._associationsWidgetsMap.set(t,await this._makeAssociationsWidget(t))})])}loadDependencies(){return F({block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),chip:()=>import(`@esri/calcite-components/dist/components/calcite-chip`),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`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),input:()=>import(`@esri/calcite-components/dist/components/calcite-input`),"input-date-picker":()=>import(`@esri/calcite-components/dist/components/calcite-input-date-picker`),"input-message":()=>import(`@esri/calcite-components/dist/components/calcite-input-message`),"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`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),"list-item":()=>import(`@esri/calcite-components/dist/components/calcite-list-item`),loader:()=>import(`@esri/calcite-components/dist/components/calcite-loader`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),"radio-button":()=>import(`@esri/calcite-components/dist/components/calcite-radio-button`),"radio-button-group":()=>import(`@esri/calcite-components/dist/components/calcite-radio-button-group`),switch:()=>import(`@esri/calcite-components/dist/components/calcite-switch`),"text-area":()=>import(`@esri/calcite-components/dist/components/calcite-text-area`)})}destroy(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode)}get _relatedRecordsEnabled(){let{callbacks:e}=this;return!!(e&&(e.addRelatedRecord||e.editRelatedRecord||e.showAllRelatedRecords))}get _utilityNetworkAssociationsEnabled(){let{callbacks:e}=this;return!!(e?.viewAssociatedLayers&&e.viewAssociatedFeatures)}get _subtypes(){return m(this.layer)}get associationId(){return this.viewModel.associationId}set associationId(e){this.viewModel.associationId=e}get associatedLayer(){return this.viewModel.associatedLayer}set associatedLayer(e){this.viewModel.associatedLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get feature(){return this.viewModel.feature}set feature(e){this.viewModel.feature=e}get formTemplate(){return this.viewModel.formTemplate}set formTemplate(e){this.viewModel.formTemplate=e}get icon(){return`form-field`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get callbacks(){return this.viewModel.callbacks}set callbacks(e){this.viewModel.callbacks=e}get relationshipId(){return this.viewModel.relationshipId}set relationshipId(e){this.viewModel.relationshipId=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get strict(){return this.viewModel.strict}set strict(e){this.viewModel.strict=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get showPrompt(){return e=>{this._prompt?.cancel?.(),this._prompt=e}}set showPrompt(e){this._overrideIfSome(`showPrompt`,e)}get clearPrompt(){return()=>this._prompt=null}set clearPrompt(e){this._overrideIfSome(`clearPrompt`,e)}getValues(){return this.viewModel.getValues()}submit(){return this.viewModel.submit()}render(){let{state:e}=this.viewModel;return Y(`div`,{class:this.classes(y.base,W.widget,W.panel)},e===`ready`?this._renderForm():null)}_renderForm(){return Y(`div`,null,Y(`form`,{class:y.form,inert:!!this._prompt,novalidate:!0,onkeydown:this._onFormKeyDown,onsubmit:this._onFormSubmit},this._renderReadOnlyNotice(),this._renderHeader(),this._renderContent()),this._prompt?Y(v,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderReadOnlyNotice(){let{disabled:e,messages:t}=this;if(e&&this.visibleElements.readOnlyNotice)return Y(`calcite-notice`,{class:y.disabledNotice,"data-testid":`read-only-notice`,icon:`read-only-non-editable`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},t.disabledForm))}_renderHeader(){let e=this.viewModel,{formTitle:t,formDescription:n}=e;if(!e.formHeaderVisible)return;let r=t!=null&&Y(G,{key:`title`,level:this.headingLevel},t),i=n!=null&&Y(`p`,{class:y.description,key:`description`},n);return Y(`div`,{class:y.formHeader},r,i)}_renderContent(){let{viewModel:e}=this;return e.activeRelationshipInput?this._renderRelationshipInput(e.activeRelationshipInput):e.activeAssociationInput?this._renderFeatureFormUtilityNetworkAssociationList():e.inputs.filter(r).filter(e=>e.visible).map(e=>this._renderInput(e))}_renderInput(e){if(x(e))return this._renderGroup(e);if(S(e))return this._renderLabeledField(e);if(C(e))return this._renderRelationshipInput(e);if(w(e))return this._renderTextElementInput(e);if(b(e))return this._renderUtilityNetworkAssociationsElementInput(e)}_renderFeatureFormUtilityNetworkAssociationList(){return this._featureFormUNAssociationList?.render()}_selectAssociatedLayer(e){let{feature:t,callbacks:n}=this;t&&n?.viewAssociatedFeatures&&n.viewAssociatedFeatures({associatedLayer:e.layer})}async _selectAssociatedFeature(e){let{feature:t,callbacks:n}=this;t&&n?.selectAssociatedFeature&&await n.selectAssociatedFeature({parentFeature:t,...e})}_onAddAssociation(e){let{feature:t,callbacks:n}=this;t&&n?.addAssociation&&n.addAssociation(e)}async _setUpUtilityNetworkAssociationList(){if(!this._featureFormUNAssociationList){let e=(await import(`./FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js`)).default;this._featureFormUNAssociationList=new e({onSelectLayer:this._selectAssociatedLayer.bind(this),onSelectFeature:this._selectAssociatedFeature.bind(this),onAddAssociation:this._onAddAssociation.bind(this)})}}async _makeAssociationsWidget(e){let t=(await import(`./Feature/FeatureUtilityNetworkAssociations.js`)).default;return new t({onSelectAssociationType:({viewModel:t,listType:n})=>{t.activeAssociationType=n;let{feature:r,callbacks:i}=this;r&&i?.viewAssociatedLayers&&i.viewAssociatedLayers({associationId:e.uid})},viewModel:e.associationsViewModel})}_renderUtilityNetworkAssociationsElementInput(e){if(this._utilityNetworkAssociationsEnabled)return this._associationsWidgetsMap.get(e)?.render()}_renderDescriptionOrEmpty(e,t){return e==null?null:Y(`div`,{class:this.classes(y.description),id:t},e)}_renderGroup(e){let{formTemplate:t,headingLevel:n}=this,{description:r,id:i,inputs:a,label:o,open:s}=e,c=a.filter(e=>e.visible),l=this.viewModel.findField(this._focusedFieldName)?.group===e,u=this.groupDisplay===`sequential`;return Y(`calcite-block`,{afterCreate:this._afterGroupCreate,class:this.classes(y.group,u?y.groupSequential:null,l?y.groupActive:null),collapsible:!0,"data-group":e,description:r||void 0,expanded:s,heading:o??``,headingLevel:t?.title?K(n):n,id:i,key:i,onCalciteBlockToggle:({currentTarget:t})=>this._onGroupToggle(t,e)},c.map(e=>this._renderInput(e)))}_getFocusableInput(e,t){let n=T(this.viewModel.inputs);e===`backward`&&n.reverse();let r;if(!t)r=0;else if(x(t)){let e=t.inputs.find(e=>e.visible);r=e?n.indexOf(e):0}else{let i;if(E(t)&&!t.group.open){let n=t.group.inputs.filter(S);i=e===`forward`?n[n.length-1]:n[0]}else i=t;r=n.indexOf(i)+1}for(let e=r;e<n.length;e++){let t=n[e];if(t.visible&&S(t)){if(this.disabled&&t.inputType&&(t.inputType===`switch`||t.inputType===`radio-buttons`))continue;return t}}return null}_renderLabeledField(e){let{dataType:n,feature:r,label:i,layer:a,required:o}=e,s={"aria-label":o?t(this.messages.requiredFieldLabel,{name:i}):i,class:y.label,key:`${a.id}-${r.uid}-${e.name}`},c=[Y(`div`,{class:y.labelTextContent,key:`labelTextContainer`},i,o?Y(`span`,{"aria-hidden":`true`,title:this.messagesCommon.required},`*`):void 0),n===`unsupported`?this._renderReadOnlyComponent(e):this._renderFieldInput(e),this._renderAuxiliaryText(e)];return Y(`calcite-label`,{...s},c)}_renderFieldInput(e){let{dataType:t,domain:n,inputType:r,name:i}=e,a=this.getCommonInputProps(e);if(n?.type===`coded-value`){let t=this.viewModel.getFieldValueOptionsForField(i,this.messages.empty);return r===`switch`&&!e.hasInvalidSwitchValue?this._renderSwitchComponent(e,a):r===`radio-buttons`?this._renderRadioButtonComponents(e,t.flat(),a):this._renderComboBoxComponent(e,t,a)}return r===`datetime-picker`||t===`date`?this._renderDateComponents(e,a):t===`number`?this._renderNumberComponent(e,a):this._renderStringComponent(e,a)}_renderStringComponent(e,t){return e.inputType===`text-area`?t.readOnly?Y(`calcite-text-area`,{...t,onCalciteTextAreaInput:e=>this._saveValueFromComponent(e.currentTarget)}):Y(`calcite-text-area`,{...t,resize:`vertical`,onCalciteTextAreaInput:e=>this._saveValueFromComponent(e.currentTarget)}):Y(`calcite-input`,{...t,loading:e.updating,type:`text`,onCalciteInputInput:e=>this._saveValueFromComponent(e.currentTarget)})}_renderNumberComponent(e,t){let n=f(e.field),r=n&&t.value!==``?Math.round(parseFloat(t.value)).toString():t.value;return Y(`calcite-input-number`,{...t,integer:n,loading:e.updating,step:n?1:`any`,type:`number`,value:r,onCalciteInputNumberInput:e=>this._saveValueFromComponent(e.currentTarget)})}_renderDateComponents(e,t){let{field:n}=e;switch(n.type){case`date`:return this._renderDateFieldComponents(e,t);case`date-only`:return this._renderDateOnlyFieldComponent(e,t);case`time-only`:return this._renderTimeOnlyFieldComponent(e,t);case`timestamp-offset`:return this._renderTimestampOffsetFieldComponents(e,t);default:return this._renderReadOnlyComponent(e,I(n,t.value,{timeZone:this.timeZone,...L(n)}))}}_renderDateOnlyFieldComponent(e,t){let{range:n,valid:r,value:i}=e,{class:a,key:o,readOnly:s}=t,{rawMax:c,rawMin:l}=n;return Y(`calcite-input-date-picker`,{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!r,class:a,"data-date-part":`date`,"data-field-name":t[Z],key:`${o}-date-input`,max:g(c)?c:void 0,min:g(l)?l:void 0,numberingSystem:R,overlayPositioning:`fixed`,readOnly:s,topLayerDisabled:this.topLayerDisabled,value:i==null?void 0:`${i}`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget),onfocus:this._onComponentFocus})}_renderTimeOnlyFieldComponent(e,t){let{valid:n,value:r}=e,{class:i,key:a,readOnly:o}=t;return Y(`calcite-input-time-picker`,{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!n,class:i,"data-date-part":`time`,"data-field-name":t[Z],key:`${a}-time-input`,numberingSystem:R,overlayPositioning:`fixed`,readOnly:o,step:e.timeStep,value:r==null?void 0:`${r}`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget),onfocus:this._onComponentFocus})}_renderTimestampOffsetFieldComponents(e,t){let{name:n,range:r,timeZone:i,valid:a,value:o}=e,{class:s,key:c,readOnly:l}=t,{rawMax:u,rawMin:d}=r,f={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!a,numberingSystem:R,overlayPositioning:`fixed`,readOnly:l,[Z]:n,onfocus:this._onComponentFocus},p=z(u,i),m=z(d,i),h=z(o,i);return Y(`div`,{class:y.dateInputContainer,key:`${c}-date-time-container`},Y(`calcite-input-date-picker`,{...f,class:s,"data-date-part":`date`,key:`${c}-date-input`,max:p?.date??void 0,min:m?.date??void 0,topLayerDisabled:this.topLayerDisabled,value:h.date??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),Y(`calcite-input-time-picker`,{...f,class:s,"data-date-part":`time`,key:`${c}-time-input`,step:e.timeStep,value:h.time??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),e.includeTimeOffset?Y(`calcite-input-time-zone`,{...f,class:s,"data-date-part":`timeZone`,disabled:l,key:`${c}-timezone-input`,value:h.timeZoneOffset??`0`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimeZoneChange:e=>this._saveValueFromDateComponent(e.currentTarget)}):null)}_renderDateFieldComponents(e,t){let{includeTime:n,name:r,valid:i,value:a}=e,{class:o,key:s,max:c,min:l,readOnly:u}=t,{timeZone:d}=this,f={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!i,numberingSystem:R,overlayPositioning:`fixed`,readOnly:u,[Z]:r,onfocus:this._onComponentFocus},p=B(a,d),m=B(c,d),h=B(l,d);return Y(`div`,{class:y.dateInputContainer,key:`${s}-date-time-container`},Y(`calcite-input-date-picker`,{...f,class:o,"data-date-part":`date`,key:`${s}-date-input`,max:m?.date??void 0,min:h?.date??void 0,topLayerDisabled:this.topLayerDisabled,value:p.date??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),n?Y(`calcite-input-time-picker`,{...f,class:o,"data-date-part":`time`,key:`${s}-time-input`,step:1,value:p.time??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}):null)}_renderReadOnlyComponent(e,t){let n=this.getCommonInputProps(e);return Y(`calcite-input`,{...n,class:this.classes(y.fieldInput,y.inputDisabled),readOnly:!0,type:`text`,value:t==null?n.value:`${t}`})}_renderComboBoxComponent(e,t,n){let{value:r,name:i}=e,{viewModel:a,_inputsWithChanges:o}=this,s=a.editType===`INSERT`,c=o.has(i),l=r==null&&(!s||c),u=s&&e.showNoValueOptionEnabled&&!c?()=>{}:n.onblur;return Y(`calcite-combobox`,{...n,allowCustomValues:!1,clearDisabled:!0,overlayPositioning:`fixed`,selectionMode:`single`,topLayerDisabled:this.topLayerDisabled,onblur:u,onCalciteComboboxChange:({currentTarget:t})=>{l&&t.selectedItems.length===0?this._ignoreDeselectionOfNoValueOption(t):e.isSubtypeField&&t.selectedItems.length===0?t.value=`${e.value}`:this._saveValueFromComponent(t)}},this.renderComboboxOptionsList(e,t))}renderComboboxOptionsList(e,t){let{value:n,name:r}=e,{messages:i,messagesTemplates:a,viewModel:o,_inputsWithChanges:s}=this,[c,l,u]=t.map(e=>e.map(({name:e,value:t})=>Y(`calcite-combobox-item`,{heading:e,key:`#${t}`,selected:n===t,value:`${t}`}))),d=[];l.length>0&&d.push(Y(`calcite-combobox-item-group`,{key:`other`,label:a.other},l)),u.length>0&&d.push(Y(`calcite-combobox-item-group`,{key:`unsupported`,label:i.subtypes.unsupportedDomainGroupTitle},u)),d.length>0?d.unshift(Y(`calcite-combobox-item-group`,{key:`recommended`,label:i.recommended},c)):d.push(...c);let f=o.editType===`INSERT`,p=s.has(r),m=n==null&&(!f||p);return e.showNoValueOptionEnabled&&d.unshift(Y(`calcite-combobox-item`,{heading:e.showNoValueLabel||i.empty,key:`empty-option`,selected:m,value:``})),d}_renderRadioButtonComponents(e,t,n){let{value:r}=e,i=t.map(({name:e,value:t})=>this._renderRadioButtonComponent({key:e,label:e,value:t,selected:t===r,props:n}));if(e.showNoValueOptionEnabled){let t=e.showNoValueLabel||this.messages.empty,a=r===``||r===null;i.unshift(this._renderRadioButtonComponent({key:`empty-option`,label:t,value:``,selected:a,props:n}))}return Y(`calcite-radio-button-group`,{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:y.inputRadioGroup,"data-field-name":n[Z],key:`${n.key}-radio-group`,layout:`vertical`,name:`${n.key}-${this.id}`,required:n.required},i)}_renderSwitchComponent(e,t){let{value:n}=e,r=D(e.element,`switch`)?n===e.element.input.onValue:!1;return Y(`calcite-switch`,{...t,checked:r,class:y.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldName=null},onCalciteSwitchChange:e=>this._saveValueFromComponent(e.currentTarget)})}_renderRadioButtonComponent({key:e,value:t,selected:n,label:r,props:i}){return Y(`calcite-label`,{class:y.inputRadioLabel,key:e,layout:`inline`},Y(`calcite-radio-button`,{...i,afterCreate:void 0,afterUpdate:void 0,checked:n,class:y.inputRadio,disabled:i.readOnly,value:t,onblur:()=>{this._focusedFieldName=null},onCalciteRadioButtonChange:({currentTarget:e})=>{e.checked&&this._saveValueFromComponent(e)}}),r)}_renderAuxiliaryText(e){let t=e.name,n=this._inputsWithChanges.has(t)&&!e.submittable?O(e,this.messages,this.timeZone):this.viewModel.contingencyConstraintViolations.get(t)==null?e.valueExpressionExecutor!=null&&e.valueExpressionExecutor.stale?this.messages.valueExpressionError:null:this.messages.validationErrors.valuesIncompatible;return n==null?this._inputsWithChanges.has(t)&&e.valueIsOutOfDomain?Y(`calcite-input-message`,{icon:!0,status:`idle`},this.messages.subtypes.fieldOutOfSubtypeDomainWarning):this._renderDescriptionOrEmpty(e.description):Y(`calcite-input-message`,{icon:!0,status:`invalid`},n)}_renderShowAllRelatedRecordsListItem(e){if(!e.showAllActionVisible||!this.callbacks?.showAllRelatedRecords)return;let n=this.messages;return Y(`calcite-list-item`,{description:t(n.totalCount,{count:e.featureCount}),key:`show-all-related-features`,label:n.showAll,value:!0,onCalciteListItemSelect:()=>this._onShowAllRelatedRecordsClick(e.relationshipId)},Y(`calcite-icon`,{icon:`list`,scale:`s`,slot:`content-end`}))}_renderAddRelatedRecordButton(e){let{canAddRelatedFeature:t,relationshipId:n,relatedLayer:r,editable:i}=e,{messages:a,callbacks:o,disabled:s}=this,c=!i||s;if(t&&o?.addRelatedRecord&&r&&!c)return Y(`calcite-button`,{alignment:`center`,appearance:`outline-fill`,class:y.centeredButton,disabled:e.updating||!e.originHasValidKey,iconStart:`plus`,key:`${n}-add-button`,round:!0,scale:`s`,width:`full`,onclick:()=>{!e.updating&&e.originHasValidKey&&this._onAddRelatedRecordsClick(e,n,r)}},e.relatedLayerIsTable?a.addRecord:a.addFeature)}_renderRelatedRecordListItem(e,t,n){let{feature:r,description:i,title:a}=e,{feature:o,callbacks:s}=this,{highlightHelper:c}=this.viewModel,l=()=>{c?.removeAll(),s?.editRelatedRecord&&o&&s.editRelatedRecord({parentFeature:o,relationshipId:t,relatedFeature:r,readOnly:n})},u=c?()=>c.add(r):void 0,d=c?()=>c.remove(r):void 0;return Y(`calcite-list-item`,{bind:this,description:i,key:`${t}-${r.uid}`,label:a,value:a,onCalciteListItemSelect:l,onmouseenter:u,onmouseleave:d},Y(`calcite-icon`,{icon:k(r),slot:`content-start`}),Y(`calcite-icon`,{flipRtl:!0,icon:`chevron-right`,scale:`s`,slot:`content-end`}))}_renderRelationshipInput(e){if(!this._relatedRecordsEnabled)return;let{relationshipId:t,activeCategory:n}=e,r=n?null:this._renderDescriptionOrEmpty(e.description);return Y(`calcite-label`,{class:this.classes(y.label,y.relatedRecordsLabel),key:`relationship-${t}-container`},Y(`div`,null,this._renderRelatedRecordsHeaderContainer(e),r,this._renderRelationshipInputContent(e)),this._renderAddRelatedRecordButton(e))}_renderRelationshipInputContent(e){if(e.featureCount>0)return this._renderRelatedRecordsList(e);if(e.activeCategory&&e.featureCount===0)return this._renderNoRelatedRecordsNotice();if(e.allCategories?.length)return this._renderCategoryList(e);if(e.loaded)return e.originHasValidKey?this._renderNoRelatedRecordsNotice():this._renderNoValidOriginKeyNotice(e)}_renderCategoryList(e){return Y(`calcite-list`,{displayMode:`flat`,label:this.messages.relatedRecordsList,loading:e.updating},e.categories?.map(t=>this._renderCategory(e,t)),this._renderShowAllCategoriesListItem(e))}_renderCategory(e,t){let{count:r,name:i,value:a}=t,o=n(r);return Y(`calcite-list-item`,{key:`${i}-${a}`,label:i,onCalciteListItemSelect:()=>this._selectCategory(e,t)},Y(`calcite-chip`,{label:o,scale:`s`,slot:`content-end`},o),Y(`calcite-icon`,{flipRtl:!0,icon:`chevron-right`,scale:`s`,slot:`content-end`}))}_selectCategory(e,t){this.relationshipId=e.relationshipId,e.activeCategory=t}_renderShowAllCategoriesListItem(e){if(!e.showAllCategoriesVisible)return;let n=this.messages;return Y(`calcite-list-item`,{description:t(n.totalCount,{count:e.allCategories?.length??0}),key:`show-all-categories`,label:n.showAll,value:!0,onCalciteListItemSelect:()=>e.showAllEnabled=!0},Y(`calcite-icon`,{icon:`list`,scale:`s`,slot:`content-end`}))}_renderRelatedRecordsHeaderContainer(e){let t=e.updating||!e.loaded;return Y(`div`,{class:y.relatedRecordsHeader,key:`relationship-${e.relationshipId}-header`},Y(`span`,null,e.label),t?Y(`calcite-loader`,{inline:!0,key:`loader`,label:this.messagesCommon?.loading,scale:`s`,type:`indeterminate`}):void 0)}_renderRelatedRecordsList(e){let{relationshipId:t,editable:n}=e,{disabled:r}=this,i=!n||r;return Y(`calcite-list`,{class:y.relatedRecordsList,label:this.messages?.relatedRecordsList},e.relatedFeatureInfos.map(e=>this._renderRelatedRecordListItem(e,t,i)),this._renderShowAllRelatedRecordsListItem(e),this._renderObserverNode())}_renderNoValidOriginKeyNotice(e){let{messages:n}=this,r=e.relatedLayerIsTable?n.noOriginKeyRecord:n.noOriginKeyFeature,i=e.relationship?.keyField,a=this.viewModel.findField(i),o=e.layer?.fieldsIndex.get(i),s=a?.label||o?.alias||i,c=t(r,{relatedLayerName:e.relatedLayer?.title,originKeyField:s});return Y(`calcite-notice`,{icon:`information`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},c))}_renderNoRelatedRecordsNotice(){return Y(`calcite-notice`,{icon:`information`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},this.messagesFeature.noRelatedFeatures))}_renderObserverNode(){if(this.viewModel.activeRelationshipInput?.showAllEnabled)return Y(`div`,{afterCreate:this._afterListObserverCreated,afterRemoved:this._afterListObserverRemoved,bind:this,class:y.listObserver,key:`feature-observer`})}_renderTextElementInput(e){return Y(`div`,{class:y.textElement,"data-testid":`text-element-${e.label}`,innerHTML:e.text,key:e.id})}getCommonInputProps(e){let{disabled:t}=this,{editable:n,hint:r,label:i,maxLength:a,minLength:o,name:s,range:{max:c,min:l},required:u,valid:d,value:f}=e,p=this._inputsWithChanges.has(s),m=!n||t;return{afterCreate:this._afterComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":d?`false`:`true`,class:this.classes(y.fieldInput,m?y.inputDisabled:null),status:p&&!d?`invalid`:`idle`,key:s,label:i,max:c??void 0,min:l??void 0,maxLength:a>-1?a:void 0,minLength:o>-1?o:void 0,placeholder:r??void 0,readOnly:m,required:u,value:f==null?``:`${f}`,onblur:this._onComponentBlur,onfocus:this._onComponentFocus,onkeydown:this._onComponentKeyDown,[Z]:s}}_getFieldInputFromHTMLElement(e){return this.viewModel.findField(e.getAttribute(Z))}_afterDateComponentCreate(e){let t=this._getFieldInputFromHTMLElement(e),n=e.dataset.datePart,r=this._dateComponentMap.get(t.name);if(`valueAsDate`in e&&e.value!=null&&t.value!=null){let n=new ResizeObserver(()=>{switch(e.value=void 0,t.field.type){case`date`:e.value=B(t.value,this.timeZone).date??``;break;case`timestamp-offset`:e.value=z(t.value,this.timeZone).date??``;break;default:e.value=`${t.value}`}n.unobserve(e)});n.observe(e)}if(r!=null)switch(n){case`date`:r.date=e;break;case`time`:r.time=e;break;case`timeZone`:r.timeZone=e}else this._dateComponentMap.set(t.name,{[n]:e});this._afterDateComponentCreateOrUpdate(e)}_afterDateComponentCreateOrUpdate(e){this._afterComponentCreateOrUpdate(e)}_afterComponentCreate(e){let t=this._getFieldInputFromHTMLElement(e);A(t)&&e.value!=null&&`setNumberValue`in e&&e.setNumberValue({committing:!1,value:e.value,origin:`direct`}),this._afterComponentCreateOrUpdate(e)}_afterRadioGroupCreateOrUpdate(e){let t=e.selectedItem,n=e.querySelector(`calcite-radio-button`),r=t||n;r&&this._afterComponentCreateOrUpdate(r)}_afterComponentCreateOrUpdate(e){let{viewModel:t}=this,n=this._getFieldInputFromHTMLElement(e),r=t.findField(this._focusedFieldName);this._attemptFocusOnNextRender&&r===n&&(this._attemptFocusOnNextRender=!1,E(n)&&(n.group.open=!0),X(e))}async _afterGroupCreate(e){let t=this.viewModel.findGroup(e.id),n=this.viewModel.findField(this._focusedFieldName);n&&t&&j(n,t)&&(!n.editable||this.disabled)&&(await e.componentOnReady(),this._attemptFocusOnNextRender=!0,this.scheduleRender())}_onComponentFocus(e){let t=e.target,n=this._getFieldInputFromHTMLElement(t);this._focusedFieldName=n.name}_onComponentBlur(e){let t=e.target;this._focusedFieldName=null,`readOnly`in t&&t.readOnly||this._saveValueFromComponent(t)}_saveValueFromDateComponent(e){let{timeZone:t}=this,n=this._getFieldInputFromHTMLElement(e),r=n.field.type,{name:i,range:a}=n,o=this._dateComponentMap.get(i);if(!o)return;let s=this.viewModel.getValue(i),c=null;r===`date-only`?c=Array.isArray(e.value)?e.value[0]:e.value:r===`time-only`?(s=V(s),c=V(e.value)):c=r===`timestamp-offset`?e.value==null?null:H({dateComponent:o.date,timeComponent:o.time,timeZoneComponent:o.timeZone,oldValue:s,defaultTimeZone:t}):e.value==null?null:U({oldValue:s,dateComponent:o.date,timeComponent:o.time,timeZone:t,max:a.max,min:a.min}),c===null||!e.value?this._updateFieldValue(i,null):s!==c&&this._updateFieldValue(i,c)}_saveValueFromComponent(e){let t=this._getFieldInputFromHTMLElement(e),n=this._parseValue(e),r=t.value;!t.isSubtypeField||!M(this.layer,r,n)?this._updateFieldValue(t.name,n):!this._pendingSubtypeChoice&&n!==r&&(this._pendingSubtypeChoice=this._handleSubtypeChoice(t,n))}async _handleSubtypeChoice(e,n){let{value:r,name:i}=e,{messages:a,viewModel:o,messagesCommon:s,_subtypes:c}=this;if(this._updateFieldValue(i,n),!c?.length)return;let l=c.find(e=>e.code===n),u=c.find(e=>e.code===r)?.name??`${r}`;if(!l)return;let d=Promise.withResolvers();o.pendingSubtypeChoice=d;let f=`update-fields`,p=[{label:a.subtypes.useDefaultValuesOption,value:`update-fields`},{label:a.subtypes.keepCurrentValuesOption,value:`keep-existing`}],m={context:`info`,title:a.subtypes.changeWarningTitle,message:t(a.subtypes.changeWarning,{originalType:u,newType:l.name}),radios:p,defaultRadioSelection:`update-fields`,onRadioSelection:e=>f=e,actions:{primary:{label:s.apply,action:()=>d.resolve(f),type:`positive`},secondary:{label:s.cancel,type:`neutral`,action:()=>d.resolve(`undo`)}},cancel:()=>d.reject()};try{switch(this.showPrompt(m),await d.promise){case`update-fields`:o.applySubtypeDefaults(l),this._validateContingenciesForNonNullFields();break;case`keep-existing`:this._validateContingenciesForNonNullFields();break;case`undo`:this._updateFieldValue(e.name,r)}}finally{o.pendingSubtypeChoice=null,this.clearPrompt(),this._pendingSubtypeChoice=null}}_onComponentKeyDown({key:e,target:t}){let n=this._getFieldInputFromHTMLElement(t);e===`Enter`&&E(n)&&!n.group.open&&(n.group.open=!0)}_updateFieldValue(e,t){let n=this.viewModel.getValue(e);this.viewModel.setValue(e,t),this._inputsWithChanges.add(e),n!==t&&this.viewModel.fieldsWithContingentValues.has(e)&&this._validateContingenciesForNonNullFields()}_validateContingenciesForNonNullFields(){let e=Object.fromEntries(Object.entries(this.getValues()).filter(([e,t])=>t!=null));this.viewModel.validateContingencyConstraints(e)}_parseValue(e){let t=this._getFieldInputFromHTMLElement(e),n=e.value;return D(t.element,`switch`)?e.checked?t.element.input.onValue:t.element.input.offValue:n==null||n===``?null:t.dataType===`number`?n===`-0`||n===`-0.`||n===`-0,`?n:parseFloat(n):t.field.type===`date`?parseFloat(n):n}_ignoreDeselectionOfNoValueOption(e){let{firstChild:t,selectedItems:n}=e;n.length===0&&t&&`selected`in t?t.selected=!0:a.getLogger(this).warnOnce(`Failed to override user attempt to deselect 'No value' option.`)}_onGroupToggle(e,t){e.expanded?(t.open=!0,this._focusedFieldName=this._getFocusableInput(`forward`,t)?.name||null,this._attemptFocusOnNextRender=!0,this.groupDisplay===`sequential`&&this.viewModel.allGroupInputs.forEach(e=>{e!==t&&(e.open=!1)})):t.open=!1,this.scheduleRender()}_onFormSubmit(e){e.preventDefault()}_onFormKeyDown(e){e.key===`Enter`&&this.viewModel.submit()}_afterListObserverCreated(e){this.viewModel.activeRelationshipInput&&(this._listObserverNode=e)}_afterListObserverRemoved(){this._listObserverNode=null}_onObserverChange(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode);let e=this.viewModel.activeRelationshipInput;e&&this._listObserverNode&&e.showAllEnabled&&this._listObserver.observe(this._listObserverNode)}_incrementRelatedRecordPage(){this.viewModel.activeRelationshipInput?.incrementPage()}_syncGroupInputStates(){if(this.groupDisplay!==`sequential`)return;let e=this.viewModel.allGroupInputs;if(!e.length)return;let t=e.filter(e=>e.open);t.length===0?e[0].open=!0:t.length>1&&t.slice(1).forEach(e=>e.open=!1)}get test(){return{inputsWithChanges:this._inputsWithChanges,updateValue:this._saveValueFromComponent.bind(this)}}};e([u()],Q.prototype,`_listObserverNode`,void 0),e([u()],Q.prototype,`_relatedRecordsEnabled`,null),e([u()],Q.prototype,`_utilityNetworkAssociationsEnabled`,null),e([u()],Q.prototype,`_prompt`,void 0),e([u()],Q.prototype,`_subtypes`,null),e([u()],Q.prototype,`associationId`,null),e([u()],Q.prototype,`associatedLayer`,null),e([u()],Q.prototype,`disabled`,null),e([u()],Q.prototype,`feature`,null),e([u()],Q.prototype,`_featureFormUNAssociationList`,void 0),e([u()],Q.prototype,`formTemplate`,null),e([u()],Q.prototype,`groupDisplay`,void 0),e([u()],Q.prototype,`headingLevel`,void 0),e([u()],Q.prototype,`icon`,null),e([u()],Q.prototype,`label`,null),e([u()],Q.prototype,`layer`,null),e([u()],Q.prototype,`map`,null),e([u(),q(`esri/widgets/FeatureForm/t9n/FeatureForm`)],Q.prototype,`messages`,void 0),e([u(),q(`esri/t9n/common`)],Q.prototype,`messagesCommon`,void 0),e([u(),q(`esri/widgets/Feature/t9n/Feature`)],Q.prototype,`messagesFeature`,void 0),e([u(),q(`esri/widgets/FeatureTemplates/t9n/FeatureTemplates`)],Q.prototype,`messagesTemplates`,void 0),e([u()],Q.prototype,`callbacks`,null),e([u()],Q.prototype,`relationshipId`,null),e([u()],Q.prototype,`spatialReference`,null),e([u()],Q.prototype,`strict`,null),e([u()],Q.prototype,`timeZone`,null),e([u()],Q.prototype,`showPrompt`,null),e([u()],Q.prototype,`clearPrompt`,null),e([u({type:N}),J([`value-change`,`submit`])],Q.prototype,`viewModel`,void 0),e([u({type:P,nonNullable:!0})],Q.prototype,`visibleElements`,void 0),e([u()],Q.prototype,`test`,null),Q=e([d(`esri.widgets.FeatureForm`)],Q);const $=Q;export{$ as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import{substitute as t,formatNumber as n}from"../intl.js";import{isSome as r}from"../core/arrayUtils.js";import{deprecateWidget as i}from"../core/deprecate.js";import a from"../core/Logger.js";import o from"../core/ReactiveMap.js";import{watch as s,whenOnce as c,initial as l}from"../core/reactiveUtils.js";import{property as u,subclass as d}from"../core/accessorSupport/decorators.js";import{isIntegerField as f}from"../layers/support/fieldUtils.js";import{isSubtypeGroupLayer as p,getSubtypesFromLayer as m}from"../layers/support/layerUtils.js";import{isRelatableFeatureSupportedLayer as h}from"../popup/support/featureUtils.js";import{isString as g}from"../support/guards.js";import _ from"./Widget.js";import{Prompt as v}from"./Editor/components/Prompt.js";import{css as y}from"./FeatureForm/css.js";import{isUtilityNetworkAssociationInput as b,isGroupInput as x,isFieldInput as S,isRelationshipInput as C,isTextElementInput as w,flattenInputs as T,isInputInGroupInput as E,isFieldElementWithInputType as D,getErrorMessageForFieldInput as O,getIconForFeature as k,isNumberFieldInput as A,isInputInThisGroupInput as j,subtypeChangeShouldPrompt as M}from"./FeatureForm/featureFormUtils.js";import N from"./FeatureForm/FeatureFormViewModel.js";import P from"./FeatureForm/VisibleElements.js";import{loadCalciteComponents as F}from"./support/componentsUtils.js";import{getLabelForDateFieldValue as I,getIntlOptionsForField as L,numberingSystem as R,prepareISOFieldValueForDateComponents as z,prepareUnixFieldValueForDateComponents as B,normalizeTimeOnlyString as V,getISOFieldValueFromDateComponents as H,getUnixFieldValueFromDateComponents as U}from"./support/dateUtils.js";import{globalCss as W}from"./support/globalCss.js";import{Heading as G,incrementHeadingLevel as K}from"./support/Heading.js";import{messageBundle as q,vmEvent as J,tsx as Y}from"./support/widget.js";import{setFocus as X}from"./support/widgetUtils.js";const Z=`data-field-name`;let Q=class extends _{constructor(e,t){super(e,t),this._associationsWidgetsMap=new o,this._attemptFocusOnNextRender=!1,this._dateComponentMap=new Map,this._inputsWithChanges=new Set,this._focusedFieldName=null,this._pendingSubtypeChoice=null,this._listObserverNode=null,this._listObserver=new IntersectionObserver(e=>{e.length&&e[0].isIntersecting&&this._incrementRelatedRecordPage()},{root:window.document}),this._prompt=null,this._featureFormUNAssociationList=null,this.groupDisplay=`all`,this.headingLevel=2,this.messages=null,this.messagesCommon=null,this.messagesFeature=null,this.messagesTemplates=null,this.viewModel=new N,this.visibleElements=new P,this._onShowAllRelatedRecordsClick=e=>{let{feature:t,callbacks:n}=this;t&&n?.showAllRelatedRecords&&n.showAllRelatedRecords({parentFeature:t,relationshipId:e})},this._onAddRelatedRecordsClick=(e,t,n)=>{let{feature:r,callbacks:i}=this,a=n;if(r&&i?.addRelatedRecord){if(p(n)&&e.activeCategory){let t=e.activeCategory.value,r=n.findSublayerForSubtypeCode(t);r&&h(r)&&(a=r)}i.addRelatedRecord({parentFeature:r,relatedLayer:a,relationshipId:t})}},e?.suppressDeprecationWarning||(this.announceDeprecation=()=>{i(a.getLogger(this),`Feature Form`,`arcgis-feature-form`,{version:`5.0`})}),this._onFormKeyDown=this._onFormKeyDown.bind(this),this._onFormSubmit=this._onFormSubmit.bind(this),this._onGroupToggle=this._onGroupToggle.bind(this),this._onComponentBlur=this._onComponentBlur.bind(this),this._onComponentFocus=this._onComponentFocus.bind(this),this._onComponentKeyDown=this._onComponentKeyDown.bind(this),this._afterComponentCreate=this._afterComponentCreate.bind(this),this._afterComponentCreateOrUpdate=this._afterComponentCreateOrUpdate.bind(this),this._afterDateComponentCreate=this._afterDateComponentCreate.bind(this),this._afterDateComponentCreateOrUpdate=this._afterDateComponentCreateOrUpdate.bind(this),this._afterRadioGroupCreateOrUpdate=this._afterRadioGroupCreateOrUpdate.bind(this),this._afterGroupCreate=this._afterGroupCreate.bind(this)}normalizeCtorArgs(e={}){let{suppressDeprecationWarning:t,...n}=e;return n}initialize(){this.addHandles([s(()=>this.feature,()=>{this._inputsWithChanges.clear(),this._dateComponentMap.clear(),c(()=>!this.viewModel.updating).then(()=>{let e=this._getFocusableInput(`forward`);this._syncGroupInputStates(),this._focusedFieldName=e?.name||null,this._attemptFocusOnNextRender=!0})}),s(()=>[this._featureFormUNAssociationList,this.visibleElements.associationDetails],([e,t])=>{e&&(e.visibleElements.associationDetails=t)},l),s(()=>this.groupDisplay,()=>this._syncGroupInputStates()),this.on(`submit`,e=>{if(e.invalid.length>0){let[t]=e.invalid;e.invalid.forEach(e=>this._inputsWithChanges.add(e)),this._focusedFieldName=t,this._attemptFocusOnNextRender=!0,this.scheduleRender()}}),s(()=>[this.viewModel.activeRelationshipInput,this._listObserverNode],()=>this._onObserverChange()),s(()=>this.viewModel.activeAssociationInput,e=>{e&&this._featureFormUNAssociationList&&(this._featureFormUNAssociationList.associationInput=e,this._featureFormUNAssociationList.viewModel=e.viewModel)}),s(()=>this.viewModel.inputs.filter(b),async e=>{this._featureFormUNAssociationList||await this._setUpUtilityNetworkAssociationList();for(let t of e)this._associationsWidgetsMap.has(t)||this._associationsWidgetsMap.set(t,await this._makeAssociationsWidget(t))})])}loadDependencies(){return F({block:()=>import(`@esri/calcite-components/dist/components/calcite-block`),button:()=>import(`@esri/calcite-components/dist/components/calcite-button`),chip:()=>import(`@esri/calcite-components/dist/components/calcite-chip`),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`),icon:()=>import(`@esri/calcite-components/dist/components/calcite-icon`),input:()=>import(`@esri/calcite-components/dist/components/calcite-input`),"input-date-picker":()=>import(`@esri/calcite-components/dist/components/calcite-input-date-picker`),"input-message":()=>import(`@esri/calcite-components/dist/components/calcite-input-message`),"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`),list:()=>import(`@esri/calcite-components/dist/components/calcite-list`),"list-item":()=>import(`@esri/calcite-components/dist/components/calcite-list-item`),loader:()=>import(`@esri/calcite-components/dist/components/calcite-loader`),notice:()=>import(`@esri/calcite-components/dist/components/calcite-notice`),"radio-button":()=>import(`@esri/calcite-components/dist/components/calcite-radio-button`),"radio-button-group":()=>import(`@esri/calcite-components/dist/components/calcite-radio-button-group`),switch:()=>import(`@esri/calcite-components/dist/components/calcite-switch`),"text-area":()=>import(`@esri/calcite-components/dist/components/calcite-text-area`)})}destroy(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode)}get _relatedRecordsEnabled(){let{callbacks:e}=this;return!!(e&&(e.addRelatedRecord||e.editRelatedRecord||e.showAllRelatedRecords))}get _utilityNetworkAssociationsEnabled(){let{callbacks:e}=this;return!!(e?.viewAssociatedLayers&&e.viewAssociatedFeatures)}get _subtypes(){return m(this.layer)}get associationId(){return this.viewModel.associationId}set associationId(e){this.viewModel.associationId=e}get associatedLayer(){return this.viewModel.associatedLayer}set associatedLayer(e){this.viewModel.associatedLayer=e}get disabled(){return this.viewModel.disabled}set disabled(e){this.viewModel.disabled=e}get feature(){return this.viewModel.feature}set feature(e){this.viewModel.feature=e}get formTemplate(){return this.viewModel.formTemplate}set formTemplate(e){this.viewModel.formTemplate=e}get icon(){return`form-field`}set icon(e){this._overrideIfSome(`icon`,e)}get label(){return this.messages?.widgetLabel??``}set label(e){this._overrideIfSome(`label`,e)}get layer(){return this.viewModel.layer}set layer(e){this.viewModel.layer=e}get map(){return this.viewModel.map}set map(e){this.viewModel.map=e}get callbacks(){return this.viewModel.callbacks}set callbacks(e){this.viewModel.callbacks=e}get relationshipId(){return this.viewModel.relationshipId}set relationshipId(e){this.viewModel.relationshipId=e}get spatialReference(){return this.viewModel.spatialReference}set spatialReference(e){this.viewModel.spatialReference=e}get strict(){return this.viewModel.strict}set strict(e){this.viewModel.strict=e}get timeZone(){return this.viewModel.timeZone}set timeZone(e){this.viewModel.timeZone=e}get showPrompt(){return e=>{this._prompt?.cancel?.(),this._prompt=e}}set showPrompt(e){this._overrideIfSome(`showPrompt`,e)}get clearPrompt(){return()=>this._prompt=null}set clearPrompt(e){this._overrideIfSome(`clearPrompt`,e)}getValues(){return this.viewModel.getValues()}submit(){return this.viewModel.submit()}render(){let{state:e}=this.viewModel;return Y(`div`,{class:this.classes(y.base,W.widget,W.panel)},e===`ready`?this._renderForm():null)}_renderForm(){return Y(`div`,null,Y(`form`,{class:y.form,inert:!!this._prompt,novalidate:!0,onkeydown:this._onFormKeyDown,onsubmit:this._onFormSubmit},this._renderReadOnlyNotice(),this._renderHeader(),this._renderContent()),this._prompt?Y(v,{...this._prompt,headingLevel:this.headingLevel}):void 0)}_renderReadOnlyNotice(){let{disabled:e,messages:t}=this;if(e&&this.visibleElements.readOnlyNotice)return Y(`calcite-notice`,{class:y.disabledNotice,"data-testid":`read-only-notice`,icon:`read-only-non-editable`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},t.disabledForm))}_renderHeader(){let e=this.viewModel,{formTitle:t,formDescription:n}=e;if(!e.formHeaderVisible)return;let r=t!=null&&Y(G,{key:`title`,level:this.headingLevel},t),i=n!=null&&Y(`p`,{class:y.description,key:`description`},n);return Y(`div`,{class:y.formHeader},r,i)}_renderContent(){let{viewModel:e}=this;return e.activeRelationshipInput?this._renderRelationshipInput(e.activeRelationshipInput):e.activeAssociationInput?this._renderFeatureFormUtilityNetworkAssociationList():e.inputs.filter(r).filter(e=>e.visible).map(e=>this._renderInput(e))}_renderInput(e){if(x(e))return this._renderGroup(e);if(S(e))return this._renderLabeledField(e);if(C(e))return this._renderRelationshipInput(e);if(w(e))return this._renderTextElementInput(e);if(b(e))return this._renderUtilityNetworkAssociationsElementInput(e)}_renderFeatureFormUtilityNetworkAssociationList(){return this._featureFormUNAssociationList?.render()}_selectAssociatedLayer(e){let{feature:t,callbacks:n}=this;t&&n?.viewAssociatedFeatures&&n.viewAssociatedFeatures({associatedLayer:e.layer})}async _selectAssociatedFeature(e){let{feature:t,callbacks:n}=this;t&&n?.selectAssociatedFeature&&await n.selectAssociatedFeature({parentFeature:t,...e})}_onAddAssociation(e){let{feature:t,callbacks:n}=this;t&&n?.addAssociation&&n.addAssociation(e)}async _setUpUtilityNetworkAssociationList(){if(!this._featureFormUNAssociationList){let e=(await import(`./FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js`)).default;this._featureFormUNAssociationList=new e({onSelectLayer:this._selectAssociatedLayer.bind(this),onSelectFeature:this._selectAssociatedFeature.bind(this),onAddAssociation:this._onAddAssociation.bind(this)})}}async _makeAssociationsWidget(e){let t=(await import(`./Feature/FeatureUtilityNetworkAssociations.js`)).default;return new t({onSelectAssociationType:({viewModel:t,listType:n})=>{t.activeAssociationType=n;let{feature:r,callbacks:i}=this;r&&i?.viewAssociatedLayers&&i.viewAssociatedLayers({associationId:e.uid})},viewModel:e.associationsViewModel})}_renderUtilityNetworkAssociationsElementInput(e){if(this._utilityNetworkAssociationsEnabled)return this._associationsWidgetsMap.get(e)?.render()}_renderDescriptionOrEmpty(e,t){return e==null?null:Y(`div`,{class:this.classes(y.description),id:t},e)}_renderGroup(e){let{formTemplate:t,headingLevel:n}=this,{description:r,id:i,inputs:a,label:o,open:s}=e,c=a.filter(e=>e.visible),l=this.viewModel.findField(this._focusedFieldName)?.group===e,u=this.groupDisplay===`sequential`;return Y(`calcite-block`,{afterCreate:this._afterGroupCreate,class:this.classes(y.group,u?y.groupSequential:null,l?y.groupActive:null),"data-group":e,description:r||void 0,expandable:!0,expanded:s,heading:o??``,headingLevel:t?.title?K(n):n,id:i,key:i,onCalciteBlockToggle:({currentTarget:t})=>this._onGroupToggle(t,e)},c.map(e=>this._renderInput(e)))}_getFocusableInput(e,t){let n=T(this.viewModel.inputs);e===`backward`&&n.reverse();let r;if(!t)r=0;else if(x(t)){let e=t.inputs.find(e=>e.visible);r=e?n.indexOf(e):0}else{let i;if(E(t)&&!t.group.open){let n=t.group.inputs.filter(S);i=e===`forward`?n[n.length-1]:n[0]}else i=t;r=n.indexOf(i)+1}for(let e=r;e<n.length;e++){let t=n[e];if(t.visible&&S(t)){if(this.disabled&&t.inputType&&(t.inputType===`switch`||t.inputType===`radio-buttons`))continue;return t}}return null}_renderLabeledField(e){let{dataType:n,feature:r,label:i,layer:a,required:o}=e,s={"aria-label":o?t(this.messages.requiredFieldLabel,{name:i}):i,class:y.label,key:`${a.id}-${r.uid}-${e.name}`},c=[Y(`div`,{class:y.labelTextContent,key:`labelTextContainer`},i,o?Y(`span`,{"aria-hidden":`true`,title:this.messagesCommon.required},`*`):void 0),n===`unsupported`?this._renderReadOnlyComponent(e):this._renderFieldInput(e),this._renderAuxiliaryText(e)];return Y(`calcite-label`,{...s},c)}_renderFieldInput(e){let{dataType:t,domain:n,inputType:r,name:i}=e,a=this.getCommonInputProps(e);if(n?.type===`coded-value`){let t=this.viewModel.getFieldValueOptionsForField(i,this.messages.empty);return r===`switch`&&!e.hasInvalidSwitchValue?this._renderSwitchComponent(e,a):r===`radio-buttons`?this._renderRadioButtonComponents(e,t.flat(),a):this._renderComboBoxComponent(e,t,a)}return r===`datetime-picker`||t===`date`?this._renderDateComponents(e,a):t===`number`?this._renderNumberComponent(e,a):this._renderStringComponent(e,a)}_renderStringComponent(e,t){return e.inputType===`text-area`?t.readOnly?Y(`calcite-text-area`,{...t,onCalciteTextAreaInput:e=>this._saveValueFromComponent(e.currentTarget)}):Y(`calcite-text-area`,{...t,resize:`vertical`,onCalciteTextAreaInput:e=>this._saveValueFromComponent(e.currentTarget)}):Y(`calcite-input`,{...t,loading:e.updating,type:`text`,onCalciteInputInput:e=>this._saveValueFromComponent(e.currentTarget)})}_renderNumberComponent(e,t){let n=f(e.field),r=n&&t.value!==``?Math.round(parseFloat(t.value)).toString():t.value;return Y(`calcite-input-number`,{...t,integer:n,loading:e.updating,step:n?1:`any`,type:`number`,value:r,onCalciteInputNumberInput:e=>this._saveValueFromComponent(e.currentTarget)})}_renderDateComponents(e,t){let{field:n}=e;switch(n.type){case`date`:return this._renderDateFieldComponents(e,t);case`date-only`:return this._renderDateOnlyFieldComponent(e,t);case`time-only`:return this._renderTimeOnlyFieldComponent(e,t);case`timestamp-offset`:return this._renderTimestampOffsetFieldComponents(e,t);default:return this._renderReadOnlyComponent(e,I(n,t.value,{timeZone:this.timeZone,...L(n)}))}}_renderDateOnlyFieldComponent(e,t){let{range:n,valid:r,value:i}=e,{class:a,key:o,readOnly:s}=t,{rawMax:c,rawMin:l}=n;return Y(`calcite-input-date-picker`,{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!r,class:a,"data-date-part":`date`,"data-field-name":t[Z],key:`${o}-date-input`,max:g(c)?c:void 0,min:g(l)?l:void 0,numberingSystem:R,overlayPositioning:`fixed`,readOnly:s,topLayerDisabled:this.topLayerDisabled,value:i==null?void 0:`${i}`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget),onfocus:this._onComponentFocus})}_renderTimeOnlyFieldComponent(e,t){let{valid:n,value:r}=e,{class:i,key:a,readOnly:o}=t;return Y(`calcite-input-time-picker`,{afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!n,class:i,"data-date-part":`time`,"data-field-name":t[Z],key:`${a}-time-input`,numberingSystem:R,overlayPositioning:`fixed`,readOnly:o,step:e.timeStep,value:r==null?void 0:`${r}`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget),onfocus:this._onComponentFocus})}_renderTimestampOffsetFieldComponents(e,t){let{name:n,range:r,timeZone:i,valid:a,value:o}=e,{class:s,key:c,readOnly:l}=t,{rawMax:u,rawMin:d}=r,f={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!a,numberingSystem:R,overlayPositioning:`fixed`,readOnly:l,[Z]:n,onfocus:this._onComponentFocus},p=z(u,i),m=z(d,i),h=z(o,i);return Y(`div`,{class:y.dateInputContainer,key:`${c}-date-time-container`},Y(`calcite-input-date-picker`,{...f,class:s,"data-date-part":`date`,key:`${c}-date-input`,max:p?.date??void 0,min:m?.date??void 0,topLayerDisabled:this.topLayerDisabled,value:h.date??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),Y(`calcite-input-time-picker`,{...f,class:s,"data-date-part":`time`,key:`${c}-time-input`,step:e.timeStep,value:h.time??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),e.includeTimeOffset?Y(`calcite-input-time-zone`,{...f,class:s,"data-date-part":`timeZone`,disabled:l,key:`${c}-timezone-input`,value:h.timeZoneOffset??`0`,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimeZoneChange:e=>this._saveValueFromDateComponent(e.currentTarget)}):null)}_renderDateFieldComponents(e,t){let{includeTime:n,name:r,valid:i,value:a}=e,{class:o,key:s,max:c,min:l,readOnly:u}=t,{timeZone:d}=this,f={afterCreate:this._afterDateComponentCreate,afterUpdate:this._afterDateComponentCreateOrUpdate,"aria-invalid":!i,numberingSystem:R,overlayPositioning:`fixed`,readOnly:u,[Z]:r,onfocus:this._onComponentFocus},p=B(a,d),m=B(c,d),h=B(l,d);return Y(`div`,{class:y.dateInputContainer,key:`${s}-date-time-container`},Y(`calcite-input-date-picker`,{...f,class:o,"data-date-part":`date`,key:`${s}-date-input`,max:m?.date??void 0,min:h?.date??void 0,topLayerDisabled:this.topLayerDisabled,value:p.date??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputDatePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}),n?Y(`calcite-input-time-picker`,{...f,class:o,"data-date-part":`time`,key:`${s}-time-input`,step:1,value:p.time??void 0,onblur:e=>{this._focusedFieldName=null,this._saveValueFromDateComponent(e.target)},onCalciteInputTimePickerChange:e=>this._saveValueFromDateComponent(e.currentTarget)}):null)}_renderReadOnlyComponent(e,t){let n=this.getCommonInputProps(e);return Y(`calcite-input`,{...n,class:this.classes(y.fieldInput,y.inputDisabled),readOnly:!0,type:`text`,value:t==null?n.value:`${t}`})}_renderComboBoxComponent(e,t,n){let{value:r,name:i}=e,{viewModel:a,_inputsWithChanges:o}=this,s=a.editType===`INSERT`,c=o.has(i),l=r==null&&(!s||c),u=s&&e.showNoValueOptionEnabled&&!c?()=>{}:n.onblur;return Y(`calcite-combobox`,{...n,allowCustomValues:!1,clearDisabled:!0,overlayPositioning:`fixed`,selectionMode:`single`,topLayerDisabled:this.topLayerDisabled,onblur:u,onCalciteComboboxChange:({currentTarget:t})=>{l&&t.selectedItems.length===0?this._ignoreDeselectionOfNoValueOption(t):e.isSubtypeField&&t.selectedItems.length===0?t.value=`${e.value}`:this._saveValueFromComponent(t)}},this.renderComboboxOptionsList(e,t))}renderComboboxOptionsList(e,t){let{value:n,name:r}=e,{messages:i,messagesTemplates:a,viewModel:o,_inputsWithChanges:s}=this,[c,l,u]=t.map(e=>e.map(({name:e,value:t})=>Y(`calcite-combobox-item`,{heading:e,key:`#${t}`,selected:n===t,value:`${t}`}))),d=[];l.length>0&&d.push(Y(`calcite-combobox-item-group`,{key:`other`,label:a.other},l)),u.length>0&&d.push(Y(`calcite-combobox-item-group`,{key:`unsupported`,label:i.subtypes.unsupportedDomainGroupTitle},u)),d.length>0?d.unshift(Y(`calcite-combobox-item-group`,{key:`recommended`,label:i.recommended},c)):d.push(...c);let f=o.editType===`INSERT`,p=s.has(r),m=n==null&&(!f||p);return e.showNoValueOptionEnabled&&d.unshift(Y(`calcite-combobox-item`,{heading:e.showNoValueLabel||i.empty,key:`empty-option`,selected:m,value:``})),d}_renderRadioButtonComponents(e,t,n){let{value:r}=e,i=t.map(({name:e,value:t})=>this._renderRadioButtonComponent({key:e,label:e,value:t,selected:t===r,props:n}));if(e.showNoValueOptionEnabled){let t=e.showNoValueLabel||this.messages.empty,a=r===``||r===null;i.unshift(this._renderRadioButtonComponent({key:`empty-option`,label:t,value:``,selected:a,props:n}))}return Y(`calcite-radio-button-group`,{afterCreate:this._afterRadioGroupCreateOrUpdate,afterUpdate:this._afterRadioGroupCreateOrUpdate,class:y.inputRadioGroup,"data-field-name":n[Z],key:`${n.key}-radio-group`,layout:`vertical`,name:`${n.key}-${this.id}`,required:n.required},i)}_renderSwitchComponent(e,t){let{value:n}=e,r=D(e.element,`switch`)?n===e.element.input.onValue:!1;return Y(`calcite-switch`,{...t,checked:r,class:y.inputSwitch,disabled:t.readOnly,onblur:()=>{this._focusedFieldName=null},onCalciteSwitchChange:e=>this._saveValueFromComponent(e.currentTarget)})}_renderRadioButtonComponent({key:e,value:t,selected:n,label:r,props:i}){return Y(`calcite-label`,{class:y.inputRadioLabel,key:e,layout:`inline`},Y(`calcite-radio-button`,{...i,afterCreate:void 0,afterUpdate:void 0,checked:n,class:y.inputRadio,disabled:i.readOnly,value:t,onblur:()=>{this._focusedFieldName=null},onCalciteRadioButtonChange:({currentTarget:e})=>{e.checked&&this._saveValueFromComponent(e)}}),r)}_renderAuxiliaryText(e){let t=e.name,n=this._inputsWithChanges.has(t)&&!e.submittable?O(e,this.messages,this.timeZone):this.viewModel.contingencyConstraintViolations.get(t)==null?e.valueExpressionExecutor!=null&&e.valueExpressionExecutor.stale?this.messages.valueExpressionError:null:this.messages.validationErrors.valuesIncompatible;return n==null?this._inputsWithChanges.has(t)&&e.valueIsOutOfDomain?Y(`calcite-input-message`,{icon:!0,status:`idle`},this.messages.subtypes.fieldOutOfSubtypeDomainWarning):this._renderDescriptionOrEmpty(e.description):Y(`calcite-input-message`,{icon:!0,status:`invalid`},n)}_renderShowAllRelatedRecordsListItem(e){if(!e.showAllActionVisible||!this.callbacks?.showAllRelatedRecords)return;let n=this.messages;return Y(`calcite-list-item`,{description:t(n.totalCount,{count:e.featureCount}),key:`show-all-related-features`,label:n.showAll,value:!0,onCalciteListItemSelect:()=>this._onShowAllRelatedRecordsClick(e.relationshipId)},Y(`calcite-icon`,{icon:`list`,scale:`s`,slot:`content-end`}))}_renderAddRelatedRecordButton(e){let{canAddRelatedFeature:t,relationshipId:n,relatedLayer:r,editable:i}=e,{messages:a,callbacks:o,disabled:s}=this,c=!i||s;if(t&&o?.addRelatedRecord&&r&&!c)return Y(`calcite-button`,{alignment:`center`,appearance:`outline-fill`,class:y.centeredButton,disabled:e.updating||!e.originHasValidKey,iconStart:`plus`,key:`${n}-add-button`,round:!0,scale:`s`,width:`full`,onclick:()=>{!e.updating&&e.originHasValidKey&&this._onAddRelatedRecordsClick(e,n,r)}},e.relatedLayerIsTable?a.addRecord:a.addFeature)}_renderRelatedRecordListItem(e,t,n){let{feature:r,description:i,title:a}=e,{feature:o,callbacks:s}=this,{highlightHelper:c}=this.viewModel,l=()=>{c?.removeAll(),s?.editRelatedRecord&&o&&s.editRelatedRecord({parentFeature:o,relationshipId:t,relatedFeature:r,readOnly:n})},u=c?()=>c.add(r):void 0,d=c?()=>c.remove(r):void 0;return Y(`calcite-list-item`,{bind:this,description:i,key:`${t}-${r.uid}`,label:a,value:a,onCalciteListItemSelect:l,onmouseenter:u,onmouseleave:d},Y(`calcite-icon`,{icon:k(r),slot:`content-start`}),Y(`calcite-icon`,{flipRtl:!0,icon:`chevron-right`,scale:`s`,slot:`content-end`}))}_renderRelationshipInput(e){if(!this._relatedRecordsEnabled)return;let{relationshipId:t,activeCategory:n}=e,r=n?null:this._renderDescriptionOrEmpty(e.description);return Y(`calcite-label`,{class:this.classes(y.label,y.relatedRecordsLabel),key:`relationship-${t}-container`},Y(`div`,null,this._renderRelatedRecordsHeaderContainer(e),r,this._renderRelationshipInputContent(e)),this._renderAddRelatedRecordButton(e))}_renderRelationshipInputContent(e){if(e.featureCount>0)return this._renderRelatedRecordsList(e);if(e.activeCategory&&e.featureCount===0)return this._renderNoRelatedRecordsNotice();if(e.allCategories?.length)return this._renderCategoryList(e);if(e.loaded)return e.originHasValidKey?this._renderNoRelatedRecordsNotice():this._renderNoValidOriginKeyNotice(e)}_renderCategoryList(e){return Y(`calcite-list`,{displayMode:`flat`,label:this.messages.relatedRecordsList,loading:e.updating},e.categories?.map(t=>this._renderCategory(e,t)),this._renderShowAllCategoriesListItem(e))}_renderCategory(e,t){let{count:r,name:i,value:a}=t,o=n(r);return Y(`calcite-list-item`,{key:`${i}-${a}`,label:i,onCalciteListItemSelect:()=>this._selectCategory(e,t)},Y(`calcite-chip`,{label:o,scale:`s`,slot:`content-end`},o),Y(`calcite-icon`,{flipRtl:!0,icon:`chevron-right`,scale:`s`,slot:`content-end`}))}_selectCategory(e,t){this.relationshipId=e.relationshipId,e.activeCategory=t}_renderShowAllCategoriesListItem(e){if(!e.showAllCategoriesVisible)return;let n=this.messages;return Y(`calcite-list-item`,{description:t(n.totalCount,{count:e.allCategories?.length??0}),key:`show-all-categories`,label:n.showAll,value:!0,onCalciteListItemSelect:()=>e.showAllEnabled=!0},Y(`calcite-icon`,{icon:`list`,scale:`s`,slot:`content-end`}))}_renderRelatedRecordsHeaderContainer(e){let t=e.updating||!e.loaded;return Y(`div`,{class:y.relatedRecordsHeader,key:`relationship-${e.relationshipId}-header`},Y(`span`,null,e.label),t?Y(`calcite-loader`,{inline:!0,key:`loader`,label:this.messagesCommon?.loading,scale:`s`,type:`indeterminate`}):void 0)}_renderRelatedRecordsList(e){let{relationshipId:t,editable:n}=e,{disabled:r}=this,i=!n||r;return Y(`calcite-list`,{class:y.relatedRecordsList,label:this.messages?.relatedRecordsList},e.relatedFeatureInfos.map(e=>this._renderRelatedRecordListItem(e,t,i)),this._renderShowAllRelatedRecordsListItem(e),this._renderObserverNode())}_renderNoValidOriginKeyNotice(e){let{messages:n}=this,r=e.relatedLayerIsTable?n.noOriginKeyRecord:n.noOriginKeyFeature,i=e.relationship?.keyField,a=this.viewModel.findField(i),o=e.layer?.fieldsIndex.get(i),s=a?.label||o?.alias||i,c=t(r,{relatedLayerName:e.relatedLayer?.title,originKeyField:s});return Y(`calcite-notice`,{icon:`information`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},c))}_renderNoRelatedRecordsNotice(){return Y(`calcite-notice`,{icon:`information`,kind:`brand`,open:!0,scale:`s`,width:`full`},Y(`div`,{slot:`message`},this.messagesFeature.noRelatedFeatures))}_renderObserverNode(){if(this.viewModel.activeRelationshipInput?.showAllEnabled)return Y(`div`,{afterCreate:this._afterListObserverCreated,afterRemoved:this._afterListObserverRemoved,bind:this,class:y.listObserver,key:`feature-observer`})}_renderTextElementInput(e){return Y(`div`,{class:y.textElement,"data-testid":`text-element-${e.label}`,innerHTML:e.text,key:e.id})}getCommonInputProps(e){let{disabled:t}=this,{editable:n,hint:r,label:i,maxLength:a,minLength:o,name:s,range:{max:c,min:l},required:u,valid:d,value:f}=e,p=this._inputsWithChanges.has(s),m=!n||t;return{afterCreate:this._afterComponentCreate,afterUpdate:this._afterComponentCreateOrUpdate,"aria-invalid":d?`false`:`true`,class:this.classes(y.fieldInput,m?y.inputDisabled:null),status:p&&!d?`invalid`:`idle`,key:s,label:i,max:c??void 0,min:l??void 0,maxLength:a>-1?a:void 0,minLength:o>-1?o:void 0,placeholder:r??void 0,readOnly:m,required:u,value:f==null?``:`${f}`,onblur:this._onComponentBlur,onfocus:this._onComponentFocus,onkeydown:this._onComponentKeyDown,[Z]:s}}_getFieldInputFromHTMLElement(e){return this.viewModel.findField(e.getAttribute(Z))}_afterDateComponentCreate(e){let t=this._getFieldInputFromHTMLElement(e),n=e.dataset.datePart,r=this._dateComponentMap.get(t.name);if(`valueAsDate`in e&&e.value!=null&&t.value!=null){let n=new ResizeObserver(()=>{switch(e.value=void 0,t.field.type){case`date`:e.value=B(t.value,this.timeZone).date??``;break;case`timestamp-offset`:e.value=z(t.value,this.timeZone).date??``;break;default:e.value=`${t.value}`}n.unobserve(e)});n.observe(e)}if(r!=null)switch(n){case`date`:r.date=e;break;case`time`:r.time=e;break;case`timeZone`:r.timeZone=e}else this._dateComponentMap.set(t.name,{[n]:e});this._afterDateComponentCreateOrUpdate(e)}_afterDateComponentCreateOrUpdate(e){this._afterComponentCreateOrUpdate(e)}_afterComponentCreate(e){let t=this._getFieldInputFromHTMLElement(e);A(t)&&e.value!=null&&`setNumberValue`in e&&e.setNumberValue({committing:!1,value:e.value,origin:`direct`}),this._afterComponentCreateOrUpdate(e)}_afterRadioGroupCreateOrUpdate(e){let t=e.selectedItem,n=e.querySelector(`calcite-radio-button`),r=t||n;r&&this._afterComponentCreateOrUpdate(r)}_afterComponentCreateOrUpdate(e){let{viewModel:t}=this,n=this._getFieldInputFromHTMLElement(e),r=t.findField(this._focusedFieldName);this._attemptFocusOnNextRender&&r===n&&(this._attemptFocusOnNextRender=!1,E(n)&&(n.group.open=!0),X(e))}async _afterGroupCreate(e){let t=this.viewModel.findGroup(e.id),n=this.viewModel.findField(this._focusedFieldName);n&&t&&j(n,t)&&(!n.editable||this.disabled)&&(await e.componentOnReady(),this._attemptFocusOnNextRender=!0,this.scheduleRender())}_onComponentFocus(e){let t=e.target,n=this._getFieldInputFromHTMLElement(t);this._focusedFieldName=n.name}_onComponentBlur(e){let t=e.target;this._focusedFieldName=null,`readOnly`in t&&t.readOnly||this._saveValueFromComponent(t)}_saveValueFromDateComponent(e){let{timeZone:t}=this,n=this._getFieldInputFromHTMLElement(e),r=n.field.type,{name:i,range:a}=n,o=this._dateComponentMap.get(i);if(!o)return;let s=this.viewModel.getValue(i),c=null;r===`date-only`?c=Array.isArray(e.value)?e.value[0]:e.value:r===`time-only`?(s=V(s),c=V(e.value)):c=r===`timestamp-offset`?e.value==null?null:H({dateComponent:o.date,timeComponent:o.time,timeZoneComponent:o.timeZone,oldValue:s,defaultTimeZone:t}):e.value==null?null:U({oldValue:s,dateComponent:o.date,timeComponent:o.time,timeZone:t,max:a.max,min:a.min}),c===null||!e.value?this._updateFieldValue(i,null):s!==c&&this._updateFieldValue(i,c)}_saveValueFromComponent(e){let t=this._getFieldInputFromHTMLElement(e),n=this._parseValue(e),r=t.value;!t.isSubtypeField||!M(this.layer,r,n)?this._updateFieldValue(t.name,n):!this._pendingSubtypeChoice&&n!==r&&(this._pendingSubtypeChoice=this._handleSubtypeChoice(t,n))}async _handleSubtypeChoice(e,n){let{value:r,name:i}=e,{messages:a,viewModel:o,messagesCommon:s,_subtypes:c}=this;if(this._updateFieldValue(i,n),!c?.length)return;let l=c.find(e=>e.code===n),u=c.find(e=>e.code===r)?.name??`${r}`;if(!l)return;let d=Promise.withResolvers();o.pendingSubtypeChoice=d;let f=`update-fields`,p=[{label:a.subtypes.useDefaultValuesOption,value:`update-fields`},{label:a.subtypes.keepCurrentValuesOption,value:`keep-existing`}],m={context:`info`,title:a.subtypes.changeWarningTitle,message:t(a.subtypes.changeWarning,{originalType:u,newType:l.name}),radios:p,defaultRadioSelection:`update-fields`,onRadioSelection:e=>f=e,actions:{primary:{label:s.apply,action:()=>d.resolve(f),type:`positive`},secondary:{label:s.cancel,type:`neutral`,action:()=>d.resolve(`undo`)}},cancel:()=>d.reject()};try{switch(this.showPrompt(m),await d.promise){case`update-fields`:o.applySubtypeDefaults(l),this._validateContingenciesForNonNullFields();break;case`keep-existing`:this._validateContingenciesForNonNullFields();break;case`undo`:this._updateFieldValue(e.name,r)}}finally{o.pendingSubtypeChoice=null,this.clearPrompt(),this._pendingSubtypeChoice=null}}_onComponentKeyDown({key:e,target:t}){let n=this._getFieldInputFromHTMLElement(t);e===`Enter`&&E(n)&&!n.group.open&&(n.group.open=!0)}_updateFieldValue(e,t){let n=this.viewModel.getValue(e);this.viewModel.setValue(e,t),this._inputsWithChanges.add(e),n!==t&&this.viewModel.fieldsWithContingentValues.has(e)&&this._validateContingenciesForNonNullFields()}_validateContingenciesForNonNullFields(){let e=Object.fromEntries(Object.entries(this.getValues()).filter(([e,t])=>t!=null));this.viewModel.validateContingencyConstraints(e)}_parseValue(e){let t=this._getFieldInputFromHTMLElement(e),n=e.value;return D(t.element,`switch`)?e.checked?t.element.input.onValue:t.element.input.offValue:n==null||n===``?null:t.dataType===`number`?n===`-0`||n===`-0.`||n===`-0,`?n:parseFloat(n):t.field.type===`date`?parseFloat(n):n}_ignoreDeselectionOfNoValueOption(e){let{firstChild:t,selectedItems:n}=e;n.length===0&&t&&`selected`in t?t.selected=!0:a.getLogger(this).warnOnce(`Failed to override user attempt to deselect 'No value' option.`)}_onGroupToggle(e,t){e.expanded?(t.open=!0,this._focusedFieldName=this._getFocusableInput(`forward`,t)?.name||null,this._attemptFocusOnNextRender=!0,this.groupDisplay===`sequential`&&this.viewModel.allGroupInputs.forEach(e=>{e!==t&&(e.open=!1)})):t.open=!1,this.scheduleRender()}_onFormSubmit(e){e.preventDefault()}_onFormKeyDown(e){e.key===`Enter`&&this.viewModel.submit()}_afterListObserverCreated(e){this.viewModel.activeRelationshipInput&&(this._listObserverNode=e)}_afterListObserverRemoved(){this._listObserverNode=null}_onObserverChange(){this._listObserverNode&&this._listObserver.unobserve(this._listObserverNode);let e=this.viewModel.activeRelationshipInput;e&&this._listObserverNode&&e.showAllEnabled&&this._listObserver.observe(this._listObserverNode)}_incrementRelatedRecordPage(){this.viewModel.activeRelationshipInput?.incrementPage()}_syncGroupInputStates(){if(this.groupDisplay!==`sequential`)return;let e=this.viewModel.allGroupInputs;if(!e.length)return;let t=e.filter(e=>e.open);t.length===0?e[0].open=!0:t.length>1&&t.slice(1).forEach(e=>e.open=!1)}get test(){return{inputsWithChanges:this._inputsWithChanges,updateValue:this._saveValueFromComponent.bind(this)}}};e([u()],Q.prototype,`_listObserverNode`,void 0),e([u()],Q.prototype,`_relatedRecordsEnabled`,null),e([u()],Q.prototype,`_utilityNetworkAssociationsEnabled`,null),e([u()],Q.prototype,`_prompt`,void 0),e([u()],Q.prototype,`_subtypes`,null),e([u()],Q.prototype,`associationId`,null),e([u()],Q.prototype,`associatedLayer`,null),e([u()],Q.prototype,`disabled`,null),e([u()],Q.prototype,`feature`,null),e([u()],Q.prototype,`_featureFormUNAssociationList`,void 0),e([u()],Q.prototype,`formTemplate`,null),e([u()],Q.prototype,`groupDisplay`,void 0),e([u()],Q.prototype,`headingLevel`,void 0),e([u()],Q.prototype,`icon`,null),e([u()],Q.prototype,`label`,null),e([u()],Q.prototype,`layer`,null),e([u()],Q.prototype,`map`,null),e([u(),q(`esri/widgets/FeatureForm/t9n/FeatureForm`)],Q.prototype,`messages`,void 0),e([u(),q(`esri/t9n/common`)],Q.prototype,`messagesCommon`,void 0),e([u(),q(`esri/widgets/Feature/t9n/Feature`)],Q.prototype,`messagesFeature`,void 0),e([u(),q(`esri/widgets/FeatureTemplates/t9n/FeatureTemplates`)],Q.prototype,`messagesTemplates`,void 0),e([u()],Q.prototype,`callbacks`,null),e([u()],Q.prototype,`relationshipId`,null),e([u()],Q.prototype,`spatialReference`,null),e([u()],Q.prototype,`strict`,null),e([u()],Q.prototype,`timeZone`,null),e([u()],Q.prototype,`showPrompt`,null),e([u()],Q.prototype,`clearPrompt`,null),e([u({type:N}),J([`value-change`,`submit`])],Q.prototype,`viewModel`,void 0),e([u({type:P,nonNullable:!0})],Q.prototype,`visibleElements`,void 0),e([u()],Q.prototype,`test`,null),Q=e([d(`esri.widgets.FeatureForm`)],Q);const $=Q;export{$ as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import"../../core/has.js";import t from"../../core/Logger.js";import{on as n,sync as r}from"../../core/reactiveUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{getEffectiveFieldAlias as o}from"../../editing/fieldUtils.js";import{convertDateFormatToIntlOptions as s,defaultFormatterOptionsNoTime as c,convertDateTimeFieldFormatToIntlOptions as l,defaultFormatterOptions as u}from"../../intl/date.js";import{formatNumber as d,convertNumberFormatToIntlOptions as f,convertNumberFieldFormatToIntlOptions as p}from"../../intl/number.js";import{isEditableLayer as m}from"../../layers/support/editableLayers.js";import{computeDomainFromTypes as h}from"../../layers/support/featureLayerUtils.js";import g from"../../layers/support/Field.js";import{defaultFieldFormat as _}from"../../layers/support/fieldFormatUtils.js";import{validateFieldValue as v,isDateField as y,isTimeOnlyField as b,isIntegerField as x,isNumericField as S,isStringField as C,isDateOnlyField as w,isTimestampOffsetField as T}from"../../layers/support/fieldUtils.js";import{isAnyDateField as E}from"../../smartMapping/support/utils.js";import{system as D}from"../../time/constants.js";import{getTimeZoneFormattingOptions as O}from"../../time/timeZoneUtils.js";import k from"../FeatureForm/FieldInput.js";import A from"./Grid/EditorColumn.js";import{isIFeatureTableSupportedLayerWithFieldConfigurations as j,isEmptyStringOrWhitespace as M}from"./support/tableUtils.js";import{valueIsInRange as N,dateTimeIsInRange as P,getUnixFieldValueFromDateComponents as F,getISOFieldValueFromDateComponents as I,normalizeTimeOnlyString as L,getLabelForDateFieldValue as R,prepareISOFieldValueForDateComponents as z,prepareUnixFieldValueForDateComponents as B}from"../support/dateUtils.js";import{setFocus as V,selectText as H}from"../support/widgetUtils.js";const U={cancelEdit:`Escape`},W=Symbol(),G=`esri-column`,K={input:`${G}__cell-input`,inputContainer:`${G}__cell__input-container`};let q=class extends A{constructor(e){super(e),this._activeFieldInput=null,this.cellValueFormatFunction=({root:e,rowData:t,value:n})=>{let{formatFunction:r}=this;if(r&&t){let{index:i,item:{attachments:a,feature:o,relatedRecords:s}}=t;return r({attachments:a,column:this,feature:o,field:this.field,index:i,relatedRecords:s,value:this.sanitizeContent(n),virtualIndex:this.getVirtualRowIndex(e)})}if(n===null)return` `;let i=this._getDomainForFeature(t?.item?.feature),a=this._getComputedDomain(n,i)||n;return this._isAnyDateOrTimeField&&i?.type!==`coded-value`?this._formatDateValueForDisplay(this.field,a):this._isNumericField&&i?.type!==`coded-value`?d(parseFloat(a),this._numberFormatOptions):this.sanitizeContent(a)},this.cellValueValidatorFunction=({oldValue:e,value:n})=>{let{_effectiveRange:r,field:i}=this,{max:a,min:o}=r;if(this.effectiveRequired&&(n==null||n===``))return!1;if(this._isNumericField&&(v(i,n)||!N({max:a,min:o,value:n})))return t.getLogger(this).warn(`value-exceeds-valid-range`,`Field value exceeds valid range. Attempted edit was rejected.`),!1;if(this._isAnyDateOrTimeField){let e=i.type;if(!P({type:e,range:r,value:n}))return!1}return e!==n},this.field=null,this.formatFunction=null,this.inputRenderFunction=async({root:e,column:n,rowData:r})=>{if(this.editInfo||!this.effectiveEditable||!r)return;let i=r.item.feature,a=i.getObjectId();if(!i||a==null)return;if(this.tableHasInvalidPendingEdits&&!this.itemHasInvalidPendingEdits(a)){t.getLogger(this).warn(`editing-disabled:fix-invalid-pending-edits`,`Editing is disabled for this row. Table has existing invalid pending edits that must be addressed.`);return}let o=this.getCellValue(r),{field:s}=this;if(s.type===`big-integer`&&v(s,o)){t.getLogger(this).warn(`value-exceeds-valid-range`,`Field value is beyond supported limit. Editing is disabled for this field value.`);return}this._activeFieldInput=this._setUpFieldInput(i,o);let c=document.createElement(`div`);c.classList.add(K.inputContainer);let l=[],u=this._effectiveDomain?.type===`coded-value`;if(this._isAnyDateOrTimeField&&!u){let e=document.createElement(`div`),t=this._setUpDateComponents(o),n=this._setUpDateActionBar();t.forEach(t=>e.appendChild(t)),c.appendChild(e),c.appendChild(n),l.push(...t)}else{let e=this.createInputElement({rowData:r,value:o});c.appendChild(e),l.push(e)}this._set(`editInfo`,{column:n,inputs:l,root:e,rowData:r,oldValue:o}),this.removeCellContent(e),e.appendChild(c),this._syncRowEditingState(e,!0),this.grid?.generateCellPartNames();let d=l[0];await V(d),await H(d)},this.layer=null,this.parseInputValueFunction=({inputs:e})=>{let{editInfo:t,field:n,includeTime:r}=this;if(!t||!e.length)return null;let i=e[0];if(this._isAnyDateOrTimeField){if(this._effectiveDomain?.type===`coded-value`){if(i.value==null||i.value===``)return null;let e=String(i.value);return y(n)?parseFloat(e):e}let{timeZone:a}=this.effectiveTimeZoneOptions,o=t.oldValue??void 0;switch(n.type){case`date-only`:{let e=i.value;return e===``?null:e}case`time-only`:{let e=L(i.value);return e===``?null:e}case`timestamp-offset`:{let t=r?e[1]:void 0,n=e.at(-1);return I({oldValue:o,dateComponent:i,timeComponent:t,timeZoneComponent:n,defaultTimeZone:a})}case`date`:{let{max:t,min:n}=this._effectiveRange;return F({oldValue:o,dateComponent:i,timeComponent:e[1],timeZone:a,max:t,min:n})}}return null}let a=i.value,{effectiveRequired:o}=this;return!o&&(a==null||a===``)?null:this._isNumericField?parseFloat(a):this._isStringField?a.trim():a},this.sortable=!0,this.store=null,this.template=null,this.view=null}get _effectiveDomain(){let e=this._activeFieldInput?.feature;return e?this._getDomainForFeature(e):null}get _effectiveRange(){return this._activeFieldInput?.range??{max:null,min:null}}get _isAnyDateOrTimeField(){let{field:e}=this;return E(e)||b(e)}get _isIntegerField(){return x(this.field)}get _isNumericField(){return S(this.field)}get _isStringField(){return C(this.field)}get _isSubtypeField(){let{layer:e}=this;if(e?.subtypeField){let{subtypeField:t,fieldsIndex:n}=e;return(n.get(t)?.name??t)===this.fieldName}return!1}get _layerWithFieldConfigurations(){let{layer:e}=this;return j(e)?e:null}get _dateTimeFormatOptions(){let{layerFieldConfigurationFormat:e,template:t}=this;if(t?.format?.dateFormat)return s(t.format.dateFormat);if(t?.input&&`includeTime`in t.input&&t.input.includeTime===!1)return c;if(e?.type===`date-time`)return l(e);if(this._isAnyDateOrTimeField)return u}get _numberFormatOptions(){let{layerFieldConfigurationFormat:e,template:t}=this;if(t?.format)return f(t.format);if(e?.type===`number`)return p(e);if(this._isNumericField)return{useGrouping:!0,maximumFractionDigits:20}}get alias(){return o(this.field,this._layerWithFieldConfigurations)}get defaultValue(){return this.field?.defaultValue}get effectiveDescription(){let{description:e,field:t}=this,n=t.description,r=M(e)?M(n)?null:n:e;return r==null?null:this.sanitizeLabel(r)}get effectiveEditable(){let{editable:e,field:t,layer:n,tableEditingEnabled:r}=this;if(!t||!n)return!1;let i=m(n),a=(n.effectiveCapabilities??n.capabilities)?.operations?.supportsUpdate;return!t.editable||!i||!a||t.type===`oid`||!r?!1:e}get effectiveLabel(){return this.sanitizeLabel(this.label||this.alias||this.fieldName)}get effectiveRequired(){return!this.nullable||this._isSubtypeField||this._activeFieldInput?.required||this.required}get effectiveSortable(){return!!(this.layer?.capabilities?.query?.supportsOrderBy&&this.sortable)}get effectiveTimeZoneOptions(){let{layer:e,field:t}=this;if(!e||t?.type!==`date`&&t?.type!==`timestamp-offset`)return{timeZone:void 0,timeZoneName:void 0};let{tableTimeZone:n,timeZone:r,view:i}=this;return O(e.preferredTimeZone||null,!!e.datesInUnknownTimezone,r??n??i?.timeZone??D,this._dateTimeFormatOptions??u,t.type)}get includeTime(){let{field:e,template:t}=this;return e.type===`time-only`?!0:e.type===`date-only`?!1:!t?.input||`includeTime`in t.input&&t.input.includeTime!==!1}get hasContingentValues(){return!!this.store.fieldsWithContingentValues.has(this.fieldName)}get layerFieldConfigurationFormat(){let{_layerWithFieldConfigurations:e}=this;if(e)return e.getFieldConfiguration(this.fieldName)?.fieldFormat??_(this.field)}get maxLength(){let{field:e,template:t}=this,n=e?.length??-1,r=t?.input&&`maxLength`in t.input?t.input.maxLength:null;return r!=null&&!isNaN(r)&&r>=-1&&(n===-1||r<=n)?r:n}get minLength(){let{template:e,maxLength:t}=this,n=e?.input&&`minLength`in e.input?e.input.minLength:null;return t&&n<=t?n:null}get name(){return this.field?.name}get nullable(){return this.field.nullable!==!1}get shouldShowPrompt(){return this._isSubtypeField}createInputElement({rowData:e,value:t}){let{_effectiveDomain:i,maxLength:a,minLength:o,effectiveRequired:s}=this,c;if(i?.type===`coded-value`){let i=e.item.feature,a=this.getFieldValueOptions(i,this.fieldName);this.hasContingentValues?(c=this._setUpComboboxComponent(a,t),this.addHandles([n(()=>c,`calciteComboboxChange`,()=>this.onInputBlur(),r),n(()=>c,`pointerdown`,e=>e.preventDefault(),r)],W)):(c=this.createCalciteSelect(t,a.recommended),this.addHandles(n(()=>c,`calciteSelectChange`,()=>this.onInputBlur(),r),W))}else{if(this._isNumericField){let{_effectiveRange:{max:e,min:n}}=this;c=document.createElement(`calcite-input`),c.type=`number`,this._isIntegerField&&(c.step=1),e!=null&&(c.max=e),n!=null&&(c.min=n),c.status=N({max:e,min:n,value:t})?`idle`:`invalid`}else c=document.createElement(`calcite-input`),this.addHandles(n(()=>c,`calciteInputChange`,()=>this.onInputBlur(),r),W),a>-1&&(c.maxLength=a),o>0&&(c.minLength=o);c.value=t==null?``:t.toString()}return c.classList.add(K.input),c.required=s,this.addHandles([n(()=>c,`keydown`,e=>{e.key===U.cancelEdit&&this.onInputBlur(!0)},r),n(()=>c,`blur`,()=>this.onInputBlur(),r)],W),c}onInputBlur(e=!1){this.removeHandles(W),super.onInputBlur(e)}onEditComplete(){let e=this.editInfo?.root;e&&this._syncRowEditingState(e,!1),this._activeFieldInput=null,super.onEditComplete()}get test(){}_clearActiveEditValues(){this.editInfo?.inputs?.forEach(e=>e.value=``)}_setUpDateActionBar(){let{messagesCommon:e}=this,t=e?.cancel??``,n=e?.clear??``,r=e?.save??``,i=document.createElement(`calcite-action-bar`);return i.expandDisabled=!0,i.layout=`horizontal`,i.appendChild(this.createCalciteAction({text:r,icon:`save`,onclick:()=>this.submit()})),this.effectiveRequired||i.appendChild(this.createCalciteAction({text:n,icon:`trash`,onclick:()=>{this._clearActiveEditValues(),this.submit()}})),i.appendChild(this.createCalciteAction({text:t,icon:`x`,onclick:()=>this.cancel()})),i}_formatDateValueForDisplay(e,t){let{timeZone:n,timeZoneName:r}=this.effectiveTimeZoneOptions;return t==null?null:R(e,t,{...this._dateTimeFormatOptions,timeZone:n,timeZoneName:r})}_fieldValueOptionToComboboxItem({disabled:e,name:t,value:n},r){let i=r===n||r==null&&n===``;return this.createCalciteComboboxItem({disabled:e,heading:t,selected:i,value:n})}_setUpComboboxComponent(e,t){let{recommended:n,other:r,unsupported:i}=e,a=this.effectiveRequired,o=this.messages,s=this.createCalciteCombobox({label:this.effectiveLabel,required:a}),c=n.map(e=>this._fieldValueOptionToComboboxItem(e,t));if(!a||t==null||t===``){let e=this._fieldValueOptionToComboboxItem({disabled:a,name:o?.noValue,value:``},t);s.appendChild(e)}if(r.length===0&&i.length===0)return c.forEach(e=>s.appendChild(e)),s;let l=this.createCalciteComboboxItemGroup({label:o.contingentValues.recommended});if(c.forEach(e=>l.appendChild(e)),s.appendChild(l),r.length){let e=this.createCalciteComboboxItemGroup({label:o.contingentValues.other});r.forEach(n=>e.appendChild(this._fieldValueOptionToComboboxItem(n,t))),s.appendChild(e)}if(i.length){let e=this.createCalciteComboboxItemGroup({label:o.subtypes.unsupportedDomainGroupTitle});i.forEach(n=>e.appendChild(this._fieldValueOptionToComboboxItem(n,t))),s.appendChild(e)}return s}_setUpDateComponents(e){let{_effectiveRange:{max:t,min:r,rawMax:i,rawMin:a},field:o,effectiveRequired:s}=this,c=this._getDateFieldValuesForComponents(o,e),l=[];if(E(o)){let e=this.createDateComponent(),u=w(o)||T(o)?i:t,d=w(o)||T(o)?a:r,f=this._getDateFieldValuesForComponents(o,u??null),p=this._getDateFieldValuesForComponents(o,d??null);e.value=c.date??``,e.max=f.date??``,e.min=p.date??``,e.required=s,this.addHandles([n(()=>e,`calciteInputDatePickerOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}if(this.includeTime){let e=this.createTimeComponent();e.value=c.time??``,e.required=s,this.addHandles([n(()=>e,`calciteInputTimePickerOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}if(o.type===`timestamp-offset`){let e=this.createTimeZoneComponent();e.value=c.timeZoneOffset??`0`,this.addHandles([n(()=>e,`calciteInputTimeZoneOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}return l}_onDateComponentOpen(e){this.editInfo?.inputs.forEach(t=>{t!==e&&`open`in t&&(t.open=!1)})}_syncRowEditingState(e,t=!1){let n=this.grid?.getRowContainingNode(e);n&&(t?n.setAttribute(`editing`,`true`):n.removeAttribute(`editing`))}_getDateFieldValuesForComponents(e,t){switch(e.type){case`date`:return B(t,this.effectiveTimeZoneOptions.timeZone);case`date-only`:return{date:t};case`time-only`:return{time:t};case`timestamp-offset`:return z(t);default:return{}}}_setUpFieldInput(e,t){let{field:n,layer:r,effectiveTimeZoneOptions:{timeZone:i}}=this,a=new k({feature:e,field:n,initialFeature:e.clone(),layer:r,timeZone:i});return a.set(`value`,t),a}_isDomainCompatible(e){if(!e)return!1;let{_isNumericField:t,_isStringField:n}=this,{type:r}=e;if(r===`coded-value`){let r=typeof e.codedValues[0].code;if(r===`string`&&n||r===`number`&&t)return!0}return!!(r===`range`&&t)}_getDomainForFeature(e){let{fieldName:t,layer:n,template:r}=this;if(!e||!n?.getFieldDomain||n.type===`wfs`||n.type===`geojson`||n.type===`csv`)return null;if(r?.domain&&this._isDomainCompatible(r.domain))return r.domain;if(n.type!==`feature`&&n.type!==`subtype-group`&&n.getField(t)?.domain==null){let e=h(n,t);if(e)return e}return n.getFieldDomain(t,{feature:e})}_getComputedDomain(e,t){if(!t)return null;if(t.type===`range`)return e;if(t.type===`coded-value`){let n=t.codedValues.filter(t=>t.hasOwnProperty(`code`)&&t.code===e);return n&&n.length?n[0].name:e}return null}getFieldValueOptions(e,t){return this.store.getFieldValueOptions({feature:e,fieldName:t,layer:this.layer,emptyString:this.messages?.noValue})}};e([i()],q.prototype,`_effectiveDomain`,null),e([i()],q.prototype,`_activeFieldInput`,void 0),e([i()],q.prototype,`_effectiveRange`,null),e([i()],q.prototype,`_isAnyDateOrTimeField`,null),e([i()],q.prototype,`_isIntegerField`,null),e([i()],q.prototype,`_isNumericField`,null),e([i()],q.prototype,`_isStringField`,null),e([i()],q.prototype,`_isSubtypeField`,null),e([i()],q.prototype,`_layerWithFieldConfigurations`,null),e([i()],q.prototype,`_dateTimeFormatOptions`,null),e([i()],q.prototype,`_numberFormatOptions`,null),e([i({readOnly:!0})],q.prototype,`alias`,null),e([i()],q.prototype,`cellValueFormatFunction`,void 0),e([i()],q.prototype,`cellValueValidatorFunction`,void 0),e([i({readOnly:!0})],q.prototype,`defaultValue`,null),e([i()],q.prototype,`effectiveDescription`,null),e([i()],q.prototype,`effectiveEditable`,null),e([i()],q.prototype,`effectiveLabel`,null),e([i()],q.prototype,`effectiveRequired`,null),e([i()],q.prototype,`effectiveSortable`,null),e([i()],q.prototype,`effectiveTimeZoneOptions`,null),e([i({type:g})],q.prototype,`field`,void 0),e([i()],q.prototype,`formatFunction`,void 0),e([i()],q.prototype,`includeTime`,null),e([i()],q.prototype,`inputRenderFunction`,void 0),e([i()],q.prototype,`hasContingentValues`,null),e([i()],q.prototype,`layer`,void 0),e([i()],q.prototype,`layerFieldConfigurationFormat`,null),e([i()],q.prototype,`maxLength`,null),e([i()],q.prototype,`minLength`,null),e([i({readOnly:!0})],q.prototype,`name`,null),e([i({readOnly:!0})],q.prototype,`nullable`,null),e([i()],q.prototype,`parseInputValueFunction`,void 0),e([i()],q.prototype,`shouldShowPrompt`,null),e([i()],q.prototype,`sortable`,void 0),e([i()],q.prototype,`store`,void 0),e([i()],q.prototype,`template`,void 0),e([i()],q.prototype,`view`,void 0),q=e([a(`esri.widgets.FeatureTable.FieldColumn`)],q);const J=q;export{J as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import"../../core/has.js";import t from"../../core/Logger.js";import{on as n,sync as r}from"../../core/reactiveUtils.js";import{property as i,subclass as a}from"../../core/accessorSupport/decorators.js";import{getEffectiveFieldAlias as o}from"../../editing/fieldUtils.js";import{convertDateFormatToIntlOptions as s,defaultFormatterOptionsNoTime as c,convertDateTimeFieldFormatToIntlOptions as l,defaultFormatterOptions as u}from"../../intl/date.js";import{formatNumber as d,convertNumberFormatToIntlOptions as f,convertNumberFieldFormatToIntlOptions as p}from"../../intl/number.js";import{isEditableLayer as m}from"../../layers/support/editableLayers.js";import{computeDomainFromTypes as h}from"../../layers/support/featureLayerUtils.js";import g from"../../layers/support/Field.js";import{defaultFieldFormat as _}from"../../layers/support/fieldFormatUtils.js";import{validateFieldValue as v,isDateField as y,isTimeOnlyField as b,isIntegerField as x,isNumericField as S,isStringField as C,isDateOnlyField as w,isTimestampOffsetField as T}from"../../layers/support/fieldUtils.js";import{isAnyDateField as E}from"../../smartMapping/support/utils.js";import{system as D}from"../../time/constants.js";import{getTimeZoneFormattingOptions as O}from"../../time/timeZoneUtils.js";import k from"../FeatureForm/FieldInput.js";import A from"./Grid/EditorColumn.js";import{isIFeatureTableSupportedLayerWithFieldConfigurations as j,isEmptyStringOrWhitespace as M}from"./support/tableUtils.js";import{valueIsInRange as N,dateTimeIsInRange as P,getUnixFieldValueFromDateComponents as F,getISOFieldValueFromDateComponents as I,normalizeTimeOnlyString as L,getLabelForDateFieldValue as R,prepareISOFieldValueForDateComponents as z,prepareUnixFieldValueForDateComponents as B}from"../support/dateUtils.js";import{setFocus as V,selectText as H}from"../support/widgetUtils.js";const U={cancelEdit:`Escape`},W=Symbol(),G=`esri-column`,K={input:`${G}__cell-input`,inputContainer:`${G}__cell__input-container`};let q=class extends A{constructor(e){super(e),this._activeFieldInput=null,this.cellValueFormatFunction=({root:e,rowData:t,value:n})=>{let{formatFunction:r}=this;if(r&&t){let{index:i,item:{attachments:a,feature:o,relatedRecords:s}}=t;return r({attachments:a,column:this,feature:o,field:this.field,index:i,relatedRecords:s,value:this.sanitizeContent(n),virtualIndex:this.getVirtualRowIndex(e)})}if(n===null)return` `;let i=this._getDomainForFeature(t?.item?.feature),a=this._getComputedDomain(n,i)||n;return this._isAnyDateOrTimeField&&i?.type!==`coded-value`?this._formatDateValueForDisplay(this.field,a):this._isNumericField&&i?.type!==`coded-value`?d(parseFloat(a),this._numberFormatOptions):this.sanitizeContent(a)},this.cellValueValidatorFunction=({oldValue:e,value:n})=>{let{_effectiveRange:r,field:i}=this,{max:a,min:o}=r;if(this.effectiveRequired&&(n==null||n===``))return!1;if(this._isNumericField&&(v(i,n)||!N({max:a,min:o,value:n})))return t.getLogger(this).warn(`value-exceeds-valid-range`,`Field value exceeds valid range. Attempted edit was rejected.`),!1;if(this._isAnyDateOrTimeField){let e=i.type;if(!P({type:e,range:r,value:n}))return!1}return e!==n},this.field=null,this.formatFunction=null,this.inputRenderFunction=async({root:e,column:n,rowData:r})=>{if(this.editInfo||!this.effectiveEditable||!r)return;let i=r.item.feature,a=i.getObjectId();if(!i||a==null)return;if(this.tableHasInvalidPendingEdits&&!this.itemHasInvalidPendingEdits(a)){t.getLogger(this).warn(`editing-disabled:fix-invalid-pending-edits`,`Editing is disabled for this row. Table has existing invalid pending edits that must be addressed.`);return}let o=this.getCellValue(r),{field:s}=this;if(s.type===`big-integer`&&v(s,o)){t.getLogger(this).warn(`value-exceeds-valid-range`,`Field value is beyond supported limit. Editing is disabled for this field value.`);return}this._activeFieldInput=this._setUpFieldInput(i,o);let c=document.createElement(`div`);c.classList.add(K.inputContainer);let l=[],u=this._effectiveDomain?.type===`coded-value`;if(this._isAnyDateOrTimeField&&!u){let e=document.createElement(`div`),t=this._setUpDateComponents(o),n=this._setUpDateActionBar();t.forEach(t=>e.appendChild(t)),c.appendChild(e),c.appendChild(n),l.push(...t)}else{let e=this.createInputElement({rowData:r,value:o});c.appendChild(e),l.push(e)}this._set(`editInfo`,{column:n,inputs:l,root:e,rowData:r,oldValue:o}),this.removeCellContent(e),e.appendChild(c),this._syncRowEditingState(e,!0),this.grid?.generateCellPartNames();let d=l[0];await V(d),await H(d)},this.layer=null,this.parseInputValueFunction=({inputs:e})=>{let{editInfo:t,field:n,includeTime:r}=this;if(!t||!e.length)return null;let i=e[0];if(this._isAnyDateOrTimeField){if(this._effectiveDomain?.type===`coded-value`){if(i.value==null||i.value===``)return null;let e=String(i.value);return y(n)?parseFloat(e):e}let{timeZone:a}=this.effectiveTimeZoneOptions,o=t.oldValue??void 0;switch(n.type){case`date-only`:{let e=i.value;return e===``?null:e}case`time-only`:{let e=L(i.value);return e===``?null:e}case`timestamp-offset`:{let t=r?e[1]:void 0,n=e.at(-1);return I({oldValue:o,dateComponent:i,timeComponent:t,timeZoneComponent:n,defaultTimeZone:a})}case`date`:{let{max:t,min:n}=this._effectiveRange;return F({oldValue:o,dateComponent:i,timeComponent:e[1],timeZone:a,max:t,min:n})}}return null}let a=i.value,{effectiveRequired:o}=this;return!o&&(a==null||a===``)?null:this._isNumericField?parseFloat(a):this._isStringField?a.trim():a},this.sortable=!0,this.store=null,this.template=null,this.view=null}get _effectiveDomain(){let e=this._activeFieldInput?.feature;return e?this._getDomainForFeature(e):null}get _effectiveRange(){return this._activeFieldInput?.range??{max:null,min:null}}get _isAnyDateOrTimeField(){let{field:e}=this;return E(e)||b(e)}get _isIntegerField(){return x(this.field)}get _isNumericField(){return S(this.field)}get _isStringField(){return C(this.field)}get _isSubtypeField(){let{layer:e}=this;if(e?.subtypeField){let{subtypeField:t,fieldsIndex:n}=e;return(n.get(t)?.name??t)===this.fieldName}return!1}get _layerWithFieldConfigurations(){let{layer:e}=this;return j(e)?e:null}get _dateTimeFormatOptions(){let{layerFieldConfigurationFormat:e,template:t}=this;if(t?.format?.dateFormat)return s(t.format.dateFormat);if(t?.input&&`includeTime`in t.input&&t.input.includeTime===!1)return c;if(e?.type===`date-time`)return l(e);if(this._isAnyDateOrTimeField)return u}get _numberFormatOptions(){let{layerFieldConfigurationFormat:e,template:t}=this;if(t?.format)return f(t.format);if(e?.type===`number`)return p(e);if(this._isNumericField)return{useGrouping:!0,maximumFractionDigits:20}}get alias(){return o(this.field,this._layerWithFieldConfigurations)}get defaultValue(){return this.field?.defaultValue}get effectiveDescription(){let{description:e,field:t}=this,n=t.description,r=M(e)?M(n)?null:n:e;return r==null?null:this.sanitizeLabel(r)}get effectiveEditable(){let{editable:e,field:t,layer:n,tableEditingEnabled:r}=this;if(!t||!n)return!1;let i=m(n),a=(n.effectiveCapabilities??n.capabilities)?.operations?.supportsUpdate;return!t.editable||!i||!a||t.type===`oid`||!r?!1:e}get effectiveLabel(){return this.sanitizeLabel(this.label||this.alias||this.fieldName)}get effectiveRequired(){return!this.nullable||this._isSubtypeField||this._activeFieldInput?.required||this.required}get effectiveSortable(){return!!(this.layer?.capabilities?.query?.supportsOrderBy&&this.sortable)}get effectiveTimeZoneOptions(){let{layer:e,field:t}=this;if(!e||t?.type!==`date`&&t?.type!==`timestamp-offset`)return{timeZone:void 0,timeZoneName:void 0};let{tableTimeZone:n,timeZone:r,view:i}=this;return O(e.preferredTimeZone||null,!!e.datesInUnknownTimezone,r??n??i?.timeZone??D,this._dateTimeFormatOptions??u,t.type)}get includeTime(){let{field:e,template:t}=this;return e.type===`time-only`?!0:e.type===`date-only`?!1:!t?.input||`includeTime`in t.input&&t.input.includeTime!==!1}get hasContingentValues(){return!!this.store.fieldsWithContingentValues.has(this.fieldName)}get layerFieldConfigurationFormat(){let{_layerWithFieldConfigurations:e}=this;if(e)return e.getFieldConfiguration(this.fieldName)?.fieldFormat??_(this.field)}get maxLength(){let{field:e,template:t}=this,n=e?.length??-1,r=t?.input&&`maxLength`in t.input?t.input.maxLength:null;return r!=null&&!isNaN(r)&&r>=-1&&(n===-1||r<=n)?r:n}get minLength(){let{template:e,maxLength:t}=this,n=e?.input&&`minLength`in e.input?e.input.minLength:null;return t&&n<=t?n:null}get name(){return this.field?.name}get nullable(){return this.field.nullable!==!1}get shouldShowPrompt(){return this._isSubtypeField}createInputElement({rowData:e,value:t}){let{_effectiveDomain:i,maxLength:a,minLength:o,effectiveRequired:s}=this,c;if(i?.type===`coded-value`){let i=e.item.feature,a=this.getFieldValueOptions(i,this.fieldName);this.hasContingentValues?(c=this._setUpComboboxComponent(a,t),this.addHandles([n(()=>c,`calciteComboboxChange`,()=>this.onInputBlur(),r),n(()=>c,`pointerdown`,e=>e.preventDefault(),r)],W)):(c=this.createCalciteSelect(t,a.recommended),this.addHandles(n(()=>c,`calciteSelectChange`,()=>this.onInputBlur(),r),W))}else{if(this._isNumericField){let{_effectiveRange:{max:e,min:n}}=this;c=document.createElement(`calcite-input`),c.type=`number`,this._isIntegerField&&(c.step=1),e!=null&&(c.max=e),n!=null&&(c.min=n),c.status=N({max:e,min:n,value:t})?`idle`:`invalid`}else c=document.createElement(`calcite-input`),this.addHandles(n(()=>c,`calciteInputChange`,()=>this.onInputBlur(),r),W),a>-1&&(c.maxLength=a),o>0&&(c.minLength=o);c.value=t==null?``:t.toString()}return c.classList.add(K.input),c.required=s,this.addHandles([n(()=>c,`keydown`,e=>{e.key===U.cancelEdit&&this.onInputBlur(!0)},r),n(()=>c,`blur`,()=>this.onInputBlur(),r)],W),c}onInputBlur(e=!1){this.removeHandles(W),super.onInputBlur(e)}onEditComplete(){let e=this.editInfo?.root;e&&this._syncRowEditingState(e,!1),this._activeFieldInput=null,super.onEditComplete()}get test(){}_clearActiveEditValues(){this.editInfo?.inputs?.forEach(e=>e.value=``)}_setUpDateActionBar(){let{messagesCommon:e}=this,t=e?.cancel??``,n=e?.clear??``,r=e?.save??``,i=document.createElement(`calcite-action-bar`);return i.expandToggleDisabled=!0,i.layout=`horizontal`,i.appendChild(this.createCalciteAction({text:r,icon:`save`,onclick:()=>this.submit()})),this.effectiveRequired||i.appendChild(this.createCalciteAction({text:n,icon:`trash`,onclick:()=>{this._clearActiveEditValues(),this.submit()}})),i.appendChild(this.createCalciteAction({text:t,icon:`x`,onclick:()=>this.cancel()})),i}_formatDateValueForDisplay(e,t){let{timeZone:n,timeZoneName:r}=this.effectiveTimeZoneOptions;return t==null?null:R(e,t,{...this._dateTimeFormatOptions,timeZone:n,timeZoneName:r})}_fieldValueOptionToComboboxItem({disabled:e,name:t,value:n},r){let i=r===n||r==null&&n===``;return this.createCalciteComboboxItem({disabled:e,heading:t,selected:i,value:n})}_setUpComboboxComponent(e,t){let{recommended:n,other:r,unsupported:i}=e,a=this.effectiveRequired,o=this.messages,s=this.createCalciteCombobox({label:this.effectiveLabel,required:a}),c=n.map(e=>this._fieldValueOptionToComboboxItem(e,t));if(!a||t==null||t===``){let e=this._fieldValueOptionToComboboxItem({disabled:a,name:o?.noValue,value:``},t);s.appendChild(e)}if(r.length===0&&i.length===0)return c.forEach(e=>s.appendChild(e)),s;let l=this.createCalciteComboboxItemGroup({label:o.contingentValues.recommended});if(c.forEach(e=>l.appendChild(e)),s.appendChild(l),r.length){let e=this.createCalciteComboboxItemGroup({label:o.contingentValues.other});r.forEach(n=>e.appendChild(this._fieldValueOptionToComboboxItem(n,t))),s.appendChild(e)}if(i.length){let e=this.createCalciteComboboxItemGroup({label:o.subtypes.unsupportedDomainGroupTitle});i.forEach(n=>e.appendChild(this._fieldValueOptionToComboboxItem(n,t))),s.appendChild(e)}return s}_setUpDateComponents(e){let{_effectiveRange:{max:t,min:r,rawMax:i,rawMin:a},field:o,effectiveRequired:s}=this,c=this._getDateFieldValuesForComponents(o,e),l=[];if(E(o)){let e=this.createDateComponent(),u=w(o)||T(o)?i:t,d=w(o)||T(o)?a:r,f=this._getDateFieldValuesForComponents(o,u??null),p=this._getDateFieldValuesForComponents(o,d??null);e.value=c.date??``,e.max=f.date??``,e.min=p.date??``,e.required=s,this.addHandles([n(()=>e,`calciteInputDatePickerOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}if(this.includeTime){let e=this.createTimeComponent();e.value=c.time??``,e.required=s,this.addHandles([n(()=>e,`calciteInputTimePickerOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}if(o.type===`timestamp-offset`){let e=this.createTimeZoneComponent();e.value=c.timeZoneOffset??`0`,this.addHandles([n(()=>e,`calciteInputTimeZoneOpen`,()=>this._onDateComponentOpen(e))],W),l.push(e)}return l}_onDateComponentOpen(e){this.editInfo?.inputs.forEach(t=>{t!==e&&`open`in t&&(t.open=!1)})}_syncRowEditingState(e,t=!1){let n=this.grid?.getRowContainingNode(e);n&&(t?n.setAttribute(`editing`,`true`):n.removeAttribute(`editing`))}_getDateFieldValuesForComponents(e,t){switch(e.type){case`date`:return B(t,this.effectiveTimeZoneOptions.timeZone);case`date-only`:return{date:t};case`time-only`:return{time:t};case`timestamp-offset`:return z(t);default:return{}}}_setUpFieldInput(e,t){let{field:n,layer:r,effectiveTimeZoneOptions:{timeZone:i}}=this,a=new k({feature:e,field:n,initialFeature:e.clone(),layer:r,timeZone:i});return a.set(`value`,t),a}_isDomainCompatible(e){if(!e)return!1;let{_isNumericField:t,_isStringField:n}=this,{type:r}=e;if(r===`coded-value`){let r=typeof e.codedValues[0].code;if(r===`string`&&n||r===`number`&&t)return!0}return!!(r===`range`&&t)}_getDomainForFeature(e){let{fieldName:t,layer:n,template:r}=this;if(!e||!n?.getFieldDomain||n.type===`wfs`||n.type===`geojson`||n.type===`csv`)return null;if(r?.domain&&this._isDomainCompatible(r.domain))return r.domain;if(n.type!==`feature`&&n.type!==`subtype-group`&&n.getField(t)?.domain==null){let e=h(n,t);if(e)return e}return n.getFieldDomain(t,{feature:e})}_getComputedDomain(e,t){if(!t)return null;if(t.type===`range`)return e;if(t.type===`coded-value`){let n=t.codedValues.filter(t=>t.hasOwnProperty(`code`)&&t.code===e);return n&&n.length?n[0].name:e}return null}getFieldValueOptions(e,t){return this.store.getFieldValueOptions({feature:e,fieldName:t,layer:this.layer,emptyString:this.messages?.noValue})}};e([i()],q.prototype,`_effectiveDomain`,null),e([i()],q.prototype,`_activeFieldInput`,void 0),e([i()],q.prototype,`_effectiveRange`,null),e([i()],q.prototype,`_isAnyDateOrTimeField`,null),e([i()],q.prototype,`_isIntegerField`,null),e([i()],q.prototype,`_isNumericField`,null),e([i()],q.prototype,`_isStringField`,null),e([i()],q.prototype,`_isSubtypeField`,null),e([i()],q.prototype,`_layerWithFieldConfigurations`,null),e([i()],q.prototype,`_dateTimeFormatOptions`,null),e([i()],q.prototype,`_numberFormatOptions`,null),e([i({readOnly:!0})],q.prototype,`alias`,null),e([i()],q.prototype,`cellValueFormatFunction`,void 0),e([i()],q.prototype,`cellValueValidatorFunction`,void 0),e([i({readOnly:!0})],q.prototype,`defaultValue`,null),e([i()],q.prototype,`effectiveDescription`,null),e([i()],q.prototype,`effectiveEditable`,null),e([i()],q.prototype,`effectiveLabel`,null),e([i()],q.prototype,`effectiveRequired`,null),e([i()],q.prototype,`effectiveSortable`,null),e([i()],q.prototype,`effectiveTimeZoneOptions`,null),e([i({type:g})],q.prototype,`field`,void 0),e([i()],q.prototype,`formatFunction`,void 0),e([i()],q.prototype,`includeTime`,null),e([i()],q.prototype,`inputRenderFunction`,void 0),e([i()],q.prototype,`hasContingentValues`,null),e([i()],q.prototype,`layer`,void 0),e([i()],q.prototype,`layerFieldConfigurationFormat`,null),e([i()],q.prototype,`maxLength`,null),e([i()],q.prototype,`minLength`,null),e([i({readOnly:!0})],q.prototype,`name`,null),e([i({readOnly:!0})],q.prototype,`nullable`,null),e([i()],q.prototype,`parseInputValueFunction`,void 0),e([i()],q.prototype,`shouldShowPrompt`,null),e([i()],q.prototype,`sortable`,void 0),e([i()],q.prototype,`store`,void 0),e([i()],q.prototype,`template`,void 0),e([i()],q.prototype,`view`,void 0),q=e([a(`esri.widgets.FeatureTable.FieldColumn`)],q);const J=q;export{J as default};
|