@arcgis/core 6.0.0-next.1 → 6.0.0-next.10
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/066550852483ab8f77bc.js +1 -0
- 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/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/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/939942b00ba380e2957e.js +1 -0
- package/assets/esri/core/workers/chunks/943a0f140813ee4ab04a.js +1 -0
- package/assets/esri/core/workers/chunks/96c3900685cfb2a8ca12.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/bbf993dba74850bbf9d7.js +1 -0
- package/assets/esri/core/workers/chunks/bc0f54a2c15502b630ec.js +1 -0
- package/assets/esri/core/workers/chunks/{ff3a53c3f00335552317.js → c29c474c4b1049352d3e.js} +1 -1
- 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/d7f6021fd41b9571a02c.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/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/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
|
@@ -19,7 +19,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
|
|
|
19
19
|
* first band. `Direction` will return values from the second band. If the data represents u (zonal) and v (meridional) speed components, values are automatically converted
|
|
20
20
|
* to `Magnitude` and `Direction`.
|
|
21
21
|
*
|
|
22
|
-
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-
|
|
22
|
+
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
|
|
23
23
|
* @see [Styles and data visualization](https://developers.arcgis.com/javascript/latest/visualization/)
|
|
24
24
|
* @example
|
|
25
25
|
* const renderer = new VectorFieldRenderer({
|
|
@@ -54,7 +54,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
|
|
|
54
54
|
* It can also be used to symbolize a single raster layer where the symbols are scalar.
|
|
55
55
|
* The direction of the raster defines the angles, while the magnitude of the raster defines the size of the symbol.
|
|
56
56
|
*
|
|
57
|
-
* [](https://developers.arcgis.com/javascript/latest/sample-code/layers-
|
|
57
|
+
* [](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
|
|
58
58
|
*
|
|
59
59
|
* > [!WARNING]
|
|
60
60
|
* >
|
|
@@ -65,7 +65,7 @@ export interface VectorFieldRendererProperties extends VisualVariablesMixinPrope
|
|
|
65
65
|
* > The [visualVariables](https://developers.arcgis.com/javascript/latest/references/core/renderers/VectorFieldRenderer/#visualVariables) set on the VectorFieldRenderer are not supported in the [Legend](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-legend/).
|
|
66
66
|
*
|
|
67
67
|
* @since 4.17
|
|
68
|
-
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-
|
|
68
|
+
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
|
|
69
69
|
* @example
|
|
70
70
|
* const renderer = new VectorFieldRenderer({
|
|
71
71
|
* style: "beaufort-kn", // Beaufort point symbol (knots)
|
|
@@ -152,7 +152,7 @@ export default class VectorFieldRenderer extends VectorFieldRendererSuperclass {
|
|
|
152
152
|
* first band. `Direction` will return values from the second band. If the data represents u (zonal) and v (meridional) speed components, values are automatically converted
|
|
153
153
|
* to `Magnitude` and `Direction`.
|
|
154
154
|
*
|
|
155
|
-
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-
|
|
155
|
+
* @see [Sample - Visualizing wind data with VectorFieldRenderer](https://developers.arcgis.com/javascript/latest/sample-code/layers-hosted-imagerytilelayer/)
|
|
156
156
|
* @see [Styles and data visualization](https://developers.arcgis.com/javascript/latest/visualization/)
|
|
157
157
|
* @example
|
|
158
158
|
* const renderer = new VectorFieldRenderer({
|
package/rest/print.d.ts
CHANGED
|
@@ -76,12 +76,46 @@ import type PrintParameters from "./support/PrintParameters.js";
|
|
|
76
76
|
import type { RequestOptions } from "../request/types.js";
|
|
77
77
|
import type { PrintResponse } from "./types.js";
|
|
78
78
|
|
|
79
|
+
/**
|
|
80
|
+
* @internal
|
|
81
|
+
* @remarks Used by BA components
|
|
82
|
+
*/
|
|
83
|
+
export interface GPPrintParameters {
|
|
84
|
+
/** @internal */
|
|
85
|
+
Web_Map_as_JSON: string;
|
|
86
|
+
/** @internal */
|
|
87
|
+
Format: string | null;
|
|
88
|
+
/** @internal */
|
|
89
|
+
Layout_Template?: string | null;
|
|
90
|
+
/** @internal */
|
|
91
|
+
Layout_Item_ID?: string;
|
|
92
|
+
/** @internal */
|
|
93
|
+
Report_Template?: string | null;
|
|
94
|
+
/** @internal */
|
|
95
|
+
Report_Item_ID?: string;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* The printing features supported by a print service.
|
|
100
|
+
*
|
|
101
|
+
* @internal
|
|
102
|
+
*/
|
|
103
|
+
export interface PrintCapabilities {
|
|
104
|
+
/**
|
|
105
|
+
* Whether the service accepts datum transformations.
|
|
106
|
+
*
|
|
107
|
+
* @internal
|
|
108
|
+
* @remarks used by the print-datum-transformation-input component.
|
|
109
|
+
*/
|
|
110
|
+
readonly supportsDatumTransformations: boolean;
|
|
111
|
+
}
|
|
112
|
+
|
|
79
113
|
/**
|
|
80
114
|
* Sends a request to the print service to create a printable static image of the map using the options specified in
|
|
81
115
|
* the [PrintParameters](https://developers.arcgis.com/javascript/latest/references/core/rest/support/PrintParameters/).
|
|
82
116
|
*
|
|
83
117
|
* @param url - The URL of the REST endpoint of the Export Web Map Task.
|
|
84
|
-
* @param
|
|
118
|
+
* @param parameters - Defines the printing options.
|
|
85
119
|
* @param requestOptions - Additional options to be used for the data request.
|
|
86
120
|
* @returns Resolves to an object containing the URL of the generated printout of the view.
|
|
87
121
|
* @example
|
|
@@ -125,7 +159,7 @@ import type { PrintResponse } from "./types.js";
|
|
|
125
159
|
* console.log("Something broke: ", err);
|
|
126
160
|
* }
|
|
127
161
|
*/
|
|
128
|
-
export function execute(url: string,
|
|
162
|
+
export function execute(url: string, parameters: PrintParameters, requestOptions?: RequestOptions): Promise<PrintResponse>;
|
|
129
163
|
|
|
130
164
|
/**
|
|
131
165
|
* Request the mode for the print request service.
|
|
@@ -133,4 +167,16 @@ export function execute(url: string, params: PrintParameters, requestOptions?: R
|
|
|
133
167
|
* @param url - The URL of the REST endpoint of the Export Web Map Task.
|
|
134
168
|
* @returns Returns the mode for the print request execution, either "sync" or "async".
|
|
135
169
|
*/
|
|
136
|
-
export function getMode(url: string): Promise<string>;
|
|
170
|
+
export function getMode(url: string): Promise<string>;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Retrieves the GP print parameters based on the provided print parameters and print cache.
|
|
174
|
+
*
|
|
175
|
+
* @param url - The URL of the REST endpoint of the print service.
|
|
176
|
+
* @param parameters - The print parameters.
|
|
177
|
+
* @param requestOptions - Additional options for the request.
|
|
178
|
+
* @returns The GP print parameters derived from the provided print parameters and print cache.
|
|
179
|
+
* @internal
|
|
180
|
+
* @remarks Used by BA components
|
|
181
|
+
*/
|
|
182
|
+
export function getGPPrintParameters(url: string, parameters: PrintParameters, requestOptions?: RequestOptions): Promise<GPPrintParameters>;
|
package/rest/print.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as n}from"../core/jsonMap.js";import{createScreenPoint as r,pt2px as i,px2pt as a}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import c from"../geometry/Polygon.js";import{collectLabelingFields as l}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as d}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as f,findToken as p}from"./utils.js";import{execute as m}from"./geoprocessor/execute.js";import{submitJob as h}from"./geoprocessor/submitJob.js";import{formatJsonMap as g}from"./support/fileFormat.js";import{toJSON as _}from"./support/layoutTemplate.js";import{getVisibleLayerViews as ee,isScreenshotRequired as v,isBingMapsLayer as y,isBlendLayer as te,getCopyright as b,getSelectionSymbol as ne,createPointLayer as x,getContextBoundingBox as re,createPolygonLayer as ie,createPolylineLayer as ae,createMultipointLayer as S}from"./support/printTaskUtils.js";import oe from"./support/PrintTemplate.js";import{toJSON as se}from"./support/reportTemplate.js";import ce from"../symbols/WebStyleSymbol.js";import le from"../views/support/HighlightOptions.js";const C={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},w=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),T=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),E=new Map;async function D(e,t,n){let r=await N(t,await O(e,n));if(await k(e,n)===`sync`){let{results:t}=await m(e,r,void 0,n);return t?.[0]?.value}let i=await h(e,r,void 0,n);await i.waitForJobCompletion({interval:t.updateDelay});let{value:a}=await i.fetchResultData(`Output_File`,null,n);return a}async function O(e,n){let r=F(e),i=E.get(r)??{gpServerUrl:r,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]};return i.gpMetadata??=(await t(r,f({f:`json`},n))).data,i.cimVersion=i.gpMetadata.cimVersion,E.set(r,i),i}async function k(e,t){return we(await O(e,t))}async function A(e,n){let r=await O(e,n),i=r.gpMetadata.tasks,a=r.gpServerUrl;if(r.taskInfos)return r.taskInfos;let o=(await t(e,f({f:`json`},n))).data;r.taskInfos={ExportWebMap:o};let s=i?.filter(e=>e!==o.name)??[];return await Promise.all(s.map(async e=>{let i=(await t(`${a}/${e}`,f({f:`json`},n))).data,o=i.name.startsWith(`GetLayoutTemplatesInfo`)?`GetLayoutTemplatesInfo`:null;o&&(r.taskInfos[o]??=i)})),r.taskInfos}async function j(e,t,n){return(await A(e,n))[t]??null}async function M(e,t,n){let r=await j(e,t,n);return r?.executionType?T.fromJSON(r.executionType):`sync`}async function N(t,n){n||={is11xService:!1,legendLayerNameMap:{},legendLayers:[]};let r=t.template||new oe;r.showLabels??=!0;let i;r.format===`pdf`&&(i={enablePdfAccessibility:!0});let a=_(r.layout),o=r.exportOptions;if(o){let e=o.dpi;if(i??={},i.dpi=e,a?.toLowerCase()===`map_only`||a===``){let{width:e,height:t}=o;i.outputSize=e!=null&&t!=null?[e,t]:void 0}}let s=r.layoutOptions,c;if(s){let e,t;s.scalebarUnit===`Miles`||s.scalebarUnit===`Kilometers`?(e=`Kilometers`,t=`Miles`):(s.scalebarUnit===`Meters`||s.scalebarUnit===`Feet`)&&(e=`Meters`,t=`Feet`),c={titleText:s.titleText,authorText:s.authorText,copyrightText:s.copyrightText,customTextElements:s.customTextElements,elementOverrides:s.elementOverrides,scaleBarOptions:e||t?{metricUnit:w.toJSON(e)??void 0,metricLabel:e?C[e]:void 0,nonMetricUnit:w.toJSON(t)??void 0,nonMetricLabel:t?C[t]:void 0}:void 0}}let l=await P(t,r,n);if(l.operationalLayers){let e=RegExp(`[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]`),t=/[\u0600-\u06FF]/,n=n=>{let r=n.text,i=n.font,a=i?.family?.toLowerCase();r&&i&&(a===`arial`||a===`arial unicode ms`)&&(i.family=e.test(r)?`Arial Unicode MS`:`Arial`,i.style!==`normal`&&t.test(r)&&(i.family=`Arial Unicode MS`))};for(let e of l.operationalLayers)if(e.featureCollection?.layers)for(let t of e.featureCollection.layers){if(t.layerDefinition?.drawingInfo?.renderer?.symbol){let e=t.layerDefinition.drawingInfo.renderer;e.symbol.type===`esriTS`&&n(e.symbol)}if(t.featureSet?.features)for(let e of t.featureSet.features)e.symbol&&e.symbol.type===`esriTS`&&n(e.symbol)}}let u=null;s?.legendLayers&&(u=s.legendLayers.filter(e=>!n.screenshotLayers.includes(e.layerId)).map(e=>{let t=e.layerId;n.legendLayerNameMap[t]=e.title;let r={id:t};if(e.subLayerIds){r.subLayerIds=e.subLayerIds;let t=e.dynamicLegend;t!=null&&(r.subLayerDynamicLegends=e.subLayerIds.map(()=>t))}return e.dynamicLegend!=null&&(r.dynamicLegend=e.dynamicLegend),r})),t.outSpatialReference&&(l.mapOptions.spatialReference=t.outSpatialReference.toJSON()),t.datumTransformations?.length&&(l.mapOptions.datumTransformations=t.datumTransformations.map(e=>e.toJSON())),Object.assign(l,{exportOptions:i,layoutOptions:c||{}}),Object.assign(l.layoutOptions,{legendOptions:{operationalLayers:u??n.legendLayers.slice()}}),n.legendLayers.length=0,n.screenshotLayers.length=0,E.set(n.gpServerUrl,n);let d={Web_Map_as_JSON:JSON.stringify(l),Format:g.toJSON(r.format),Layout_Template:a,Layout_Item_ID:void 0,Report_Template:se(r.report),Report_Item_ID:void 0};if(r.layoutItem){delete d.Layout_Template;let t=r.layoutItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(n.gpServerUrl),d.Layout_Item_ID=JSON.stringify({id:t.id})}if(r.reportItem){delete d.Report_Template;let t=r.reportItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(n.gpServerUrl),d.Report_Item_ID=JSON.stringify({id:t.id})}return t.extraParameters&&Object.assign(d,t.extraParameters),d}async function P(e,t,n){let r=e.view,i=r.spatialReference,a={operationalLayers:await I(r,t,n)};t.includeTables&&(a.tables=await _e(r));let o=e.extent||n.ssExtent||r.extent;if(i?.isWrappable&&(o=o.clone()._normalize(!0),i=o.spatialReference),a.mapOptions={extent:o&&o.toJSON(),spatialReference:i&&i.toJSON(),showAttribution:t.attributionVisible},n.ssExtent=null,r.background&&(a.background=r.background.toJSON()),r.rotation&&(a.mapOptions.rotation=-r.rotation),t.scalePreserved&&(a.mapOptions.scale=t.outScale||r.scale),r.timeExtent!=null){let e=r.timeExtent.start==null?null:r.timeExtent.start.getTime(),t=r.timeExtent.end==null?null:r.timeExtent.end.getTime();a.mapOptions.time=[e,t]}return t.reportOptions&&(a.reportOptions=t.reportOptions),a}function F(e){let t=e,n=t.lastIndexOf(`/GPServer/`);return n>0&&(t=t.slice(0,n+9)),t}async function I(e,t,n){let r=[],i=0;t.scalePreserved&&(i=t.outScale||e.scale);let a={layerView:null,outScale:i,printTemplate:t,view:e},o=ee(e,i);for(let e of o){let t=e.layer;if(!t.loaded||`layers`in t)continue;let i;a.layerView=e,i=v(e)?await G(t,a,n):y(t)?L(t):t?.type===`csv`?await z(t,a,n):t?.type===`catalog-footprint`?await R(t,a,n):t?.type===`feature`?await V(t,a,n):t?.type===`geojson`?await H(t,a,n):t?.type===`graphics`?await U(t,a,n):t?.type===`imagery`?W(t,n):t?.type===`imagery-tile`?await ue(t,a,n):t?.type===`kml`?await de(t,a,n):t?.type===`map-image`?fe(t,a,n):t?.type===`map-notes`?await pe(a,n):t?.type===`open-street-map`?me():t?.type===`stream`?await he(t,a,n):t?.type===`subtype-group`?await ge(t,n):t?.type===`tile`?ve(t,n):t?.type===`vector-tile`?await ye(t,a,n):t?.type===`web-tile`?be(t):t?.type===`wfs`?await xe(t,a,n):t?.type===`wms`?Se(t,n):t?.type===`wmts`?Ce(t):await G(t,a,n),i&&(Array.isArray(i)?r.push(...i):(i.id=t.id,i.title=n.legendLayerNameMap[t.id]||t.title,i.opacity=e.fullOpacity,i.minScale=t.minScale||0,i.maxScale=t.maxScale||0,te(t)&&t.blendMode&&t.blendMode!==`normal`&&(i.blendMode=t.blendMode),r.push(i)))}if(i)for(let e of r)e.minScale=0,e.maxScale=0;if(e.graphics?.length){let i=await B(null,e.graphics,t,n);i&&r.push(i)}return r}function L(e){return{culture:e.culture,key:e.key,type:`BingMaps${e.style===`aerial`?`Aerial`:e.style===`hybrid`?`Hybrid`:`Road`}`}}async function R(e,{layerView:t,printTemplate:n},r){if(parseFloat(r.cimVersion)<3.1)return B(e,await Z(t),n,r);let i=e.parent,a=(e=>({id:e.id,url:e.url,layerType:e.layerType,customParameters:e.customParameters,dynamicGroupLayer:{visibility:!1},footprintLayer:e.footprintLayer,layerDefinition:e.layerDefinition}))(Q(i,`web-map`));return K(a,i),a}async function z(e,t,n){e.legendEnabled&&n.legendLayers.push({id:e.id});let r=t.layerView,i=t.printTemplate;if(!r.filter&&(!e.portalItem||e.portalItem.access===`public`)){let t=Q(e,`web-map`);return t.type=`CSV`,delete t.popupInfo,delete t.layerType,t.showLabels=i.showLabels&&e.labelsVisible,t}return B(e,await Z(r),i,n)}async function B(e,t,n,r){let i,a=ie(),o=ae(),s=x(),u=S(),d=x();if(d.layerDefinition.name=`textLayer`,delete d.layerDefinition.drawingInfo,e){if(e.declaredClass===`esri.layers.FeatureLayer`||e.declaredClass===`esri.layers.StreamLayer`?a.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=u.layerDefinition.name=r.legendLayerNameMap[e.id]||e.arcgisProps?.title||e.title:e.declaredClass===`esri.layers.GraphicsLayer`&&(t=e.graphics.items),e.renderer){let t=e.renderer.toJSON(),n=a.layerDefinition.drawingInfo;n&&(n.renderer=t);let r=o.layerDefinition.drawingInfo;r&&(r.renderer=t);let i=s.layerDefinition.drawingInfo;i&&(i.renderer=t);let c=u.layerDefinition.drawingInfo;c&&(c.renderer=t)}if(n.showLabels&&e.labelsVisible&&typeof e.write==`function`){let t=Q(e).layerDefinition?.drawingInfo?.labelingInfo;if(t){i=!0;let e=a.layerDefinition.drawingInfo;e&&(e.labelingInfo=t);let n=o.layerDefinition.drawingInfo;n&&(n.labelingInfo=t);let r=s.layerDefinition.drawingInfo;r&&(r.labelingInfo=t);let c=u.layerDefinition.drawingInfo;c&&(c.labelingInfo=t)}}}!e?.renderer&&!i&&(delete a.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete u.layerDefinition.drawingInfo);let f,p=e?.fieldsIndex,m=e?.renderer;if(p){let t=new Set;i&&await l(t,e),m&&typeof m.collectRequiredFields==`function`&&await m.collectRequiredFields(t,p),f=Array.from(t);let n=p.fields.map(e=>e.toJSON());a.layerDefinition.fields=n,o.layerDefinition.fields=n,s.layerDefinition.fields=n,u.layerDefinition.fields=n}let h=t?.length,g;for(let e=0;e<h;e++){let i=t[e]||t.at(e);if(i.visible!==!1&&i.geometry){if(g=i.toJSON(),g.hasOwnProperty(`popupTemplate`)&&delete g.popupTemplate,g.geometry?.z&&delete g.geometry.z,g.symbol&&(g.symbol.angle||delete g.symbol.angle,$(g.symbol)?g.symbol=await q(g.symbol,r):g.symbol.text&&delete g.attributes),(!n||!n.forceFeatureAttributes)&&f?.length){let e={};for(let t of f)g.attributes?.hasOwnProperty(t)&&(e[t]=g.attributes[t]);g.attributes=e}i.geometry.type===`polygon`?a.featureSet.features.push(g):i.geometry.type===`polyline`?o.featureSet.features.push(g):i.geometry.type===`point`?g.symbol?.text?d.featureSet.features.push(g):s.featureSet.features.push(g):i.geometry.type===`multipoint`?u.featureSet.features.push(g):i.geometry.type===`extent`&&(g.geometry=c.fromExtent(i.geometry).toJSON(),a.featureSet.features.push(g))}}let _=[a,o,u,s,d].filter(e=>e.featureSet.features.length>0);for(let e of _){let t=e.featureSet.features.every(e=>e.symbol);if(t&&(!n||!n.forceFeatureAttributes))for(let t of e.featureSet.features)delete t.attributes;t&&delete e.layerDefinition.drawingInfo,e.layerDefinition.drawingInfo?.renderer&&(await X(e.layerDefinition.drawingInfo.renderer),await J(e.layerDefinition.drawingInfo.renderer,r))}return _.length?{featureCollection:{layers:_},showLabels:i}:null}async function V(e,t,n){let r,i=e.renderer,a=parseFloat(n.cimVersion);if(e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`&&(a<2.9||e.featureReduction.renderer?.type===`pie-chart`)||i?.type===`pie-chart`&&a<3.1||i?.type===`dot-density`&&a<2.6||e.geometryType===`polygon`&&i?.authoringInfo?.visualVariables?.some(e=>e.theme===`spike`))return G(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let o=t.layerView,{printTemplate:s,view:c}=t,l=e.source?.type!==`feature-layer`&&e.source?.type!==`ogc-feature`;if(!o.filter&&!l&&i&&(!(`field`in i)||i.field==null||e.getField(i.field))){if(r=(e=>({id:e.id,title:e.title,url:e.url,layerType:e.layerType,customParameters:e.customParameters,layerDefinition:e.layerDefinition,charts:s.includeCharts?e.charts:void 0}))(Q(e)),s.attributionVisible&&(r.credits=b(e)),r.showLabels=s.showLabels&&e.labelsVisible&&!!e.labelingInfo&&e.labelingInfo.length>0,K(r,e),delete r.layerDefinition?.featureReduction?.disablePopup,delete r.layerDefinition?.featureReduction?.popupInfo,o.displayFilterEnabled||delete r.layerDefinition?.displayFilterInfo,r.layerDefinition?.drawingInfo?.renderer&&(delete r.layerDefinition.minScale,delete r.layerDefinition.maxScale,await X(r.layerDefinition.drawingInfo.renderer),await J(r.layerDefinition.drawingInfo.renderer,n),`visualVariables`in i&&i.visualVariables?.[0])){let e=i.visualVariables[0];if(e.type===`size`&&e.maxSize&&typeof e.maxSize!=`number`&&e.minSize&&typeof e.minSize!=`number`){let t=d(e,c.scale);r.layerDefinition.drawingInfo.renderer.visualVariables[0].minSize=t.minSize,r.layerDefinition.drawingInfo.renderer.visualVariables[0].maxSize=t.maxSize}}let t=u(o);if(t&&(r.layerDefinition??={},r.layerDefinition.definitionExpression=r.layerDefinition.definitionExpression?`(${r.layerDefinition.definitionExpression}) AND (${t})`:t),e.gdbVersion&&(r.layerDefinition??={},r.layerDefinition.gdbVersion=e.gdbVersion),o.hasHighlight&&`highlightIds`in o){let t=o;r.selectionObjectIds=t.highlightIds;let n=t.highlightOptions??c.defaultHighlight??new le;r.selectionSymbol=ne(e.geometryType,n)}}else r=await B(e,await Z(o),s,n);return r}async function H(e,t,n){return e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`?G(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),B(e,await Z(t.layerView),t.printTemplate,n))}async function U(e,{printTemplate:t},n){return B(e,null,t,n)}function W(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let n=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e));return n.bandIds=e.bandIds,n.compressionQuality=e.compressionQuality,n.format=e.format,n.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(n.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(n.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(n.layerDefinition??={},n.layerDefinition.drawingInfo??={},n.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),K(n,e),n}async function ue(e,t,n){if(e.renderer?.type===`flow`||!e.supportsWrite())return G(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let r=(e=>({bandIds:e.bandIds,customParameters:e.customParameters,interpolation:e.interpolation,layerDefinition:e.layerDefinition}))(Q(e));return r.layerType=`ArcGISImageServiceLayer`,K(r,e),r}async function de(e,t,n){let r=t.printTemplate;if(!e.portalItem||e.portalItem.access===`public`){let t=Q(e,`web-map`);return t.type=`kml`,delete t.layerType,t.url=s(e.url),t}let i=[],a=t.layerView;a.allVisibleMapImages.forEach((t,n)=>{let r={id:`${e.id}_image${n}`,type:`image`,title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:a.fullOpacity,extent:t.extent};t.href.startsWith(`data:image/png;base64,`)?r.imageData=t.href.slice(22):r.url=t.href,i.push(r)});let o=[...a.allVisiblePoints.items,...a.allVisiblePolylines.items,...a.allVisiblePolygons.items],c={id:e.id,...await B(null,o,r,n)};return i.push(c),i}function fe(e,{outScale:t,printTemplate:n,view:r},i){let a,o={id:e.id,subLayerIds:[]},s=[],c=t||r.scale,l=e=>{let t=c===0,n=e.minScale===0||c<=e.minScale,r=e.maxScale===0||c>=e.maxScale;if(e.visible&&(t||n&&r)){if(e.sublayers)e.sublayers.forEach(l);else{let t=e.toExportImageJSON(),n={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};s.unshift(n),o.subLayerIds.push(e.id)}}};return e.sublayers?.forEach(l),s.length&&(s=s.map(({id:e,name:t,layerDefinition:n})=>({id:e,name:t,layerDefinition:n})),a=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e)),a.layers=s,a.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:o.subLayerIds,n.attributionVisible&&(a.credits=b(e)),e.gdbVersion&&(a.gdbVersion=e.gdbVersion),K(a,e),e.legendEnabled&&i.legendLayers.push(o)),a}async function pe({layerView:e,printTemplate:t},n){let r=[],i=e.layer;if(i.featureCollections!=null)for(let e of i.featureCollections){let i=await B(e,e.source,t,n);i&&r.push(...i.featureCollection.layers)}else if(i.sublayers!=null)for(let e of i.sublayers){let i=await B(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}function me(){return{type:`OpenStreetMap`}}async function G(e,{printTemplate:t,view:n},i){let a={type:`image`};i.screenshotLayers.push(e.id);let s={format:`png`,ignoreBackground:!0,ignorePadding:!0,layers:[e]};n.rotation!==0&&(s.rotation=0);let c=i.ssExtent||n.state.extent.clone(),l=96,u=!0,d=!0;if(t.exportOptions){let e=t.exportOptions;e.dpi!=null&&e.dpi>0&&(l=e.dpi),e.width!=null&&e.width>0&&(u=e.width%2==n.width%2),e.height!=null&&e.height>0&&(d=e.height%2==n.height%2)}if(t.layout===`map-only`&&t.scalePreserved&&(!t.outScale||t.outScale===n.scale)&&l===96&&(!u||!d)&&n.state.extent.equals(n.extent)&&(s.area={x:0,y:0,width:n.width,height:n.height},u||--s.area.width,d||--s.area.height,!i.ssExtent)){let e=n.toMap(r(s.area.width,s.area.height));c.ymin=e.y,c.xmax=e.x,i.ssExtent=c}a.extent=c.clone()._normalize(!0).toJSON();let f=await n.takeScreenshot(s);return a.imageData=o(f.dataUrl)?.data,a}async function he(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),B(e,await Z(t),n,r)}async function ge(e,t){if(e.legendEnabled)for(let n of e.sublayers)n.legendEnabled&&t.legendLayers.push({id:n.id});let n=(e=>({customParameters:e.customParameters,effect:e.effect,layerDefinition:e.layerDefinition,layerType:e.layerType,layers:e.layers,url:e.url}))(Q(e));if(K(n,e),Array.isArray(n.layers)){for(let e of n.layers)delete e.popupInfo;n.token&&n.layers.length>0&&(n.layers[n.layers.length-1].token=n.token,delete n.token)}return n}async function _e(e){let t=[],n=[];for(let t of e.map.allTables)t.type===`feature`&&!t.loaded&&n.push(t.load());n.length&&await Promise.allSettled(n);for(let n of e.map.allTables)if(n.type===`feature`&&n.loaded&&n.isTable&&n.source?.type===`feature-layer`){let e=(e=>({id:e.id,title:e.title,customParameters:e.customParameters,layerDefinition:{definitionExpression:e.layerDefinition?.definitionExpression},url:e.url}))(Q(n));K(e,n),t.push(e)}return t.length?t:void 0}function ve(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let n=(e=>({layerType:e.layerType,customParameters:e.customParameters}))(Q(e));return K(n,e),n}async function ye(e,t,n){let r=t.layerView;if(e.serviceUrl&&e.styleUrl&&!r.spriteSourceChanged&&!r.styleChanged){let t=p(e.styleUrl,e.apiKey),r=p(e.serviceUrl,e.apiKey);if(!t&&!r||n.cimVersion!==`2.1.0`){let n={type:`VectorTileLayer`};return n.styleUrl=s(e.styleUrl),n.token=t,r!==t&&(n.additionalTokens=[{url:e.serviceUrl,token:r}]),n}}return G(e,t,n)}function be(e){let t={type:`WebTiledLayer`,urlTemplate:e.urlTemplate?.replaceAll("${",`{`),credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(t.subDomains=e.subDomains),t}async function xe(e,t,n){return parseFloat(n.cimVersion)<3.5?G(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),(e=>({layerType:e.layerType,layerDefinition:e.layerDefinition,url:e.url,wfsInfo:e.wfsInfo}))(Q(e,`web-map`)))}function Se(e,t){let n,r=[],i=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(i):e.name&&r.unshift(e.name))};return e.sublayers&&e.sublayers.forEach(i),r.length&&(e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:r}),n={type:`wms`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:r,url:s(e.url),version:e.version}),n}function Ce(e){let t=e.activeLayer;return{type:`wmts`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function K(e,t){t.url&&(e.url=s(e.url||t.url),e.token=p(e.url,t.apiKey))}async function q(e,n){n.canvas||=document.createElement(`canvas`);let r=1024;n.canvas.width=r,n.canvas.height=r;let o=n.canvas.getContext(`2d`),s,c;if(e.path){let t=new Path2D(e.path);t.closePath(),o.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:`rgb(0,0,0)`,o.fill(t);let n=re(o);if(!n)return null;o.clearRect(0,0,r,r);let a=i(e.size)/Math.max(n.width,n.height);o.scale(a,a);let l=r/a,u=l/2-n.width/2-n.x,d=l/2-n.height/2-n.y;if(o.translate(u,d),Array.isArray(e.color)&&o.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){let r=e.outline;o.lineWidth=i(r.width)/a,o.lineJoin=`round`,o.strokeStyle=`rgba(${r.color[0]},${r.color[1]},${r.color[2]},${r.color[3]/255})`,o.stroke(t),n.width+=o.lineWidth,n.height+=o.lineWidth}n.width*=a,n.height*=a;let f=o.getImageData(r/2-n.width/2,r/2-n.height/2,Math.ceil(n.width),Math.ceil(n.height));s=f.width,c=f.height,o.canvas.width=s,o.canvas.height=c,o.putImageData(f,0,0)}else{let n=e.contentType===`image/svg+xml`?`data:image/svg+xml;base64,`+e.imageData:e.url,r=(await t(n,{responseType:`image`})).data;s=i(e.width),c=i(e.height),o.canvas.width=s,o.canvas.height=c,o.drawImage(r,0,0,o.canvas.width,o.canvas.height)}return{type:`esriPMS`,imageData:o.canvas.toDataURL(`image/png`).slice(22),angle:e.angle,contentType:`image/png`,height:a(c),width:a(s),xoffset:e.xoffset,yoffset:e.yoffset}}async function J(e,t){let n=e.type;if(n===`simple`&&$(e.symbol))e.symbol=await q(e.symbol,t)??{type:`esriSMS`,color:[0,0,0,0],size:0,style:`esriSMSSquare`};else if(n===`uniqueValue`){if($(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol,t)),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let n of e.uniqueValueInfos)$(n.symbol)&&(n.symbol=await q(n.symbol,t));if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let n of e.uniqueValueGroups)for(let e of n.classes)$(e.symbol)&&(e.symbol=await q(e.symbol,t))}else if(n===`classBreaks`){$(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol,t));for(let n of e.classBreakInfos)$(n.symbol)&&(n.symbol=await q(n.symbol,t))}}async function Y(e){if(e?.type!==`styleSymbolReference`)return e;try{return(await ce.fromJSON(e).fetchSymbol())?.toJSON()??e}catch{return e}}async function X(e){if(e.type===`simple`&&e.symbol)e.symbol=await Y(e.symbol);else if(e.type===`uniqueValue`){if(e.defaultSymbol=await Y(e.defaultSymbol),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)t.symbol=await Y(t.symbol);if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)e.symbol=await Y(e.symbol)}else if(e.type===`classBreaks`){e.defaultSymbol=await Y(e.defaultSymbol);for(let t of e.classBreakInfos)t.symbol=await Y(t.symbol)}}async function Z(e){return e.queryFeatures(e.createQuery()).then(e=>e.features)}function Q(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function we(e){return e.gpMetadata?.executionType?T.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e&&(e.path||e.contentType===`image/svg+xml`||e.url?.endsWith(`.svg`))}export{D as execute,N as getGpPrintParams,F as getGpServerUrl,k as getMode,O as getPrintCache,M as getTaskExecutionMode,j as getTaskInfo,A as getTaskInfos,E as printCacheMap};
|
|
2
|
+
import{id as e}from"../kernel.js";import t from"../request.js";import{JSONMap as n}from"../core/jsonMap.js";import{createScreenPoint as r,pt2px as i,px2pt as a}from"../core/screenUtils.js";import{dataComponents as o,normalize as s}from"../core/urlUtils.js";import c from"../core/Version.js";import l from"../geometry/Polygon.js";import{collectLabelingFields as u}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as d}from"../layers/support/floorFilterUtils.js";import{getSizeRangeAtScale as f}from"../renderers/visualVariables/support/visualVariableUtils.js";import{asValidOptions as p,findToken as m}from"./utils.js";import{execute as h}from"./geoprocessor/execute.js";import{submitJob as g}from"./geoprocessor/submitJob.js";import{formatJsonMap as _}from"./support/fileFormat.js";import{toJSON as v}from"./support/layoutTemplate.js";import{getVisibleLayerViews as ee,isScreenshotRequired as te,isBingMapsLayer as ne,isBlendLayer as re,getCopyright as y,getSelectionSymbol as b,createPointLayer as x,getContextBoundingBox as S,createPolygonLayer as C,createPolylineLayer as w,createMultipointLayer as ie}from"./support/printTaskUtils.js";import ae from"./support/PrintTemplate.js";import{toJSON as oe}from"./support/reportTemplate.js";import se from"../symbols/WebStyleSymbol.js";import ce from"../views/support/HighlightOptions.js";const T={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},E=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),D=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),O=new Map;let le;async function ue(e,t,n){let r=await P(e,t,n);if(await j(e,n)===`sync`){let{results:t}=await h(e,r,void 0,n);return t?.[0]?.value}let i=await g(e,r,void 0,n);await i.waitForJobCompletion({interval:t.updateDelay});let{value:a}=await i.fetchResultData(`Output_File`,null,n);return a}async function k(e,t){return(await A(e,t)).capabilities}async function A(e,n){let r=L(e),i=O.get(r);if(i?.gpMetadata)return i;let a=(await t(r,p({f:`json`},n))).data,o=a.cimVersion?c.parse(a.cimVersion):void 0,s={...i,capabilities:{supportsCatalogLayer:!o?.lessThan(3,1),supportsClustering:!o?.lessThan(2,9),supportsDatumTransformations:!o?.lessThan(3,7),supportsDotDensityRenderer:!o?.lessThan(2,6),supportsPieChartRenderer:!o?.lessThan(3,1),supportsSecureVectorTileLayer:o?.major!==2||o.minor!==1,supportsWFSLayer:!o?.lessThan(3,5)},gpMetadata:a,gpServerUrl:r};return O.set(r,s),s}async function j(e,t){return ke(await A(e,t))}async function M(e,t,n){return(await F(e,n))[t]??null}async function N(e,t,n){let r=await M(e,t,n);return r?.executionType?D.fromJSON(r.executionType):`sync`}async function P(t,n,r){let i=await A(t,r),a={capabilities:i.capabilities,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]},o=n.template||new ae;o.showLabels??=!0;let s;o.format===`pdf`&&(s={enablePdfAccessibility:!0});let c=v(o.layout),l=o.exportOptions;if(l){let e=l.dpi;if(s??={},s.dpi=e,c?.toLowerCase()===`map_only`||c===``){let{width:e,height:t}=l;s.outputSize=e!=null&&t!=null?[e,t]:void 0}}let u=o.layoutOptions,d;if(u){let e,t;u.scalebarUnit===`Miles`||u.scalebarUnit===`Kilometers`?(e=`Kilometers`,t=`Miles`):(u.scalebarUnit===`Meters`||u.scalebarUnit===`Feet`)&&(e=`Meters`,t=`Feet`),d={titleText:u.titleText,authorText:u.authorText,copyrightText:u.copyrightText,customTextElements:u.customTextElements,elementOverrides:u.elementOverrides,scaleBarOptions:e||t?{metricUnit:E.toJSON(e)??void 0,metricLabel:e?T[e]:void 0,nonMetricUnit:E.toJSON(t)??void 0,nonMetricLabel:t?T[t]:void 0}:void 0}}for(let e of u?.legendLayers??[])a.legendLayerNameMap[e.layerId]=e.title;let f=await I(n,o,a);if(f.operationalLayers){let e=RegExp(`[\\u4E00-\\u9FFF\\u0E00-\\u0E7F\\u0900-\\u097F\\u3040-\\u309F\\u30A0-\\u30FF\\u31F0-\\u31FF]`),t=/[\u0600-\u06FF]/,n=n=>{let r=n.text,i=n.font,a=i?.family?.toLowerCase();r&&i&&(a===`arial`||a===`arial unicode ms`)&&(i.family=e.test(r)?`Arial Unicode MS`:`Arial`,i.style!==`normal`&&t.test(r)&&(i.family=`Arial Unicode MS`))};for(let e of f.operationalLayers)if(e.featureCollection?.layers)for(let t of e.featureCollection.layers){let e=t.layerDefinition?.drawingInfo?.renderer;if(e&&`symbol`in e&&e.symbol?.type===`esriTS`&&n(e.symbol),t.featureSet?.features)for(let e of t.featureSet.features){let t=e.symbol;t?.type===`esriTS`&&n(t)}}}let p=null;u?.legendLayers&&(p=u.legendLayers.filter(e=>!a.screenshotLayers.includes(e.layerId)).map(e=>{let t={id:e.layerId};if(e.subLayerIds){t.subLayerIds=e.subLayerIds;let n=e.dynamicLegend;n!=null&&(t.subLayerDynamicLegends=e.subLayerIds.map(()=>n))}return e.dynamicLegend!=null&&(t.dynamicLegend=e.dynamicLegend),t})),n.outSpatialReference&&(f.mapOptions.spatialReference=n.outSpatialReference.toJSON()),n.datumTransformations?.length&&(f.mapOptions.datumTransformations=n.datumTransformations.map(e=>e.toJSON())),f.exportOptions=s,f.layoutOptions={...d,legendOptions:{operationalLayers:p??a.legendLayers.slice()}};let m={Web_Map_as_JSON:JSON.stringify(f),Format:_.toJSON(o.format),Layout_Template:c,Report_Template:oe(o.report)};if(o.layoutItem){delete m.Layout_Template;let t=o.layoutItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(i.gpServerUrl),m.Layout_Item_ID=JSON.stringify({id:t.id})}if(o.reportItem){delete m.Report_Template;let t=o.reportItem;await t.load(),t.access!==`public`&&e&&await e.getCredential(i.gpServerUrl),m.Report_Item_ID=JSON.stringify({id:t.id})}return n.extraParameters&&Object.assign(m,n.extraParameters),m}async function F(e,n){let r=await A(e,n),i=r.gpMetadata?.tasks,a=r.gpServerUrl;if(r.taskInfos)return r.taskInfos;let o=(await t(e,p({f:`json`},n))).data;r.taskInfos={ExportWebMap:o};let s=i?.filter(e=>e!==o.name)??[];return await Promise.all(s.map(async e=>{let i=(await t(`${a}/${e}`,p({f:`json`},n))).data,o=i.name.startsWith(`GetLayoutTemplatesInfo`)?`GetLayoutTemplatesInfo`:null;o&&(r.taskInfos[o]??=i)})),r.taskInfos}async function I(e,t,n){let r=e.view,i=r.spatialReference,a={operationalLayers:await z(r,t,n),mapOptions:{extent:null,spatialReference:null,showAttribution:t.attributionVisible}};t.includeTables&&(a.tables=await Ce(r));let o=e.extent||n.screenshotExtent||r.extent;if(i?.isWrappable&&(o=o.clone().shiftCentralMeridian(),i=o.spatialReference),a.mapOptions={extent:o&&o.toJSON(),spatialReference:i&&i.toJSON(),showAttribution:t.attributionVisible},r.background&&(a.background=r.background.toJSON()),r.rotation&&(a.mapOptions.rotation=-r.rotation),t.scalePreserved&&(a.mapOptions.scale=t.outScale||r.scale),r.timeExtent!=null){let e=r.timeExtent.start==null?null:r.timeExtent.start.getTime(),t=r.timeExtent.end==null?null:r.timeExtent.end.getTime();a.mapOptions.time=[e,t]}return t.reportOptions&&(a.reportOptions=t.reportOptions),a}function L(e){let t=e,n=t.lastIndexOf(`/GPServer/`);return n>0&&(t=t.slice(0,n+9)),t}const R={getGPServerUrl:L,cache:O};async function z(e,t,n){let r=[],i=0;t.scalePreserved&&(i=t.outScale||e.scale);let a={layerView:null,outScale:i,printTemplate:t,view:e},o=ee(e,i);for(let e of o){let t=e.layer;if(!t.loaded||`layers`in t)continue;let i;a.layerView=e,i=te(e)?await W(t,a,n):ne(t)?B(t):t?.type===`csv`?await H(t,a,n):t?.type===`catalog-footprint`?await V(t,a,n):t?.type===`feature`?await de(t,a,n):t?.type===`geojson`?await fe(t,a,n):t?.type===`graphics`?await pe(t,a,n):t?.type===`imagery`?me(t,n):t?.type===`imagery-tile`?await he(t,a,n):t?.type===`kml`?await ge(t,a,n):t?.type===`map-image`?_e(t,a,n):t?.type===`map-notes`?await ve(a,n):t?.type===`open-street-map`?ye():t?.type===`sketch`?await be(t,a,n):t?.type===`stream`?await xe(t,a,n):t?.type===`subtype-group`?await Se(t,n):t?.type===`tile`?we(t,n):t?.type===`vector-tile`?await Te(t,a,n):t?.type===`web-tile`?Ee(t):t?.type===`wfs`?await De(t,a,n):t?.type===`wms`?Oe(t,n):t?.type===`wmts`?G(t):await W(t,a,n),i&&(Array.isArray(i)?r.push(...i):(i.id=t.id,i.title=n.legendLayerNameMap[t.id]||t.title,i.opacity=e.fullOpacity,i.minScale=t.minScale||0,i.maxScale=t.maxScale||0,re(t)&&t.blendMode&&t.blendMode!==`normal`&&(i.blendMode=t.blendMode),r.push(i)))}if(i)for(let e of r)e.minScale=0,e.maxScale=0;if(e.graphics?.length){let i=await U(null,e.graphics,t,n);i&&r.push(i)}return r}function B(e){return{culture:e.culture,key:e.key,type:`BingMaps${e.style===`aerial`?`Aerial`:e.style===`hybrid`?`Hybrid`:`Road`}`}}async function V(e,{layerView:t,printTemplate:n},r){if(!r.capabilities.supportsCatalogLayer)return U(e,await Z(t),n,r);let i=e.parent,{id:a,url:o,layerType:s,customParameters:c,footprintLayer:l,layerDefinition:u}=Q(i,`web-map`),d={id:a,url:o,layerType:s,customParameters:c,dynamicGroupLayer:{visibility:!1},footprintLayer:l,layerDefinition:u};return K(d,i),d}async function H(e,t,n){e.legendEnabled&&n.legendLayers.push({id:e.id});let r=t.layerView,i=t.printTemplate;if(!r.filter&&(!e.portalItem||e.portalItem.access===`public`)){let t=Q(e,`web-map`);return t.type=`CSV`,delete t.popupInfo,delete t.layerType,t.showLabels=i.showLabels&&e.labelsVisible,t}return U(e,await Z(r),i,n)}async function U(e,t,n,r){let i,a=C(),o=w(),s=x(),c=ie(),d=x();if(d.layerDefinition.name=`textLayer`,delete d.layerDefinition.drawingInfo,e){if((e.type===`feature`||e.type===`stream`)&&(a.layerDefinition.name=o.layerDefinition.name=s.layerDefinition.name=c.layerDefinition.name=r.legendLayerNameMap[e.id]||e.title||void 0),`renderer`in e&&e.renderer){let t=e.renderer.toJSON(),n=a.layerDefinition.drawingInfo;n&&(n.renderer=t);let r=o.layerDefinition.drawingInfo;r&&(r.renderer=t);let i=s.layerDefinition.drawingInfo;i&&(i.renderer=t);let l=c.layerDefinition.drawingInfo;l&&(l.renderer=t)}if(n.showLabels&&`labelsVisible`in e&&e.labelsVisible&&`write`in e){let t=Q(e).layerDefinition?.drawingInfo?.labelingInfo;if(t){i=!0;let e=a.layerDefinition.drawingInfo;e&&(e.labelingInfo=t);let n=o.layerDefinition.drawingInfo;n&&(n.labelingInfo=t);let r=s.layerDefinition.drawingInfo;r&&(r.labelingInfo=t);let l=c.layerDefinition.drawingInfo;l&&(l.labelingInfo=t)}}}!(e&&`renderer`in e&&e.renderer)&&!i&&(delete a.layerDefinition.drawingInfo,delete o.layerDefinition.drawingInfo,delete s.layerDefinition.drawingInfo,delete c.layerDefinition.drawingInfo);let f,p=e&&`fieldsIndex`in e?e.fieldsIndex:void 0,m=e&&`renderer`in e?e.renderer:null;if(p){let t=new Set;i&&e&&`fieldsIndex`in e&&await u(t,e),m&&typeof m.collectRequiredFields==`function`&&await m.collectRequiredFields(t,p),f=Array.from(t);let n=p.fields.map(e=>e.toJSON());a.layerDefinition.fields=n,o.layerDefinition.fields=n,s.layerDefinition.fields=n,c.layerDefinition.fields=n}for(let e of t??[]){let t=e.geometry;if(e.visible===!1||!t)continue;let r=e.toJSON();if(Object.hasOwn(r,`popupTemplate`)&&delete r.popupTemplate,r.geometry&&`z`in r.geometry&&r.geometry.z&&delete r.geometry.z,r.symbol){if(`angle`in r.symbol&&!r.symbol.angle){let e=r.symbol;delete e.angle}$(r.symbol)?r.symbol=await q(r.symbol):`text`in r.symbol&&r.symbol.text&&delete r.attributes}if((!n||!n.forceFeatureAttributes)&&f?.length){let e={};for(let t of f)r.attributes&&Object.hasOwn(r.attributes,t)&&(e[t]=r.attributes[t]);r.attributes=e}let i=r;t.type===`polygon`?a.featureSet.features.push(i):t.type===`polyline`?o.featureSet.features.push(i):t.type===`point`?r.symbol&&`text`in r.symbol&&r.symbol.text?d.featureSet.features.push(i):s.featureSet.features.push(i):t.type===`multipoint`?c.featureSet.features.push(i):t.type===`extent`&&(r.geometry=l.fromExtent(t).toJSON(),a.featureSet.features.push(i))}let h=[a,o,c,s,d].filter(e=>e.featureSet.features.length>0);for(let e of h){let t=e.featureSet.features.every(e=>`symbol`in e&&e.symbol);if(t&&(!n||!n.forceFeatureAttributes))for(let t of e.featureSet.features)delete t.attributes;t&&delete e.layerDefinition.drawingInfo,e.layerDefinition.drawingInfo?.renderer&&(await X(e.layerDefinition.drawingInfo.renderer),await J(e.layerDefinition.drawingInfo.renderer))}return h.length?{featureCollection:{layers:h},showLabels:i}:null}async function de(e,t,n){let r=e.renderer,i=n.capabilities;if(e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`&&(!i.supportsClustering||e.featureReduction.renderer?.type===`pie-chart`)||r?.type===`pie-chart`&&!i.supportsPieChartRenderer||r?.type===`dot-density`&&!i.supportsDotDensityRenderer||e.geometryType===`polygon`&&r?.authoringInfo?.visualVariables?.some(e=>e.theme===`spike`))return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let a=t.layerView,{printTemplate:o,view:s}=t,c=e.source?.type!==`feature-layer`&&e.source?.type!==`ogc-feature`;if(!a.filter&&!c&&r&&(!(`field`in r)||r.field==null||e.getField(r.field))){let{id:t,title:n,url:i,layerType:c,customParameters:l,layerDefinition:u,charts:p}=Q(e),m={id:t,title:n,url:i,layerType:c,customParameters:l,layerDefinition:u,charts:o.includeCharts?p:void 0};o.attributionVisible&&(m.credits=y(e)),m.showLabels=o.showLabels&&e.labelsVisible&&!!e.labelingInfo&&e.labelingInfo.length>0,K(m,e);let h=m.layerDefinition?.featureReduction;if(delete h?.disablePopup,delete h?.popupInfo,a.displayFilterEnabled||delete m.layerDefinition?.displayFilterInfo,m.layerDefinition?.drawingInfo?.renderer&&(delete m.layerDefinition.minScale,delete m.layerDefinition.maxScale,await X(m.layerDefinition.drawingInfo.renderer),await J(m.layerDefinition.drawingInfo.renderer),`visualVariables`in r&&r.visualVariables?.[0])){let e=r.visualVariables[0];if(e.type===`size`&&e.maxSize&&typeof e.maxSize!=`number`&&e.minSize&&typeof e.minSize!=`number`){let t=f(e,s.scale),n=m.layerDefinition.drawingInfo.renderer;if(`visualVariables`in n&&n.visualVariables?.[0]?.type===`sizeInfo`){let e=n.visualVariables[0];e.minSize=t.minSize,e.maxSize=t.maxSize}}}let g=d(a);if(g&&(m.layerDefinition??={},m.layerDefinition.definitionExpression=m.layerDefinition.definitionExpression?`(${m.layerDefinition.definitionExpression}) AND (${g})`:g),e.gdbVersion&&(m.layerDefinition??={},m.layerDefinition.gdbVersion=e.gdbVersion),a.hasHighlight&&`highlightIds`in a){let t=a;m.selectionObjectIds=t.highlightIds;let n=t.highlightOptions??s.defaultHighlight??new ce;m.selectionSymbol=b(e.geometryType,n)}return m}return U(e,await Z(a),o,n)}async function fe(e,t,n){return e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`?W(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),U(e,await Z(t.layerView),t.printTemplate,n))}async function pe(e,{printTemplate:t},n){return U(e,e.graphics,t,n)}function me(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let{layerType:n,customParameters:r}=Q(e),i={layerType:n,customParameters:r};return i.bandIds=e.bandIds,i.compressionQuality=e.compressionQuality,i.format=e.format,i.interpolation=e.interpolation,(e.mosaicRule||e.definitionExpression)&&(i.mosaicRule=e.exportImageServiceParameters.mosaicRule.toJSON()),e.rasterFunction&&(i.renderingRule=e.rasterFunction.toJSON()),e.renderer&&(i.layerDefinition??={},i.layerDefinition.drawingInfo??={},i.layerDefinition.drawingInfo.renderer=e.renderer.toJSON()),K(i,e),i}async function he(e,t,n){if(e.renderer?.type===`flow`||!e.supportsWrite())return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let{bandIds:r,customParameters:i,interpolation:a,layerDefinition:o}=Q(e),s={bandIds:r,customParameters:i,interpolation:a,layerDefinition:o};return s.layerType=`ArcGISImageServiceLayer`,K(s,e),s}async function ge(e,t,n){let r=t.printTemplate;if(!e.portalItem||e.portalItem.access===`public`){let t=Q(e,`web-map`);return t.type=`kml`,delete t.layerType,t.url=s(e.url),t}let i=[],a=t.layerView;a.allVisibleMapImages.forEach((t,n)=>{let r={id:`${e.id}_image${n}`,type:`image`,title:e.id,minScale:e.minScale||0,maxScale:e.maxScale||0,opacity:a.fullOpacity,extent:t.extent};t.href.startsWith(`data:image/png;base64,`)?r.imageData=t.href.slice(22):r.url=t.href,i.push(r)});let o=[...a.allVisiblePoints.items,...a.allVisiblePolylines.items,...a.allVisiblePolygons.items],c={id:e.id,...await U(null,o,r,n)};return i.push(c),i}function _e(e,{outScale:t,printTemplate:n,view:r},i){let a={id:e.id,subLayerIds:[]},o=[],s=t||r.scale,c=e=>{let t=s===0,n=e.minScale===0||s<=e.minScale,r=e.maxScale===0||s>=e.maxScale;if(e.visible&&(t||n&&r)){if(e.sublayers)e.sublayers.forEach(c);else{let t=e.toExportImageJSON(),n={id:e.id,name:e.title,layerDefinition:{definitionExpression:t.definitionExpression,drawingInfo:t.drawingInfo,orderBy:t.orderBy,source:t.source}};o.unshift(n),a.subLayerIds.push(e.id)}}};if(e.sublayers?.forEach(c),o.length){o=o.map(({id:e,name:t,layerDefinition:n})=>({id:e,name:t,layerDefinition:n}));let{layerType:t,customParameters:r}=Q(e),s={layerType:t,customParameters:r};return s.layers=o,s.visibleLayers=e.capabilities?.exportMap?.supportsDynamicLayers?void 0:a.subLayerIds,n.attributionVisible&&(s.credits=y(e)),e.gdbVersion&&(s.gdbVersion=e.gdbVersion),K(s,e),e.legendEnabled&&i.legendLayers.push(a),s}}async function ve({layerView:e,printTemplate:t},n){let r=[],i=e.layer;if(i.featureCollections!=null)for(let e of i.featureCollections){let i=await U(e,e.source?.type===`memory`?e.source.items:[],t,n);i&&r.push(...i.featureCollection.layers)}else if(i.sublayers!=null)for(let e of i.sublayers){let i=await U(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}function ye(){return{type:`OpenStreetMap`}}async function be(e,{printTemplate:t},n){let r=[];if(e.featureCollections!=null)for(let i of e.featureCollections){let e=await U(i,i.source?.type===`memory`?i.source.items:[],t,n);e&&r.push(...e.featureCollection.layers)}else{let i=await U(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}async function W(e,{printTemplate:t,view:n},i){i.screenshotLayers.push(e.id);let a={format:`png`,ignoreBackground:!0,ignorePadding:!0,layers:[e]};n.rotation!==0&&(a.rotation=0);let s=i.screenshotExtent||n.state.extent.clone(),c=96,l=!0,u=!0;if(t.exportOptions){let e=t.exportOptions;e.dpi!=null&&e.dpi>0&&(c=e.dpi),e.width!=null&&e.width>0&&(l=e.width%2==n.width%2),e.height!=null&&e.height>0&&(u=e.height%2==n.height%2)}if(t.layout===`map-only`&&t.scalePreserved&&(!t.outScale||t.outScale===n.scale)&&c===96&&(!l||!u)&&n.state.extent.equals(n.extent)&&(a.area={x:0,y:0,width:n.width,height:n.height},l||--a.area.width,u||--a.area.height,!i.screenshotExtent)){let e=n.toMap(r(a.area.width,a.area.height));s.ymin=e.y,s.xmax=e.x,i.screenshotExtent=s}let d=s.clone().shiftCentralMeridian().toJSON(),f=await n.takeScreenshot(a);return{type:`image`,extent:d,imageData:o(f.dataUrl)?.data}}async function xe(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),U(e,await Z(t),n,r)}async function Se(e,t){if(e.legendEnabled)for(let n of e.sublayers)n.legendEnabled&&t.legendLayers.push({id:n.id});let{customParameters:n,effect:r,layerDefinition:i,layerType:a,layers:o,url:s}=Q(e),c={customParameters:n,effect:r,layerDefinition:i,layerType:a,layers:o,url:s};if(K(c,e),Array.isArray(c.layers)){for(let e of c.layers)delete e.popupInfo;c.token&&c.layers.length>0&&(c.layers[c.layers.length-1].token=c.token,delete c.token)}return c}async function Ce(e){let t=[],n=[];for(let t of e.map.allTables)t.type===`feature`&&!t.loaded&&n.push(t.load());n.length&&await Promise.allSettled(n);for(let n of e.map.allTables)if(n.type===`feature`&&n.loaded&&n.isTable&&n.source?.type===`feature-layer`){let{id:e,title:r,customParameters:i,layerDefinition:a,url:o}=Q(n),s={id:e,title:r,customParameters:i,layerDefinition:{definitionExpression:a?.definitionExpression},url:o};K(s,n),t.push(s)}return t.length?t:void 0}function we(e,t){e.legendEnabled&&t.legendLayers.push({id:e.id});let{layerType:n,customParameters:r}=Q(e),i={layerType:n,customParameters:r};return K(i,e),i}async function Te(e,t,n){let r=t.layerView;if(e.serviceUrl&&e.styleUrl&&!r.spriteSourceChanged&&!r.styleChanged){let t=m(e.styleUrl,e.apiKey),r=m(e.serviceUrl,e.apiKey);if(!t&&!r||n.capabilities.supportsSecureVectorTileLayer){let n={type:`VectorTileLayer`};return n.styleUrl=s(e.styleUrl),n.token=t,r!==t&&(n.additionalTokens=[{url:e.serviceUrl,token:r}]),n}}return W(e,t,n)}function Ee(e){let t={type:`WebTiledLayer`,urlTemplate:e.urlTemplate?.replaceAll("${",`{`),credits:e.copyright};return e.subDomains&&e.subDomains.length>0&&(t.subDomains=e.subDomains),t}async function De(e,t,n){if(!n.capabilities.supportsWFSLayer)return W(e,t,n);e.legendEnabled&&n.legendLayers.push({id:e.id});let{layerType:r,layerDefinition:i,url:a,wfsInfo:o}=Q(e,`web-map`);return{layerType:r,layerDefinition:i,url:a,wfsInfo:o}}function Oe(e,t){let n=[],r=e=>{e.visible&&(e.sublayers?e.sublayers.forEach(r):e.name&&n.unshift(e.name))};if(e.sublayers?.forEach(r),n.length)return e.legendEnabled&&t.legendLayers.push({id:e.id,subLayerIds:n}),{type:`wms`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,transparentBackground:e.imageTransparency,visibleLayers:n,url:s(e.url),version:e.version}}function G(e){let t=e.activeLayer;return{type:`wmts`,customLayerParameters:e.customLayerParameters,customParameters:e.customParameters,format:t.imageFormat,layer:t.id,style:t.styleId,tileMatrixSet:t.tileMatrixSetId,url:s(e.url)}}function K(e,t){if(!t.url)return;let n=typeof e.url==`string`&&e.url?e.url:t.url,r=s(n);e.url=r,e.token=m(r,t.apiKey)}async function q(e){if(e.type===`esriSMS`&&!e.path)return null;let n=e.type===`esriSMS`?null:(await t(e.contentType===`image/svg+xml`?`data:image/svg+xml;base64,`+e.imageData:e.url,{responseType:`image`})).data,r=le??=document.createElement(`canvas`),o=1024;r.width=o,r.height=o;let s=r.getContext(`2d`),c,l;if(e.type===`esriSMS`){let t=new Path2D(e.path);t.closePath(),s.fillStyle=Array.isArray(e.color)?`rgba(${e.color[0]},${e.color[1]},${e.color[2]},${e.color[3]/255})`:`rgb(0,0,0)`,s.fill(t);let n=S(s);if(!n)return null;s.clearRect(0,0,o,o);let r=i(e.size)/Math.max(n.width,n.height);s.scale(r,r);let a=o/r,u=a/2-n.width/2-n.x,d=a/2-n.height/2-n.y;if(s.translate(u,d),Array.isArray(e.color)&&s.fill(t),e.outline?.width&&Array.isArray(e.outline.color)){let a=e.outline;s.lineWidth=i(a.width)/r,s.lineJoin=`round`,s.strokeStyle=`rgba(${a.color[0]},${a.color[1]},${a.color[2]},${a.color[3]/255})`,s.stroke(t),n.width+=s.lineWidth,n.height+=s.lineWidth}n.width*=r,n.height*=r;let f=s.getImageData(o/2-n.width/2,o/2-n.height/2,Math.ceil(n.width),Math.ceil(n.height));c=f.width,l=f.height,s.canvas.width=c,s.canvas.height=l,s.putImageData(f,0,0)}else c=i(e.width),l=i(e.height),s.canvas.width=c,s.canvas.height=l,s.drawImage(n,0,0,s.canvas.width,s.canvas.height);return{type:`esriPMS`,imageData:s.canvas.toDataURL(`image/png`).slice(22),angle:e.angle,contentType:`image/png`,height:a(l),width:a(c),xoffset:e.xoffset,yoffset:e.yoffset}}async function J(e){let t=e.type;if(t===`simple`&&$(e.symbol))e.symbol=await q(e.symbol)??{type:`esriSMS`,color:[0,0,0,0],size:0,style:`esriSMSSquare`};else if(t===`uniqueValue`){if($(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol)),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)$(t.symbol)&&(t.symbol=await q(t.symbol));if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)$(e.symbol)&&(e.symbol=await q(e.symbol))}else if(t===`classBreaks`){$(e.defaultSymbol)&&(e.defaultSymbol=await q(e.defaultSymbol));for(let t of e.classBreakInfos)$(t.symbol)&&(t.symbol=await q(t.symbol))}}async function Y(e){if(e?.type!==`styleSymbolReference`)return e;try{return(await se.fromJSON(e).fetchSymbol())?.toJSON()??e}catch{return e}}async function X(e){if(e.type===`simple`&&e.symbol)e.symbol=await Y(e.symbol);else if(e.type===`uniqueValue`){if(e.defaultSymbol=await Y(e.defaultSymbol),`uniqueValueInfos`in e&&e.uniqueValueInfos)for(let t of e.uniqueValueInfos)t.symbol=await Y(t.symbol);if(`uniqueValueGroups`in e&&e.uniqueValueGroups)for(let t of e.uniqueValueGroups)for(let e of t.classes)e.symbol=await Y(e.symbol)}else if(e.type===`classBreaks`){e.defaultSymbol=await Y(e.defaultSymbol);for(let t of e.classBreakInfos)t.symbol=await Y(t.symbol)}}async function Z(e){return e.queryFeatures(e.createQuery()).then(e=>e.features)}function Q(e,t){return e.write({},{ignorePersistenceEnabled:!0,origin:t})??{}}function ke(e){return e.gpMetadata?.executionType?D.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e?.type===`esriSMS`&&`path`in e&&!!e.path||(e?.type===`esriPMS`||e?.type===`esriPFS`)&&(`contentType`in e&&e.contentType===`image/svg+xml`||`url`in e&&!!e.url?.endsWith(`.svg`))}export{ue as execute,P as getGPPrintParameters,j as getMode,A as getPrintCache,k as getPrintCapabilities,N as getTaskExecutionMode,M as getTaskInfo,R as test};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{allocateFlatGeometry as e,writeBezierCurveSegment as t,writeCircularArcSegment as n,writeEllipticArc7Segment as r}from"../../../geometry/FlatGeometry.js";import{featureGeometryTypeKebabDictionary as
|
|
2
|
+
import{allocateFlatGeometry as e,writeBezierCurveSegment as t,writeCircularArcSegment as n,writeEllipticArc7Segment as r,FlatGeometry as i}from"../../../geometry/FlatGeometry.js";import{featureGeometryTypeKebabDictionary as a}from"../../../geometry/support/typeUtils.js";import{zScale as o}from"../../../geometry/support/zscale.js";import{FlatFeature as s}from"../../../layers/graphics/FlatFeature.js";import{FlatFeatureSet as c}from"../../../layers/graphics/FlatFeatureSet.js";import l from"../../../layers/graphics/OptimizedGeometry.js";import{createFeatureId as u}from"../../../layers/graphics/data/createFeatureId.js";import{makeAttributesClass as d,makeVertexTransformer as f}from"./pbfFeatureSetUtils.js";class p{constructor(e){this._options=e,this.featureSet=new c,this.parseOnly=null,this._idInfo=null,this._transformInPlace=null,this._transformInPlaceXY=null,this._push=p._pushXY,this._attributesClass=null,this._previousX=0,this._previousY=0,this._vertex=[],this._i=0,this._geometry=null,this._iVertex=0,this._iPart=0,this._isPolygon=!1,this._ringEndsAt=-1,this._pointBuffer=null,this._pointBufferOffset=0}queryGeometryType(){return this.featureSet.queryGeometryType}queryGeometry(){return this.featureSet.queryGeometry}idField(e){typeof e==`string`?this._idInfo??={type:`object-id`,fieldName:e}:this._idInfo={type:`unique-id-simple`,fieldName:e.name}}finish(){if(this._idInfo)for(let e of this.featureSet.features)e.objectId=u(e,this._idInfo);let{spatialReference:e,features:t}=this.featureSet;if(e)for(let{geometry:n}of t)n&&(n.spatialReference=e);this.featureSet.transform=null}feature(){this._attributesClass??=d(this.featureSet.fields?.map(e=>e.name)??[]),this.featureSet.features.push(new s(null,new this._attributesClass,null,0)),this._setVertexTransformer()}centroid(e){let{hasZ:t,hasM:n}=this.featureSet;this.featureSet.features.at(-1).centroid=new l([],e,t,n)}geometry(t,n,r){this._previousX=this._previousY=0,this._i=this._iVertex=this._iPart=0;let{hasZ:i,hasM:o}=this.featureSet;i??=!1,o??=!1,this._vertex=[0,0],i&&this._vertex.push(0),o&&this._vertex.push(0);let s=a.fromJSON(n);this._isPolygon=s===`polygon`;let c=Number(this._isPolygon),l=s===`point`?1:r.reduce((e,t)=>e+t-c,0),u=s===`point`?0:r.length;if(this._geometry=s===`point`?this._allocatePoint():e(s,l,u,i,o,!1),this._push=i?o?p._pushXYZM:p._pushXYZ:o?p._pushXYM:p._pushXY,this._geometry.isMultipart()){this._geometry.partOffsets[0]=0;for(let e=0;e<u;++e)this._geometry.partOffsets[e+1]=this._geometry.partOffsets[e]+r[e]-c}this._ringEndsAt=c?this._geometry.partOffsets.at(1)??0:-1,t===1?(this.featureSet.queryGeometry=this._geometry,this.featureSet.queryGeometryType=n):this.featureSet.features.at(-1).geometry=this._geometry}coord(e){let t=this._vertex;t[this._i++]=e,!(this._i<t.length)&&(this._i=0,t[0]+=this._previousX,t[1]+=this._previousY,[this._previousX,this._previousY]=t,!(this._iVertex===this._ringEndsAt&&(++this._iPart,this._ringEndsAt=this._geometry.partOffsets[this._iPart+1],this._previousX=this._previousY=0,this._isPolygon))&&(this._transformInPlace?.(t),this._push(this)))}curvedGeometry(t,n,r,i){let{hasZ:o,hasM:s}=this.featureSet;o??=!1,s??=!1,this._i=this._iVertex=this._iPart=0;let c=a.fromJSON(t);this._isPolygon=c===`polygon`;let l=Number(!this._isPolygon),u=n.length,d=0,f=0,p=l*u;for(let e=0;e<r.length;++e)switch(p+=i[e],r[e]){case 1:case 3:d+=i[e];continue;case 2:f+=i[e]}this._geometry=e(c,p,u,o,s,!0,d,f);let{partOffsets:m}=this._geometry;m[0]=0;for(let e=0,t=0;e<u;++e){m[e+1]=m[e]+l;for(let r=0;r<n[e];++r)m[e+1]+=i[t++]}switch(t){case`esriGeometryPoint`:case`esriGeometryMultipoint`:throw Error(`Curved ${t} does not make sense`)}this.featureSet.features.at(-1).geometry=this._geometry}startCurvedPart(e){}finishCurvedPart(e){this._isPolygon||(this._transform(e,this._vertex),this._push(this)),++this._iPart}lineSegment(e,t){this._transform(e,this._vertex),this._push(this)}bezierSegment(e,n,r,i){this._transform(e,this._vertex),this._push(this),this._transformXY(n,g.b[0]),this._transformXY(r,g.b[1]),this._transformXY(i,g.b[2]),this._i=t(this._vertex,g,this._geometry,this._iVertex-1,this._i)}circularArcSegment(e,t,r){this._transform(e,this._vertex),this._push(this),this._transformXY(t,m.c[0]),this._transformXY(r,m.c[1]),this._i=n(this._vertex,m,this._geometry,this._iVertex-1,this._i)}ellipticArcSegment(e,t,n,i,a,o,s,c){this._transform(e,this._vertex),this._push(this),this._transformXY(t,h.a[0]),this._transformXY(n,h.a[1]),h.a[2]=i,h.a[3]=a,h.a[4]=o,h.a[5]=s,h.a[6]=c,this._i=r(this._vertex,h,this._geometry,this._iVertex-1,this._i)}_allocatePoint(){let{hasZ:e,hasM:t}=this.featureSet,n=Float64Array.BYTES_PER_ELEMENT*(2+Number(e)+Number(t));if(this._pointBuffer??=new ArrayBuffer(32*n),this._pointBufferOffset>=this._pointBuffer.byteLength){let e=Math.floor(this._pointBuffer.byteLength/n*1.5);this._pointBuffer=new ArrayBuffer(e*n),this._pointBufferOffset=0}let r=new Float64Array(this._pointBuffer,this._pointBufferOffset,2);this._pointBufferOffset+=r.byteLength;let a=new i({type:`point`,vertexCount:1,vertexXY:r,vertexZ:void 0,vertexM:void 0,partCount:0,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:0,segmentCountBezier:0});return e&&(a.vertexZ=new Float64Array(this._pointBuffer,this._pointBufferOffset,1),this._pointBufferOffset+=a.vertexZ.byteLength),t&&(a.vertexM=new Float64Array(this._pointBuffer,this._pointBufferOffset,1),this._pointBufferOffset+=a.vertexM.byteLength),a}static _pushXY(e){let t=e._iVertex++,{vertexXY:n}=e._geometry;[n[t*2],n[t*2+1]]=e._vertex}static _pushXYZ(e){let t=e._iVertex++,{vertexXY:n,vertexZ:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r}=e._geometry;[n[t*2],n[t*2+1],r[t]]=e._vertex}static _pushXYZM(e){let t=e._iVertex++,{vertexXY:n,vertexM:r,vertexZ:i}=e._geometry;[n[t*2],n[t*2+1],i[t],r[t]]=e._vertex}_setVertexTransformer(){let{sourceSpatialReference:e}=this._options,{spatialReference:t,hasZ:n,transform:r}=this.featureSet,i=n?o(e,t):1;this._transformInPlace??=f(this.featureSet,i),this._transformInPlaceXY??=f({transform:r})}_transform(e,t){for(let n=0;n<e.length;++n)t[n]=e[n];this._transformInPlace?.(t)}_transformXY(e,t){t[0]=e[0],t[1]=e[1],this._transformInPlaceXY?.(t)}}const m={c:[[0,0],[0,0]]},h={a:[[0,0],[0,0],0,0,0,0,0]},g={b:[[0,0],[0,0],[0,0]]};export{p as FlatFeatureSetParserContext};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../Color.js";import t
|
|
2
|
+
import e from"../../Color.js";import{isInEffectiveScaleRange as t}from"../../geometry/support/scaleUtils.js";import n from"../../symbols/SimpleFillSymbol.js";import r from"../../symbols/SimpleLineSymbol.js";import i from"../../symbols/SimpleMarkerSymbol.js";function a(){return{layerDefinition:{name:`multipointLayer`,geometryType:`esriGeometryMultipoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryMultipoint`,features:[]}}}function o(){return{layerDefinition:{name:`polygonLayer`,geometryType:`esriGeometryPolygon`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolygon`,features:[]}}}function s(){return{layerDefinition:{name:`pointLayer`,geometryType:`esriGeometryPoint`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPoint`,features:[]}}}function c(){return{layerDefinition:{name:`polylineLayer`,geometryType:`esriGeometryPolyline`,drawingInfo:{renderer:null}},featureSet:{geometryType:`esriGeometryPolyline`,features:[]}}}function l(e,t=15){let n=e.canvas.width,r=e.canvas.height,i=e.getImageData(0,0,n,r).data,a,o,s,c,l,u;o1:for(o=r;o--;)for(a=n;a--;)if(i[(n*o+a)*4+3]>t){u=o;break o1}if(!u)return null;o2:for(a=n;a--;)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){l=a;break o2}o3:for(a=0;a<=l;++a)for(o=u+1;o--;)if(i[(n*o+a)*4+3]>t){s=a;break o3}o4:for(o=0;o<=u;++o)for(a=s;a<=l;++a)if(i[(n*o+a)*4+3]>t){c=o;break o4}return{x:s,y:c,width:l-s,height:u-c}}function u(e){if(!e.attributionVisible)return;let t;if(typeof e.originOf==`function`&&e.originOf(`copyright`)===`user`&&(t=e.copyright),t||!e.hasAttributionData)return t??=e.portalItem?.accessInformation,t??=e.copyright,t??void 0}function d(t,a){let o=a.color?.clone()??new e([0,255,255]),s=a.haloColor?.clone()??o.clone();switch(t){case`envelope`:case`polygon`:return o.a*=a.fillOpacity??.25,new n({color:o,outline:new r({color:s}),style:`solid`});case`polyline`:return new r({color:s});default:return s.a=1,new i({color:s,outline:null})}}function f(e,n){let r=e.allLayerViews.items;if(n===e.scale)return r.filter(e=>!e.suspended);let i=[];for(let e of r){let r=e.parent;(!r||r===e.view||!h(r)&&!g(r)||i.includes(r))&&e.visible&&e.visibleAtCurrentTimeExtent&&t(e.layer.effectiveScaleRange,n)&&i.push(e)}return i}function p(e){return e?.type===`bing-maps`}function m(e){return e&&`blendMode`in e&&`effect`in e}function h(e){return e.layer.type===`catalog`}function g(e){return e.layer.type===`group`}function _(e){return e&&`trackInfo`in e}function v(e){let t=e.layer;if(m(t)){let n=t.blendMode;if((!n||n===`normal`)&&(t.effect||`featureEffect`in e&&e.featureEffect))return!0}return!!(_(t)&&t.trackInfo?.enabled)}export{a as createMultipointLayer,s as createPointLayer,o as createPolygonLayer,c as createPolylineLayer,l as getContextBoundingBox,u as getCopyright,d as getSelectionSymbol,f as getVisibleLayerViews,p as isBingMapsLayer,m as isBlendLayer,v as isScreenshotRequired};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as O}from"./support/timeSeriesUtils.js";import{errorCallback as k,getTitleAndExpressionForAgeRenderer as A,updateAgeRendererAuthoringInfoVV as j,getClassBreaks as M,getSummaryStatistics as N,getPointSizeAlgorithm as P,createSymbol as F,getSymbolOutlineFromScheme as I,getSymbolSizeFromScheme as L,verifyBasicFieldValidity as R,isValidPointSize as z,getDefaultDataRange as ee,createDefaultStopValues as te,createStopValues as ne,getDataRange as re,createDataValues as ie,getBasemapInfo as ae}from"./support/utils.js";import B from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as oe,supportedAgeUnits as V}from"../statistics/support/ageUtils.js";import{verifyBinningParams as H}from"../support/binningUtils.js";import{isAnyDateField as U,getNormalizationType as se,getFieldsList as W}from"../support/utils.js";import{createLayerAdapter as G,featureCapableLayerTypes as K,getLayerTypeLabels as q,binningCapableLayerTypes as J}from"../support/adapters/support/layerUtils.js";import{cloneScheme as Y,createScheme as ce,getSchemes as le,getSchemeById as ue}from"../symbology/color.js";import{getColorSchemeDefinition as de}from"../symbology/support/utils.js";const fe=2**53-1;async function pe(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-visual-variable`);let r={...n},i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=R(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function me(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=R(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function he(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=se(r);let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await W({field:r.field,normalizationField:r.normalizationField}),l=R(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function ge(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function _e(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[10],i=G(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!z(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ve(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[10],a=G(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!z(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function X(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=G(n.layer,K);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(K).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=oe(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!V.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${V.join(`, `)}`);return{...n,layer:r}}async function be(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await pe({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function xe(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await me({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await he({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function Ce(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await ye({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function Z(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await ae(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:Y(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=le({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=ue({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function we(e,t){let n=de(e);return ce({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Te(n,r){let i=r.layer,a=await Z({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=ee(n,!1,!0),l=c?te(c[0],c[1],5):ne(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:Y(o)}}function Ee(e,t,n,r){let i=re(e,t,n,!0);return{values:ie(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function De(n,i,a,o){let{field:s,theme:u}=n,d=await Z({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=Ee(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:Y(h),authoringInfo:S}}async function Oe(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=Y(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-fe,maxValue:fe,symbol:F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:Y(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Q(e){let t=await pe(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?B({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:p,filter:u}):N({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await De(t,h,g.geometryType,U(_))}async function ke(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await be(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await B({layer:g,view:n,signal:o,timeSeriesName:_,timeSeriesCalculationName:v,filter:r}):await N({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=Ee(y,h,U(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await Z({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:F(l,{type:e.symbolType,color:y[n],size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?F(l,{type:e.symbolType,color:m.noDataColor,size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:Y(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await me(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Q(X(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(k):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(k):null]),l=t.normalizationField;return Oe(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await xe(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([ke(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(k):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(k):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await he(e);return $(t,await M(ge(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Se(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await M(ge(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=we(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return _e(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:P(e.size)})}))}async function Ie(e){let t=await ve(e),n=await Te(t.statistics??await N({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:P(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await ye(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(k):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(k):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await A(t,b),w=await Q(X({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await Oe(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>j(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await Ce(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(k):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(k):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await A(n,y),C=await Q(X({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>j(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Q as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,ke as regenerateVisualVariable};
|
|
2
|
+
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{clone as n}from"../../core/lang.js";import{ensureClass as r}from"../../core/accessorSupport/ensureType.js";import{fetchMessageBundle as i}from"../../intl/messages.js";import a from"../../renderers/ClassBreaksRenderer.js";import o from"../../renderers/PointCloudRGBRenderer.js";import s from"../../renderers/PointCloudStretchRenderer.js";import c from"../../renderers/support/AuthoringInfo.js";import l from"../../renderers/support/AuthoringInfoVisualVariable.js";import{setLabelsForClassBreaks as u,createColorStops as d}from"../../renderers/support/utils.js";import f from"../../renderers/visualVariables/ColorVariable.js";import p from"../../renderers/visualVariables/support/ColorStop.js";import m from"../../renderers/visualVariables/support/VisualVariableLegendOptions.js";import h from"../heuristics/ageUnit.js";import g from"../heuristics/outline.js";import _ from"../heuristics/sizeRange.js";import{spliceVisualVariables as v,updateAuthoringInfoVisualVariable as y,processRegenerateParams as b,getRendererToUpdate as x,getStyleType as S,hasOutlineVV as C,hasScaleDependentSizeVV as w,findColorVVIndex as T,findOutlineVVIndex as E,findScaleDependentSizeVVIndex as D}from"./support/regenerateUtils.js";import{resolveDataSeriesInfo as O}from"./support/timeSeriesUtils.js";import{errorCallback as k,getTitleAndExpressionForAgeRenderer as A,updateAgeRendererAuthoringInfoVV as j,getClassBreaks as M,getSummaryStatistics as N,getPointSizeAlgorithm as P,createSymbol as F,getSymbolOutlineFromScheme as I,getSymbolSizeFromScheme as L,verifyBasicFieldValidity as R,isValidPointSize as z,getDefaultDataRange as ee,createDefaultStopValues as te,createStopValues as ne,getDataRange as re,createDataValues as ie,getBasemapInfo as ae}from"./support/utils.js";import B from"../statistics/summaryStatisticsForTimeSeries.js";import{verifyDates as oe,supportedAgeUnits as V}from"../statistics/support/ageUtils.js";import{verifyBinningParams as H}from"../support/binningUtils.js";import{isAnyDateField as U,getNormalizationType as se,getFieldsList as W}from"../support/utils.js";import{createLayerAdapter as G,featureCapableLayerTypes as K,getLayerTypeLabels as q,binningCapableLayerTypes as J}from"../support/adapters/support/layerUtils.js";import{cloneScheme as Y,createScheme as ce,getSchemes as le,getSchemeById as ue}from"../symbology/color.js";import{getColorSchemeDefinition as de}from"../symbology/support/utils.js";const fe=2**53-1;async function pe(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-visual-variable:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-visual-variable:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-visual-variable`);let r={...n},i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-visual-variable:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};if(await a.load(o),a.geometryType!==`mesh`&&r.worldScale&&r.view?.type!==`3d`)throw new t(`color-visual-variable:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'worldScale' parameter is true`);let s=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),c=R(a,s,`color-visual-variable:invalid-parameters`);if(c)throw c;return{...r,layer:a}}async function me(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression||n.sqlExpression)))throw new t(`color-continuous-renderer:missing-parameters`,`'layer' and 'field', 'valueExpression' or 'sqlExpression' parameters are required`);if(n.valueExpression&&!n.sqlExpression&&!n.view)throw new t(`color-continuous-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-continuous-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0;let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled;let c=`featureReduction`in r.layer&&r.layer.featureReduction?.type===`cluster`;if(r.sizeOptimizationEnabled=(s===`point`||s===`multipoint`||s===`polyline`)&&!c&&r.sizeOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-continuous-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let l=await W({field:r.field,normalizationField:r.normalizationField,valueExpression:r.valueExpression}),u=R(a,l,`color-continuous-renderer:invalid-parameters`);if(u)throw u;return{...r,layer:a}}async function he(e){let n=O({...e});if(!(n&&n.layer&&(n.field||n.valueExpression)))throw new t(`color-class-breaks-renderer:missing-parameters`,`'layer' and 'field' or 'valueExpression' parameters are required`);if(n.valueExpression&&!n.view)throw new t(`color-class-breaks-renderer:missing-parameters`,`View is required when 'valueExpression' is specified`);n.forBinning&&H(n,`color-class-breaks-renderer`);let r={...n};r.symbolType=r.symbolType||`2d`,r.defaultSymbolEnabled??=!0,r.classificationMethod??=`equal-interval`,r.normalizationType=se(r);let i=n.forBinning?J:K,a=G(r.layer,i,n.forBinning);if(!a)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if((r.minValue==null||r.maxValue==null)&&(r.minValue!=null||r.maxValue!=null))throw new t(`color-class-breaks-renderer:missing-parameters`,`Both 'minValue' and 'maxValue' are required when specifying custom data range`);let o=r.signal==null?null:{signal:r.signal};await a.load(o);let s=a.geometryType;if(r.outlineOptimizationEnabled=s===`polygon`&&r.outlineOptimizationEnabled,s===`mesh`)r.symbolType=`3d-volumetric`,r.colorMixMode=r.colorMixMode||`replace`,r.edgesType=r.edgesType||`none`;else if(r.symbolType===`3d-volumetric-uniform`&&s!==`point`)throw new t(`color-class-breaks-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);else if(r.symbolType.includes(`3d-volumetric`)&&r.view?.type!==`3d`)throw new t(`color-class-breaks-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let c=await W({field:r.field,normalizationField:r.normalizationField}),l=R(a,c,`color-class-breaks-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}function ge(e){let t={...e};delete t.basemap,delete t.colorScheme,delete t.legendOptions,delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let n=t;return n.analyzeData=t.minValue==null||t.maxValue==null,n}async function _e(e){if(!e?.layer)throw new t(`color-point-cloud-true-color-renderer:missing-parameters`,`'layer' parameter is required`);let n={...e,layer:e.layer},r=[12],i=G(n.layer,r);if(!i)throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(r).join(`, `));if(n.layer=i,n.density=n.density||25,n.size=n.size||`100%`,!z(n.size))throw new t(`color-point-cloud-true-color-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let a=n.signal==null?null:{signal:n.signal};return await i.load(a),n}async function ve(e){if(!(e?.layer&&e.field))throw new t(`color-point-cloud-continuous-renderer:missing-parameters`,`'layer' and 'field' parameters are required`);let n=e.field.toLowerCase();if(n!==`intensity`&&n!==`elevation`)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'field' should be either 'intensity' or 'elevation'`);let r={...e,layer:e.layer,field:e.field},i=[12],a=G(r.layer,i);if(!a)throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(i).join(`, `));if(r.layer=a,r.density=r.density||25,r.size=r.size||`100%`,!z(r.size))throw new t(`color-point-cloud-continuous-renderer:invalid-parameters`,`Invalid 'size' parameter. It should be a string of the form '100%'`);let o=r.signal==null?null:{signal:r.signal};return await a.load(o),r}function X(e){let t={...e},n=!!t.symbolType?.includes(`3d-volumetric`);delete t.symbolType,delete t.defaultSymbolEnabled,delete t.colorMixMode,delete t.edgesType;let r=t;return r.worldScale=n,r}async function ye(e){if(!(e&&e.layer&&e.view&&e.startTime&&e.endTime))throw new t(`color-age-renderer:missing-parameters`,`'layer', 'view', startTime', 'endTime' parameters are required`);let n={...e};n.symbolType=n.symbolType||`2d`,n.defaultSymbolEnabled??=!0;let r=G(n.layer,K);if(!r)throw new t(`color-age-renderer:invalid-parameters`,`'layer' must be one of these types: `+q(K).join(`, `));let i=n.signal==null?null:{signal:n.signal};await r.load(i);let a=r.geometryType;n.outlineOptimizationEnabled=a===`polygon`&&n.outlineOptimizationEnabled;let o=`featureReduction`in n.layer&&n.layer.featureReduction?.type===`cluster`;if(n.sizeOptimizationEnabled=(a===`point`||a===`multipoint`||a===`polyline`)&&!o&&n.sizeOptimizationEnabled,a===`mesh`)n.symbolType=`3d-volumetric`,n.colorMixMode=n.colorMixMode||`replace`,n.edgesType=n.edgesType||`none`;else if(n.symbolType===`3d-volumetric-uniform`&&a!==`point`)throw new t(`color-continuous-renderer:not-supported`,`3d-volumetric-uniform symbols are supported for point layers only`);if(n.symbolType.includes(`3d-volumetric`)&&!(n.view&&n.view.type===`3d`))throw new t(`color-age-renderer:invalid-parameters`,`'view' parameter should be an instance of SceneView when 'symbolType' parameter is '3d-volumetric' or '3d-volumetric-uniform'`);let s=oe(r,n.startTime,n.endTime,`color-age-renderer:invalid-parameters`);if(s)throw s;if(n.unit&&!V.includes(n.unit))throw new t(`color-age-renderer:invalid-unit`,`Supported units are: ${V.join(`, `)}`);return{...n,layer:r}}async function be(e){let n=`regenerate-color-visual-variable`;await b(e,n);let r=await x(e);if(r?.type!==`class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer must be a ClassBreaksRenderer to regenerate a color visual variable`);let i=r.authoringInfo,a=i?.visualVariables.find(e=>e.type===`color`),o=r.visualVariables?.find(e=>e.type===`color`);if(!o)throw new t(`${n}:invalid-parameters`,`Renderer does not have a color visual variable`);let{field:s,normalizationField:c,valueExpression:l,valueExpressionTitle:u}=o,d=i?.type===`univariate-color-size`?i?.univariateTheme:a?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=a?.dataSeriesName,v=a?.dataSeriesCalculationName,y=await pe({layer:f,field:s,valueExpression:l,valueExpressionTitle:u,normalizationField:c,theme:d,forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function xe(e){let n=`regenerate-color-continuous-renderer`;await b(e,n);let r=await x(e),i=S(r);if(!i||![`color-continuous`,`color-size`].includes(i))throw new t(`${n}:invalid-renderer`,`Renderer is invalid`);let{authoringInfo:a,field:o,normalizationField:s,valueExpression:c,valueExpressionTitle:l}=r,u=a?.visualVariables.find(e=>e.type===`color`),d=u?.theme,{layer:f,forBinning:p,filter:m,view:h,signal:g}=e,_=u?.dataSeriesName,v=u?.dataSeriesCalculationName,y=await me({layer:f,field:o,valueExpression:c,valueExpressionTitle:l,normalizationField:s,theme:d,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),forBinning:p,dataSeriesName:_,dataSeriesCalculationName:v,filter:m,view:h,signal:g});return{...e,creatorParameters:y,renderer:r}}async function Se(e){let n=`regenerate-color-class-breaks-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-class-breaks`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i,field:a,normalizationField:o,normalizationType:s,normalizationTotal:c,valueExpression:l,valueExpressionTitle:u}=r,{classificationMethod:d,standardDeviationInterval:f}=i,p=r.classBreakInfos.length,{layer:m,forBinning:h,filter:g,view:_,signal:v}=e,y=i?.dataSeriesName,w=i?.dataSeriesCalculationName,T=await he({layer:m,field:a,valueExpression:l,valueExpressionTitle:u,normalizationType:s,normalizationField:o,normalizationTotal:c,classificationMethod:d,standardDeviationInterval:f,numClasses:p,outlineOptimizationEnabled:C(r),defaultSymbolEnabled:!!r.defaultSymbol,forBinning:h,dataSeriesName:y,dataSeriesCalculationName:w,filter:g,view:_,signal:v});return{...e,creatorParameters:T,renderer:r}}async function Ce(e){let n=`regenerate-color-age-renderer`;await b(e,n);let r=await x(e);if(S(r)!==`color-age`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{authoringInfo:i}=r,a=i?.visualVariables.find(e=>e.type===`color`),o=a.startTime,s=a.endTime,c=a.units,l=a.theme,{layer:u,filter:d,view:f,signal:p}=e,m=await ye({layer:u,startTime:o,endTime:s,unit:c,theme:l,outlineOptimizationEnabled:C(r),sizeOptimizationEnabled:w(r),filter:d,view:f,signal:p});return{...e,creatorParameters:m,renderer:r}}async function Z(e,t){let n=e.colorScheme,r=null,i=null,{view:a}=e,o=await ae(e.basemap,a);if(r=o.basemapId==null?null:o.basemapId,i=o.basemapTheme==null?null:o.basemapTheme,n)return{scheme:Y(n),basemapId:r,basemapTheme:i};let s=e.theme||`high-to-low`,c=le({theme:s,basemapTheme:i,geometryType:e.geometryType,worldScale:e.worldScale,view:a});if(c){if(r=c.basemapId,i=c.basemapTheme,e.schemeId){let t=s+`/`+r+`/`+e.schemeId;n=ue({id:t,geometryType:e.geometryType})}else n=c.primaryScheme}return{scheme:n,basemapId:r,basemapTheme:i}}function we(e,t){let n=de(e);return ce({geometryType:t},void 0,n.commonProps,n.colorRampInfo)}async function Te(n,r){let i=r.layer,a=await Z({basemap:r.basemap,colorScheme:r.colorScheme,geometryType:i.geometryType,schemeId:r.field.toLowerCase()===`elevation`?`point-cloud-elevation-scheme`:`point-cloud-intensity-scheme`}),o=a.scheme;if(!o)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Unable to find color scheme`);let s=e(o.colors,5);if(s.length<5)throw new t(`color-point-cloud-continuous-renderer:insufficient-info`,`Color scheme does not have enough colors`);let c=ee(n,!1,!0),l=c?te(c[0],c[1],5):ne(n);return{stops:d({values:l,isDate:!1,colors:s,labelIndexes:[0,2,4]}),basemapId:a.basemapId,basemapTheme:a.basemapTheme,statistics:n,defaultValuesUsed:!!c,colorScheme:Y(o)}}function Ee(e,t,n,r){let i=re(e,t,n,!0);return{values:ie(i,e,t,r),defaultValuesUsed:i.defaultValuesUsed}}async function De(n,i,a,o){let{field:s,theme:u}=n,d=await Z({basemap:n.basemap,theme:n.theme,geometryType:a,colorScheme:n.colorScheme,worldScale:n.worldScale,view:n.view}),h=d.scheme;if(!h)throw new t(`color-visual-variable:insufficient-info`,`Unable to find color scheme`);let g=e(h.colors,5);if(g.length<5)throw new t(`color-visual-variable:insufficient-info`,`Color scheme does not have enough colors`);let{values:_,defaultValuesUsed:v}=Ee(i,u,o,h.id.includes(`seq-`)),y=e(g,5),b=new f({field:s??void 0,valueExpression:n.valueExpression,valueExpressionTitle:n.valueExpressionTitle,normalizationField:n.normalizationField,stops:_.map((e,t)=>new p({value:e,color:y[t]})),legendOptions:r(m,n.legendOptions)}),x=new l({type:`color`,minSliderValue:n.minValue==null?i.min:n.minValue,maxSliderValue:n.maxValue==null?i.max:n.maxValue,theme:h.theme,dataSeriesName:n.dataSeriesName,dataSeriesCalculationName:n.dataSeriesCalculationName}),S=new c({visualVariables:[x]});return{basemapId:d.basemapId,basemapTheme:d.basemapTheme,visualVariable:b,statistics:i,defaultValuesUsed:v,colorScheme:Y(h),authoringInfo:S}}async function Oe(e,t,n,r,o,s,c){let l=await i(`esri/smartMapping/t9n/smartMapping`),{field:u,defaultSymbolEnabled:d}=c,f=Y(e.colorScheme),p=t?.opacity,m=[e.visualVariable.clone()];return t?.visualVariables?.length&&m.push(...t.visualVariables.map(e=>e.clone())),n?.minSize&&m.push(n.minSize),{renderer:new a({classBreakInfos:[{minValue:-fe,maxValue:fe,symbol:F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}})}],defaultLabel:d?l.other:null,defaultSymbol:d?F(s,{type:c.symbolType,color:f.noDataColor,size:L(f,s),outline:I(f,s,p),meshInfo:{colorMixMode:c.colorMixMode,edgesType:c.edgesType}}):null,field:u,normalizationType:r,normalizationField:o,valueExpression:c.valueExpression,valueExpressionTitle:c.valueExpressionTitle,visualVariables:m,authoringInfo:e.authoringInfo&&e.authoringInfo.clone()}),visualVariable:e.visualVariable.clone(),statistics:e.statistics,defaultValuesUsed:e.defaultValuesUsed,colorScheme:Y(e.colorScheme),basemapId:e.basemapId,basemapTheme:e.basemapTheme}}async function Q(e){let t=await pe(e),{view:n,field:r,valueExpression:i,minValue:a,maxValue:o,layer:s,normalizationField:c,signal:l,filter:u,statistics:d,dataSeriesName:f,dataSeriesCalculationName:p}=t,m=c?`field`:void 0,h=await(d??(f?B({layer:s,view:n,signal:l,timeSeriesName:f,timeSeriesCalculationName:p,filter:u}):N({layer:s,field:r,valueExpression:i,sqlExpression:t.sqlExpression,sqlWhere:t.sqlWhere,normalizationType:m,normalizationField:c,minValue:a,maxValue:o,filter:u,view:n,signal:l}))),g=s,_=r&&typeof r!=`function`?g.getField(r):null;return await De(t,h,g.geometryType,U(_))}async function ke(t){let{view:n,filter:r,creatorParameters:i,renderer:a,signal:o}=await be(t),s=a.authoringInfo?.clone(),c=s?.visualVariables.find(e=>e.type===`color`),l=a.visualVariables?.find(e=>e.type===`color`),{field:u,normalizationField:d,valueExpression:f,valueExpressionTitle:m,theme:h,layer:g,dataSeriesName:_,dataSeriesCalculationName:v}=i,y=_?await B({layer:g,view:n,signal:o,timeSeriesName:_,timeSeriesCalculationName:v,filter:r}):await N({layer:g,field:u,valueExpression:f,normalizationField:d,filter:r,view:n,signal:o}),b=u&&typeof u!=`function`?g.getField(u):null,{values:x}=Ee(y,h,U(b),h===`high-to-low`);if(x.length===l.stops.length)l.stops.forEach((e,t)=>e.value=x[t]);else{let t=l.stops.map(e=>e.color),n=e(t,5);l.stops=x.map((e,t)=>new p({value:e,color:n[t]}))}return _&&(l.valueExpression=f??null,l.valueExpressionTitle=m??null,c&&(c.dataSeriesName=_,c.dataSeriesCalculationName=v)),c&&(c.minSliderValue=y.min,c.maxSliderValue=y.max),{visualVariable:l,authoringInfo:s,statistics:y}}function Ae(t,r){let i=t.colorsForClassBreaks;if(i?.length){for(let e of i)if(e.numClasses===r)return n(e.colors)}return e(t.colors,r)}async function $(e,n){let r=await i(`esri/smartMapping/t9n/smartMapping`),o=e.layer,s=e.defaultSymbolEnabled,l=o.geometryType,d=e.classificationMethod,f=d===`standard-deviation`,p=await Z({basemap:e.basemap,geometryType:l,theme:f?`above-and-below`:null,colorScheme:e.colorScheme,worldScale:!!e.symbolType?.includes(`3d-volumetric`),view:e.view}),m=p.scheme,{result:h,outlineResult:g}=n,_=h.classBreakInfos,v=e.normalizationType;if(!m)throw new t(`color-class-breaks-renderer:insufficient-info`,`Unable to find color scheme`);let y=Ae(m,_.length);if(!y||y.length!==_.length)throw new t(`color-class-breaks-renderer:insufficient-info`,`Color scheme does not have enough colors`);let b=g?.opacity,x=new a({classBreakInfos:_.map((t,n)=>({minValue:t.minValue,maxValue:t.maxValue,symbol:F(l,{type:e.symbolType,color:y[n],size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}),label:t.label})),defaultLabel:s?r.other:null,defaultSymbol:s?F(l,{type:e.symbolType,color:m.noDataColor,size:L(m,l),outline:I(m,l,b),meshInfo:{colorMixMode:e.colorMixMode,edgesType:e.edgesType}}):null,field:e.field,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle,normalizationType:v,normalizationField:e.normalizationField,normalizationTotal:v===`percent-of-total`?h.normalizationTotal:void 0,legendOptions:e.legendOptions,authoringInfo:new c({type:`class-breaks-color`,classificationMethod:d,standardDeviationInterval:e.standardDeviationInterval,dataSeriesName:e.dataSeriesName,dataSeriesCalculationName:e.dataSeriesCalculationName})});return f||u({classBreakInfos:x.classBreakInfos,classificationMethod:d,normalizationType:v,round:!0}),g?.visualVariables?.length&&(x.visualVariables=g.visualVariables.map(e=>e.clone())),{renderer:x,colorScheme:Y(m),classBreaksResult:h,defaultValuesUsed:n.defaultValuesUsed,basemapId:p.basemapId,basemapTheme:p.basemapTheme}}async function je(e){let t=await me(e),{layer:n,view:r,signal:i,filter:a}=t,[o,s,c]=await Promise.all([Q(X(t)),t.outlineOptimizationEnabled?g({layer:n,view:r,signal:i,filter:a}).catch(k):null,t.sizeOptimizationEnabled?_({layer:n,view:r,signal:i,filter:a}).catch(k):null]),l=t.normalizationField;return Oe(o,s,c,l?`field`:void 0,l,n.geometryType,t)}async function Me(e){let{renderer:t,view:n,signal:r,filter:i,creatorParameters:a}=await xe(e),{layer:o,outlineOptimizationEnabled:s,sizeOptimizationEnabled:c,valueExpression:l,valueExpressionTitle:u}=a,[d,f,p]=await Promise.all([ke(e),s?g({layer:o,view:n,signal:r,filter:i}).catch(k):null,c?_({layer:o,view:n,signal:r,filter:i}).catch(k):null]);return v(t,d.visualVariable,T),v(t,f?.visualVariables,E),v(t,p?.minSize,D),a.dataSeriesName&&(t.valueExpression=l??null,t.valueExpressionTitle=u??null),y(t,d.authoringInfo,`color`),{renderer:t}}async function Ne(e){let t=await he(e);return $(t,await M(ge(t),t.outlineOptimizationEnabled))}async function Pe(e){let{renderer:t,creatorParameters:n}=await Se(e),{normalizationType:r,outlineOptimizationEnabled:i,classificationMethod:a,valueExpression:o,valueExpressionTitle:s}=n;if(a===`manual`)return{renderer:t};let c=await M(ge(n),i),l=c.result.classBreakInfos;if(n.numClasses!==l.length){let e=we(t.classBreakInfos.map(e=>e.symbol),n.layer.geometryType);return{renderer:(await $({...n,colorScheme:e},c)).renderer}}return t.classBreakInfos.forEach((e,t)=>{e.minValue=l[t].minValue,e.maxValue=l[t].maxValue,e.label=l[t].label}),t.normalizationTotal=r===`percent-of-total`?c.result.normalizationTotal:void 0,a!==`standard-deviation`&&u({classBreakInfos:t.classBreakInfos,classificationMethod:a,normalizationType:r,round:!0}),v(t,c.outlineResult?.visualVariables,E),n.dataSeriesName&&(t.valueExpression=o??null,t.valueExpressionTitle=s??null),{renderer:t}}function Fe(e){return _e(e).then(e=>({renderer:new o({field:`RGB`,pointsPerInch:e.density??void 0,pointSizeAlgorithm:P(e.size)})}))}async function Ie(e){let t=await ve(e),n=await Te(t.statistics??await N({layer:t.layer,field:t.field,signal:t.signal}),t);return{renderer:new s({field:t.field,pointsPerInch:t.density??void 0,pointSizeAlgorithm:P(t.size),stops:n.stops}),basemapId:n.basemapId,basemapTheme:n.basemapTheme,statistics:n.statistics,defaultValuesUsed:n.defaultValuesUsed,colorScheme:n.colorScheme}}async function Le(e){let t=await ye(e),{defaultSymbolEnabled:n,view:r,startTime:i,endTime:a,symbolType:o,colorMixMode:s,edgesType:c,minValue:l,maxValue:u,signal:d,filter:f}=t,p=t.layer,[m,v,y]=await Promise.all([t.unit?{unit:t.unit,statistics:null}:h({view:r,layer:p,startTime:i,endTime:a,minValue:l,maxValue:u,signal:d,filter:f}),t.outlineOptimizationEnabled?g({layer:p,view:r,signal:d,filter:f}).catch(k):null,t.sizeOptimizationEnabled?_({layer:p,view:r,signal:d,filter:f}).catch(k):null]),{unit:b,statistics:x}=m,{valueExpression:S,title:C}=await A(t,b),w=await Q(X({layer:p,basemap:t.basemap,valueExpression:S,symbolType:o,statistics:x,legendOptions:{title:C},colorScheme:t.colorScheme,theme:t.theme,view:r,minValue:t.minValue,maxValue:t.maxValue,filter:f,signal:d})),T={valueExpression:S,defaultSymbolEnabled:n,symbolType:o,colorMixMode:s,edgesType:c},E=await Oe(w,v,y,null,null,p.geometryType,T);return(E.renderer.authoringInfo?.visualVariables)?.forEach(e=>j(e,i,a,b)),{...E,unit:b}}async function Re(e){let{renderer:t,creatorParameters:n}=await Ce(e),{layer:r,outlineOptimizationEnabled:i,sizeOptimizationEnabled:a,startTime:o,endTime:s,theme:c,view:l,signal:u,filter:d}=n,[f,p,m]=await Promise.all([h({view:l,layer:r,startTime:o,endTime:s,signal:u,filter:d}),i?g({layer:r,view:l,signal:u,filter:d}).catch(k):null,a?_({layer:r,view:l,signal:u,filter:d}).catch(k):null]),{unit:y,statistics:b}=f,{valueExpression:x,title:S}=await A(n,y),C=await Q(X({layer:r,valueExpression:x,statistics:b,legendOptions:{title:S},theme:c,view:l,filter:d,signal:u}));return v(t,C.visualVariable,T),v(t,p?.visualVariables,E),v(t,m?.minSize,D),t.authoringInfo=C.authoringInfo.clone(),(t.authoringInfo?.visualVariables)?.forEach(e=>j(e,o,s,y)),{renderer:t}}export{Le as createAgeRenderer,Ne as createClassBreaksRenderer,je as createContinuousRenderer,Ie as createPCContinuousRenderer,Fe as createPCTrueColorRenderer,Q as createVisualVariable,Re as regenerateAgeRenderer,Pe as regenerateClassBreaksRenderer,Me as regenerateContinuousRenderer,ke as regenerateVisualVariable};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as n}from"../../geometry/support/scaleUtils.js";import r from"../../renderers/DotDensityRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../heuristics/outline.js";import{roundValue as o}from"./support/dotDensityUtils.js";import{spliceVisualVariables as s,processRegenerateParams as c,getRendererToUpdate as l,getStyleType as u,hasOutlineVV as d,findOutlineVVIndex as f}from"./support/regenerateUtils.js";import{errorCallback as p,getSymbolOutlineFromScheme as m,verifyBasicFieldValidity as h,getBasemapInfo as g}from"./support/utils.js";import _ from"../statistics/spatialStatistics.js";import v from"../statistics/summaryStatisticsForAttributes.js";import y from"../statistics/support/attributeDensity.js";import{verifyBinningParams as b}from"../support/binningUtils.js";import{getFieldsList as x}from"../support/utils.js";import{binningCapableLayerTypes as S,createLayerAdapter as C,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as E}from"../symbology/dotDensity.js";async function D(e){let n=e.view;if(!(e?.layer&&n&&e.attributes?.length))throw new t(`dot-density-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>8)throw new t(`dot-density-renderer:invalid-parameters`,`Dot density renderer does not support more than 8 attributes`);e.forBinning&&b(e,`dot-density-renderer`);let r={...e,view:n,layer:e.layer,attributes:e.attributes},i=e.forBinning?S:[
|
|
2
|
+
import{createUniqueColors as e}from"../../core/colorUtils.js";import t from"../../core/Error.js";import{getResolutionForScale as n}from"../../geometry/support/scaleUtils.js";import r from"../../renderers/DotDensityRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../heuristics/outline.js";import{roundValue as o}from"./support/dotDensityUtils.js";import{spliceVisualVariables as s,processRegenerateParams as c,getRendererToUpdate as l,getStyleType as u,hasOutlineVV as d,findOutlineVVIndex as f}from"./support/regenerateUtils.js";import{errorCallback as p,getSymbolOutlineFromScheme as m,verifyBasicFieldValidity as h,getBasemapInfo as g}from"./support/utils.js";import _ from"../statistics/spatialStatistics.js";import v from"../statistics/summaryStatisticsForAttributes.js";import y from"../statistics/support/attributeDensity.js";import{verifyBinningParams as b}from"../support/binningUtils.js";import{getFieldsList as x}from"../support/utils.js";import{binningCapableLayerTypes as S,createLayerAdapter as C,getLayerTypeLabels as w}from"../support/adapters/support/layerUtils.js";import{cloneScheme as T,getSchemes as E}from"../symbology/dotDensity.js";async function D(e){let n=e.view;if(!(e?.layer&&n&&e.attributes?.length))throw new t(`dot-density-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>8)throw new t(`dot-density-renderer:invalid-parameters`,`Dot density renderer does not support more than 8 attributes`);e.forBinning&&b(e,`dot-density-renderer`);let r={...e,view:n,layer:e.layer,attributes:e.attributes},i=e.forBinning?S:[5,11,8,9,6,17],a=C(r.layer,i,e.forBinning);if(!a)throw new t(`dot-density-renderer:invalid-parameters`,`'layer' must be one of these types: `+w(i).join(`, `));r.dotBlendingEnabled??=!0,r.dotValueOptimizationEnabled??=!0;let o=r.signal==null?null:{signal:r.signal};if(await Promise.all([n.when(),a.load(o)]),a.geometryType!==`polygon`)throw new t(`dot-density-renderer:not-supported`,`Dot density renderer is supported for polygon layers only`);let s=[],c=r.attributes;for(let e of c){let t=await x({field:e.field,valueExpression:e.valueExpression});s.push(...t)}let l=h(a,s.filter(Boolean),`dot-density-renderer:invalid-parameters`);if(l)throw l;return{...r,layer:a}}async function O(e){let n=`regenerate-dot-density-renderer`;await c(e,n);let r=await l(e);if(u(r)!==`dot-density`)throw new t(`${n}:invalid-parameters`,`Renderer is invalid`);let{layer:i,forBinning:a,filter:o,view:s,signal:f}=e,p=d(r),m=await D({layer:i,attributes:r.attributes.map(e=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle})),dotValueOptimizationEnabled:r.referenceScale!=null,outlineOptimizationEnabled:p,forBinning:a,filter:o,view:s,signal:f});return{...e,creatorParameters:m,renderer:r}}async function k(e){let t=e.dotDensityScheme,n=null,r=null,i=await g(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:T(t),basemapId:n,basemapTheme:r};let a=E({numColors:e.attributes.length,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}function A(e){return{dotValue:1,referenceScale:e.scale,minSliderValue:1,maxSliderValue:100}}async function j(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=await r.getSampleFeatures({view:t,sampleSize:500,returnGeometry:!0,filter:s,signal:a},`json`),[l,u]=await Promise.all([_({features:c,geometryType:r.geometryType}),v({layer:r,attributes:i,filter:s,includeZeros:!1,includeNegatives:!1,view:t,signal:a})]),d=l!=null&&`avgSize`in l&&l.avgSize,f=u.avg;if(!d||!f)return A(t);let p=n(t.scale,t.spatialReference),m=d*d/(p*p)*.1;return{dotValue:o(f/m)||1,referenceScale:t.scale,minSliderValue:1,maxSliderValue:o(f)}}async function M(e){let{view:t,layer:r,attributes:i,signal:a,filter:s}=e,c=[];for(let e of i){let t=await x({field:e.field,valueExpression:e.valueExpression});c.push(...t)}let l=await r.getSampleFeatures({view:t,sampleSize:500,requiredFields:c,filter:s,returnGeometry:!0,signal:a},`json`),{minDensity:u,maxDensity:d,avgDensity:f}=await y({features:l,attributes:i,includeZeros:!1,includeNegatives:!1,view:t});if(!f||!u||!d)return A(t);let p=n(t.scale,t.spatialReference),m=p*p,h=o(u*m),g=o(d*m),_=o(f*m*10)||1;return _>g&&(_=g),{dotValue:_,referenceScale:t.scale,minSliderValue:h,maxSliderValue:g}}async function N(n){let o=await D(n),s=o.layer,c=s.geometryType,l=await k(o),u=l?.scheme;if(!u)throw new t(`dot-density-renderer:insufficient-info`,`Unable to find dot-density scheme`);let d=o.view,f=o.filter,h={layer:s,view:d,filter:f,attributes:o.attributes,signal:o.signal},g={layer:o.layer,view:d,filter:f,signal:o.signal},[_,v]=await Promise.all([o.trueDensity?M(h):j(h),o.outlineOptimizationEnabled?a(g).catch(p):null]),{dotValue:y,referenceScale:b,minSliderValue:x,maxSliderValue:S}=_,C=e(u.colors,o.attributes.length),w=o.attributes.map((e,t)=>({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:C[t]})),T=new r({attributes:w,dotBlendingEnabled:o.dotBlendingEnabled,outline:v?m(u,c,v.opacity):null,dotValue:y,referenceScale:o.dotValueOptimizationEnabled?b:null,legendOptions:o.legendOptions});return v?.visualVariables.length&&(T.visualVariables=v.visualVariables.map(e=>e.clone())),T.authoringInfo=new i({type:`dot-density`,minSliderValue:x,maxSliderValue:S}),{renderer:T,dotDensityScheme:u,basemapId:l.basemapId,basemapTheme:l.basemapTheme}}async function P(e){let{creatorParameters:t,renderer:n}=await O(e),{layer:r,attributes:i,outlineOptimizationEnabled:o,view:c,signal:l,filter:u}=t,d={layer:r,view:c,filter:u,attributes:i,signal:l},[m,h]=await Promise.all([t.trueDensity?M(d):j(d),o?a({layer:r,view:c,signal:l,filter:u}).catch(p):null]),{dotValue:g,referenceScale:_,minSliderValue:v,maxSliderValue:y}=m;return n.dotValue=g,n.referenceScale=t.dotValueOptimizationEnabled?_:null,n.authoringInfo&&(n.authoringInfo.minSliderValue=v,n.authoringInfo.maxSliderValue=y),s(n,h?.visualVariables,f),{renderer:n}}export{N as createRenderer,P as regenerateRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../Color.js";import{createUniqueColors as t}from"../../core/colorUtils.js";import n from"../../core/Error.js";import r from"../../renderers/HeatmapRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as o}from"../../renderers/support/heatmapUtils.js";import{processRegenerateParams as s,getRendererToUpdate as c,getStyleType as l}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as u,getBasemapInfo as d}from"./support/utils.js";import f from"../statistics/heatmapStatistics.js";import{getFieldsList as p}from"../support/utils.js";import{createLayerAdapter as m,getLayerTypeLabels as h}from"../support/adapters/support/layerUtils.js";import{cloneScheme as g,getSchemes as _}from"../symbology/heatmap.js";const v=.01,y=[0,.04];async function b(e){if(!(e?.layer&&e.view))throw new n(`heatmap-renderer:missing-parameters`,`'layer' and 'view' parameters are required`);let t={...e,layer:e.layer,view:e.view};t.radius??=t.blurRadius==null?18:o(t.blurRadius),t.minRatio??=.01,t.maxRatio??=1,t.fadeRatio??=.2,t.fadeToTransparent??=!0;let r=[
|
|
2
|
+
import e from"../../Color.js";import{createUniqueColors as t}from"../../core/colorUtils.js";import n from"../../core/Error.js";import r from"../../renderers/HeatmapRenderer.js";import i from"../../renderers/support/AuthoringInfo.js";import a from"../../renderers/support/HeatmapColorStop.js";import{gaussianBlurRadiusPxToKernelDensityRadiusPt as o}from"../../renderers/support/heatmapUtils.js";import{processRegenerateParams as s,getRendererToUpdate as c,getStyleType as l}from"./support/regenerateUtils.js";import{verifyBasicFieldValidity as u,getBasemapInfo as d}from"./support/utils.js";import f from"../statistics/heatmapStatistics.js";import{getFieldsList as p}from"../support/utils.js";import{createLayerAdapter as m,getLayerTypeLabels as h}from"../support/adapters/support/layerUtils.js";import{cloneScheme as g,getSchemes as _}from"../symbology/heatmap.js";const v=.01,y=[0,.04];async function b(e){if(!(e?.layer&&e.view))throw new n(`heatmap-renderer:missing-parameters`,`'layer' and 'view' parameters are required`);let t={...e,layer:e.layer,view:e.view};t.radius??=t.blurRadius==null?18:o(t.blurRadius),t.minRatio??=.01,t.maxRatio??=1,t.fadeRatio??=.2,t.fadeToTransparent??=!0;let r=[3,5,6,8,9,10,11,14,17],i=m(t.layer,r);if(!i)throw new n(`heatmap-renderer:invalid-parameters`,`'layer' must be one of these types: `+h(r).join(`, `));t.layer=i;let a=t.signal==null?null:{signal:t.signal};await i.load(a);let s=await p({field:t.field}),c=u(i,s,`heatmap-renderer:invalid-parameters`);if(c)throw c;return t}async function x(e){let t=`regenerate-heatmap-renderer`;await s(e,t);let r=await c(e);if(l(r)!==`heatmap`)throw new n(`${t}:invalid-parameters`,`Renderer is invalid`);let{layer:i,filter:a,view:o,signal:u}=e,d=await b({layer:i,field:r.field,radius:r.radius,fadeRatio:r.authoringInfo?.fadeRatio,filter:a,view:o,signal:u});return{...e,creatorParameters:d,renderer:r}}async function S(e){let t=e.scheme,n=null,r=null,i=await d(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:g(t),basemapId:n,basemapTheme:r};let a=_({basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function C(n,o){let{field:s,basemap:c,radius:l,fadeToTransparent:u,heatmapScheme:d,view:f}=o,{scheme:p,basemapId:m,basemapTheme:h}=await S({basemap:c,scheme:d,view:f}),_=p.colors,b=_.length,x=n.min==null,C=x?y:[n.min,n.max],T,E=o.fadeRatio??0,D=o.maxRatio??0,O=o.minRatio??0,k=(D-O)/(b-1),A=_[0],j=u?O:v,M=[new a({ratio:0,color:new e([A.r,A.g,A.b,0])}),new a({ratio:v,color:new e([A.r,A.g,A.b,0])}),new a({ratio:j,color:new e([A.r,A.g,A.b,j])})];return t(_,b).forEach((e,t)=>{let n=O+k*t;M.push(new a({ratio:n,color:e}))}),u&&(w(M,E),T=new i({fadeRatio:E})),{renderer:new r({authoringInfo:T,radius:l,colorStops:M,field:s,minDensity:C[0],maxDensity:C[1]}),statistics:n,defaultValuesUsed:x,scheme:g(p),basemapId:m,basemapTheme:h}}function w(e,t){let n=(1-t)*10+1,r=e.length-3,i=e[2].color.a;e.forEach((e,a)=>{if(a<=2)return;let{color:o}=e,s=(a-3)/r;o.a=t===0?1:Math.min(Math.max(s*n+s+i,i),1)})}async function T(e){let t=await b(e);return C(t.statistics??await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),t)}async function E(e){let{creatorParameters:t,renderer:n}=await x(e),r=await f({layer:t.layer,field:t.field,radius:t.radius,view:t.view,filter:t.filter,signal:t.signal}),i=r.min==null?y:[r.min,r.max];return n.minDensity=i[0],n.maxDensity=i[1],{renderer:D({renderer:n,fadeRatio:t.fadeRatio})}}function D(e){let{fadeRatio:t,renderer:n}=e,r=n.clone(),a=t??(r?.authoringInfo?.fadeRatio||0);return w(r.colorStops,a),r.authoringInfo?r.authoringInfo.fadeRatio=a:r.authoringInfo=new i({fadeRatio:a}),r}export{T as createRenderer,E as regenerateRenderer,D as updateRenderer};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../Color.js";import{isSome as t}from"../../core/arrayUtils.js";import{createUniqueColors as n}from"../../core/colorUtils.js";import r from"../../core/Error.js";import{toPt as i}from"../../core/screenUtils.js";import{fetchMessageBundle as a}from"../../intl/messages.js";import o from"../../layers/support/AggregateField.js";import s from"../../layers/support/ExpressionInfo.js";import c from"../../renderers/PieChartRenderer.js";import l from"../../renderers/support/AttributeColorInfo.js";import u from"../../renderers/support/OthersCategory.js";import d from"../../renderers/support/RendererLegendOptions.js";import f from"../heuristics/outline.js";import p from"../heuristics/sizeRange.js";import{createVisualVariables as m}from"./size.js";import{spliceVisualVariables as h,updateAuthoringInfoVisualVariable as g,processRegenerateParams as _,getRendererToUpdate as v,getStyleType as y,hasOutlineVV as b,hasScaleDependentSizeVV as x,isSizeVV as S,findSizeVVIndex as C,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as T}from"./support/regenerateUtils.js";import{errorCallback as E,getSymbolOutlineFromScheme as D,createSymbol as O,verifyBasicFieldValidity as k,getBasemapInfo as A}from"./support/utils.js";import j from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as M}from"../statistics/support/utils.js";import{verifyBinningParams as N}from"../support/binningUtils.js";import{getFieldsList as P}from"../support/utils.js";import{binningCapableLayerTypes as F,createLayerAdapter as I,getLayerTypeLabels as L,getLayerTypes as R}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as B}from"../symbology/pieChart.js";import V from"../../symbols/SimpleLineSymbol.js";import{getCIMSymbolColor as H}from"../../symbols/support/cimSymbolUtils.js";const U=[2,3,4,6,7,8,9,12,15];async function W(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new r(`pie-chart-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>10)throw new r(`pie-chart-renderer:invalid-parameters`,`PieChart renderer does not support more than 10 attributes`);e.forBinning&&N(e,`pie-chart-renderer`);let t={...e,layer:e.layer,view:e.view,attributes:e.attributes};t.shape=t.shape||`pie`,t.othersCategoryEnabled??=!0,t.includeSizeVariable=e.includeSizeVariable||!1;let n=e.forBinning?F:U,i=I(t.layer,n,e.forBinning);if(!i)throw new r(`pie-chart-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(n).join(`, `));let a=t.signal==null?null:{signal:t.signal};await Promise.all([e.view.when(),i.load(a)]);let o=i.geometryType,s=o===`polygon`,c=o===`point`||o===`multipoint`||s;if(t.outlineOptimizationEnabled=s?t.outlineOptimizationEnabled:!1,t.sizeOptimizationEnabled=c?t.sizeOptimizationEnabled:!1,!c)throw new r(`pie-chart-renderer:not-supported`,`PieChart renderer is only supported for point and polygon layers`);let l=[],u=t.attributes;for(let e of u){let t=await P({field:e.field,valueExpression:e.valueExpression});l.push(...t)}let d=k(i,l.filter(Boolean),`pie-chart-renderer:invalid-parameters`);if(d)throw d;return{...t,layer:i}}async function G(e){let t=`regenerate-pie-chart-renderer`,n=e.includedParts?.includes(`size-variable`)??!0;await _(e,t);let i=await v(e);if(y(i)!==`pie-chart`)throw new r(`${t}:invalid-parameters`,`Renderer is invalid`);let{visualVariables:a}=i,{layer:o,forBinning:s,filter:c,view:l,signal:u}=e,d=b(i),f=x(i),p=n&&a?.some(S),m=await W({layer:o,attributes:i.attributes.map(e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle})),outlineOptimizationEnabled:d,sizeOptimizationEnabled:f,includeSizeVariable:p,forBinning:s,filter:c,view:l,signal:u});return{...e,creatorParameters:m,renderer:i}}async function K(e){let t=e.pieChartScheme,n=null,r=null,i=await A(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:z(t),basemapId:n,basemapTheme:r};let a=B({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function q(e,t){let{valueExpression:n,sqlExpression:r,sqlWhere:i}=M(e.attributes),o=await a(`esri/smartMapping/t9n/smartMapping`);return m({layer:e.layer,basemap:e.basemap,valueExpression:n,sqlExpression:r,sqlWhere:i,sizeScheme:t,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:o.sumOfCategories},filter:e.filter,view:e.view,signal:e.signal})}async function ee(e){let[o,s]=await Promise.all([W(e),a(`esri/smartMapping/t9n/smartMapping`)]),m=await K(o),h=m?.scheme;if(!h)throw new r(`pie-chart-renderer:insufficient-info`,`Unable to find pie-chart scheme`);let{layer:g,includeSizeVariable:_,sizeOptimizationEnabled:v,outlineOptimizationEnabled:y,view:b,signal:x,filter:S}=o,C=h.sizeScheme,w=o.attributes,T=w.map(e=>e.field).filter(t),[k,A,M,N]=await Promise.all([T.length>1?j({layer:g,fields:T,view:b,signal:x,filter:S}):null,_?q(o,C):null,!_&&v?p({layer:g,view:b,signal:x,filter:S}).catch(E):null,y?f({layer:g,view:b,signal:x,filter:S}).catch(E):null]),P=k?.predominantCategoryInfos?{uniqueValueInfos:k.predominantCategoryInfos}:{uniqueValueInfos:T.map(e=>({value:e,count:0}))},F=n(h.colors,w.length),I=w.map((e,t)=>new l({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:F[t]})),L=g.geometryType,R=C!=null&&`background`in C&&C.background,B=new c({attributes:I,othersCategory:new u({label:s.other,color:o.othersCategoryEnabled?h.colorForOthersCategory:null,threshold:.04}),holePercentage:o.shape===`donut`?.45:0,backgroundFillSymbol:R?O(L,{type:`2d`,color:R.color,outline:D(R,L,N?.opacity)}):null,size:i(h.size),outline:new V(D(h,`point`,N?.opacity)),legendOptions:d.from(o.legendOptions)});if(A&&(J(A,v,L),B.authoringInfo=A.authoringInfo.clone(),B.visualVariables=A.visualVariables?.map(e=>e.clone())),N?.visualVariables?.length){let e=N.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);B.visualVariables?B.visualVariables.push(...e):B.visualVariables=e}return M?.minSize&&(Y(M,L),B.visualVariables?B.visualVariables.push(M.minSize):B.visualVariables=[M.minSize]),{renderer:B,pieChartScheme:z(h),size:A,basemapId:m.basemapId,basemapTheme:m.basemapTheme,statistics:P}}async function te(e){let{creatorParameters:t,view:n,signal:r,filter:i,renderer:a}=await G(e),{layer:o,outlineOptimizationEnabled:s,includeSizeVariable:c,sizeOptimizationEnabled:l}=t,u=(await K(t))?.scheme?.sizeScheme,[d,m,_]=await Promise.all([s?f({layer:o,view:n,signal:r,filter:i}).catch(E):null,c?q(t,u):null,!c&&l?p({layer:o,view:n,signal:r,filter:i}).catch(E):null]),v=o.geometryType;if(m&&(J(m,l,v),h(a,m?.visualVariables,C),g(a,m?.authoringInfo,`size`)),d?.visualVariables?.length){let e=d.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);h(a,e,w)}return _?.minSize&&(Y(_,v),h(a,_?.minSize,T)),{renderer:a}}function J(e,t,n){t||e.visualVariables.forEach(e=>{typeof e.minSize==`number`&&typeof e.maxSize==`number`&&(e.minSize*=2.5,e.maxSize*=1.8)}),t&&n===`point`&&e.visualVariables.forEach(e=>{e?.minSize&&typeof e.minSize==`object`&&e.minSize?.stops?.forEach(e=>{e.size*=1.8})})}function Y(e,t){t===`point`&&e.minSize.stops?.forEach(e=>{e.size*=2.5}),t===`polygon`&&e.minSize.stops?.forEach(e=>{e.size*=1.8})}const ne=new Set([`unique-value`,`class-breaks`]),re=new e(`#aaaaaa`),X=new e(`#5c5c5c`),Z=[new e(`#e60049`),new e(`#0bb4ff`),new e(`#50e991`),new e(`#e6d800`),new e(`#9b19f5`),new e(`#ffa300`),new e(`#dc0ab4`),new e(`#b3d4ff`),new e(`#00bfa0`),new e(`#f0cccc`)];async function ie(e){if(!(e&&e.layer))throw new r(`pie-chart-cluster-renderer:missing-parameters`,`'layer' parameter is required`);let t={...e};t.shape=t.shape||`pie`,t.defaultSymbolEnabled??=!0;let n=e.layer;if(!R(U).includes(n.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(U).join(`, `));let i=t.signal==null?null:{signal:t.signal};if(await n.load(i),n.geometryType!==`point`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cluster renderers are only supported for point layers`);let a=`renderer`in n?n.renderer:void 0;if(!a)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`input layer does not have a renderer.`);if(!ne.has(a.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters based on a ${a.type} renderer.`);if(`valueExpression`in a&&a.valueExpression)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.`);if(a.type===`unique-value`){if(a.field2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.`);if(a.uniqueValueInfos!=null&&a.uniqueValueInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.`)}if(a.type===`class-breaks`){if(a.classBreakInfos.length<2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer renderer with a continuous color or size gradient.`);if(a.classBreakInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.`);if(a?.authoringInfo?.type===`class-breaks-size`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with breaks varied by size instead of color.`)}return t}async function ae(e){let{layer:t,shape:n,defaultSymbolEnabled:r,legendOptions:i}=await ie(e),o=`renderer`in t?t.renderer:void 0,s=(await a(`esri/smartMapping/t9n/smartMapping`)).other,u=[];o?.type===`unique-value`&&(u=oe({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s})),o?.type===`class-breaks`&&(u=se({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s}));let f=[],p=[];for(let e of u){let{field:t,color:n}=e;f.push(t),p.push(new l({color:n,field:t.name,label:t.alias}))}return{fields:f,renderer:new c({attributes:p,legendOptions:d.from(i),holePercentage:n===`donut`?.45:0,outline:null,size:9,othersCategory:null})}}function oe(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,defaultSymbol:c,defaultLabel:l}=t,u=t.uniqueValueInfos??[],d=c&&r,f=d?9:10,p=n(Z,f),m=(a?u.slice(0,f).map((e,t)=>{let n=e.label,r=p[t];return{field:new o({name:Q(e.value?.toString()),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ce(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}}):null)??[];if(d){let e=l||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:le(a,u),returnType:`number`}),statisticType:`sum`}),color:$(c,X)})}return m}function se(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,classBreakInfos:c,defaultSymbol:l,defaultLabel:u}=t,d=l&&r,f=d?9:10,p=n(Z,f),m=c.slice(0,f).map((e,t)=>{let n=e.label||`${e.minValue} - ${e.maxValue}`,r=p[t];return{field:new o({name:Q(n),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ue(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}});if(d){let e=u||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:de(a,c),returnType:`number`}),statisticType:`sum`}),color:$(l,X)})}return m}function Q(e){return`SUM_`+(e+``).replaceAll(/[^a-zA-Z0-9_]/g,`_`)}function $(e,t){if(e?.type===`simple-marker`&&e.color)return e.color.clone();if(e?.type===`cim`){let t=H(e);if(t)return t.clone()}return t?t.clone():re.clone()}function ce(e,t){return`Number(Text($feature["${e}"]) == "${t.value+``}")`}function le(e,t){return`Number(!(${t.map(t=>`(Text($feature["${e}"]) == "${t.value+``}")`).join(` || `)}))`}function ue(e,t){return`Number($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`}function de(e,t){return`Number(!(${t.map(t=>`($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`).join(` || `)}))`}export{ee as createRenderer,ae as createRendererForClustering,te as regenerateRenderer};
|
|
2
|
+
import e from"../../Color.js";import{isSome as t}from"../../core/arrayUtils.js";import{createUniqueColors as n}from"../../core/colorUtils.js";import r from"../../core/Error.js";import{toPt as i}from"../../core/screenUtils.js";import{fetchMessageBundle as a}from"../../intl/messages.js";import o from"../../layers/support/AggregateField.js";import s from"../../layers/support/ExpressionInfo.js";import c from"../../renderers/PieChartRenderer.js";import l from"../../renderers/support/AttributeColorInfo.js";import u from"../../renderers/support/OthersCategory.js";import d from"../../renderers/support/RendererLegendOptions.js";import f from"../heuristics/outline.js";import p from"../heuristics/sizeRange.js";import{createVisualVariables as m}from"./size.js";import{spliceVisualVariables as h,updateAuthoringInfoVisualVariable as g,processRegenerateParams as _,getRendererToUpdate as v,getStyleType as y,hasOutlineVV as b,hasScaleDependentSizeVV as x,isSizeVV as S,findSizeVVIndex as C,findOutlineVVIndex as w,findScaleDependentSizeVVIndex as T}from"./support/regenerateUtils.js";import{errorCallback as E,getSymbolOutlineFromScheme as D,createSymbol as O,verifyBasicFieldValidity as k,getBasemapInfo as A}from"./support/utils.js";import j from"../statistics/predominantCategories.js";import{getSumOfAttributesExpr as M}from"../statistics/support/utils.js";import{verifyBinningParams as N}from"../support/binningUtils.js";import{getFieldsList as P}from"../support/utils.js";import{binningCapableLayerTypes as F,createLayerAdapter as I,getLayerTypeLabels as L,getLayerTypes as R}from"../support/adapters/support/layerUtils.js";import{cloneScheme as z,getSchemes as B}from"../symbology/pieChart.js";import V from"../../symbols/SimpleLineSymbol.js";import{getCIMSymbolColor as H}from"../../symbols/support/cimSymbolUtils.js";const U=[3,5,6,8,9,10,11,14,17];async function W(e){if(!(e?.layer&&e.view&&e.attributes?.length))throw new r(`pie-chart-renderer:missing-parameters`,`'layer', 'view' and 'attributes' parameters are required`);if(e.attributes.length>10)throw new r(`pie-chart-renderer:invalid-parameters`,`PieChart renderer does not support more than 10 attributes`);e.forBinning&&N(e,`pie-chart-renderer`);let t={...e,layer:e.layer,view:e.view,attributes:e.attributes};t.shape=t.shape||`pie`,t.othersCategoryEnabled??=!0,t.includeSizeVariable=e.includeSizeVariable||!1;let n=e.forBinning?F:U,i=I(t.layer,n,e.forBinning);if(!i)throw new r(`pie-chart-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(n).join(`, `));let a=t.signal==null?null:{signal:t.signal};await Promise.all([e.view.when(),i.load(a)]);let o=i.geometryType,s=o===`polygon`,c=o===`point`||o===`multipoint`||s;if(t.outlineOptimizationEnabled=s?t.outlineOptimizationEnabled:!1,t.sizeOptimizationEnabled=c?t.sizeOptimizationEnabled:!1,!c)throw new r(`pie-chart-renderer:not-supported`,`PieChart renderer is only supported for point and polygon layers`);let l=[],u=t.attributes;for(let e of u){let t=await P({field:e.field,valueExpression:e.valueExpression});l.push(...t)}let d=k(i,l.filter(Boolean),`pie-chart-renderer:invalid-parameters`);if(d)throw d;return{...t,layer:i}}async function G(e){let t=`regenerate-pie-chart-renderer`,n=e.includedParts?.includes(`size-variable`)??!0;await _(e,t);let i=await v(e);if(y(i)!==`pie-chart`)throw new r(`${t}:invalid-parameters`,`Renderer is invalid`);let{visualVariables:a}=i,{layer:o,forBinning:s,filter:c,view:l,signal:u}=e,d=b(i),f=x(i),p=n&&a?.some(S),m=await W({layer:o,attributes:i.attributes.map(e=>({field:e.field,label:e.label,valueExpression:e.valueExpression,valueExpressionTitle:e.valueExpressionTitle})),outlineOptimizationEnabled:d,sizeOptimizationEnabled:f,includeSizeVariable:p,forBinning:s,filter:c,view:l,signal:u});return{...e,creatorParameters:m,renderer:i}}async function K(e){let t=e.pieChartScheme,n=null,r=null,i=await A(e.basemap,e.view);if(n=i.basemapId==null?null:i.basemapId,r=i.basemapTheme==null?null:i.basemapTheme,t)return{scheme:z(t),basemapId:n,basemapTheme:r};let a=B({numColors:e.attributes.length,geometryType:e.layer.geometryType,basemapTheme:r});return a&&(t=a.primaryScheme,n=a.basemapId,r=a.basemapTheme),{scheme:t,basemapId:n,basemapTheme:r}}async function q(e,t){let{valueExpression:n,sqlExpression:r,sqlWhere:i}=M(e.attributes),o=await a(`esri/smartMapping/t9n/smartMapping`);return m({layer:e.layer,basemap:e.basemap,valueExpression:n,sqlExpression:r,sqlWhere:i,sizeScheme:t,sizeOptimizationEnabled:e.sizeOptimizationEnabled,legendOptions:{title:o.sumOfCategories},filter:e.filter,view:e.view,signal:e.signal})}async function ee(e){let[o,s]=await Promise.all([W(e),a(`esri/smartMapping/t9n/smartMapping`)]),m=await K(o),h=m?.scheme;if(!h)throw new r(`pie-chart-renderer:insufficient-info`,`Unable to find pie-chart scheme`);let{layer:g,includeSizeVariable:_,sizeOptimizationEnabled:v,outlineOptimizationEnabled:y,view:b,signal:x,filter:S}=o,C=h.sizeScheme,w=o.attributes,T=w.map(e=>e.field).filter(t),[k,A,M,N]=await Promise.all([T.length>1?j({layer:g,fields:T,view:b,signal:x,filter:S}):null,_?q(o,C):null,!_&&v?p({layer:g,view:b,signal:x,filter:S}).catch(E):null,y?f({layer:g,view:b,signal:x,filter:S}).catch(E):null]),P=k?.predominantCategoryInfos?{uniqueValueInfos:k.predominantCategoryInfos}:{uniqueValueInfos:T.map(e=>({value:e,count:0}))},F=n(h.colors,w.length),I=w.map((e,t)=>new l({field:e.field,valueExpression:e.valueExpression,label:e.label,valueExpressionTitle:e.valueExpressionTitle,color:F[t]})),L=g.geometryType,R=C!=null&&`background`in C&&C.background,B=new c({attributes:I,othersCategory:new u({label:s.other,color:o.othersCategoryEnabled?h.colorForOthersCategory:null,threshold:.04}),holePercentage:o.shape===`donut`?.45:0,backgroundFillSymbol:R?O(L,{type:`2d`,color:R.color,outline:D(R,L,N?.opacity)}):null,size:i(h.size),outline:new V(D(h,`point`,N?.opacity)),legendOptions:d.from(o.legendOptions)});if(A&&(J(A,v,L),B.authoringInfo=A.authoringInfo.clone(),B.visualVariables=A.visualVariables?.map(e=>e.clone())),N?.visualVariables?.length){let e=N.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);B.visualVariables?B.visualVariables.push(...e):B.visualVariables=e}return M?.minSize&&(Y(M,L),B.visualVariables?B.visualVariables.push(M.minSize):B.visualVariables=[M.minSize]),{renderer:B,pieChartScheme:z(h),size:A,basemapId:m.basemapId,basemapTheme:m.basemapTheme,statistics:P}}async function te(e){let{creatorParameters:t,view:n,signal:r,filter:i,renderer:a}=await G(e),{layer:o,outlineOptimizationEnabled:s,includeSizeVariable:c,sizeOptimizationEnabled:l}=t,u=(await K(t))?.scheme?.sizeScheme,[d,m,_]=await Promise.all([s?f({layer:o,view:n,signal:r,filter:i}).catch(E):null,c?q(t,u):null,!c&&l?p({layer:o,view:n,signal:r,filter:i}).catch(E):null]),v=o.geometryType;if(m&&(J(m,l,v),h(a,m?.visualVariables,C),g(a,m?.authoringInfo,`size`)),d?.visualVariables?.length){let e=d.visualVariables.map(e=>e.clone()).filter(e=>e.type!==`color`&&e.type!==`rotation`);h(a,e,w)}return _?.minSize&&(Y(_,v),h(a,_?.minSize,T)),{renderer:a}}function J(e,t,n){t||e.visualVariables.forEach(e=>{typeof e.minSize==`number`&&typeof e.maxSize==`number`&&(e.minSize*=2.5,e.maxSize*=1.8)}),t&&n===`point`&&e.visualVariables.forEach(e=>{e?.minSize&&typeof e.minSize==`object`&&e.minSize?.stops?.forEach(e=>{e.size*=1.8})})}function Y(e,t){t===`point`&&e.minSize.stops?.forEach(e=>{e.size*=2.5}),t===`polygon`&&e.minSize.stops?.forEach(e=>{e.size*=1.8})}const ne=new Set([`unique-value`,`class-breaks`]),re=new e(`#aaaaaa`),X=new e(`#5c5c5c`),Z=[new e(`#e60049`),new e(`#0bb4ff`),new e(`#50e991`),new e(`#e6d800`),new e(`#9b19f5`),new e(`#ffa300`),new e(`#dc0ab4`),new e(`#b3d4ff`),new e(`#00bfa0`),new e(`#f0cccc`)];async function ie(e){if(!(e&&e.layer))throw new r(`pie-chart-cluster-renderer:missing-parameters`,`'layer' parameter is required`);let t={...e};t.shape=t.shape||`pie`,t.defaultSymbolEnabled??=!0;let n=e.layer;if(!R(U).includes(n.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`'layer' must be one of these types: `+L(U).join(`, `));let i=t.signal==null?null:{signal:t.signal};if(await n.load(i),n.geometryType!==`point`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cluster renderers are only supported for point layers`);let a=`renderer`in n?n.renderer:void 0;if(!a)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`input layer does not have a renderer.`);if(!ne.has(a.type))throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters based on a ${a.type} renderer.`);if(`valueExpression`in a&&a.valueExpression)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer whose renderer contains a valueExpression.`);if(a.type===`unique-value`){if(a.field2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a UniqueValueRenderer using more than one field.`);if(a.uniqueValueInfos!=null&&a.uniqueValueInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer cannot be created from a UniqueValueRenderer with more than 10 unique value infos.`)}if(a.type===`class-breaks`){if(a.classBreakInfos.length<2)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`Cannot create a pie chart renderer for clusters from a layer renderer with a continuous color or size gradient.`);if(a.classBreakInfos.length>10)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with more than 10 class break infos.`);if(a?.authoringInfo?.type===`class-breaks-size`)throw new r(`pie-chart-cluster-renderer:invalid-parameters`,`PieChart cluster renderer can not be created from a ClassBreaksRenderer with breaks varied by size instead of color.`)}return t}async function ae(e){let{layer:t,shape:n,defaultSymbolEnabled:r,legendOptions:i}=await ie(e),o=`renderer`in t?t.renderer:void 0,s=(await a(`esri/smartMapping/t9n/smartMapping`)).other,u=[];o?.type===`unique-value`&&(u=oe({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s})),o?.type===`class-breaks`&&(u=se({renderer:o,defaultSymbolEnabled:r,defaultLabelBackup:s}));let f=[],p=[];for(let e of u){let{field:t,color:n}=e;f.push(t),p.push(new l({color:n,field:t.name,label:t.alias}))}return{fields:f,renderer:new c({attributes:p,legendOptions:d.from(i),holePercentage:n===`donut`?.45:0,outline:null,size:9,othersCategory:null})}}function oe(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,defaultSymbol:c,defaultLabel:l}=t,u=t.uniqueValueInfos??[],d=c&&r,f=d?9:10,p=n(Z,f),m=(a?u.slice(0,f).map((e,t)=>{let n=e.label,r=p[t];return{field:new o({name:Q(e.value?.toString()),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ce(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}}):null)??[];if(d){let e=l||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:le(a,u),returnType:`number`}),statisticType:`sum`}),color:$(c,X)})}return m}function se(e){let{renderer:t,defaultSymbolEnabled:r,defaultLabelBackup:i}=e,{field:a,classBreakInfos:c,defaultSymbol:l,defaultLabel:u}=t,d=l&&r,f=d?9:10,p=n(Z,f),m=c.slice(0,f).map((e,t)=>{let n=e.label||`${e.minValue} - ${e.maxValue}`,r=p[t];return{field:new o({name:Q(n),alias:n,onStatisticExpression:new s({title:`Field definition - ${n}`,expression:ue(a,e),returnType:`number`}),statisticType:`sum`}),color:$(e.symbol,r)}});if(d){let e=u||i;m.push({field:new o({name:Q(`cluster_default`),alias:e,onStatisticExpression:new s({title:`Field definition - ${e}`,expression:de(a,c),returnType:`number`}),statisticType:`sum`}),color:$(l,X)})}return m}function Q(e){return`SUM_`+(e+``).replaceAll(/[^a-zA-Z0-9_]/g,`_`)}function $(e,t){if(e?.type===`simple-marker`&&e.color)return e.color.clone();if(e?.type===`cim`){let t=H(e);if(t)return t.clone()}return t?t.clone():re.clone()}function ce(e,t){return`Number(Text($feature["${e}"]) == "${t.value+``}")`}function le(e,t){return`Number(!(${t.map(t=>`(Text($feature["${e}"]) == "${t.value+``}")`).join(` || `)}))`}function ue(e,t){return`Number($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`}function de(e,t){return`Number(!(${t.map(t=>`($feature["${e}"] >= ${t.minValue} && $feature["${e}"] < ${t.maxValue})`).join(` || `)}))`}export{ee as createRenderer,ae as createRendererForClustering,te as regenerateRenderer};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
|
|
2
|
-
import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{px2pt as
|
|
2
|
+
import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";import{onePixelInPoints as n,px2pt as r}from"../../../core/screenUtils.js";import i from"../../../symbols/CIMSymbol.js";const a=`spike-height-override`,o=r(8),s=r(20),c=`triangle-solid-fill-open-outline`;function l(e){let{field:t,normalizationField:n,sizeStops:r}=e,{value:i,size:o}=r[0],{value:s,size:c}=r[1],l=0,u;t&&(l=`$feature["${t}"]`,u=`
|
|
3
3
|
if(!HasValue($feature, "${t}")){
|
|
4
4
|
return 0;
|
|
5
5
|
}
|
|
@@ -15,11 +15,11 @@ import e from"../../../Color.js";import{clone as t}from"../../../core/lang.js";i
|
|
|
15
15
|
var maxSize = ${c};
|
|
16
16
|
var minSize = ${o};
|
|
17
17
|
|
|
18
|
-
var minDataValue = ${
|
|
18
|
+
var minDataValue = ${i};
|
|
19
19
|
var maxDataValue = ${s};
|
|
20
20
|
|
|
21
21
|
var ratio = Constrain(( value - minDataValue ) / ( maxDataValue - minDataValue ), 0, 1);
|
|
22
22
|
|
|
23
23
|
var size = Constrain(maxSize * ratio, minSize, maxSize);
|
|
24
24
|
return size;
|
|
25
|
-
`,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:
|
|
25
|
+
`,returnType:`Default`};return[{type:`CIMPrimitiveOverride`,primitiveName:a,propertyName:`Length`,valueExpressionInfo:d}]}function u(e){let{primitiveOverrides:t,baseWidth:n,defaultHeight:r}=e,c=d(e);return new i({data:{type:`CIMSymbolReference`,symbol:{type:`CIMPointSymbol`,effects:[{type:`CIMGeometricEffectRadial`,primitiveName:a,angle:90,length:r??s},{type:`CIMGeometricEffectTaperedPolygon`,fromWidth:n??o,toWidth:1,length:5}],symbolLayers:c,haloSize:1,scaleX:1,angleAlignment:`Display`},primitiveOverrides:t}})}function d(e){let t=[f(e)],n=m(e);return n&&t.push(n),t}function f(e){let{strokeColor:t,strokeWidth:r,symbolStyle:i}=e,a=i?.includes(`solid-fill`)||i?.includes(`gradient-fill`),o=t?.toArray(),s=!1;return i?.includes(`outline`)&&a?s=!0:o=e.color?.toArray(),{type:`CIMSolidStroke`,effects:p(i),enable:!0,colorLocked:s,capStyle:`Round`,joinStyle:`Round`,lineStyle3D:`Strip`,miterLimit:4,width:r??n,color:o}}function p(e){if(!e?.includes(`closed`))return[{type:`CIMGeometricEffectAddControlPoints`,angleTolerance:90,primitiveName:`spike-control-points`},{type:`CIMGeometricEffectSuppress`,suppress:!0,invert:!0,primitiveName:`spike-stroke-suppress`}]}function m(e){let{color:t,symbolStyle:n}=e,r=n?.includes(`solid-fill`),i=n?.includes(`gradient-fill`);if(!r&&!i||!t)return;if(r)return{type:`CIMSolidFill`,enable:!0,colorLocked:!1,color:t?.toArray()};let a=t.clone();return a.a=0,{type:`CIMGradientFill`,enable:!0,angle:90,colorRamp:{type:`CIMMultipartColorRamp`,colorRamps:[{type:`CIMLinearContinuousColorRamp`,fromColor:t.toArray(),toColor:a.toArray()}],weights:[1]},gradientMethod:`Linear`,gradientSize:70,gradientSizeUnits:`Relative`,gradientType:`Continuous`}}function h(n,r){let{defaultHeight:i,baseWidth:o,color:s,strokeColor:c,primitiveOverrides:l,symbolStyle:u,strokeWidth:d}=r,p=n.data.symbol?.type===`CIMPointSymbol`?n.data.symbol:null,h=p?.symbolLayers;if(!h)return n;let _=p.effects,v=_?.find(e=>e.type===`CIMGeometricEffectTaperedPolygon`),y=_?.find(e=>e.type===`CIMGeometricEffectRadial`&&e.primitiveName===a);o!=null&&v&&(v.fromWidth=o),i!=null&&y&&(y.length=i);let b=h?.find(e=>e.type===`CIMSolidStroke`),x=h?.find(e=>e.type===`CIMSolidFill`),S=h?.find(e=>e.type===`CIMGradientFill`),C=S?.colorRamp?.type===`CIMMultipartColorRamp`&&S.colorRamp.colorRamps[0]?.type===`CIMLinearContinuousColorRamp`?S.colorRamp.colorRamps[0]:null;if(u){let t=x?.color??C?.fromColor??b?.color,n=s??(t?new e(t):void 0),i=b?.color??t,a=c??(i?new e(i):void 0),o=u.includes(`solid-fill`),l=u.includes(`gradient-fill`);if(!o&&!l&&g(h,x??S),n){if(o)g(h,S),x?x.color=n?.toArray():h.push(m({...r,color:n}));else if(l){if(g(h,x),!S)h.push(m({...r,color:n}));else if(C&&s){let e=n.clone();e.a=0,C.fromColor=n.toArray(),C.toColor=e.toArray()}}}if(b){let e=f({...r,strokeColor:a,color:n});b.effects=e.effects,b.color=e.color,b.width=e.width,b.colorLocked=e.colorLocked}}else if(b&&(c&&(b.color=c.toArray()),d!=null&&(b.width=d)),x&&s&&(x.color=s.toArray()),C&&s){let e=s.clone();e.a=0,C.fromColor=s.toArray(),C.toColor=e.toArray()}return l!==void 0&&(n.data.primitiveOverrides=t(l)),n}function g(e,t){if(!t)return;let n=e.indexOf(t);n!==-1&&e.splice(n,1)}export{l as createPrimitiveOverrides,u as createSpikeSymbol,c as defaultSpikeSymbolStyle,h as updateSpikeSymbol};
|