@arcgis/core 5.2.0-next.160 → 5.2.0-next.162

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.
Files changed (152) hide show
  1. package/arcgisGlobal.d.ts +1 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/{0a5a9885ee6f5b5f99f0.js → 167b057ad50e6aef54de.js} +1 -1
  4. package/assets/esri/core/workers/chunks/17c6d66b47aa690df0d4.js +1 -0
  5. package/assets/esri/core/workers/chunks/{15bcf7cfe603f2ee1a24.js → 28104681ba161967039f.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{842893e75696428d536f.js → 3b0808ee3c4facfaca3d.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{eebbde81e56d69dc602f.js → 44f90e75c1dc3d726a95.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{77ebacfdf8e57f2e03f1.js → 46c5371c7a627537098c.js} +11 -11
  9. package/assets/esri/core/workers/chunks/5daa9429808ca31279f2.js +1 -0
  10. package/assets/esri/core/workers/chunks/{60737732ce495bbdd0fc.js → 5f4feca26102088ea565.js} +1 -1
  11. package/assets/esri/core/workers/chunks/6da7229433105a69eb3f.js +1 -0
  12. package/assets/esri/core/workers/chunks/83f29a159b8b5197e76a.js +1 -0
  13. package/assets/esri/core/workers/chunks/849879c8aed16315194c.js +1 -0
  14. package/assets/esri/core/workers/chunks/{1d77c8c59b0118c7e77b.js → 85bba551057366cd00ae.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{9401cc22373566e1171e.js → 8a7b02037151767542f1.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{4eae066673484986d4c1.js → 8e4a7027d171fb60e51e.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{32b351b047ce1eb58146.js → 9ce8b9b80da146a5bbf5.js} +1 -1
  18. package/assets/esri/core/workers/chunks/a2fcbc494333376192aa.js +1 -0
  19. package/assets/esri/core/workers/chunks/a6f969851d4278865cc5.js +1 -0
  20. package/assets/esri/core/workers/chunks/{f1df76f098a3cc924832.js → b5df193c93e9c19f9700.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{28b74bc77f7c13080074.js → be97a629e2ae4d13ceb3.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{d33360c4f85203edafff.js → bf4d913e523eae2fda28.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{172cfeb5f415e4662432.js → d7429b58c90e015263ad.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{612104dff305ff062dfa.js → dfc81e66196c402f39b4.js} +2 -2
  25. package/assets/esri/core/workers/chunks/{02f8654852d389583891.js → e04fb83ab2634bc15cc7.js} +1 -1
  26. package/assets/esri/core/workers/chunks/f74ae0eff3f08978e607.js +1 -0
  27. package/assets/esri/themes/base/widgets/_OrientedImageryViewer.scss +2 -5
  28. package/assets/esri/themes/dark/main.css +1 -1
  29. package/assets/esri/themes/light/main.css +1 -1
  30. package/assets/esri/themes/light/view.css +1 -1
  31. package/chunks/DefaultMaterial.glsl.js +1 -1
  32. package/chunks/RealisticTree.glsl.js +1 -1
  33. package/chunks/RibbonLine.glsl.js +125 -133
  34. package/config.d.ts +62 -34
  35. package/config.js +1 -1
  36. package/core/has.js +1 -1
  37. package/core/mapCollectionUtils.js +1 -1
  38. package/core/workers/Connection.d.ts +58 -89
  39. package/core/workers.d.ts +45 -54
  40. package/geometry/support/Indices.js +1 -1
  41. package/geometry/support/aaBoundingRect.js +1 -1
  42. package/geometry/support/ray.js +1 -1
  43. package/kernel.js +1 -1
  44. package/layers/FeatureLayer.d.ts +7 -5
  45. package/layers/FeatureLayer.js +1 -1
  46. package/layers/GeospatialPDFLayer.js +1 -1
  47. package/layers/MapImageLayer.d.ts +9 -3
  48. package/layers/MapNotesLayer.d.ts +2 -2
  49. package/layers/SubtypeGroupLayer.d.ts +1 -1
  50. package/layers/SubtypeGroupLayer.js +1 -1
  51. package/layers/geospatialPDF/GeospatialPDFLayerWorker.js +1 -1
  52. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  53. package/layers/graphics/sources/support/QueryTask.js +1 -1
  54. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +16 -16
  55. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  56. package/layers/mixins/ArcGISMapService.js +1 -1
  57. package/layers/ogc/ogcFeatureUtils.js +1 -1
  58. package/layers/support/Sublayer.d.ts +29 -15
  59. package/layers/support/Sublayer.js +1 -1
  60. package/layers/support/commonProperties.js +1 -1
  61. package/package.json +2 -2
  62. package/rest/layerSources/DynamicDataLayer.d.ts +4 -2
  63. package/rest/layerSources/DynamicDataLayer.js +1 -1
  64. package/rest/layerSources/DynamicMapLayer.d.ts +1 -1
  65. package/rest/layerSources/DynamicWorkspaceLayer.d.ts +45 -0
  66. package/rest/layerSources/DynamicWorkspaceLayer.js +2 -0
  67. package/rest/layerSources/typeUtils.js +2 -0
  68. package/rest/print.js +1 -1
  69. package/rest/query/operations/queryRelatedRecords.js +1 -1
  70. package/rest/query/operations/queryUtils.js +1 -1
  71. package/rest/support/Query.js +1 -1
  72. package/rest/support/RelationshipQuery.js +1 -1
  73. package/symbols/LineSymbol3D.d.ts +5 -3
  74. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +6 -0
  75. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
  76. package/views/2d/layers/features/layerAdapters/FeatureLayerAdapter.js +1 -1
  77. package/views/2d/layers/features/layerAdapters/SubtypeGroupLayerAdapter.js +1 -1
  78. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  79. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  80. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  81. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +6 -0
  82. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  83. package/views/3d/analysis/LineOfSight/LineOfSightIntersectionResult.js +1 -1
  84. package/views/3d/analysis/LineOfSight/LineOfSightObserverPlugin.js +1 -1
  85. package/views/3d/analysis/LineOfSight/LineOfSightTargetPlugin.js +1 -1
  86. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  87. package/views/3d/analysis/Viewshed/ViewshedPlacementPointPlugin.js +1 -1
  88. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  89. package/views/3d/input/SceneInputManager.js +1 -1
  90. package/views/3d/input/handlers/DragZoom.js +1 -1
  91. package/views/3d/input/handlers/MouseWheelFov.js +1 -1
  92. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  93. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  94. package/views/3d/interactive/manipulators/ResizeManipulator.js +1 -1
  95. package/views/3d/interactive/manipulators/RotateManipulator.js +1 -1
  96. package/views/3d/interactive/manipulators/ShiftManipulator.js +1 -1
  97. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  98. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  99. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  100. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  101. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  102. package/views/3d/layers/FlowSubView3D.js +1 -1
  103. package/views/3d/layers/I3SMeshView3D.js +1 -1
  104. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  105. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  106. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  107. package/views/3d/layers/graphics/extrudePolygon.js +1 -1
  108. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  109. package/views/3d/state/controllers/FovController.js +1 -1
  110. package/views/3d/state/controllers/GroundNavigationController.js +1 -1
  111. package/views/3d/state/controllers/momentum/GroundNavigationMomentumController.js +1 -1
  112. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  113. package/views/3d/support/elevationUpdateUtils.js +1 -1
  114. package/views/3d/terrain/PatchRenderData.js +1 -1
  115. package/views/3d/terrain/TerrainData.js +1 -1
  116. package/views/3d/terrain/TextureReference.js +1 -1
  117. package/views/3d/terrain/terrainUtils.js +1 -1
  118. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +2 -2
  119. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +3 -3
  120. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialExternalColor.glsl.js +2 -2
  121. package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +2 -2
  122. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  123. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  124. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  125. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  126. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  127. package/views/BreakpointsOwner.d.ts +6 -0
  128. package/views/SceneView.js +1 -1
  129. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  130. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  131. package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
  132. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  133. package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
  134. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  135. package/views/types.d.ts +3 -0
  136. package/views/webgl/ShaderBuilder.js +1 -1
  137. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  138. package/widgets/Search/LocatorSearchSource.d.ts +22 -1
  139. package/widgets/support/SelectionList/GroupLayerItem.d.ts +2 -0
  140. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  141. package/widgets/support/SelectionList/ItemBase.d.ts +2 -0
  142. package/widgets/support/SelectionList/ItemBase.js +1 -1
  143. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  144. package/widgets/support/SelectionList.js +1 -1
  145. package/assets/esri/core/workers/chunks/3e3e076fa5e8d5d5f33f.js +0 -1
  146. package/assets/esri/core/workers/chunks/510502a4c9a2ba8d3f7b.js +0 -1
  147. package/assets/esri/core/workers/chunks/7d212c415f2709037408.js +0 -1
  148. package/assets/esri/core/workers/chunks/abb9e820d2871fa7acae.js +0 -1
  149. package/assets/esri/core/workers/chunks/ade5fdcd08dcbac74740.js +0 -1
  150. package/assets/esri/core/workers/chunks/b390b9cde2884755e8be.js +0 -1
  151. package/assets/esri/core/workers/chunks/e8bf653376a607f00897.js +0 -1
  152. package/assets/esri/core/workers/chunks/f4a7aa3cdbc0c429c359.js +0 -1
@@ -3,6 +3,7 @@ import type JoinTableDataSource from "./JoinTableDataSource.js";
3
3
  import type QueryTableDataSource from "./QueryTableDataSource.js";
4
4
  import type RasterDataSource from "./RasterDataSource.js";
5
5
  import type TableDataSource from "./TableDataSource.js";
6
+ import type { ClonableMixin } from "../../core/Clonable.js";
6
7
  import type { JSONSupport } from "../../core/JSONSupport.js";
7
8
  import type { FieldProperties } from "../../layers/support/Field.js";
8
9
  import type { TableDataSourceProperties } from "./TableDataSource.js";
@@ -84,7 +85,7 @@ export interface DynamicDataLayerProperties {
84
85
  * ]
85
86
  * });
86
87
  */
87
- export default class DynamicDataLayer extends JSONSupport {
88
+ export default class DynamicDataLayer extends DynamicDataLayerSuperclass {
88
89
  constructor(properties?: DynamicDataLayerProperties);
89
90
  /**
90
91
  * A table,
@@ -112,4 +113,5 @@ export default class DynamicDataLayer extends JSONSupport {
112
113
  * @since 5.0
113
114
  */
114
115
  get type(): "data-layer";
115
- }
116
+ }
117
+ declare const DynamicDataLayerSuperclass: typeof JSONSupport & typeof ClonableMixin
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as n,subclass as r}from"../../core/accessorSupport/decorators.js";import{ensureType as i}from"../../core/accessorSupport/ensureType.js";import a from"../../layers/support/Field.js";import o from"./JoinTableDataSource.js";import s from"./QueryTableDataSource.js";import c from"./RasterDataSource.js";import l from"./TableDataSource.js";import{registerDynamicDataLayerClass as u}from"./utils.js";import{enumeration as d}from"../../core/accessorSupport/decorators/enumeration.js";var f;const p={key:`type`,base:null,typeMap:{"join-table":o,"query-table":s,raster:c,table:l}};let m=class extends t{static{f=this}constructor(e){super(e),this.type=`data-layer`}clone(){let{fields:e,dataSource:t}=this;return new f({fields:e,dataSource:t})}};e([d({dataLayer:`data-layer`}),n({json:{write:{isRequired:!0}}})],m.prototype,`type`,void 0),e([n({type:[a],json:{write:!0}})],m.prototype,`fields`,void 0),e([n({types:p,json:{write:!0}})],m.prototype,`dataSource`,void 0),m=f=e([r(`esri.rest.layerSources.DynamicDataLayer`)],m),m.from=i(m),u(m);export{m as default};
2
+ import{__decorate as e}from"tslib";import{ClonableMixin as t}from"../../core/Clonable.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";import{ensureType as a}from"../../core/accessorSupport/ensureType.js";import o from"../../layers/support/Field.js";import s from"./JoinTableDataSource.js";import c from"./QueryTableDataSource.js";import l from"./RasterDataSource.js";import u from"./TableDataSource.js";import{registerDynamicDataLayerClass as d}from"./utils.js";import{enumeration as f}from"../../core/accessorSupport/decorators/enumeration.js";const p={key:`type`,base:null,typeMap:{"join-table":s,"query-table":c,raster:l,table:u}};let m=class extends t(n){constructor(e){super(e),this.type=`data-layer`}toLayerSourceJSON(){return{source:this.toJSON()}}};e([f({dataLayer:`data-layer`}),r({json:{write:{isRequired:!0}}})],m.prototype,`type`,void 0),e([r({type:[o],json:{write:!0}})],m.prototype,`fields`,void 0),e([r({types:p,json:{write:!0}})],m.prototype,`dataSource`,void 0),m=e([i(`esri.rest.layerSources.DynamicDataLayer`)],m);const h=m;m.from=a(m),d(m);export{h as default};
@@ -50,7 +50,7 @@ export default class DynamicMapLayer extends JSONSupport {
50
50
  *
51
51
  * @since 5.0
52
52
  */
53
- accessor gdbVersion: string;
53
+ accessor gdbVersion: string | null | undefined;
54
54
  /**
55
55
  * The [Sublayer.id](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/#id) of the service sublayer.
56
56
  *
@@ -0,0 +1,45 @@
1
+ import type { ClonableMixin } from "../../core/Clonable.js";
2
+ import type { JSONSupport } from "../../core/JSONSupport.js";
3
+
4
+ export interface DynamicWorkspaceLayerProperties extends Partial<Pick<DynamicWorkspaceLayer, "definitionExpression" | "layerId" | "workspaceId">> {}
5
+
6
+ /**
7
+ * A dynamic workspace layer refers to a pre-authored Layer File (.lyrx) created from ArcGIS Pro.
8
+ * These files reside in a registered folder. It allows you to dynamically use a pre-authored layer,
9
+ * with an advanced renderer and cartographically enriched symbols that are not supported by map service's REST API specifications,
10
+ * to a map service operation on a per request basis.
11
+ *
12
+ * > [!WARNING]
13
+ * >
14
+ * > **Known Limitations**
15
+ * >
16
+ * > [Sublayers](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) with a `DynamicWorkspaceLayer` source cannot be [saved](https://developers.arcgis.com/javascript/latest/references/core/WebMap/#save) to web maps.
17
+ *
18
+ * @since 5.2
19
+ * @see [ArcGIS REST API - Layer source object](https://developers.arcgis.com/rest/services-reference/enterprise/layer-source-object/#dynamic-workspace-layer)
20
+ * @see [ArcGIS Server - Enabling dynamic layers](https://enterprise.arcgis.com/en/server/latest/publish-services/windows/about-dynamic-layers.htm#GUID-C302852F-9E23-44C6-A71E-09E95EAF0E49)
21
+ * @example
22
+ * const sublayer = new Sublayer({
23
+ * source: new DynamicWorkspaceLayer({
24
+ * workspaceId: "lyrx_folder",
25
+ * layerId: "WorldCities.lyrx"
26
+ * })
27
+ * });
28
+ *
29
+ * const layer = new MapImageLayer({
30
+ * url: "<your-map-service-url>"
31
+ * sublayers: [sublayer]
32
+ * });
33
+ */
34
+ export default class DynamicWorkspaceLayer extends DynamicWorkspaceLayerSuperclass {
35
+ constructor(properties?: DynamicWorkspaceLayerProperties);
36
+ /** A SQL where clause used to filter the features in the layer. Only features that satisfy the expression will be displayed. */
37
+ accessor definitionExpression: string | null | undefined;
38
+ /** The `lyrx` file name with extension. */
39
+ accessor layerId: string;
40
+ /** This value is always `workspace-layer`. */
41
+ get type(): "workspace-layer";
42
+ /** The registered workspace id. */
43
+ accessor workspaceId: string;
44
+ }
45
+ declare const DynamicWorkspaceLayerSuperclass: typeof JSONSupport & typeof ClonableMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{__decorate as e}from"tslib";import{ClonableMixin as t}from"../../core/Clonable.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";import{ensureType as a}from"../../core/accessorSupport/ensureType.js";import{enumeration as o}from"../../core/accessorSupport/decorators/enumeration.js";let s=class extends t(n){constructor(e){super(e),this.type=`workspace-layer`}toLayerSourceJSON(){let{definitionExpression:e,...t}=this.toJSON();return{definitionExpression:e,source:t}}};e([r({type:String,json:{write:!0}})],s.prototype,`definitionExpression`,void 0),e([r({type:String,json:{write:!0}})],s.prototype,`layerId`,void 0),e([o({workspaceLayer:`workspace-layer`}),r({json:{write:{isRequired:!0}}})],s.prototype,`type`,void 0),e([r({type:String,json:{write:!0}})],s.prototype,`workspaceId`,void 0),s=e([i(`esri.rest.layerSources.DynamicWorkspaceLayer`)],s);const c=s;s.from=a(s);export{c as default};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import e from"./DynamicDataLayer.js";import t from"./DynamicWorkspaceLayer.js";const n={key:`type`,base:null,typeMap:{"data-layer":e,"workspace-layer":t}};export{n as dynamicDataSourceTypes};
package/rest/print.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/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 te,isBingMapsLayer as ne,isBlendLayer as v,getCopyright as y,getSelectionSymbol as b,createPointLayer as x,getContextBoundingBox as S,createPolygonLayer as re,createPolylineLayer as ie,createMultipointLayer as ae}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 C from"../views/support/HighlightOptions.js";const w={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},T=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),E=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),D=new Map;async function le(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=D.get(r)??{gpServerUrl:r,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]};return i.gpMetadata??=(await t(r,f({f:`json`},n))).data,i.cimVersion=i.gpMetadata.cimVersion,D.set(r,i),i}async function k(e,t){return Te(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?E.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:T.toJSON(e)??void 0,metricLabel:e?w[e]:void 0,nonMetricUnit:T.toJSON(t)??void 0,nonMetricLabel:t?w[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,D.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 ve(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=te(e)?await G(t,a,n):ne(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===`sketch`?await he(t,a,n):t?.type===`stream`?await ge(t,a,n):t?.type===`subtype-group`?await _e(t,n):t?.type===`tile`?ye(t,n):t?.type===`vector-tile`?await be(t,a,n):t?.type===`web-tile`?xe(t):t?.type===`wfs`?await Se(t,a,n):t?.type===`wms`?Ce(t,n):t?.type===`wmts`?we(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,v(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=re(),o=ie(),s=x(),u=ae(),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=y(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 C;r.selectionSymbol=b(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=y(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 he(e,{printTemplate:t},n){let r=[];if(e.featureCollections!=null)for(let i of e.featureCollections){let e=await B(i,i.source,t,n);e&&r.push(...e.featureCollection.layers)}else{let i=await B(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}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 ge(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),B(e,await Z(t),n,r)}async function _e(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 ve(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 ye(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 be(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 xe(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 Se(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 Ce(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 we(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=S(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 Te(e){return e.gpMetadata?.executionType?E.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e&&(e.path||e.contentType===`image/svg+xml`||e.url?.endsWith(`.svg`))}export{le as execute,N as getGpPrintParams,F as getGpServerUrl,k as getMode,O as getPrintCache,M as getTaskExecutionMode,j as getTaskInfo,A as getTaskInfos,D 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"../geometry/Polygon.js";import{collectLabelingFields as l}from"../layers/support/fieldUtils.js";import{getFloorFilterClause as u,getLayerFloorFilterClause 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 ee}from"./support/layoutTemplate.js";import{getVisibleLayerViews as v,isScreenshotRequired as te,isBingMapsLayer as ne,isBlendLayer as re,getCopyright as y,getSelectionSymbol as ie,createPointLayer as b,getContextBoundingBox as ae,createPolygonLayer as oe,createPolylineLayer as x,createMultipointLayer as se}from"./support/printTaskUtils.js";import ce from"./support/PrintTemplate.js";import{toJSON as le}from"./support/reportTemplate.js";import S from"../symbols/WebStyleSymbol.js";import C from"../views/support/HighlightOptions.js";const w={Feet:`ft`,Kilometers:`km`,Meters:`m`,Miles:`mi`},T=new n({esriFeet:`Feet`,esriKilometers:`Kilometers`,esriMeters:`Meters`,esriMiles:`Miles`}),E=new n({esriExecutionTypeSynchronous:`sync`,esriExecutionTypeAsynchronous:`async`}),D=new Map;async function O(e,t,n){let r=await P(t,await k(e,n));if(await A(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,n){let r=I(e),i=D.get(r)??{gpServerUrl:r,legendLayerNameMap:{},legendLayers:[],screenshotLayers:[]};return i.gpMetadata??=(await t(r,p({f:`json`},n))).data,i.cimVersion=i.gpMetadata.cimVersion,D.set(r,i),i}async function A(e,t){return Ee(await k(e,t))}async function j(e,n){let r=await k(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 M(e,t,n){return(await j(e,n))[t]??null}async function N(e,t,n){let r=await M(e,t,n);return r?.executionType?E.fromJSON(r.executionType):`sync`}async function P(t,n){n||={is11xService:!1,legendLayerNameMap:{},legendLayers:[]};let r=t.template||new ce;r.showLabels??=!0;let i;r.format===`pdf`&&(i={enablePdfAccessibility:!0});let a=ee(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:T.toJSON(e)??void 0,metricLabel:e?w[e]:void 0,nonMetricUnit:T.toJSON(t)??void 0,nonMetricLabel:t?w[t]:void 0}:void 0}}let l=await F(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,D.set(n.gpServerUrl,n);let d={Web_Map_as_JSON:JSON.stringify(l),Format:_.toJSON(r.format),Layout_Template:a,Layout_Item_ID:void 0,Report_Template:le(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 F(e,t,n){let r=e.view,i=r.spatialReference,a={operationalLayers:await L(r,t,n)};t.includeTables&&(a.tables=await ye(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 I(e){let t=e,n=t.lastIndexOf(`/GPServer/`);return n>0&&(t=t.slice(0,n+9)),t}async function L(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=v(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 G(t,a,n):ne(t)?R(t):t?.type===`csv`?await B(t,a,n):t?.type===`catalog-footprint`?await z(t,a,n):t?.type===`feature`?await H(t,a,n):t?.type===`geojson`?await U(t,a,n):t?.type===`graphics`?await W(t,a,n):t?.type===`imagery`?ue(t,n):t?.type===`imagery-tile`?await de(t,a,n):t?.type===`kml`?await fe(t,a,n):t?.type===`map-image`?pe(t,a,n):t?.type===`map-notes`?await me(a,n):t?.type===`open-street-map`?he():t?.type===`sketch`?await ge(t,a,n):t?.type===`stream`?await _e(t,a,n):t?.type===`subtype-group`?await ve(t,n):t?.type===`tile`?be(t,n):t?.type===`vector-tile`?await xe(t,a,n):t?.type===`web-tile`?Se(t):t?.type===`wfs`?await Ce(t,a,n):t?.type===`wms`?we(t,n):t?.type===`wmts`?Te(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,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 V(null,e.graphics,t,n);i&&r.push(i)}return r}function R(e){return{culture:e.culture,key:e.key,type:`BingMaps${e.style===`aerial`?`Aerial`:e.style===`hybrid`?`Hybrid`:`Road`}`}}async function z(e,{layerView:t,printTemplate:n},r){if(parseFloat(r.cimVersion)<3.1)return V(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 B(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 V(e,await Z(r),i,n)}async function V(e,t,n,r){let i,a=oe(),o=x(),s=b(),u=se(),d=b();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 H(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=y(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=f(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 C;r.selectionSymbol=ie(e.geometryType,n)}}else r=await V(e,await Z(o),s,n);return r}async function U(e,t,n){return e.featureReduction?.type===`binning`||e.featureReduction?.type===`cluster`?G(e,t,n):(e.legendEnabled&&n.legendLayers.push({id:e.id}),V(e,await Z(t.layerView),t.printTemplate,n))}async function W(e,{printTemplate:t},n){return V(e,null,t,n)}function ue(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 de(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 fe(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 V(null,o,r,n)};return i.push(c),i}function pe(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,i=e.maxScale===0||c>=e.maxScale;if(e.visible&&(t||n&&i)){if(e.sublayers)e.sublayers.forEach(l);else{let t=d(r.floors,e),n=e.toExportImageJSON(t),i={id:e.id,name:e.title,layerDefinition:{definitionExpression:n.definitionExpression,drawingInfo:n.drawingInfo,orderBy:n.orderBy,source:n.source}};s.unshift(i),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=y(e)),e.gdbVersion&&(a.gdbVersion=e.gdbVersion),K(a,e),e.legendEnabled&&i.legendLayers.push(o)),a}async function me({layerView:e,printTemplate:t},n){let r=[],i=e.layer;if(i.featureCollections!=null)for(let e of i.featureCollections){let i=await V(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 V(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}function he(){return{type:`OpenStreetMap`}}async function ge(e,{printTemplate:t},n){let r=[];if(e.featureCollections!=null)for(let i of e.featureCollections){let e=await V(i,i.source,t,n);e&&r.push(...e.featureCollection.layers)}else{let i=await V(null,e.graphics,t,n);i&&r.push(...i.featureCollection.layers)}return{featureCollection:{layers:r}}}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 _e(e,{layerView:t,printTemplate:n},r){return e.legendEnabled&&r.legendLayers.push({id:e.id}),V(e,await Z(t),n,r)}async function ve(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 ye(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 be(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 xe(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.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 Se(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 Ce(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 we(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 Te(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=m(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=ae(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 S.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 Ee(e){return e.gpMetadata?.executionType?E.fromJSON(e.gpMetadata.executionType):`sync`}function $(e){return e&&(e.path||e.contentType===`image/svg+xml`||e.url?.endsWith(`.svg`))}export{O as execute,P as getGpPrintParams,I as getGpServerUrl,A as getMode,k as getPrintCache,N as getTaskExecutionMode,M as getTaskInfo,j as getTaskInfos,D as printCacheMap};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../../request.js";import{srToRESTValue as t}from"../../../geometry/support/spatialReferenceUtils.js";import{mapParameters as n}from"../../operations/urlUtils.js";function r(e,n){let r=e.toJSON();return r.objectIds&&=r.objectIds.join(`,`),r.orderByFields&&=r.orderByFields.join(`,`),r.outFields&&!n?.returnCountOnly?r.outFields=r.outFields.includes(`*`)?`*`:r.outFields.join(`,`):delete r.outFields,r.outSR&&=t(r.outSR),r.dynamicDataSource&&(r.layer=JSON.stringify({source:r.dynamicDataSource}),delete r.dynamicDataSource),r}async function i(e,t,n){let r=await o(e,t,n),i=r.data,a=i.geometryType,s=i.spatialReference,c={};for(let e of i.relatedRecordGroups){let t={fields:void 0,geometryType:a,spatialReference:s,hasZ:!!i.hasZ,hasM:!!i.hasM,features:e.relatedRecords};if(e.objectId!=null)c[e.objectId]=t;else for(let n of Object.keys(e))n!==`relatedRecords`&&(c[e[n]]=t)}return{...r,data:c}}async function a(e,t,n){let r=await o(e,t,n,{returnCountOnly:!0}),i=r.data,a={};for(let e of i.relatedRecordGroups)e.objectId!=null&&(a[e.objectId]=e.count);return{...r,data:a}}async function o(t,i,a={},o){let s=n({...t.query,f:`json`,...o,...r(i,o)});return e(t.path+`/queryRelatedRecords`,{...a,query:{...a.query,...s}})}export{i as executeRelationshipQuery,a as executeRelationshipQueryForCount,r as toQueryStringParameters};
2
+ import e from"../../../request.js";import{srToRESTValue as t}from"../../../geometry/support/spatialReferenceUtils.js";import{mapParameters as n}from"../../operations/urlUtils.js";function r(e,n){let r=e.toJSON();if(r.objectIds&&=r.objectIds.join(`,`),r.orderByFields&&=r.orderByFields.join(`,`),r.outFields&&!n?.returnCountOnly?r.outFields=r.outFields.includes(`*`)?`*`:r.outFields.join(`,`):delete r.outFields,r.outSR&&=t(r.outSR),r.dynamicDataSource){if(`definitionExpression`in r.dynamicDataSource&&r.dynamicDataSource.definitionExpression){let{definitionExpression:e,...t}=r.dynamicDataSource;r.layer=JSON.stringify({query:e,source:t})}else r.layer=JSON.stringify({source:r.dynamicDataSource});delete r.dynamicDataSource}return r}async function i(e,t,n){let r=await o(e,t,n),i=r.data,a=i.geometryType,s=i.spatialReference,c={};for(let e of i.relatedRecordGroups){let t={fields:void 0,geometryType:a,spatialReference:s,hasZ:!!i.hasZ,hasM:!!i.hasM,features:e.relatedRecords};if(e.objectId!=null)c[e.objectId]=t;else for(let n of Object.keys(e))n!==`relatedRecords`&&(c[e[n]]=t)}return{...r,data:c}}async function a(e,t,n){let r=await o(e,t,n,{returnCountOnly:!0}),i=r.data,a={};for(let e of i.relatedRecordGroups)e.objectId!=null&&(a[e.objectId]=e.count);return{...r,data:a}}async function o(t,i,a={},o){let s=n({...t.query,f:`json`,...o,...r(i,o)});return e(t.path+`/queryRelatedRecords`,{...a,query:{...a.query,...s}})}export{i as executeRelationshipQuery,a as executeRelationshipQueryForCount,r as toQueryStringParameters};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getJsonType as e}from"../../../geometry/support/jsonTypeUtils.js";import{srToRESTValue as t}from"../../../geometry/support/spatialReferenceUtils.js";function n(e,t){if(t&&e.type===`extent`)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&e.type===`point`)return`${e.x},${e.y}`;let n=e.toJSON();return delete n.spatialReference,JSON.stringify(n)}function r(r,i,a){let{geometry:o}=r,s=r.compactGeometryEnabled??!1,c=r.toJSON();delete c.compactGeometryEnabled,delete c.defaultSpatialReferenceEnabled;let l=c,u,d,f;if(o&&(d=o.spatialReference,f=t(d),l.geometryType=e(o),l.geometry=n(o,s),l.inSR=f),c.groupByFieldsForStatistics&&(l.groupByFieldsForStatistics=c.groupByFieldsForStatistics.join(`,`)),c.objectIds)switch(a?.uniqueIdFields?.length){case void 0:l.objectIds=c.objectIds.join(`,`);break;case 1:l.uniqueIds=JSON.stringify(c.objectIds),delete l.objectIds;break;default:l.uniqueIds=JSON.stringify(c.objectIds.map(e=>JSON.parse(e))),delete l.objectIds}if(c.orderByFields&&(l.orderByFields=c.orderByFields.join(`,`)),c.outFields&&(c.returnDistinctValues||!(i?.returnCountOnly||i?.returnExtentOnly||i?.returnIdsOnly))?l.outFields=c.outFields.includes(`*`)?`*`:c.outFields.join(`,`):delete l.outFields,c.outSR?(l.outSR=t(c.outSR),u=r.outSpatialReference):o&&(c.returnGeometry||c.returnCentroid)&&(l.outSR=l.inSR,u=d),c.returnGeometry&&delete c.returnGeometry,c.outStatistics&&(l.outStatistics=JSON.stringify(c.outStatistics)),c.outDistance&&(l.outDistance=JSON.stringify(c.outDistance)),c.fullText&&(l.fullText=JSON.stringify(c.fullText)),c.pixelSize&&(l.pixelSize=JSON.stringify(c.pixelSize)),c.quantizationParameters&&(r.defaultSpatialReferenceEnabled&&d!=null&&r.quantizationParameters?.extent!=null&&d.equals(r.quantizationParameters.extent.spatialReference)&&delete c.quantizationParameters.extent.spatialReference,l.quantizationParameters=JSON.stringify(c.quantizationParameters)),c.parameterValues&&(l.parameterValues=JSON.stringify(c.parameterValues)),c.rangeValues&&(l.rangeValues=JSON.stringify(c.rangeValues)),c.dynamicDataSource&&(l.layer=JSON.stringify({source:c.dynamicDataSource}),delete c.dynamicDataSource),c.timeExtent){let{start:e,end:t}=c.timeExtent;(e!=null||t!=null)&&(l.time=e===t?e:`${e??`null`},${t??`null`}`),delete c.timeExtent}return r.defaultSpatialReferenceEnabled&&d!=null&&u!=null&&d.equals(u)&&(l.defaultSR=l.inSR,delete l.inSR,delete l.outSR),l}const i=`json`;export{n as encodeGeometry,r as queryLikeToQueryStringParameters,i as safeExtentResultFormat};
2
+ import{getJsonType as e}from"../../../geometry/support/jsonTypeUtils.js";import{srToRESTValue as t}from"../../../geometry/support/spatialReferenceUtils.js";function n(e,t){if(t&&e.type===`extent`)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&e.type===`point`)return`${e.x},${e.y}`;let n=e.toJSON();return delete n.spatialReference,JSON.stringify(n)}function r(r,i,a){let{geometry:o}=r,s=r.compactGeometryEnabled??!1,c=r.toJSON();delete c.compactGeometryEnabled,delete c.defaultSpatialReferenceEnabled;let l=c,u,d,f;if(o&&(d=o.spatialReference,f=t(d),l.geometryType=e(o),l.geometry=n(o,s),l.inSR=f),c.groupByFieldsForStatistics&&(l.groupByFieldsForStatistics=c.groupByFieldsForStatistics.join(`,`)),c.objectIds)switch(a?.uniqueIdFields?.length){case void 0:l.objectIds=c.objectIds.join(`,`);break;case 1:l.uniqueIds=JSON.stringify(c.objectIds),delete l.objectIds;break;default:l.uniqueIds=JSON.stringify(c.objectIds.map(e=>JSON.parse(e))),delete l.objectIds}if(c.orderByFields&&(l.orderByFields=c.orderByFields.join(`,`)),c.outFields&&(c.returnDistinctValues||!(i?.returnCountOnly||i?.returnExtentOnly||i?.returnIdsOnly))?l.outFields=c.outFields.includes(`*`)?`*`:c.outFields.join(`,`):delete l.outFields,c.outSR?(l.outSR=t(c.outSR),u=r.outSpatialReference):o&&(c.returnGeometry||c.returnCentroid)&&(l.outSR=l.inSR,u=d),c.returnGeometry&&delete c.returnGeometry,c.outStatistics&&(l.outStatistics=JSON.stringify(c.outStatistics)),c.outDistance&&(l.outDistance=JSON.stringify(c.outDistance)),c.fullText&&(l.fullText=JSON.stringify(c.fullText)),c.pixelSize&&(l.pixelSize=JSON.stringify(c.pixelSize)),c.quantizationParameters&&(r.defaultSpatialReferenceEnabled&&d!=null&&r.quantizationParameters?.extent!=null&&d.equals(r.quantizationParameters.extent.spatialReference)&&delete c.quantizationParameters.extent.spatialReference,l.quantizationParameters=JSON.stringify(c.quantizationParameters)),c.parameterValues&&(l.parameterValues=JSON.stringify(c.parameterValues)),c.rangeValues&&(l.rangeValues=JSON.stringify(c.rangeValues)),c.dynamicDataSource){if(`definitionExpression`in c.dynamicDataSource&&c.dynamicDataSource.definitionExpression){let{definitionExpression:e,...t}=c.dynamicDataSource;l.layer=JSON.stringify({query:e,source:t})}else l.layer=JSON.stringify({source:c.dynamicDataSource});delete c.dynamicDataSource}if(c.timeExtent){let{start:e,end:t}=c.timeExtent;(e!=null||t!=null)&&(l.time=e===t?e:`${e??`null`},${t??`null`}`),delete c.timeExtent}return r.defaultSpatialReferenceEnabled&&d!=null&&u!=null&&d.equals(u)&&(l.defaultSR=l.inSR,delete l.inSR,delete l.outSR),l}const i=`json`;export{n as encodeGeometry,r as queryLikeToQueryStringParameters,i as safeExtentResultFormat};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{property as i,cast as a,subclass as o}from"../../core/accessorSupport/decorators.js";import{ensureClass as s}from"../../core/accessorSupport/ensureType.js";import c from"../../geometry/Point.js";import l from"../../geometry/SpatialReference.js";import{fromJSON as u}from"../../geometry/support/jsonUtils.js";import{geometryTypes as d}from"../../geometry/support/typeUtils.js";import f from"../layerSources/DynamicDataLayer.js";import p from"./FullTextSearch.js";import m from"./OutDistance.js";import h from"./QuantizationParameters.js";import{spatialRelKebabDict as g}from"./spatialRelationships.js";import _ from"./StatisticDefinition.js";import v from"../../time/TimeExtent.js";import{writer as y}from"../../core/accessorSupport/decorators/writer.js";import{enumeration as b}from"../../core/accessorSupport/decorators/enumeration.js";var x;const S=new t({esriSRUnit_Meter:`meters`,esriSRUnit_Kilometer:`kilometers`,esriSRUnit_Foot:`feet`,esriSRUnit_StatuteMile:`miles`,esriSRUnit_NauticalMile:`nautical-miles`,esriSRUnit_USNauticalMile:`us-nautical-miles`});let C=class extends n{static{x=this}static from(e){return s(x,e)}constructor(e){super(e),this.aggregateIds=null,this.cacheHint=void 0,this.compactGeometryEnabled=!1,this.datumTransformation=null,this.defaultSpatialReferenceEnabled=!1,this.distance=void 0,this.dynamicDataSource=void 0,this.formatOf3DObjects=null,this.fullText=null,this.gdbVersion=null,this.geometry=null,this.geometryPrecision=void 0,this.groupByFieldsForStatistics=null,this.having=null,this.historicMoment=null,this.maxAllowableOffset=void 0,this.maxRecordCountFactor=1,this.multipatchOption=null,this.num=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.outStatistics=null,this.parameterValues=null,this.pixelSize=null,this.quantizationParameters=null,this.rangeValues=null,this.relationParameter=null,this.resultType=null,this.returnStatisticsAggregatedIds=!1,this.returnCentroid=!1,this.returnDistinctValues=!1,this.returnExceededLimitFeatures=!0,this.returnExceededLimitGeometries=!0,this.returnGeometry=!1,this.returnQueryGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.returnTrueCurves=void 0,this.sourceSpatialReference=null,this.spatialRelationship=`intersects`,this.start=void 0,this.sqlFormat=null,this.text=null,this.timeExtent=null,this.timeReferenceUnknownClient=!1,this.units=null,this.outDistance=null,this.where=null}castDatumTransformation(e){return typeof e==`number`||typeof e==`object`?e:null}writeHistoricMoment(e,t){t.historicMoment=e&&e.getTime()}writeParameterValues(e,t){if(e){let n={};for(let t in e){let r=e[t];n[t]=Array.isArray(r)?r.map(e=>e instanceof Date?e.getTime():e):r instanceof Date?r.getTime():r}t.parameterValues=n}}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10,t.where=`1=1`}writeWhere(e,t){t.where=e||`1=1`}clone(){return new x(r({aggregateIds:this.aggregateIds,cacheHint:this.cacheHint,compactGeometryEnabled:this.compactGeometryEnabled,datumTransformation:this.datumTransformation,defaultSpatialReferenceEnabled:this.defaultSpatialReferenceEnabled,distance:this.distance,fullText:this.fullText,formatOf3DObjects:this.formatOf3DObjects,gdbVersion:this.gdbVersion,geometry:this.geometry,geometryPrecision:this.geometryPrecision,groupByFieldsForStatistics:this.groupByFieldsForStatistics,having:this.having,historicMoment:this.historicMoment==null?null:new Date(this.historicMoment),maxAllowableOffset:this.maxAllowableOffset,maxRecordCountFactor:this.maxRecordCountFactor,multipatchOption:this.multipatchOption,num:this.num,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,outStatistics:this.outStatistics,parameterValues:this.parameterValues,pixelSize:this.pixelSize,quantizationParameters:this.quantizationParameters,rangeValues:this.rangeValues,relationParameter:this.relationParameter,resultType:this.resultType,returnStatisticsAggregatedIds:this.returnStatisticsAggregatedIds,returnDistinctValues:this.returnDistinctValues,returnGeometry:this.returnGeometry,returnCentroid:this.returnCentroid,returnExceededLimitFeatures:this.returnExceededLimitFeatures,returnExceededLimitGeometries:this.returnExceededLimitGeometries,returnQueryGeometry:this.returnQueryGeometry,returnM:this.returnM,returnZ:this.returnZ,returnTrueCurves:this.returnTrueCurves,dynamicDataSource:this.dynamicDataSource,sourceSpatialReference:this.sourceSpatialReference,spatialRelationship:this.spatialRelationship,start:this.start,sqlFormat:this.sqlFormat,text:this.text,timeExtent:this.timeExtent,timeReferenceUnknownClient:this.timeReferenceUnknownClient,units:this.units,outDistance:this.outDistance,where:this.where}))}static{this.MAX_MAX_RECORD_COUNT_FACTOR=5}};e([i({json:{write:!0}})],C.prototype,`aggregateIds`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`cacheHint`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`compactGeometryEnabled`,void 0),e([i({json:{write:!0}})],C.prototype,`datumTransformation`,void 0),e([a(`datumTransformation`)],C.prototype,`castDatumTransformation`,null),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`defaultSpatialReferenceEnabled`,void 0),e([i({type:Number,json:{write:{overridePolicy(e){return{enabled:!!e}}}}})],C.prototype,`distance`,void 0),e([i({type:f,json:{write:!0}})],C.prototype,`dynamicDataSource`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`formatOf3DObjects`,void 0),e([i({type:[p],json:{write:{enabled:!0,overridePolicy(){return{enabled:this.fullText!=null&&this.fullText.length>0}}}}})],C.prototype,`fullText`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`gdbVersion`,void 0),e([i({types:d,json:{read:u,write:!0}})],C.prototype,`geometry`,void 0),e([i({type:Number,json:{write:!0}})],C.prototype,`geometryPrecision`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`groupByFieldsForStatistics`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`having`,void 0),e([i({type:Date})],C.prototype,`historicMoment`,void 0),e([y(`historicMoment`)],C.prototype,`writeHistoricMoment`,null),e([i({type:Number,json:{write:!0}})],C.prototype,`maxAllowableOffset`,void 0),e([i({type:Number,cast(e){return e<1?1:e>x.MAX_MAX_RECORD_COUNT_FACTOR?x.MAX_MAX_RECORD_COUNT_FACTOR:e},json:{write:{overridePolicy(e){return{enabled:e>1}}}}})],C.prototype,`maxRecordCountFactor`,void 0),e([i({type:[`xyFootprint`],json:{write:!0}})],C.prototype,`multipatchOption`,void 0),e([i({type:Number,json:{read:{source:`resultRecordCount`}}})],C.prototype,`num`,void 0),e([i({json:{write:!0}})],C.prototype,`objectIds`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`orderByFields`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`outFields`,void 0),e([i({type:l,json:{name:`outSR`,write:!0}})],C.prototype,`outSpatialReference`,void 0),e([i({type:[_],json:{write:{enabled:!0,overridePolicy(){return{enabled:this.outStatistics!=null&&this.outStatistics.length>0}}}}})],C.prototype,`outStatistics`,void 0),e([i({json:{write:!0}})],C.prototype,`parameterValues`,void 0),e([y(`parameterValues`)],C.prototype,`writeParameterValues`,null),e([i({type:c,json:{write:!0}})],C.prototype,`pixelSize`,void 0),e([i({type:h,json:{write:!0}})],C.prototype,`quantizationParameters`,void 0),e([i({type:[Object],json:{write:!0}})],C.prototype,`rangeValues`,void 0),e([i({type:String,json:{read:{source:`relationParam`},write:{target:`relationParam`,overridePolicy(){return{enabled:this.spatialRelationship===`relation`}}}}})],C.prototype,`relationParameter`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`resultType`,void 0),e([i({type:Boolean,json:{name:`returnAggIds`,write:{overridePolicy(e){return{enabled:e&&!!this.groupByFieldsForStatistics?.length&&!!this.outStatistics?.length}}}}})],C.prototype,`returnStatisticsAggregatedIds`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnCentroid`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnDistinctValues`,void 0),e([i({type:Boolean,json:{default:!0,write:!0}})],C.prototype,`returnExceededLimitFeatures`,void 0),e([i({type:Boolean,json:{default:!0,write:!0}})],C.prototype,`returnExceededLimitGeometries`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`returnGeometry`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnQueryGeometry`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnM`,void 0),e([i({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],C.prototype,`returnZ`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`returnTrueCurves`,void 0),e([i({type:l,json:{write:!0}})],C.prototype,`sourceSpatialReference`,void 0),e([b(g,{ignoreUnknown:!1,name:`spatialRel`})],C.prototype,`spatialRelationship`,void 0),e([i({type:Number,json:{read:{source:`resultOffset`}}})],C.prototype,`start`,void 0),e([y(`start`),y(`num`)],C.prototype,`writeStart`,null),e([i({type:String,json:{write:!0}})],C.prototype,`sqlFormat`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`text`,void 0),e([i({type:v,json:{write:!0}})],C.prototype,`timeExtent`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`timeReferenceUnknownClient`,void 0),e([b(S,{ignoreUnknown:!1}),i({json:{write:{overridePolicy(e){return{enabled:!!e&&!!this.distance}}}}})],C.prototype,`units`,void 0),e([i({type:m,json:{write:!0}})],C.prototype,`outDistance`,void 0),e([i({type:String,json:{write:{overridePolicy(e){return{enabled:e!=null||this.start!=null&&this.start>0}}}}})],C.prototype,`where`,void 0),e([y(`where`)],C.prototype,`writeWhere`,null),C=x=e([o(`esri.rest.support.Query`)],C);export{C as default};
2
+ import{__decorate as e}from"tslib";import{JSONMap as t}from"../../core/jsonMap.js";import{JSONSupport as n}from"../../core/JSONSupport.js";import{clone as r}from"../../core/lang.js";import{property as i,cast as a,subclass as o}from"../../core/accessorSupport/decorators.js";import{ensureClass as s}from"../../core/accessorSupport/ensureType.js";import c from"../../geometry/Point.js";import l from"../../geometry/SpatialReference.js";import{fromJSON as u}from"../../geometry/support/jsonUtils.js";import{geometryTypes as d}from"../../geometry/support/typeUtils.js";import{dynamicDataSourceTypes as f}from"../layerSources/typeUtils.js";import p from"./FullTextSearch.js";import m from"./OutDistance.js";import h from"./QuantizationParameters.js";import{spatialRelKebabDict as g}from"./spatialRelationships.js";import _ from"./StatisticDefinition.js";import v from"../../time/TimeExtent.js";import{writer as y}from"../../core/accessorSupport/decorators/writer.js";import{enumeration as b}from"../../core/accessorSupport/decorators/enumeration.js";var x;const S=new t({esriSRUnit_Meter:`meters`,esriSRUnit_Kilometer:`kilometers`,esriSRUnit_Foot:`feet`,esriSRUnit_StatuteMile:`miles`,esriSRUnit_NauticalMile:`nautical-miles`,esriSRUnit_USNauticalMile:`us-nautical-miles`});let C=class extends n{static{x=this}static from(e){return s(x,e)}constructor(e){super(e),this.aggregateIds=null,this.cacheHint=void 0,this.compactGeometryEnabled=!1,this.datumTransformation=null,this.defaultSpatialReferenceEnabled=!1,this.distance=void 0,this.dynamicDataSource=void 0,this.formatOf3DObjects=null,this.fullText=null,this.gdbVersion=null,this.geometry=null,this.geometryPrecision=void 0,this.groupByFieldsForStatistics=null,this.having=null,this.historicMoment=null,this.maxAllowableOffset=void 0,this.maxRecordCountFactor=1,this.multipatchOption=null,this.num=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.outStatistics=null,this.parameterValues=null,this.pixelSize=null,this.quantizationParameters=null,this.rangeValues=null,this.relationParameter=null,this.resultType=null,this.returnStatisticsAggregatedIds=!1,this.returnCentroid=!1,this.returnDistinctValues=!1,this.returnExceededLimitFeatures=!0,this.returnExceededLimitGeometries=!0,this.returnGeometry=!1,this.returnQueryGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.returnTrueCurves=void 0,this.sourceSpatialReference=null,this.spatialRelationship=`intersects`,this.start=void 0,this.sqlFormat=null,this.text=null,this.timeExtent=null,this.timeReferenceUnknownClient=!1,this.units=null,this.outDistance=null,this.where=null}castDatumTransformation(e){return typeof e==`number`||typeof e==`object`?e:null}writeHistoricMoment(e,t){t.historicMoment=e&&e.getTime()}writeParameterValues(e,t){if(e){let n={};for(let t in e){let r=e[t];n[t]=Array.isArray(r)?r.map(e=>e instanceof Date?e.getTime():e):r instanceof Date?r.getTime():r}t.parameterValues=n}}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10,t.where=`1=1`}writeWhere(e,t){t.where=e||`1=1`}clone(){return new x(r({aggregateIds:this.aggregateIds,cacheHint:this.cacheHint,compactGeometryEnabled:this.compactGeometryEnabled,datumTransformation:this.datumTransformation,defaultSpatialReferenceEnabled:this.defaultSpatialReferenceEnabled,distance:this.distance,fullText:this.fullText,formatOf3DObjects:this.formatOf3DObjects,gdbVersion:this.gdbVersion,geometry:this.geometry,geometryPrecision:this.geometryPrecision,groupByFieldsForStatistics:this.groupByFieldsForStatistics,having:this.having,historicMoment:this.historicMoment==null?null:new Date(this.historicMoment),maxAllowableOffset:this.maxAllowableOffset,maxRecordCountFactor:this.maxRecordCountFactor,multipatchOption:this.multipatchOption,num:this.num,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,outStatistics:this.outStatistics,parameterValues:this.parameterValues,pixelSize:this.pixelSize,quantizationParameters:this.quantizationParameters,rangeValues:this.rangeValues,relationParameter:this.relationParameter,resultType:this.resultType,returnStatisticsAggregatedIds:this.returnStatisticsAggregatedIds,returnDistinctValues:this.returnDistinctValues,returnGeometry:this.returnGeometry,returnCentroid:this.returnCentroid,returnExceededLimitFeatures:this.returnExceededLimitFeatures,returnExceededLimitGeometries:this.returnExceededLimitGeometries,returnQueryGeometry:this.returnQueryGeometry,returnM:this.returnM,returnZ:this.returnZ,returnTrueCurves:this.returnTrueCurves,dynamicDataSource:this.dynamicDataSource,sourceSpatialReference:this.sourceSpatialReference,spatialRelationship:this.spatialRelationship,start:this.start,sqlFormat:this.sqlFormat,text:this.text,timeExtent:this.timeExtent,timeReferenceUnknownClient:this.timeReferenceUnknownClient,units:this.units,outDistance:this.outDistance,where:this.where}))}static{this.MAX_MAX_RECORD_COUNT_FACTOR=5}};e([i({json:{write:!0}})],C.prototype,`aggregateIds`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`cacheHint`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`compactGeometryEnabled`,void 0),e([i({json:{write:!0}})],C.prototype,`datumTransformation`,void 0),e([a(`datumTransformation`)],C.prototype,`castDatumTransformation`,null),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`defaultSpatialReferenceEnabled`,void 0),e([i({type:Number,json:{write:{overridePolicy(e){return{enabled:!!e}}}}})],C.prototype,`distance`,void 0),e([i({types:f,json:{write:!0}})],C.prototype,`dynamicDataSource`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`formatOf3DObjects`,void 0),e([i({type:[p],json:{write:{enabled:!0,overridePolicy(){return{enabled:this.fullText!=null&&this.fullText.length>0}}}}})],C.prototype,`fullText`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`gdbVersion`,void 0),e([i({types:d,json:{read:u,write:!0}})],C.prototype,`geometry`,void 0),e([i({type:Number,json:{write:!0}})],C.prototype,`geometryPrecision`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`groupByFieldsForStatistics`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`having`,void 0),e([i({type:Date})],C.prototype,`historicMoment`,void 0),e([y(`historicMoment`)],C.prototype,`writeHistoricMoment`,null),e([i({type:Number,json:{write:!0}})],C.prototype,`maxAllowableOffset`,void 0),e([i({type:Number,cast(e){return e<1?1:e>x.MAX_MAX_RECORD_COUNT_FACTOR?x.MAX_MAX_RECORD_COUNT_FACTOR:e},json:{write:{overridePolicy(e){return{enabled:e>1}}}}})],C.prototype,`maxRecordCountFactor`,void 0),e([i({type:[`xyFootprint`],json:{write:!0}})],C.prototype,`multipatchOption`,void 0),e([i({type:Number,json:{read:{source:`resultRecordCount`}}})],C.prototype,`num`,void 0),e([i({json:{write:!0}})],C.prototype,`objectIds`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`orderByFields`,void 0),e([i({type:[String],json:{write:!0}})],C.prototype,`outFields`,void 0),e([i({type:l,json:{name:`outSR`,write:!0}})],C.prototype,`outSpatialReference`,void 0),e([i({type:[_],json:{write:{enabled:!0,overridePolicy(){return{enabled:this.outStatistics!=null&&this.outStatistics.length>0}}}}})],C.prototype,`outStatistics`,void 0),e([i({json:{write:!0}})],C.prototype,`parameterValues`,void 0),e([y(`parameterValues`)],C.prototype,`writeParameterValues`,null),e([i({type:c,json:{write:!0}})],C.prototype,`pixelSize`,void 0),e([i({type:h,json:{write:!0}})],C.prototype,`quantizationParameters`,void 0),e([i({type:[Object],json:{write:!0}})],C.prototype,`rangeValues`,void 0),e([i({type:String,json:{read:{source:`relationParam`},write:{target:`relationParam`,overridePolicy(){return{enabled:this.spatialRelationship===`relation`}}}}})],C.prototype,`relationParameter`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`resultType`,void 0),e([i({type:Boolean,json:{name:`returnAggIds`,write:{overridePolicy(e){return{enabled:e&&!!this.groupByFieldsForStatistics?.length&&!!this.outStatistics?.length}}}}})],C.prototype,`returnStatisticsAggregatedIds`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnCentroid`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnDistinctValues`,void 0),e([i({type:Boolean,json:{default:!0,write:!0}})],C.prototype,`returnExceededLimitFeatures`,void 0),e([i({type:Boolean,json:{default:!0,write:!0}})],C.prototype,`returnExceededLimitGeometries`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`returnGeometry`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnQueryGeometry`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`returnM`,void 0),e([i({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],C.prototype,`returnZ`,void 0),e([i({type:Boolean,json:{write:!0}})],C.prototype,`returnTrueCurves`,void 0),e([i({type:l,json:{write:!0}})],C.prototype,`sourceSpatialReference`,void 0),e([b(g,{ignoreUnknown:!1,name:`spatialRel`})],C.prototype,`spatialRelationship`,void 0),e([i({type:Number,json:{read:{source:`resultOffset`}}})],C.prototype,`start`,void 0),e([y(`start`),y(`num`)],C.prototype,`writeStart`,null),e([i({type:String,json:{write:!0}})],C.prototype,`sqlFormat`,void 0),e([i({type:String,json:{write:!0}})],C.prototype,`text`,void 0),e([i({type:v,json:{write:!0}})],C.prototype,`timeExtent`,void 0),e([i({type:Boolean,json:{default:!1,write:!0}})],C.prototype,`timeReferenceUnknownClient`,void 0),e([b(S,{ignoreUnknown:!1}),i({json:{write:{overridePolicy(e){return{enabled:!!e&&!!this.distance}}}}})],C.prototype,`units`,void 0),e([i({type:m,json:{write:!0}})],C.prototype,`outDistance`,void 0),e([i({type:String,json:{write:{overridePolicy(e){return{enabled:e!=null||this.start!=null&&this.start>0}}}}})],C.prototype,`where`,void 0),e([y(`where`)],C.prototype,`writeWhere`,null),C=x=e([o(`esri.rest.support.Query`)],C);export{C as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../core/JSONSupport.js";import{clone as n}from"../../core/lang.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";import{ensureType as a}from"../../core/accessorSupport/ensureType.js";import o from"../../geometry/SpatialReference.js";import s from"../layerSources/DynamicDataLayer.js";import{writer as c}from"../../core/accessorSupport/decorators/writer.js";var l;let u=class extends t{static{l=this}constructor(e){super(e),this.cacheHint=void 0,this.dynamicDataSource=void 0,this.gdbVersion=null,this.geometryPrecision=void 0,this.historicMoment=null,this.maxAllowableOffset=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.relationshipId=void 0,this.start=void 0,this.num=void 0,this.returnGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.returnTrueCurves=void 0,this.where=null}_writeHistoricMoment(e,t){t.historicMoment=e&&e.getTime()}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10,this.start>0&&this.where==null&&(t.definitionExpression=`1=1`)}clone(){return new l(n({cacheHint:this.cacheHint,dynamicDataSource:this.dynamicDataSource,gdbVersion:this.gdbVersion,geometryPrecision:this.geometryPrecision,historicMoment:this.historicMoment&&new Date(this.historicMoment),maxAllowableOffset:this.maxAllowableOffset,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,relationshipId:this.relationshipId,start:this.start,num:this.num,returnGeometry:this.returnGeometry,where:this.where,returnZ:this.returnZ,returnTrueCurves:this.returnTrueCurves,returnM:this.returnM}))}};e([r({type:Boolean,json:{write:!0}})],u.prototype,`cacheHint`,void 0),e([r({type:s,json:{write:!0}})],u.prototype,`dynamicDataSource`,void 0),e([r({type:String,json:{write:!0}})],u.prototype,`gdbVersion`,void 0),e([r({type:Number,json:{write:!0}})],u.prototype,`geometryPrecision`,void 0),e([r({type:Date})],u.prototype,`historicMoment`,void 0),e([c(`historicMoment`)],u.prototype,`_writeHistoricMoment`,null),e([r({type:Number,json:{write:!0}})],u.prototype,`maxAllowableOffset`,void 0),e([r({json:{write:!0}})],u.prototype,`objectIds`,void 0),e([r({type:[String],json:{write:!0}})],u.prototype,`orderByFields`,void 0),e([r({type:[String],json:{write:!0}})],u.prototype,`outFields`,void 0),e([r({type:o,json:{read:{source:`outSR`},write:{target:`outSR`}}})],u.prototype,`outSpatialReference`,void 0),e([r({json:{write:!0}})],u.prototype,`relationshipId`,void 0),e([r({type:Number,json:{read:{source:`resultOffset`}}})],u.prototype,`start`,void 0),e([c(`start`),c(`num`)],u.prototype,`writeStart`,null),e([r({type:Number,json:{read:{source:`resultRecordCount`}}})],u.prototype,`num`,void 0),e([r({json:{write:!0}})],u.prototype,`returnGeometry`,void 0),e([r({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],u.prototype,`returnM`,void 0),e([r({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],u.prototype,`returnZ`,void 0),e([r({type:Boolean,json:{write:!0}})],u.prototype,`returnTrueCurves`,void 0),e([r({type:String,json:{read:{source:`definitionExpression`},write:{target:`definitionExpression`}}})],u.prototype,`where`,void 0),u=l=e([i(`esri.rest.support.RelationshipQuery`)],u),u.from=a(u);export{u as default};
2
+ import{__decorate as e}from"tslib";import{JSONSupport as t}from"../../core/JSONSupport.js";import{clone as n}from"../../core/lang.js";import{property as r,subclass as i}from"../../core/accessorSupport/decorators.js";import{ensureType as a}from"../../core/accessorSupport/ensureType.js";import o from"../../geometry/SpatialReference.js";import{dynamicDataSourceTypes as s}from"../layerSources/typeUtils.js";import{writer as c}from"../../core/accessorSupport/decorators/writer.js";var l;let u=class extends t{static{l=this}constructor(e){super(e),this.cacheHint=void 0,this.dynamicDataSource=void 0,this.gdbVersion=null,this.geometryPrecision=void 0,this.historicMoment=null,this.maxAllowableOffset=void 0,this.objectIds=null,this.orderByFields=null,this.outFields=null,this.outSpatialReference=null,this.relationshipId=void 0,this.start=void 0,this.num=void 0,this.returnGeometry=!1,this.returnM=void 0,this.returnZ=void 0,this.returnTrueCurves=void 0,this.where=null}_writeHistoricMoment(e,t){t.historicMoment=e&&e.getTime()}writeStart(e,t){t.resultOffset=this.start,t.resultRecordCount=this.num||10,this.start>0&&this.where==null&&(t.definitionExpression=`1=1`)}clone(){return new l(n({cacheHint:this.cacheHint,dynamicDataSource:this.dynamicDataSource,gdbVersion:this.gdbVersion,geometryPrecision:this.geometryPrecision,historicMoment:this.historicMoment&&new Date(this.historicMoment),maxAllowableOffset:this.maxAllowableOffset,objectIds:this.objectIds,orderByFields:this.orderByFields,outFields:this.outFields,outSpatialReference:this.outSpatialReference,relationshipId:this.relationshipId,start:this.start,num:this.num,returnGeometry:this.returnGeometry,where:this.where,returnZ:this.returnZ,returnTrueCurves:this.returnTrueCurves,returnM:this.returnM}))}};e([r({type:Boolean,json:{write:!0}})],u.prototype,`cacheHint`,void 0),e([r({types:s,json:{write:!0}})],u.prototype,`dynamicDataSource`,void 0),e([r({type:String,json:{write:!0}})],u.prototype,`gdbVersion`,void 0),e([r({type:Number,json:{write:!0}})],u.prototype,`geometryPrecision`,void 0),e([r({type:Date})],u.prototype,`historicMoment`,void 0),e([c(`historicMoment`)],u.prototype,`_writeHistoricMoment`,null),e([r({type:Number,json:{write:!0}})],u.prototype,`maxAllowableOffset`,void 0),e([r({json:{write:!0}})],u.prototype,`objectIds`,void 0),e([r({type:[String],json:{write:!0}})],u.prototype,`orderByFields`,void 0),e([r({type:[String],json:{write:!0}})],u.prototype,`outFields`,void 0),e([r({type:o,json:{read:{source:`outSR`},write:{target:`outSR`}}})],u.prototype,`outSpatialReference`,void 0),e([r({json:{write:!0}})],u.prototype,`relationshipId`,void 0),e([r({type:Number,json:{read:{source:`resultOffset`}}})],u.prototype,`start`,void 0),e([c(`start`),c(`num`)],u.prototype,`writeStart`,null),e([r({type:Number,json:{read:{source:`resultRecordCount`}}})],u.prototype,`num`,void 0),e([r({json:{write:!0}})],u.prototype,`returnGeometry`,void 0),e([r({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],u.prototype,`returnM`,void 0),e([r({type:Boolean,json:{write:{overridePolicy(e){return{enabled:e}}}}})],u.prototype,`returnZ`,void 0),e([r({type:Boolean,json:{write:!0}})],u.prototype,`returnTrueCurves`,void 0),e([r({type:String,json:{read:{source:`definitionExpression`},write:{target:`definitionExpression`}}})],u.prototype,`where`,void 0),u=l=e([i(`esri.rest.support.RelationshipQuery`)],u),u.from=a(u);export{u as default};
@@ -65,13 +65,15 @@ export default class LineSymbol3D extends Symbol3D {
65
65
  /** The symbol type. */
66
66
  get type(): "line-3d";
67
67
  /**
68
- * Indicates whether metrics that support both screen and world sizing are interpreted in meters instead of screen points.
68
+ * Indicates whether size properties that support both screen- and world-based sizing are interpreted
69
+ * in meters rather than screen points.
69
70
  *
70
- * Currently, the only affected metric is the [LineSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3DLayer/#size) property. This property does not
71
- * affect [PathSymbol3DLayer](https://developers.arcgis.com/javascript/latest/references/core/symbols/PathSymbol3DLayer/) symbol layers, whose dimensions are always interpreted in meters.
71
+ * For instance, this applies to the [LineSymbol3DLayer.size](https://developers.arcgis.com/javascript/latest/references/core/symbols/LineSymbol3DLayer/#size) property.
72
+ * Properties that only support world sizing are unaffected.
72
73
  *
73
74
  * @default false
74
75
  * @since 5.2
76
+ * @see [Sample: World-sized lines in 3D](https://developers.arcgis.com/javascript/latest/sample-code/visualization-world-sized-lines/)
75
77
  */
76
78
  accessor worldSized: boolean;
77
79
  /**
@@ -37,6 +37,12 @@ import type { ElevationProfileStatistics, ElevationProfileEffectiveDisplayUnits,
37
37
  export default abstract class ElevationProfileAnalysisView2D extends AnalysisView2D {
38
38
  /** The elevation profile analysis associated with the analysis view. */
39
39
  get analysis(): ElevationProfileAnalysis;
40
+ /**
41
+ * Whether placement has at least two committed vertices and can be stopped.
42
+ *
43
+ * @internal
44
+ */
45
+ get canStopPlacing(): boolean;
40
46
  /**
41
47
  * Units used for all the [results](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#results) and [statistics](https://developers.arcgis.com/javascript/latest/references/core/views/2d/analysis/ElevationProfileAnalysisView2D/#statistics) of the elevation profile analysis.
42
48
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import a from"./AnalysisView2D.js";import{ElevationProfileVisualization2D as o}from"./ElevationProfile/ElevationProfileVisualization2D.js";import{ElevationProfileController as s}from"../../analysis/ElevationProfile/ElevationProfileController.js";import{ElevationProfileLineGroundComputation as c}from"../../analysis/ElevationProfile/ElevationProfileLineGroundComputation.js";import{ElevationProfileLineInputComputation as l}from"../../analysis/ElevationProfile/ElevationProfileLineInputComputation.js";import{ElevationProfileLineQueryComputation as u}from"../../analysis/ElevationProfile/ElevationProfileLineQueryComputation.js";import{ElevationProfileTool as d}from"../../analysis/ElevationProfile/ElevationProfileTool.js";let f=class extends a{constructor(e){super(e),this.type=`elevation-profile-view-2d`,this.analysis=null,this.indicatorRelativePosition=null}initialize(){let{analysis:e,view:t}=this;this._controller=new s({analysis:e,analysisViewData:this,view:t,computationFactory:{create:e=>{switch(e.profile.type){case`ground`:return new c(e);case`input`:return new l(e);case`query`:return new u(e);case`scene`:throw new n(`elevation-profile-analysis-view-2d:unsupported`,`The scene profile line type is not supported in 2D views.`)}}}}),this._visualization=new o({view:t,analysisViewData:this}),this._sketchTool=new d({view:t,analysisViewData:this})}destroy(){this._controller?.destroy(),this._visualization?.destroy(),this._sketchTool?.destroy()}get effectiveDisplayUnits(){return this._controller?.effectiveDisplayUnits??{distance:`meters`,elevation:`meters`}}get error(){return this._controller?.error}get flatProfiles(){return this._controller?.flatProfiles??m}get indicatorPoints(){return this._controller?.indicatorPoints??[]}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get progress(){return this._controller?.progress??0}get results(){return this._controller?.results??[]}get statistics(){return this._controller?.statistics}get updating(){return this._controller?.updating===!0||this._visualization?.updating===!0||this._sketchTool?.updating===!0}get visible(){return super.visible}set visible(e){super.visible=e}get sketchGraphic(){return this._sketchTool?.sketchGraphic}get toolState(){return this._sketchTool?.state??`idle`}place(e){return this._sketchTool.place(e)}pickFeature(e){return this._sketchTool.pickFeature(e)}};e([r({readOnly:!0})],f.prototype,`type`,void 0),e([r({constructOnly:!0,nonNullable:!0})],f.prototype,`analysis`,void 0),e([r({readOnly:!0})],f.prototype,`effectiveDisplayUnits`,null),e([r({readOnly:!0})],f.prototype,`error`,null),e([r()],f.prototype,`flatProfiles`,null),e([r()],f.prototype,`indicatorRelativePosition`,void 0),e([r()],f.prototype,`indicatorPoints`,null),e([r({readOnly:!0})],f.prototype,`progress`,null),e([r({readOnly:!0})],f.prototype,`results`,null),e([r({readOnly:!0})],f.prototype,`statistics`,null),e([r({readOnly:!0})],f.prototype,`updating`,null),e([r()],f.prototype,`sketchGraphic`,null),e([r()],f.prototype,`toolState`,null),e([r()],f.prototype,`_controller`,void 0),e([r()],f.prototype,`_visualization`,void 0),e([r()],f.prototype,`_sketchTool`,void 0),f=e([i(`esri.views.2d.analysis.ElevationProfileAnalysisView2D`)],f);const p=f,m=new t;export{p as default};
2
+ import{__decorate as e}from"tslib";import t from"../../../core/Collection.js";import n from"../../../core/Error.js";import{property as r,subclass as i}from"../../../core/accessorSupport/decorators.js";import a from"./AnalysisView2D.js";import{ElevationProfileVisualization2D as o}from"./ElevationProfile/ElevationProfileVisualization2D.js";import{ElevationProfileController as s}from"../../analysis/ElevationProfile/ElevationProfileController.js";import{ElevationProfileLineGroundComputation as c}from"../../analysis/ElevationProfile/ElevationProfileLineGroundComputation.js";import{ElevationProfileLineInputComputation as l}from"../../analysis/ElevationProfile/ElevationProfileLineInputComputation.js";import{ElevationProfileLineQueryComputation as u}from"../../analysis/ElevationProfile/ElevationProfileLineQueryComputation.js";import{ElevationProfileTool as d}from"../../analysis/ElevationProfile/ElevationProfileTool.js";let f=class extends a{constructor(e){super(e),this.type=`elevation-profile-view-2d`,this.analysis=null,this.indicatorRelativePosition=null}initialize(){let{analysis:e,view:t}=this;this._controller=new s({analysis:e,analysisViewData:this,view:t,computationFactory:{create:e=>{switch(e.profile.type){case`ground`:return new c(e);case`input`:return new l(e);case`query`:return new u(e);case`scene`:throw new n(`elevation-profile-analysis-view-2d:unsupported`,`The scene profile line type is not supported in 2D views.`)}}}}),this._visualization=new o({view:t,analysisViewData:this}),this._sketchTool=new d({view:t,analysisViewData:this})}destroy(){this._controller?.destroy(),this._visualization?.destroy(),this._sketchTool?.destroy()}get effectiveDisplayUnits(){return this._controller?.effectiveDisplayUnits??{distance:`meters`,elevation:`meters`}}get error(){return this._controller?.error}get flatProfiles(){return this._controller?.flatProfiles??m}get indicatorPoints(){return this._controller?.indicatorPoints??[]}get interactive(){return super.interactive}set interactive(e){super.interactive=e}get progress(){return this._controller?.progress??0}get results(){return this._controller?.results??[]}get statistics(){return this._controller?.statistics}get updating(){return this._controller?.updating===!0||this._visualization?.updating===!0||this._sketchTool?.updating===!0}get visible(){return super.visible}set visible(e){super.visible=e}get sketchGraphic(){return this._sketchTool?.sketchGraphic}get toolState(){return this._sketchTool?.state??`idle`}get canStopPlacing(){return this._sketchTool?.canStopPlacing??!1}place(e){return this._sketchTool.place(e)}pickFeature(e){return this._sketchTool.pickFeature(e)}};e([r({readOnly:!0})],f.prototype,`type`,void 0),e([r({constructOnly:!0,nonNullable:!0})],f.prototype,`analysis`,void 0),e([r({readOnly:!0})],f.prototype,`effectiveDisplayUnits`,null),e([r({readOnly:!0})],f.prototype,`error`,null),e([r()],f.prototype,`flatProfiles`,null),e([r()],f.prototype,`indicatorRelativePosition`,void 0),e([r()],f.prototype,`indicatorPoints`,null),e([r({readOnly:!0})],f.prototype,`progress`,null),e([r({readOnly:!0})],f.prototype,`results`,null),e([r({readOnly:!0})],f.prototype,`statistics`,null),e([r({readOnly:!0})],f.prototype,`updating`,null),e([r()],f.prototype,`sketchGraphic`,null),e([r()],f.prototype,`toolState`,null),e([r()],f.prototype,`canStopPlacing`,null),e([r()],f.prototype,`_controller`,void 0),e([r()],f.prototype,`_visualization`,void 0),e([r()],f.prototype,`_sketchTool`,void 0),f=e([i(`esri.views.2d.analysis.ElevationProfileAnalysisView2D`)],f);const p=f,m=new t;export{p as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r.map(e=>e.toJSON()),renderer:i?.clone(),labelingInfoSource:this.layer.id,featureReduction:o(this.layer,t),geometryType:a,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`,trackInfo:d,symbolLayerDrawing:f};return g(e,t,p,n)}get hasRequiredSupport(){return _(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return c(this.layer,e,t)}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>o(this.layer,e),()=>l(this.layer,e)?e.floors:null,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.subtypeCode,()=>this.layer.trackInfo,()=>this.layer.symbolLayerDrawing?.drawOrder,()=>this.layer.symbolLayerDrawing?.enabled,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&a(e,this.layer)]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){let r=this.layer,{capabilities:i,editingInfo:a,typeIdField:o,globalIdField:c,datesInUnknownTimezone:l,dateFieldsTimeZone:d,orderBy:f,subtypeField:p}=r,m=r.fieldsIndex.toJSON(),g=u(r),{hasZ:_,hasM:v}=r,y=h(r.timeInfo),b=r.spatialReference.toJSON(),x=r.types?.map(e=>e.toJSON()),S=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(S.query={layer:JSON.stringify({source:this.layer.dynamicDataSource})});let C=this.layer.objectIdField;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(C=e)}let w=n(S.path),T=t.spatialReference.toJSON();return{type:`feature-service`,source:S,isSourceHosted:w,orderByFields:C,outSpatialReference:T,metadata:{typeIdField:o??void 0,types:x,timeReferenceUnknownClient:l,dateFieldsTimeZone:d,subtypeField:p,globalIdField:c,fieldsIndex:m,geometryType:g,hasZ:_,hasM:v,featureIdInfo:s(r),timeInfo:y,spatialReference:b,outSpatialReference:T,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON())},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:a?.lastEditDate?.getTime()}}}}export{v as FeatureLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{sqlAnd as t}from"../../../../../core/sql.js";import{isHostedAgolService as n}from"../../../../../layers/support/arcgisLayerUrl.js";import{canConvertSqlRelativeTime as r,sqlRelativeTimeToAbsolute as i}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as a}from"../../../../../networks/support/networkFieldUtils.js";import{getEffectiveFeatureReduction as o}from"./featureReductionUtils.js";import{createFeatureIdInfo as s}from"./featureServiceUtils.js";import{addFloorFilter as c,hasFloorFilter as l}from"./floorFilterUtils.js";import{getServiceGeometryType as u}from"./geometryUtils.js";import{createLabelVVEvaluator as d}from"./labelingUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSimpleProcessorSchema as g}from"../schema/processor/SimpleProcessorSchema.js";import{isRendererSupported as _}from"../support/rendererUtils.js";class v{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{0:d(this.layer.renderer)}}]}async createSourceSchema(e,n){let a=this._createServiceInfo(e),o=this.layer.editingInfo?.lastEditDate!=null,s=this.layer.refreshInterval>0,c=!o&&s,l=p(a.isSourceHosted,c,this.layer.capabilities,a.metadata.geometryType,e.extent,this.layer.fullExtent),u=this.layer.subtypeCode==null?null:`${this.layer.subtypeField} = ${this.layer.subtypeCode}`,d=t(this.layer.definitionExpression,u),f=r(d)?await i(this.layer.fieldsIndex,d,this.layer.capabilities.query.relativeTimeBinWindow):d,h=d===f?null:{where:d},{gdbVersion:g,apiKey:_,historicMoment:v,timeExtent:y,customParameters:b,displayFilterInfo:x}=this.layer;return m(a,l,{definitionExpression:f,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:h,queryScaleRanges:[],displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:x,customParameters:b,gdbVersion:g,historicMoment:v,timeExtent:y,apiKey:_,sourceRefreshVersion:n,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let{fields:r,renderer:i,geometryType:a,labelingInfo:s,labelsVisible:c,orderBy:l,objectIdField:u,trackInfo:d,symbolLayerDrawing:f}=this.layer,p={fields:r.map(e=>e.toJSON()),renderer:i?.clone(),labelingInfoSource:this.layer.id,featureReduction:o(this.layer,t),geometryType:a,labelingInfo:s,labelsVisible:c,objectIdField:u,orderBy:l??`default`,trackInfo:d,symbolLayerDrawing:f};return g(e,t,p,n)}get hasRequiredSupport(){return _(this.layer.renderer)}get timeOptions(){return this.layer}addFilters(e,t){return c(this.layer,e,t)}getUpdateHashProperties(e){return this.layer.destroyed?[]:[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>o(this.layer,e),()=>l(this.layer,e)?e.floors:null,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>this.layer.labelsVisible?this.layer.labelingInfo:null,()=>this.layer.orderBy,()=>this.layer.outFields,()=>this.layer.renderer,()=>this.layer.subtypeCode,()=>this.layer.trackInfo,()=>this.layer.symbolLayerDrawing?.drawOrder,()=>this.layer.symbolLayerDrawing?.enabled,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&a(e,this.layer)]}getRenderer(){return this.layer.renderer}setGraphicOrigin(e){e.origin=this.layer.graphicOrigin}setAggregateGraphicOrigin(e){e.origin=this.layer.aggregateGraphicOrigin}setTrackGraphicOrigin(e){e.origin=this.layer.trackGraphicOrigin}_createServiceInfo(t){let r=this.layer,{capabilities:i,editingInfo:a,typeIdField:o,globalIdField:c,datesInUnknownTimezone:l,dateFieldsTimeZone:d,orderBy:f,subtypeField:p}=r,m=r.fieldsIndex.toJSON(),g=u(r),{hasZ:_,hasM:v}=r,y=h(r.timeInfo),b=r.spatialReference.toJSON(),x=r.types?.map(e=>e.toJSON()),S=e(this.layer.parsedUrl);this.layer.dynamicDataSource&&(S.query={layer:JSON.stringify(this.layer.dynamicDataSource.toLayerSourceJSON())});let C=this.layer.objectIdField;if(f?.length){let e=!f[0].valueExpression&&f[0].field;e&&(C=e)}let w=n(S.path),T=t.spatialReference.toJSON();return{type:`feature-service`,source:S,isSourceHosted:w,orderByFields:C,outSpatialReference:T,metadata:{typeIdField:o??void 0,types:x,timeReferenceUnknownClient:l,dateFieldsTimeZone:d,subtypeField:p,globalIdField:c,fieldsIndex:m,geometryType:g,hasZ:_,hasM:v,featureIdInfo:s(r),timeInfo:y,spatialReference:b,outSpatialReference:T,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON())},queryMetadata:{supportsCacheHint:i.query.supportsCacheHint,maxRecordCount:i.query.maxRecordCount,tileMaxRecordCount:i.query.tileMaxRecordCount,supportsCompactGeometry:i.query.supportsCompactGeometry,supportsDefaultSpatialReference:i.query.supportsDefaultSpatialReference,supportsFormatPBF:i.query.supportsFormatPBF,supportsMaxRecordCountFactor:i.query.supportsMaxRecordCountFactor,supportsQuantization:i.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:i.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:i.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:i.query.supportsReturnExceededLimitGeometries,lastEditDate:a?.lastEditDate?.getTime()}}}}export{v as FeatureLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as t}from"../../../../../core/mathUtils.js";import{sqlAnd as n}from"../../../../../core/sql.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import i from"../../../../../layers/support/FeatureFilter.js";import{canConvertSqlRelativeTime as a,sqlRelativeTimeToAbsolute as o}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as s}from"../../../../../networks/support/networkFieldUtils.js";import{createFeatureIdInfo as c}from"./featureServiceUtils.js";import{addFloorFilter as l,hasFloorFilter as u}from"./floorFilterUtils.js";import{getServiceGeometryType as d}from"./geometryUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSubtypeProcessorSchema as g}from"../schema/processor/SubtypeProcessorSchema.js";class _{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{}}]}async createSourceSchema(e,t){let{definitionExpression:n,customParameters:r,gdbVersion:i,historicMoment:s,timeExtent:c,apiKey:l,displayFilterInfo:u}=this.layer,d=this._createServiceInfo(e),f=this.layer.editingInfo?.lastEditDate!=null,h=this.layer.refreshInterval>0,g=!f&&h,_=p(d.isSourceHosted,g,this.layer.capabilities,d.metadata.geometryType,e.extent,this.layer.fullExtent),v=a(n)?await o(this.layer.fieldsIndex,n,this.layer.capabilities.query.relativeTimeBinWindow):n,y=n===v?null:{where:n};return m(d,_,{definitionExpression:v,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:y,queryScaleRanges:this.layer.sublayers.items.map(e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale})),displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:u,customParameters:r,gdbVersion:i,historicMoment:s,timeExtent:c,apiKey:l,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let r={labelingInfoSource:this.layer.id,subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e,t)=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfoSource:this.layer.id+`-${t}`,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null}))};return g(e,t,r,n)}addFilters(e,t){e=l(this.layer,e,t);let r=this.layer.sublayers.filter(e=>!v(e,t)).map(e=>e.subtypeCode);if(!r.length)return e;e??=new i;let a=`NOT ${this.layer.subtypeField} IN (${r.join(`,`)})`;return e.where=n(e.where,a),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>u(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&s(e,this.layer),()=>this.layer.sublayers.map(({renderer:e,labelsVisible:t,labelingInfo:n,visible:r,minScale:i,maxScale:a})=>({renderer:e,labelsVisible:t,labelingInfo:n,visible:r,minScale:i,maxScale:a}))]}setGraphicOrigin(e){let t=this.layer.findSublayerForFeature(e);e.layer=e.sourceLayer=t,e.origin=t?.graphicOrigin}getRenderer(e){return this.layer.findSublayerForFeature(e)?.renderer}_createServiceInfo(t){let{capabilities:n,datesInUnknownTimezone:i,dateFieldsTimeZone:a,editingInfo:o,globalIdField:s,objectIdField:l,subtypeField:u}=this.layer,f=this.layer.fieldsIndex.toJSON(),p=d(this.layer),m=h(this.layer.timeInfo),g=this.layer.spatialReference.toJSON(),_=e(this.layer.parsedUrl),v=l,y=r(_.path),b=t.spatialReference.toJSON();return{type:`feature-service`,source:_,isSourceHosted:y,orderByFields:v,outSpatialReference:b,metadata:{timeReferenceUnknownClient:i,dateFieldsTimeZone:a,subtypeField:u,globalIdField:s,fieldsIndex:f,geometryType:p,hasZ:this.layer.hasZ,hasM:this.layer.hasM,featureIdInfo:c(this.layer),timeInfo:m,spatialReference:g,outSpatialReference:b,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null},queryMetadata:{supportsCacheHint:n.query.supportsCacheHint,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsFormatPBF:n.query.supportsFormatPBF,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsQuantization:n.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries,lastEditDate:o?.lastEditDate?.getTime()}}}}function v(e,n){return e.visible&&(e.minScale===0||t(n.scale,e.minScale)||n.scale<e.minScale)&&(e.maxScale===0||t(n.scale,e.maxScale)||n.scale>e.maxScale)}export{_ as SubtypeGroupLayerAdapter};
2
+ import{clone as e}from"../../../../../core/lang.js";import{floatEqualAbsolute as t}from"../../../../../core/mathUtils.js";import{sqlAnd as n}from"../../../../../core/sql.js";import{isHostedAgolService as r}from"../../../../../layers/support/arcgisLayerUrl.js";import i from"../../../../../layers/support/FeatureFilter.js";import{canConvertSqlRelativeTime as a,sqlRelativeTimeToAbsolute as o}from"../../../../../layers/support/relativeTimeQueryUtils.js";import{getUtilityNetworkFields as s}from"../../../../../networks/support/networkFieldUtils.js";import{createFeatureIdInfo as c}from"./featureServiceUtils.js";import{addFloorFilter as l,hasFloorFilter as u}from"./floorFilterUtils.js";import{getServiceGeometryType as d}from"./geometryUtils.js";import{ExceedsLimitCache as f}from"../schema/ExceedsLimitCache.js";import{createSnapshotInfo as p,createFeatureSourceSchema as m}from"../schema/SourceSchema.js";import{createServiceTimeSchema as h}from"../schema/TimeSchema.js";import{createSubtypeProcessorSchema as g}from"../schema/processor/SubtypeProcessorSchema.js";class _{constructor(e){this.layer=e,this._cache=new f}getLabelingDeconflictionInfo(){return[{vvEvaluators:{}}]}async createSourceSchema(e,t){let{definitionExpression:n,customParameters:r,gdbVersion:i,historicMoment:s,timeExtent:c,apiKey:l,displayFilterInfo:u}=this.layer,d=this._createServiceInfo(e),f=this.layer.editingInfo?.lastEditDate!=null,h=this.layer.refreshInterval>0,g=!f&&h,_=p(d.isSourceHosted,g,this.layer.capabilities,d.metadata.geometryType,e.extent,this.layer.fullExtent),v=a(n)?await o(this.layer.fieldsIndex,n,this.layer.capabilities.query.relativeTimeBinWindow):n,y=n===v?null:{where:n};return m(d,_,{definitionExpression:v,returnZ:e.returnZ,returnM:e.returnM,postQueryFilter:y,queryScaleRanges:this.layer.sublayers.items.map(e=>({subtypeCode:e.subtypeCode,minScale:e.minScale,maxScale:e.maxScale})),displayFilterEnabled:e.displayFilterEnabled,displayFilterInfo:u,customParameters:r,gdbVersion:i,historicMoment:s,timeExtent:c,apiKey:l,sourceRefreshVersion:t,availableFields:e.availableFields,cache:this._cache})}createProcessorSchema(e,t,n){let r={labelingInfoSource:this.layer.id,subtypeField:this.layer.subtypeField,sublayers:Array.from(this.layer.sublayers,(e,t)=>({featureReduction:null,geometryType:this.layer.geometryType,labelingInfoSource:this.layer.id+`-${t}`,labelingInfo:e.labelingInfo,labelsVisible:e.labelsVisible,renderer:e.renderer,subtypeCode:e.subtypeCode,orderBy:null}))};return g(e,t,r,n)}addFilters(e,t){e=l(this.layer,e,t);let r=this.layer.sublayers.filter(e=>!v(e,t)).map(e=>e.subtypeCode);if(!r.length)return e;e??=new i;let a=`NOT ${this.layer.subtypeField} IN (${r.join(`,`)})`;return e.where=n(e.where,a),e}get hasRequiredSupport(){return!0}get timeOptions(){return this.layer}getUpdateHashProperties(e){return[()=>this.layer.apiKey,()=>this.layer.customParameters,()=>this.layer.definitionExpression,()=>u(this.layer,e)?e.floors:null,()=>this.layer.outFields,()=>this.layer.gdbVersion,()=>this.layer.historicMoment,()=>e?.requiredFieldsOptions?.featureTitleFields&&this.layer.featureTitleFields,()=>e?.requiredFieldsOptions?.utilityNetworkFields&&s(e,this.layer),()=>this.layer.sublayers.map(({renderer:e,labelsVisible:t,labelingInfo:n,visible:r,minScale:i,maxScale:a})=>({renderer:e,labelsVisible:t,labelingInfo:n,visible:r,minScale:i,maxScale:a}))]}setGraphicOrigin(e){let t=this.layer.findSublayerForFeature(e);e.layer=e.sourceLayer=t,e.origin=t?.graphicOrigin}getRenderer(e){return this.layer.findSublayerForFeature(e)?.renderer}_createServiceInfo(t){let{capabilities:n,datesInUnknownTimezone:i,dateFieldsTimeZone:a,editingInfo:o,globalIdField:s,objectIdField:l,subtypeField:u}=this.layer,f=this.layer.fieldsIndex.toJSON(),p=d(this.layer),m=h(this.layer.timeInfo),g=this.layer.spatialReference.toJSON(),_=e(this.layer.parsedUrl),v=l,y=r(_.path),b=t.spatialReference.toJSON();return this.layer.dynamicDataSource&&(_.query={layer:JSON.stringify(this.layer.dynamicDataSource.toLayerSourceJSON())}),{type:`feature-service`,source:_,isSourceHosted:y,orderByFields:v,outSpatialReference:b,metadata:{timeReferenceUnknownClient:i,dateFieldsTimeZone:a,subtypeField:u,globalIdField:s,fieldsIndex:f,geometryType:p,hasZ:this.layer.hasZ,hasM:this.layer.hasM,featureIdInfo:c(this.layer),timeInfo:m,spatialReference:g,outSpatialReference:b,attributeSpatialReference:null,subtypes:this.layer.subtypes?.map(e=>e.toJSON()),typeIdField:null,types:null},queryMetadata:{supportsCacheHint:n.query.supportsCacheHint,maxRecordCount:n.query.maxRecordCount,tileMaxRecordCount:n.query.tileMaxRecordCount,supportsCompactGeometry:n.query.supportsCompactGeometry,supportsDefaultSpatialReference:n.query.supportsDefaultSpatialReference,supportsFormatPBF:n.query.supportsFormatPBF,supportsMaxRecordCountFactor:n.query.supportsMaxRecordCountFactor,supportsQuantization:n.query.supportsQuantization,supportsCentroidOnDegeneratedQuantizedGeometry:n.query.supportsCentroidOnDegeneratedQuantizedGeometry,supportsDegeneratedQuantizedGeometry:n.query.supportsDegeneratedQuantizedGeometry,supportsReturnExceededLimitGeometries:n.query.supportsReturnExceededLimitGeometries,lastEditDate:o?.lastEditDate?.getTime()}}}}function v(e,n){return e.visible&&(e.minScale===0||t(n.scale,e.minScale)||n.scale<e.minScale)&&(e.maxScale===0||t(n.scale,e.maxScale)||n.scale>e.maxScale)}export{_ as SubtypeGroupLayerAdapter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{onLocaleChange as t,fetchMessageBundle as n}from"../../../../intl.js";import r from"../../../../core/Accessor.js";import{destroyHandle as i}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{mapCollection as a}from"../../../../core/mapCollectionUtils.js";import{watch as o,syncAndInitial as s,when as c,sync as l}from"../../../../core/reactiveUtils.js";import{pt2px as u}from"../../../../core/screenUtils.js";import{property as d,subclass as f}from"../../../../core/accessorSupport/decorators.js";import{ZEROS as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{LengthDimensionVisualization as m}from"./LengthDimensionVisualization.js";import{markerLineSizeFraction as h,offsetLineSizeFraction as g}from"./settings.js";import{LineMarkerMaterial as _}from"../../webgl-engine/materials/LineMarkerMaterial.js";import{createStipplePatternSimple as v}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as y}from"../../webgl-engine/materials/RibbonLineMaterial.js";let b=class extends r{get analysis(){return this.analysisViewData.analysis}get visible(){return this.analysisViewData.visible}constructor(e){super(e),this.loadingMessages=!1,this._messages=null}initialize(){let e=this.isDecoration,n=this.view.state.isGlobal;this._markerMaterial=new _({width:1,anchor:1,color:p,placement:`begin-end`,worldSpace:!0,hideOnShortSegments:!0,hasTip:!0,renderOccluded:4,markerPrimitive:`triangle`,isDecoration:e},n),this._dimensionLineMaterial=new y({width:1,color:p,renderOccluded:4,markerParameters:this._markerMaterial.parameters,isDecoration:e},n),this._offsetLineMaterial=new y({width:1,color:p,renderOccluded:4,stipplePattern:v(5),isDecoration:e},n),this._smallDimensionLineMaterial=new y({width:1,color:p,renderOccluded:4,isDecoration:e},n),this._smallOffsetLineMaterial=new y({width:1,color:p,renderOccluded:4,stipplePattern:v(5),isDecoration:e},n);let r=a(()=>this.analysisViewData.computations,({computation:e})=>this._createVisualization(e));this._dimensionVisualizations=r,this.addHandles([i(r),o(()=>this.analysis.style.color.toUnitRGBA(),e=>{for(let t of this._lineMaterials())t.setParameters({color:e})},s),o(()=>this.analysis.style.lineSize,e=>{let t=u(e);this._markerMaterial.setParameters({width:t*h}),this._dimensionLineMaterial.setParameters({width:t,markerParameters:this._markerMaterial.parameters});let n=Math.max(t*g,1);this._offsetLineMaterial.setParameters({width:n})},s),o(()=>({camera:this.view.state.camera,style:x(this.analysis)}),({camera:e,style:t})=>{for(let{visualization:n}of this._dimensionVisualizations)n.updateCameraDependentElements(e,n.computation.geometry,t),n.updateLabelStyle(t)}),o(()=>this.visible,e=>{for(let{visualization:t}of this._dimensionVisualizations)t.visible=e})]),this.addHandles([t(()=>this._updateMessageBundle()),c(()=>!this.loadingMessages,()=>{for(let{visualization:e}of this._dimensionVisualizations)e.updateUnitsMessages(this._messages)},l)]),this._updateMessageBundle()}get testInfo(){}_createVisualization(e){let t=new m({analysis:this.analysis,computation:e,view:this.view,visible:this.visible,markerMaterial:this._markerMaterial,dimensionLineMaterial:this._dimensionLineMaterial,offsetLineMaterial:this._offsetLineMaterial,smallDimensionLineMaterial:this._smallDimensionLineMaterial,smallOffsetLineMaterial:this._smallOffsetLineMaterial,messages:this._messages,isDecoration:this.isDecoration});return{visualization:t,remove:()=>t.destroy()}}_lineMaterials(){return[this._markerMaterial,this._dimensionLineMaterial,this._offsetLineMaterial,this._smallDimensionLineMaterial,this._smallOffsetLineMaterial]}async _updateMessageBundle(){this.loadingMessages=!0;try{this._messages=await n(`esri/core/t9n/Units`)}finally{this.loadingMessages=!1}}};e([d({constructOnly:!0})],b.prototype,`analysisViewData`,void 0),e([d({constructOnly:!0,nonNullable:!0})],b.prototype,`view`,void 0),e([d({constructOnly:!0})],b.prototype,`isDecoration`,void 0),e([d()],b.prototype,`analysis`,null),e([d()],b.prototype,`visible`,null),e([d()],b.prototype,`loadingMessages`,void 0),b=e([f(`esri.views.3d.analysis.Dimension.DimensionVisualization`)],b);function x(e){let{fontSize:t,lineSize:n,textColor:r,textBackgroundColor:i}=e.style;return{fontSize:t,lineSize:n,textBackgroundColor:i.clone(),textColor:r.clone()}}export{b as DimensionVisualization};
2
+ import{__decorate as e}from"tslib";import{onLocaleChange as t,fetchMessageBundle as n}from"../../../../intl.js";import r from"../../../../core/Accessor.js";import{destroyHandle as i}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{mapCollection as a}from"../../../../core/mapCollectionUtils.js";import{watch as o,syncAndInitial as s,when as c,sync as l}from"../../../../core/reactiveUtils.js";import{pt2px as u}from"../../../../core/screenUtils.js";import{property as d,subclass as f}from"../../../../core/accessorSupport/decorators.js";import{ZEROS as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{LengthDimensionVisualization as m}from"./LengthDimensionVisualization.js";import{markerLineSizeFraction as h,offsetLineSizeFraction as g}from"./settings.js";import{LineMarkerMaterial as _}from"../../webgl-engine/materials/LineMarkerMaterial.js";import{createStipplePatternSimple as v}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as y}from"../../webgl-engine/materials/RibbonLineMaterial.js";let b=class extends r{get analysis(){return this.analysisViewData.analysis}get visible(){return this.analysisViewData.visible}constructor(e){super(e),this.loadingMessages=!1,this._messages=null}initialize(){let e=this.isDecoration,n=this.view.state.isGlobal;this._markerMaterial=new _({width:1,anchor:1,color:p,placement:`begin-end`,worldSpace:!0,hideOnShortSegments:!0,hasTip:!0,renderOccluded:4,markerPrimitive:`triangle`,isDecoration:e},n),this._dimensionLineMaterial=new y({width:1,color:p,renderOccluded:4,markerParameters:this._markerMaterial.parameters,isDecoration:e},this.view),this._offsetLineMaterial=new y({width:1,color:p,renderOccluded:4,stipplePattern:v(5),isDecoration:e},this.view),this._smallDimensionLineMaterial=new y({width:1,color:p,renderOccluded:4,isDecoration:e},this.view),this._smallOffsetLineMaterial=new y({width:1,color:p,renderOccluded:4,stipplePattern:v(5),isDecoration:e},this.view);let r=a(()=>this.analysisViewData.computations,({computation:e})=>this._createVisualization(e));this._dimensionVisualizations=r,this.addHandles([i(r),o(()=>this.analysis.style.color.toUnitRGBA(),e=>{for(let t of this._lineMaterials())t.setParameters({color:e})},s),o(()=>this.analysis.style.lineSize,e=>{let t=u(e);this._markerMaterial.setParameters({width:t*h}),this._dimensionLineMaterial.setParameters({width:t,markerParameters:this._markerMaterial.parameters});let n=Math.max(t*g,1);this._offsetLineMaterial.setParameters({width:n})},s),o(()=>({camera:this.view.state.camera,style:x(this.analysis)}),({camera:e,style:t})=>{for(let{visualization:n}of this._dimensionVisualizations)n.updateCameraDependentElements(e,n.computation.geometry,t),n.updateLabelStyle(t)}),o(()=>this.visible,e=>{for(let{visualization:t}of this._dimensionVisualizations)t.visible=e})]),this.addHandles([t(()=>this._updateMessageBundle()),c(()=>!this.loadingMessages,()=>{for(let{visualization:e}of this._dimensionVisualizations)e.updateUnitsMessages(this._messages)},l)]),this._updateMessageBundle()}get testInfo(){}_createVisualization(e){let t=new m({analysis:this.analysis,computation:e,view:this.view,visible:this.visible,markerMaterial:this._markerMaterial,dimensionLineMaterial:this._dimensionLineMaterial,offsetLineMaterial:this._offsetLineMaterial,smallDimensionLineMaterial:this._smallDimensionLineMaterial,smallOffsetLineMaterial:this._smallOffsetLineMaterial,messages:this._messages,isDecoration:this.isDecoration});return{visualization:t,remove:()=>t.destroy()}}_lineMaterials(){return[this._markerMaterial,this._dimensionLineMaterial,this._offsetLineMaterial,this._smallDimensionLineMaterial,this._smallOffsetLineMaterial]}async _updateMessageBundle(){this.loadingMessages=!0;try{this._messages=await n(`esri/core/t9n/Units`)}finally{this.loadingMessages=!1}}};e([d({constructOnly:!0})],b.prototype,`analysisViewData`,void 0),e([d({constructOnly:!0,nonNullable:!0})],b.prototype,`view`,void 0),e([d({constructOnly:!0})],b.prototype,`isDecoration`,void 0),e([d()],b.prototype,`analysis`,null),e([d()],b.prototype,`visible`,null),e([d()],b.prototype,`loadingMessages`,void 0),b=e([f(`esri.views.3d.analysis.Dimension.DimensionVisualization`)],b);function x(e){let{fontSize:t,lineSize:n,textColor:r,textBackgroundColor:i}=e.style;return{fontSize:t,lineSize:n,textBackgroundColor:i.clone(),textColor:r.clone()}}export{b as DimensionVisualization};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../analysis/LengthDimension.js";import n from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{destroyHandle as i,handlesGroup as a}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{equals as o}from"../../../../core/lang.js";import{mapCollection as s}from"../../../../core/mapCollectionUtils.js";import{releaseMaybe as c,destroyMaybe as l}from"../../../../core/maybe.js";import{memoize as u}from"../../../../core/memoize.js";import{ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{initial as f,watch as p,sync as m,syncAndInitial as h,when as g}from"../../../../core/reactiveUtils.js";import{property as _,subclass as v}from"../../../../core/accessorSupport/decorators.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as b}from"../../../../core/support/UpdatingHandles.js";import x from"../../../../geometry/Point.js";import{clonePoint as S}from"../../../../layers/graphics/hydratedFeatures.js";import{reapplyConstraint as C,applyConstraint as ee,computeConstraint as te,constraintDependencies as ne}from"./lengthDimensionConstraintUtils.js";import{LengthDimensionManipulators as re,LengthDimensionPointManipulator as w,pointManipulatorHandles as T,createOffsetManipulator as E,offsetManipulatorHandles as D,LineOfSightOrientationManipulator as O,headingManipulatorHandles as k,rotationManipulatorHandles as A,createMeasureTypeManipulator as j,measureTypeManipulatorHandles as M,updateOffsetManipulatorTransform as N,updateHeadingManipulatorTransform as P,updateRotationManipulatorTransform as F,updateMeasureTypeManipulatorTransform as I,unfocusedOffsetWidth as L,focusedOffsetWidth as R}from"./lengthDimensionManipulatorUtils.js";import{isValidComputation as z,arePointsVerticallyAligned as B,computationToGeometryDependencies as V,computeGeometryFromDimension as H}from"./lengthDimensionUtils.js";import{disabledPointColor as U,pointRadius as ie,getTransparentAccentColor as W,getContrastColor as G,initialOffsetPx as K}from"./settings.js";import{getRotateHeadingTexture as q}from"../images/Factory.js";import{SnappingVisualizer3D as J}from"../../interactive/SnappingVisualizer3D.js";import{LineVisualElement as Y}from"../../interactive/visualElements/LineVisualElement.js";import{VerticesVisualElement as ae}from"../../interactive/visualElements/VerticesVisualElement.js";import{Parameters as oe,ImageMaterial as se}from"../../webgl-engine/materials/ImageMaterial.js";import{createStipplePatternSimple as X}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as ce}from"../../webgl-engine/materials/RibbonLineMaterial.js";import{createCoordinateHelper as Z}from"../../../interactive/coordinateHelper.js";import{EditGeometry as le}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as ue}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as de}from"../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as fe}from"../../../interactive/snapping/SnappingDragPipelineStep.js";import{acquireForFeaturePlacement as pe}from"../../../interactive/snapping/SnappingManagerPool.js";import{SnappingOperation as me}from"../../../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as he}from"../../../interactive/snapping/snappingUtils.js";let Q=class extends n{constructor(e){super(e),this._stagedDimension=null,this._snappingManagerResult=null,this._computationManipulators=new Map,this._computationHandles=new r,this._updatingHandles=new b,this._getSnappingContext=u(e=>new de({elevationInfo:{mode:`absolute-height`,offset:0},pointer:e,editGeometryOperations:new ue(new le(`point`,Z(!0,!1,this.view.spatialReference)),this.view.state.viewingMode),visualizer:new J}));let{view:t}=e;this._unfocusedOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._focusedOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._thinOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._thinOffsetManipulatorMaterial.setParameters({stipplePattern:X(2)}),this._constraintSnappingIndicator=new Y({view:t,attached:!0,width:1,renderOccluded:4,stipplePattern:X(5),isDecoration:!0});let n=U.toUnitRGBA();this._stagedStartIndicator=new ae({view:t,attached:!1,elevationInfo:{mode:`absolute-height`,offset:0},spatialReference:e.view.renderCoordsHelper.spatialReference,color:n,size:ie*2,outlineSize:0,renderOccluded:4,isDecoration:!0})}initialize(){let{view:e}=this;this._snappingOperation=new me({view:e});let t=W(e.effectiveTheme),n=G(e.effectiveTheme),r=!e.stage?.renderView.renderingContext.driverTest.svgPremultipliesAlpha.result;this._textureHandle=q(e.stage.textures,{accentColor:t,contrastColor:n,preMultiplyAlpha:r});let a=new oe(this._textureHandle.managedTexture,!1);a.renderOccluded=16,a.isDecoration=!0,this._orientationManipulatorMaterial=new se(a);let o=s(()=>this.analysisViewData.computations,({computation:e})=>this._createManipulators(e));this.addHandles([this._updatingHandles.add(()=>({accentColor:W(e.effectiveTheme),contrastColor:G(e.effectiveTheme)}),({accentColor:t,contrastColor:n})=>{let i=this._textureHandle;this._textureHandle=q(e.stage.textures,{accentColor:t,contrastColor:n,preMultiplyAlpha:r}),this._orientationManipulatorMaterial.setParameters({managedTexture:this._textureHandle.managedTexture}),i?.release();let a=t.toUnitRGBA();this._unfocusedOffsetManipulatorMaterial.setParameters({color:a}),this._focusedOffsetManipulatorMaterial.setParameters({color:a}),this._thinOffsetManipulatorMaterial.setParameters({color:a}),this._constraintSnappingIndicator.color=a},f),i(o),p(()=>({stagedPoint:this._snappingOperation.stagedPoint,stagedComputation:this._stagedComputation}),({stagedPoint:e,stagedComputation:t})=>{if(t==null||e==null)return;let n=S(e,new x);this._applyPointUpdate(t,{endPoint:n})},m),p(()=>({stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}),(e,t)=>{let{stagedDimension:n,selectedComputation:r,firstGrabbedManipulator:i}=e;if(n!==t?.stagedDimension||i!==t?.firstGrabbedManipulator){for(let[t,n]of this._computationManipulators)this._updateManipulators(t,n,e);return}for(let n of[r,t?.selectedComputation])if(n!=null){let t=this._computationManipulators.get(n);t!=null&&this._updateManipulators(n,t,e)}},h),this._updatingHandles.add(()=>this.analysis.style.lineSize,e=>this._updateManipulatorStyle(e),f),this._updatingHandles.add(()=>this.view.state.camera,()=>{this._stagedComputation!=null&&this._updateStagedDimensionOffset(this._stagedComputation)}),this._updatingHandles.add(()=>{let e=this._stagedComputation;if(!e)return null;let t=e.elevationAlignedStartPoint,n=y();return t!=null&&this.view.renderCoordsHelper.toRenderCoords(t,n)?n:null},e=>{e==null?this._stagedStartIndicator.attached=!1:(this._stagedStartIndicator.vertices=[e],this._stagedStartIndicator.attached=!0)})]),this.addHandles(this._constraintHandles),this.addHandles(this._snappingIndicatorHandles),he(this,()=>{let e=this._activeComputation,t=this._stagedComputation;if(e==null||t!=null){let e=this.view.inputManager.latestPointerInfo?.type??`mouse`,t=this._getSnappingContext(e);this._updatingHandles.consumePromise(d(this._snappingOperation.snapAgainNearPreviousMapPoint(this._ensureSnappingManager(),t)))}if(e!=null){let{start:t,end:n}=this._computationManipulators.get(e);if(t.grabbing||n.grabbing){let n=t.grabbing?`start`:`end`,r=this._computeConstraint(e);C(e,n,{constraint:r,view:this.view})}}})}destroy(){this._textureHandle=c(this._textureHandle),this._snappingOperation=l(this._snappingOperation),this._computationHandles.destroy(),this._constraintSnappingIndicator.destroy(),this._stagedStartIndicator.destroy()}get updating(){return this._updatingHandles.updating||!!this._snappingManager?.updating}get firstGrabbedManipulator(){return this.parentTool.firstGrabbedManipulator}get hasGrabbedManipulators(){return this.parentTool.hasGrabbedManipulators}get snappingOptions(){return this._snappingManager?.options}get _snappingManager(){return this._snappingManagerResult?.snappingManager}_ensureSnappingManager(){return this._snappingManagerResult||(this._snappingManagerResult=pe(this.view),this.addHandles(this._snappingManagerResult)),this._snappingManagerResult.snappingManager}get _activeComputation(){if(this._stagedComputation!=null)return this._stagedComputation;let{selectedComputation:e}=this.analysisViewData;return this.hasGrabbedManipulators&&e!=null?e:null}get _stagedComputation(){let e=this._stagedDimension,t=this.analysisViewData.computations.at(-1)?.computation;return e==null||t==null||t.dimension!==e?null:t}get _constraintHandles(){return[g(()=>this.analysisViewData.selectedComputation,e=>{e.previousConstraint=this._computeConstraint(e)},{...h,equals:o}),p(()=>{let e=this._activeComputation;if(e==null)return null;let{measureType:t,orientation:n}=e.dimension;return{measureType:t,orientation:n,computation:e}},(e,t)=>{if(e!=null&&t==null){let{measureType:t,orientation:n,computation:r}=e;switch(r.previousConstraint){case 0:r.preConstraintProperties={measureType:`horizontal`,orientation:0};break;case 1:r.preConstraintProperties={measureType:`vertical`,orientation:0};break;case 2:r.preConstraintProperties={measureType:`direct`,orientation:n};break;default:r.preConstraintProperties={measureType:t,orientation:n}}}e==null&&t!=null&&(t.computation.preConstraintProperties=null)},m)]}get _snappingIndicatorHandles(){let e=`snapping-indicator-event-handles`;return[this._updatingHandles.add(()=>({stagedComputation:this._stagedComputation,activeComputation:this._activeComputation}),({stagedComputation:t,activeComputation:n})=>{let r=this._constraintSnappingIndicator;if(this.removeHandles(e),n==null){r.attached=!1;return}if(n===t)r.attached=!0;else{let{start:t,end:i}=this._computationManipulators.get(n),a=()=>{r.attached=t.grabbing||i.grabbing};a(),this.addHandles([t.events.on(`grab-changed`,a),i.events.on(`grab-changed`,a)],e)}}),this._updatingHandles.add(()=>{let e=this._activeComputation;return e==null?{}:{geometry:e.geometry,constraint:e.previousConstraint}},({geometry:e,constraint:t})=>{let n=this._constraintSnappingIndicator;e!=null&&t!=null&&t!==2?(n.visible=!0,n.setGeometryFromSegment(e.directSegment)):n.visible=!1})]}removeStaged(){return this._stagedDimension!=null&&(this.analysis.dimensions.remove(this._stagedDimension),this._stagedDimension=null,!0)}onDeactivate(){this.removeStaged(),this._resetSnappingState()}onClick(e){let{_stagedDimension:t}=this;if(t==null){let t=this._onUnstagedClick(e);return this.analysis.dimensions.add(t),null}return this._onStagedClick(e),t}onPointerMove({mapPoint:e,pointerType:t}){if(t===`touch`)return;let n=this._getSnappingContext(t);this._updatingHandles.consumePromise(d(this._snappingOperation.snap({point:e},this._ensureSnappingManager(),n)))}onManipulatorSelectionChanged(){this.analysisViewData.selectedComputation!=null&&(this._computationManipulators.get(this.analysisViewData.selectedComputation).offset.selected||(this.analysisViewData.selectedDimension=null))}_onUnstagedClick({mapPoint:e,pointerType:n}){let r=e;if(n===`mouse`){let t=this._getSnappingContext(n);r=this._ensureSnappingManager().update({point:e,context:t})}let i=new t({startPoint:S(r,new x),endPoint:null,measureType:`horizontal`});return this._stagedDimension=i,this._resetSnappingState(),i}_onStagedClick({mapPoint:e,pointerType:t}){let n=this._stagedComputation;if(n==null)return;let r=e;if(t===`mouse`){let n=this._getSnappingContext(t);r=this._ensureSnappingManager().update({point:e,context:n})}let i=S(r,new x);this._applyPointUpdate(n,{endPoint:i}),this._stagedDimension=null,this._resetSnappingState()}_resetSnappingState(){this._ensureSnappingManager().doneSnapping(),this._snappingOperation.abort(),this._snappingOperation.stagedPoint=null}_createManipulators(e){let t=this._setupPointManipulator(e,{isStart:!0}),n=this._setupPointManipulator(e,{isStart:!1}),r=this._setupOffsetManipulator(e),i=this._setupHeadingManipulator(e),o=this._setupRotationManipulator(e),s=this._setupMeasureTypeManipulator(e,`direct`),c=this._setupMeasureTypeManipulator(e,`horizontal`),l=this._setupMeasureTypeManipulator(e,`vertical`),u=new re({start:t,end:n,offset:r,heading:i,rotation:o,direct:s,horizontal:c,vertical:l});this._setupComputationToManipulatorsSync(e,u),this._computationManipulators.set(e,u),this.manipulators.addMany(u.values());let d=a(u.values().map(e=>e.events.on(`focus-changed`,()=>{u.values().some(e=>e.focused)&&this._resetSnappingState()})));return{manipulators:u,remove:()=>{d.remove(),this._computationHandles.remove(e),this._computationManipulators.delete(e);for(let e of u.values())this.manipulators.remove(e)}}}_setupComputationToManipulatorsSync(e,t){this._computationHandles.add([p(()=>e.geometry,()=>this._updateManipulators(e,t),{...h,equals:o})],e)}_setupPointManipulator(e,t){let{view:n}=this,{dimension:r}=e,i=new w(n,{metadata:r}),a=T(i,{isStart:t.isStart,createSnappingPipelineStep:e=>fe({snappingContext:this._getSnappingContext(e),snappingManager:this._snappingManager,updatingHandles:this._updatingHandles}),dimension:r,onUpdate:t=>this._applyPointUpdate(e,t),view:n});return this._computationHandles.add(a,e),i}_setupOffsetManipulator(e){let{view:t}=this,n=E(t,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,metadata:e.dimension}),r=D(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupHeadingManipulator(e){let{view:t}=this,n=new O(t,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:e.dimension}),r=k(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupRotationManipulator(e){let{view:t}=this,n=new O(t,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:e.dimension}),r=A(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupMeasureTypeManipulator(e,t){let{view:n}=this,r=j(n,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,thinOffsetManipulatorMaterial:this._thinOffsetManipulatorMaterial,metadata:e.dimension}),i=M(r,{computation:e,manipulatorMeasureType:t,view:n});return this._computationHandles.add(i,e),r}_updateManipulators(e,t,n={stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}){let{stagedDimension:r,selectedComputation:i,firstGrabbedManipulator:a}=n,{start:o,end:s,offset:c,heading:l,rotation:u}=t,d=i===e,f=z(e),{dimension:p}=e;for(let e of t.values()){let t=f&&r==null&&(a==null||e===a);e===c?(e.available=t,e.selected=d):e.available=t&&d}if(!f)return;this._computeConstraint(e)==null?t.manipulatorForMeasureType(p.measureType).available=!1:t.forEachMeasureTypeManipulator(e=>e.available=!1);for(let e of[l,u])(p.measureType!==`direct`||p.offset===0)&&(e.available=!1);B(e)?u.available=!1:l.available=!1;let{geometry:m}=e;o.renderLocation=m.directSegment.startRenderSpace,s.renderLocation=m.directSegment.endRenderSpace;let{renderCoordsHelper:h}=this.view;N(c,m,h),l.available&&P(l,e,h),u.available&&F(u,e,h),t.forEachMeasureTypeManipulator((t,n)=>{t.available&&I(t,e,n,h)})}_updateManipulatorStyle(e){let t=L(e),n=R(e),r={lineSizePt:e,material:this._orientationManipulatorMaterial};for(let{offset:e,heading:t,rotation:i}of this._computationManipulators.values())e.radius=n/2,t.update(r),i.update(r);this._unfocusedOffsetManipulatorMaterial.setParameters({width:t}),this._focusedOffsetManipulatorMaterial.setParameters({width:n})}_applyPointUpdate(e,t){let{view:n}=this,r=V(e);`startPoint`in t&&(r.elevationAlignedStartPoint=t.startPoint),`endPoint`in t&&(r.elevationAlignedEndPoint=t.endPoint);let i=H(r,n.renderCoordsHelper);if(i==null)return;let a=this._computeConstraint({...r,geometry:i});ee(e,t,{...r,constraint:a,unconstrainedGeometry:i,view:n}),e===this._stagedComputation&&this._updateStagedDimensionOffset(e)}_updateStagedDimensionOffset(e){if(e.geometry==null)return;e.geometry.directSegment.eval(.5,$);let{state:t,renderCoordsHelper:n}=this.view,r=t.camera.computeScreenPixelSizeAt($);e.dimension.offset=K*r*n.unitInMeters}_computeConstraint(e){return te(ne(e,this._ensureSnappingManager().options),this.view)}_createOffsetManipulatorMaterial(e){return new ce({width:1,renderOccluded:4,writeDepth:!1,polygonOffset:3,isDecoration:!0},e.state.isGlobal)}get test(){}};e([_({constructOnly:!0})],Q.prototype,`analysis`,void 0),e([_({constructOnly:!0})],Q.prototype,`analysisViewData`,void 0),e([_({constructOnly:!0})],Q.prototype,`manipulators`,void 0),e([_({constructOnly:!0})],Q.prototype,`parentTool`,void 0),e([_({constructOnly:!0,nonNullable:!0})],Q.prototype,`view`,void 0),e([_({readOnly:!0})],Q.prototype,`updating`,null),e([_()],Q.prototype,`firstGrabbedManipulator`,null),e([_()],Q.prototype,`hasGrabbedManipulators`,null),e([_()],Q.prototype,`snappingOptions`,null),e([_()],Q.prototype,`_stagedDimension`,void 0),e([_()],Q.prototype,`_snappingManager`,null),e([_()],Q.prototype,`_activeComputation`,null),e([_()],Q.prototype,`_stagedComputation`,null),e([_()],Q.prototype,`_snappingManagerResult`,void 0),Q=e([v(`esri.views.3d.analysis.Dimension.LengthDimensionSubTool`)],Q);const $=y();export{Q as LengthDimensionSubTool};
2
+ import{__decorate as e}from"tslib";import t from"../../../../analysis/LengthDimension.js";import n from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{destroyHandle as i,handlesGroup as a}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import{equals as o}from"../../../../core/lang.js";import{mapCollection as s}from"../../../../core/mapCollectionUtils.js";import{releaseMaybe as c,destroyMaybe as l}from"../../../../core/maybe.js";import{memoize as u}from"../../../../core/memoize.js";import{ignoreAbortErrors as d}from"../../../../core/promiseUtils.js";import{initial as f,watch as p,sync as m,syncAndInitial as h,when as g}from"../../../../core/reactiveUtils.js";import{property as _,subclass as v}from"../../../../core/accessorSupport/decorators.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as b}from"../../../../core/support/UpdatingHandles.js";import x from"../../../../geometry/Point.js";import{clonePoint as S}from"../../../../layers/graphics/hydratedFeatures.js";import{reapplyConstraint as C,applyConstraint as ee,computeConstraint as te,constraintDependencies as ne}from"./lengthDimensionConstraintUtils.js";import{LengthDimensionManipulators as re,LengthDimensionPointManipulator as w,pointManipulatorHandles as T,createOffsetManipulator as E,offsetManipulatorHandles as D,LineOfSightOrientationManipulator as O,headingManipulatorHandles as k,rotationManipulatorHandles as A,createMeasureTypeManipulator as j,measureTypeManipulatorHandles as M,updateOffsetManipulatorTransform as N,updateHeadingManipulatorTransform as P,updateRotationManipulatorTransform as F,updateMeasureTypeManipulatorTransform as I,unfocusedOffsetWidth as L,focusedOffsetWidth as R}from"./lengthDimensionManipulatorUtils.js";import{isValidComputation as z,arePointsVerticallyAligned as B,computationToGeometryDependencies as V,computeGeometryFromDimension as H}from"./lengthDimensionUtils.js";import{disabledPointColor as U,pointRadius as ie,getTransparentAccentColor as W,getContrastColor as G,initialOffsetPx as K}from"./settings.js";import{getRotateHeadingTexture as q}from"../images/Factory.js";import{SnappingVisualizer3D as J}from"../../interactive/SnappingVisualizer3D.js";import{LineVisualElement as Y}from"../../interactive/visualElements/LineVisualElement.js";import{VerticesVisualElement as ae}from"../../interactive/visualElements/VerticesVisualElement.js";import{Parameters as oe,ImageMaterial as se}from"../../webgl-engine/materials/ImageMaterial.js";import{createStipplePatternSimple as X}from"../../webgl-engine/materials/lineStippleUtils.js";import{RibbonLineMaterial as ce}from"../../webgl-engine/materials/RibbonLineMaterial.js";import{createCoordinateHelper as Z}from"../../../interactive/coordinateHelper.js";import{EditGeometry as le}from"../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as ue}from"../../../interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as de}from"../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as fe}from"../../../interactive/snapping/SnappingDragPipelineStep.js";import{acquireForFeaturePlacement as pe}from"../../../interactive/snapping/SnappingManagerPool.js";import{SnappingOperation as me}from"../../../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as he}from"../../../interactive/snapping/snappingUtils.js";let Q=class extends n{constructor(e){super(e),this._stagedDimension=null,this._snappingManagerResult=null,this._computationManipulators=new Map,this._computationHandles=new r,this._updatingHandles=new b,this._getSnappingContext=u(e=>new de({elevationInfo:{mode:`absolute-height`,offset:0},pointer:e,editGeometryOperations:new ue(new le(`point`,Z(!0,!1,this.view.spatialReference)),this.view.state.viewingMode),visualizer:new J}));let{view:t}=e;this._unfocusedOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._focusedOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._thinOffsetManipulatorMaterial=this._createOffsetManipulatorMaterial(t),this._thinOffsetManipulatorMaterial.setParameters({stipplePattern:X(2)}),this._constraintSnappingIndicator=new Y({view:t,attached:!0,width:1,renderOccluded:4,stipplePattern:X(5),isDecoration:!0});let n=U.toUnitRGBA();this._stagedStartIndicator=new ae({view:t,attached:!1,elevationInfo:{mode:`absolute-height`,offset:0},spatialReference:e.view.renderCoordsHelper.spatialReference,color:n,size:ie*2,outlineSize:0,renderOccluded:4,isDecoration:!0})}initialize(){let{view:e}=this;this._snappingOperation=new me({view:e});let t=W(e.effectiveTheme),n=G(e.effectiveTheme),r=!e.stage?.renderView.renderingContext.driverTest.svgPremultipliesAlpha.result;this._textureHandle=q(e.stage.textures,{accentColor:t,contrastColor:n,preMultiplyAlpha:r});let a=new oe(this._textureHandle.managedTexture,!1);a.renderOccluded=16,a.isDecoration=!0,this._orientationManipulatorMaterial=new se(a);let o=s(()=>this.analysisViewData.computations,({computation:e})=>this._createManipulators(e));this.addHandles([this._updatingHandles.add(()=>({accentColor:W(e.effectiveTheme),contrastColor:G(e.effectiveTheme)}),({accentColor:t,contrastColor:n})=>{let i=this._textureHandle;this._textureHandle=q(e.stage.textures,{accentColor:t,contrastColor:n,preMultiplyAlpha:r}),this._orientationManipulatorMaterial.setParameters({managedTexture:this._textureHandle.managedTexture}),i?.release();let a=t.toUnitRGBA();this._unfocusedOffsetManipulatorMaterial.setParameters({color:a}),this._focusedOffsetManipulatorMaterial.setParameters({color:a}),this._thinOffsetManipulatorMaterial.setParameters({color:a}),this._constraintSnappingIndicator.color=a},f),i(o),p(()=>({stagedPoint:this._snappingOperation.stagedPoint,stagedComputation:this._stagedComputation}),({stagedPoint:e,stagedComputation:t})=>{if(t==null||e==null)return;let n=S(e,new x);this._applyPointUpdate(t,{endPoint:n})},m),p(()=>({stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}),(e,t)=>{let{stagedDimension:n,selectedComputation:r,firstGrabbedManipulator:i}=e;if(n!==t?.stagedDimension||i!==t?.firstGrabbedManipulator){for(let[t,n]of this._computationManipulators)this._updateManipulators(t,n,e);return}for(let n of[r,t?.selectedComputation])if(n!=null){let t=this._computationManipulators.get(n);t!=null&&this._updateManipulators(n,t,e)}},h),this._updatingHandles.add(()=>this.analysis.style.lineSize,e=>this._updateManipulatorStyle(e),f),this._updatingHandles.add(()=>this.view.state.camera,()=>{this._stagedComputation!=null&&this._updateStagedDimensionOffset(this._stagedComputation)}),this._updatingHandles.add(()=>{let e=this._stagedComputation;if(!e)return null;let t=e.elevationAlignedStartPoint,n=y();return t!=null&&this.view.renderCoordsHelper.toRenderCoords(t,n)?n:null},e=>{e==null?this._stagedStartIndicator.attached=!1:(this._stagedStartIndicator.vertices=[e],this._stagedStartIndicator.attached=!0)})]),this.addHandles(this._constraintHandles),this.addHandles(this._snappingIndicatorHandles),he(this,()=>{let e=this._activeComputation,t=this._stagedComputation;if(e==null||t!=null){let e=this.view.inputManager.latestPointerInfo?.type??`mouse`,t=this._getSnappingContext(e);this._updatingHandles.consumePromise(d(this._snappingOperation.snapAgainNearPreviousMapPoint(this._ensureSnappingManager(),t)))}if(e!=null){let{start:t,end:n}=this._computationManipulators.get(e);if(t.grabbing||n.grabbing){let n=t.grabbing?`start`:`end`,r=this._computeConstraint(e);C(e,n,{constraint:r,view:this.view})}}})}destroy(){this._textureHandle=c(this._textureHandle),this._snappingOperation=l(this._snappingOperation),this._computationHandles.destroy(),this._constraintSnappingIndicator.destroy(),this._stagedStartIndicator.destroy()}get updating(){return this._updatingHandles.updating||!!this._snappingManager?.updating}get firstGrabbedManipulator(){return this.parentTool.firstGrabbedManipulator}get hasGrabbedManipulators(){return this.parentTool.hasGrabbedManipulators}get snappingOptions(){return this._snappingManager?.options}get _snappingManager(){return this._snappingManagerResult?.snappingManager}_ensureSnappingManager(){return this._snappingManagerResult||(this._snappingManagerResult=pe(this.view),this.addHandles(this._snappingManagerResult)),this._snappingManagerResult.snappingManager}get _activeComputation(){if(this._stagedComputation!=null)return this._stagedComputation;let{selectedComputation:e}=this.analysisViewData;return this.hasGrabbedManipulators&&e!=null?e:null}get _stagedComputation(){let e=this._stagedDimension,t=this.analysisViewData.computations.at(-1)?.computation;return e==null||t==null||t.dimension!==e?null:t}get _constraintHandles(){return[g(()=>this.analysisViewData.selectedComputation,e=>{e.previousConstraint=this._computeConstraint(e)},{...h,equals:o}),p(()=>{let e=this._activeComputation;if(e==null)return null;let{measureType:t,orientation:n}=e.dimension;return{measureType:t,orientation:n,computation:e}},(e,t)=>{if(e!=null&&t==null){let{measureType:t,orientation:n,computation:r}=e;switch(r.previousConstraint){case 0:r.preConstraintProperties={measureType:`horizontal`,orientation:0};break;case 1:r.preConstraintProperties={measureType:`vertical`,orientation:0};break;case 2:r.preConstraintProperties={measureType:`direct`,orientation:n};break;default:r.preConstraintProperties={measureType:t,orientation:n}}}e==null&&t!=null&&(t.computation.preConstraintProperties=null)},m)]}get _snappingIndicatorHandles(){let e=`snapping-indicator-event-handles`;return[this._updatingHandles.add(()=>({stagedComputation:this._stagedComputation,activeComputation:this._activeComputation}),({stagedComputation:t,activeComputation:n})=>{let r=this._constraintSnappingIndicator;if(this.removeHandles(e),n==null){r.attached=!1;return}if(n===t)r.attached=!0;else{let{start:t,end:i}=this._computationManipulators.get(n),a=()=>{r.attached=t.grabbing||i.grabbing};a(),this.addHandles([t.events.on(`grab-changed`,a),i.events.on(`grab-changed`,a)],e)}}),this._updatingHandles.add(()=>{let e=this._activeComputation;return e==null?{}:{geometry:e.geometry,constraint:e.previousConstraint}},({geometry:e,constraint:t})=>{let n=this._constraintSnappingIndicator;e!=null&&t!=null&&t!==2?(n.visible=!0,n.setGeometryFromSegment(e.directSegment)):n.visible=!1})]}removeStaged(){return this._stagedDimension!=null&&(this.analysis.dimensions.remove(this._stagedDimension),this._stagedDimension=null,!0)}onDeactivate(){this.removeStaged(),this._resetSnappingState()}onClick(e){let{_stagedDimension:t}=this;if(t==null){let t=this._onUnstagedClick(e);return this.analysis.dimensions.add(t),null}return this._onStagedClick(e),t}onPointerMove({mapPoint:e,pointerType:t}){if(t===`touch`)return;let n=this._getSnappingContext(t);this._updatingHandles.consumePromise(d(this._snappingOperation.snap({point:e},this._ensureSnappingManager(),n)))}onManipulatorSelectionChanged(){this.analysisViewData.selectedComputation!=null&&(this._computationManipulators.get(this.analysisViewData.selectedComputation).offset.selected||(this.analysisViewData.selectedDimension=null))}_onUnstagedClick({mapPoint:e,pointerType:n}){let r=e;if(n===`mouse`){let t=this._getSnappingContext(n);r=this._ensureSnappingManager().update({point:e,context:t})}let i=new t({startPoint:S(r,new x),endPoint:null,measureType:`horizontal`});return this._stagedDimension=i,this._resetSnappingState(),i}_onStagedClick({mapPoint:e,pointerType:t}){let n=this._stagedComputation;if(n==null)return;let r=e;if(t===`mouse`){let n=this._getSnappingContext(t);r=this._ensureSnappingManager().update({point:e,context:n})}let i=S(r,new x);this._applyPointUpdate(n,{endPoint:i}),this._stagedDimension=null,this._resetSnappingState()}_resetSnappingState(){this._ensureSnappingManager().doneSnapping(),this._snappingOperation.abort(),this._snappingOperation.stagedPoint=null}_createManipulators(e){let t=this._setupPointManipulator(e,{isStart:!0}),n=this._setupPointManipulator(e,{isStart:!1}),r=this._setupOffsetManipulator(e),i=this._setupHeadingManipulator(e),o=this._setupRotationManipulator(e),s=this._setupMeasureTypeManipulator(e,`direct`),c=this._setupMeasureTypeManipulator(e,`horizontal`),l=this._setupMeasureTypeManipulator(e,`vertical`),u=new re({start:t,end:n,offset:r,heading:i,rotation:o,direct:s,horizontal:c,vertical:l});this._setupComputationToManipulatorsSync(e,u),this._computationManipulators.set(e,u),this.manipulators.addMany(u.values());let d=a(u.values().map(e=>e.events.on(`focus-changed`,()=>{u.values().some(e=>e.focused)&&this._resetSnappingState()})));return{manipulators:u,remove:()=>{d.remove(),this._computationHandles.remove(e),this._computationManipulators.delete(e);for(let e of u.values())this.manipulators.remove(e)}}}_setupComputationToManipulatorsSync(e,t){this._computationHandles.add([p(()=>e.geometry,()=>this._updateManipulators(e,t),{...h,equals:o})],e)}_setupPointManipulator(e,t){let{view:n}=this,{dimension:r}=e,i=new w(n,{metadata:r}),a=T(i,{isStart:t.isStart,createSnappingPipelineStep:e=>fe({snappingContext:this._getSnappingContext(e),snappingManager:this._snappingManager,updatingHandles:this._updatingHandles}),dimension:r,onUpdate:t=>this._applyPointUpdate(e,t),view:n});return this._computationHandles.add(a,e),i}_setupOffsetManipulator(e){let{view:t}=this,n=E(t,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,metadata:e.dimension}),r=D(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupHeadingManipulator(e){let{view:t}=this,n=new O(t,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:e.dimension}),r=k(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupRotationManipulator(e){let{view:t}=this,n=new O(t,{lineSizePt:this.analysis.style.lineSize,material:this._orientationManipulatorMaterial,metadata:e.dimension}),r=A(n,{computation:e,view:t});return this._computationHandles.add(r,e),n}_setupMeasureTypeManipulator(e,t){let{view:n}=this,r=j(n,{lineSizePt:this.analysis.style.lineSize,unfocusedMaterial:this._unfocusedOffsetManipulatorMaterial,focusedMaterial:this._focusedOffsetManipulatorMaterial,thinOffsetManipulatorMaterial:this._thinOffsetManipulatorMaterial,metadata:e.dimension}),i=M(r,{computation:e,manipulatorMeasureType:t,view:n});return this._computationHandles.add(i,e),r}_updateManipulators(e,t,n={stagedDimension:this._stagedDimension,selectedComputation:this.analysisViewData.selectedComputation,firstGrabbedManipulator:this.firstGrabbedManipulator}){let{stagedDimension:r,selectedComputation:i,firstGrabbedManipulator:a}=n,{start:o,end:s,offset:c,heading:l,rotation:u}=t,d=i===e,f=z(e),{dimension:p}=e;for(let e of t.values()){let t=f&&r==null&&(a==null||e===a);e===c?(e.available=t,e.selected=d):e.available=t&&d}if(!f)return;this._computeConstraint(e)==null?t.manipulatorForMeasureType(p.measureType).available=!1:t.forEachMeasureTypeManipulator(e=>e.available=!1);for(let e of[l,u])(p.measureType!==`direct`||p.offset===0)&&(e.available=!1);B(e)?u.available=!1:l.available=!1;let{geometry:m}=e;o.renderLocation=m.directSegment.startRenderSpace,s.renderLocation=m.directSegment.endRenderSpace;let{renderCoordsHelper:h}=this.view;N(c,m,h),l.available&&P(l,e,h),u.available&&F(u,e,h),t.forEachMeasureTypeManipulator((t,n)=>{t.available&&I(t,e,n,h)})}_updateManipulatorStyle(e){let t=L(e),n=R(e),r={lineSizePt:e,material:this._orientationManipulatorMaterial};for(let{offset:e,heading:t,rotation:i}of this._computationManipulators.values())e.radius=n/2,t.update(r),i.update(r);this._unfocusedOffsetManipulatorMaterial.setParameters({width:t}),this._focusedOffsetManipulatorMaterial.setParameters({width:n})}_applyPointUpdate(e,t){let{view:n}=this,r=V(e);`startPoint`in t&&(r.elevationAlignedStartPoint=t.startPoint),`endPoint`in t&&(r.elevationAlignedEndPoint=t.endPoint);let i=H(r,n.renderCoordsHelper);if(i==null)return;let a=this._computeConstraint({...r,geometry:i});ee(e,t,{...r,constraint:a,unconstrainedGeometry:i,view:n}),e===this._stagedComputation&&this._updateStagedDimensionOffset(e)}_updateStagedDimensionOffset(e){if(e.geometry==null)return;e.geometry.directSegment.eval(.5,$);let{state:t,renderCoordsHelper:n}=this.view,r=t.camera.computeScreenPixelSizeAt($);e.dimension.offset=K*r*n.unitInMeters}_computeConstraint(e){return te(ne(e,this._ensureSnappingManager().options),this.view)}_createOffsetManipulatorMaterial(e){return new ce({width:1,renderOccluded:4,writeDepth:!1,polygonOffset:3,isDecoration:!0},e)}get test(){}};e([_({constructOnly:!0})],Q.prototype,`analysis`,void 0),e([_({constructOnly:!0})],Q.prototype,`analysisViewData`,void 0),e([_({constructOnly:!0})],Q.prototype,`manipulators`,void 0),e([_({constructOnly:!0})],Q.prototype,`parentTool`,void 0),e([_({constructOnly:!0,nonNullable:!0})],Q.prototype,`view`,void 0),e([_({readOnly:!0})],Q.prototype,`updating`,null),e([_()],Q.prototype,`firstGrabbedManipulator`,null),e([_()],Q.prototype,`hasGrabbedManipulators`,null),e([_()],Q.prototype,`snappingOptions`,null),e([_()],Q.prototype,`_stagedDimension`,void 0),e([_()],Q.prototype,`_snappingManager`,null),e([_()],Q.prototype,`_activeComputation`,null),e([_()],Q.prototype,`_stagedComputation`,null),e([_()],Q.prototype,`_snappingManagerResult`,void 0),Q=e([v(`esri.views.3d.analysis.Dimension.LengthDimensionSubTool`)],Q);const $=y();export{Q as LengthDimensionSubTool};