@arcgis/core 5.2.0-next.164 → 5.2.0-next.166

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 (168) hide show
  1. package/Graphic.d.ts +47 -14
  2. package/PopupTemplate.js +1 -1
  3. package/WebScene.d.ts +3 -0
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{97d6ef9e34a43ad2e556.js → 02e10f44edf911832c2a.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{97b5f4302fb867c829f4.js → 07f7177bfaf9de73bc25.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{612345f17f5eeb99ea8f.js → 0d9c4c6c571ce26d356b.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{12a7997a40c77f5c9160.js → 151e5799ede763a03ee2.js} +1 -1
  9. package/assets/esri/core/workers/chunks/196979cc6a765be3c5cd.js +1 -0
  10. package/assets/esri/core/workers/chunks/1ab59a97ffa49e9e1659.js +1 -0
  11. package/assets/esri/core/workers/chunks/{8715661a838361d4211a.js → 1b24a40c0fa197014873.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{83f29a159b8b5197e76a.js → 266c90d8d56a2da42fcf.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{b1d989b72203113a06fe.js → 2a36fe3f3f257a779a1b.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{fcaf9450642fcef83286.js → 3048e74e6246324ce6fc.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{95b82cbbe355266c65d7.js → 30af63b3b750142faadb.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{74137ffec5265628c33b.js → 36c780a9527c75b36725.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{6a0ec102962d2c7b4368.js → 40d803584eeade4df433.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{a546ec82ba149e12f7bf.js → 41773d858e212468db88.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{129e04d24ced77c9bb6d.js → 49b967d89d2841cea675.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{b59aaf30c7fe2c8d1aaa.js → 4b99b4cf729881e616bc.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{a09d2e1e2540921e4717.js → 4d3d7ec407ee5cd5f036.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{2c626f525f3483c03477.js → 548b8f74a6883e364931.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{25a3bd8bede2d07d3a54.js → 5af8fb4ec2c72697e35b.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{340256866f524cb069f6.js → 5d2f043ebe1051326c56.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{3f46acfda693c70abbdd.js → 61552b4b8111a8624d84.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{e653c81ffb3d818645dd.js → 632fdf1d95ad69109427.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{434a8ba841a59e0deab9.js → 67e533748435253aaba6.js} +1 -1
  28. package/assets/esri/core/workers/chunks/69d5f8ef78b9b8b3d33d.js +1 -0
  29. package/assets/esri/core/workers/chunks/{feb41abc03d677df6f73.js → 6b9961261241fdce0e94.js} +1 -1
  30. package/assets/esri/core/workers/chunks/6f897b4e7ddd1dd1672b.js +1 -0
  31. package/assets/esri/core/workers/chunks/{e251921bc5367258c4d2.js → 710b8251a59884aee31e.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{af349c7bc8ef41a0e1bd.js → 7748c2886d0122b40eeb.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{8a7b02037151767542f1.js → 7dbf4c7480bf9c72820d.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{1bca39e0e651426bdbb5.js → 7dfbc31f3b56728485a4.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{c19f238b55ff2893f7c2.js → 82a022cc21364c9a8539.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{5cb26bbaa08114aec5ce.js → 89cc1a5539b82fb46216.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{8ab57cb1bfd3dc8d3c2a.js → 8b8118ab56cc808b5a71.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{542e5640ea1b80ef801a.js → 9189dfe19a2a2ccd5173.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{f74ae0eff3f08978e607.js → 9f358c7b052cdc0ac06f.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{ee08ae5b73439a1ff666.js → a163c6005aba3378edaa.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{ec9a2425b4a498054a19.js → a17673e691ced46a90d3.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{72bd866df89b8d92e247.js → a43b33955aa78a2a8deb.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{46c5371c7a627537098c.js → a88f346786b04bd194dc.js} +6 -6
  44. package/assets/esri/core/workers/chunks/{092e311cb7aea92a6a26.js → acb265a22be5e12f38e5.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{9e8f012a56237fc8285f.js → aea44253c80493ef5755.js} +1 -1
  46. package/assets/esri/core/workers/chunks/b5b9d42e1f84ee82429c.js +1 -0
  47. package/assets/esri/core/workers/chunks/c046c4fc934bc6f54c69.js +1 -0
  48. package/assets/esri/core/workers/chunks/{c72a904e01dc8c17d992.js → c47d095434d09b5f10c6.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{226f862bbeb33fc7c597.js → c4b7111dcedd9d6e1c2a.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{81cad8d2f62a5f671c55.js → cb4db5489388559d6bd9.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{bbd44ac63d2a317d8ed9.js → cc794bb94ebc1cb66024.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{be308db5b61a7246edfe.js → cc94bf05b235e65291fc.js} +1 -1
  53. package/assets/esri/core/workers/chunks/d4af9faa5d901274fad2.js +1 -0
  54. package/assets/esri/core/workers/chunks/{fc5a36e54929e03efa86.js → dba5f44c4e4a3f075df2.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{1f43e06dcfe56229bb0f.js → debe45e792212682b304.js} +1 -1
  56. package/assets/esri/core/workers/chunks/{8414ffd937c1099e0bbc.js → e6d10136bc08aef255ff.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{45fd2b456a6997584ca1.js → f8379cd45f750f28a3d8.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{709e019885822b1f6f3e.js → f905f1a1aa4c123cbe83.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{a2fcbc494333376192aa.js → f9c80e9fc349db4873e8.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{c070d2ddf290b4f92916.js → feb4f8c807bb0dca488f.js} +1 -1
  61. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  62. package/chunks/GlobalIllumination.glsl.js +15 -30
  63. package/config.js +1 -1
  64. package/core/workers/WorkerFallback.js +4 -2
  65. package/core/workers/workerFactory.js +1 -1
  66. package/core/workers/workers.js +4 -2
  67. package/form/elements/inputs.d.ts +126 -25
  68. package/form/elements/inputs.js +1 -1
  69. package/form/elements.d.ts +1 -0
  70. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +49 -9
  71. package/graphic/BuildingGraphicOrigin.d.ts +49 -0
  72. package/graphic/CSVGraphicOrigin.d.ts +42 -9
  73. package/graphic/CatalogGraphicOrigin.d.ts +42 -9
  74. package/graphic/DimensionFeatureGraphicOrigin.d.ts +42 -9
  75. package/graphic/FeatureGraphicOrigin.d.ts +42 -9
  76. package/graphic/GeoJSONGraphicOrigin.d.ts +42 -9
  77. package/graphic/GeoRSSGraphicOrigin.d.ts +42 -9
  78. package/graphic/GraphicOrigin.d.ts +52 -12
  79. package/graphic/ImageryGraphicOrigin.d.ts +42 -9
  80. package/graphic/ImageryTileGraphicOrigin.d.ts +42 -9
  81. package/graphic/KMLGraphicOrigin.d.ts +47 -10
  82. package/graphic/KnowledgeGraphGraphicOrigin.d.ts +49 -1
  83. package/graphic/LinkChartGraphicOrigin.d.ts +49 -1
  84. package/graphic/MapImageGraphicOrigin.d.ts +49 -1
  85. package/graphic/MapNotesGraphicOrigin.d.ts +48 -1
  86. package/graphic/OGCFeatureGraphicOrigin.d.ts +42 -9
  87. package/graphic/OrientedImageryGraphicOrigin.d.ts +42 -9
  88. package/graphic/ParquetGraphicOrigin.d.ts +42 -9
  89. package/graphic/PointCloudGraphicOrigin.d.ts +43 -0
  90. package/graphic/SceneGraphicOrigin.d.ts +43 -0
  91. package/graphic/SketchGraphicOrigin.d.ts +43 -0
  92. package/graphic/StreamGraphicOrigin.d.ts +43 -0
  93. package/graphic/SubtypeGroupGraphicOrigin.d.ts +49 -1
  94. package/graphic/TileGraphicOrigin.d.ts +49 -1
  95. package/graphic/VectorTileGraphicOrigin.d.ts +43 -14
  96. package/graphic/VoxelGraphicOrigin.d.ts +43 -0
  97. package/graphic/WCSGraphicOrigin.d.ts +43 -0
  98. package/graphic/WFSGraphicOrigin.d.ts +42 -9
  99. package/graphic/getGraphicOriginTitle.d.ts +21 -3
  100. package/kernel.js +1 -1
  101. package/layers/GaussianSplatLayer.d.ts +2 -1
  102. package/layers/GeospatialPDFLayer.js +1 -1
  103. package/layers/ParquetLayer.d.ts +24 -1
  104. package/layers/ParquetLayer.js +1 -1
  105. package/layers/geospatialPDF/CIM2DLayerview.js +2 -0
  106. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  107. package/layers/mixins/ReloadableLayer.js +1 -1
  108. package/layers/mixins/SublayersOwner.js +1 -1
  109. package/layers/orientedImagery/transformations/utils.js +1 -1
  110. package/layers/save/featureLayerUtils.js +1 -1
  111. package/layers/save/imageryUtils.js +1 -1
  112. package/layers/save/mapImageLayerUtils.js +1 -1
  113. package/layers/save/mediaLayerUtils.js +1 -1
  114. package/layers/save/parquetLayerUtils.js +2 -0
  115. package/layers/save/streamLayerUtils.js +1 -1
  116. package/layers/support/LabelClass.d.ts +8 -2
  117. package/layers/support/Sublayer.js +1 -1
  118. package/layers/support/SubtypeSublayer.js +1 -1
  119. package/layers/support/layerUtils.js +1 -1
  120. package/layers/support/layersMapping.js +1 -1
  121. package/package.json +2 -2
  122. package/popup/content.js +1 -1
  123. package/portal/schemas/definitions.js +1 -1
  124. package/portal/schemas/webScene.js +1 -1
  125. package/tables/elements.d.ts +1 -0
  126. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  127. package/views/2d/layers/GeospatialPDFLayerView2D.js +1 -1
  128. package/views/3d/layers/GeospatialPDFLayerView3D.js +1 -1
  129. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  130. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  131. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +5 -5
  132. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  133. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  134. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  135. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  136. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  137. package/views/3d/webgl-engine/lib/screenPolygonTriangleIntersections.js +1 -1
  138. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  139. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  140. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  141. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  142. package/views/3d/webgl-engine/materials/TriangleMaterial.js +1 -1
  143. package/views/3d/webgl-engine/materials/internal/worldSizedRibbonLineIntersectionUtils.js +1 -1
  144. package/views/selection/SelectionOperation.js +1 -1
  145. package/views/selection/types.d.ts +43 -3
  146. package/views/support/layerViewUtils.js +1 -1
  147. package/views/support/selectionUtils.js +1 -1
  148. package/views/webgl/Texture.js +1 -1
  149. package/webdoc/support/webdocSaveUtils.js +1 -1
  150. package/widgets/OrientedImageryViewer/ImageMeasurementWorker.js +1 -1
  151. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  152. package/widgets/OrientedImageryViewer/imageMeasurementUtils.js +1 -1
  153. package/widgets/OrientedImageryViewer/services/ImageMeasurementService.js +1 -1
  154. package/widgets/Sketch/SketchViewModel.js +1 -1
  155. package/widgets/support/SelectionList/GroupLayerItem.d.ts +6 -0
  156. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  157. package/widgets/support/SelectionList/ItemBase.js +1 -1
  158. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +6 -1
  159. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  160. package/widgets/support/SelectionToolbar.d.ts +8 -1
  161. package/widgets/support/SelectionToolbar.js +1 -1
  162. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  163. package/assets/esri/core/workers/chunks/1fe24ffcd88280d84fbe.js +0 -1
  164. package/assets/esri/core/workers/chunks/72071ea5de89720fbe42.js +0 -1
  165. package/assets/esri/core/workers/chunks/9de5ad77bc37ec142218.js +0 -1
  166. package/assets/esri/core/workers/chunks/b736046c6b4ede73ea46.js +0 -1
  167. package/assets/esri/core/workers/chunks/c19cd5a03b6d480fe53b.js +0 -1
  168. package/assets/esri/core/workers/chunks/d1f98c5249c487eb96f1.js +0 -1
@@ -6,9 +6,52 @@ import type SketchLayer from "../layers/SketchLayer.js";
6
6
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
7
7
  * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest).
8
8
  *
9
+ * Before accessing the layer properties, use [isSketchGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isSketchGraphicOrigin/) to check
10
+ * whether the graphic's origin is a SketchGraphicOrigin.
11
+ *
9
12
  * @since 5.2
10
13
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
11
14
  * @see [Map component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#hitTest)
15
+ * @example
16
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
17
+ * ```js
18
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
19
+ *
20
+ * const origin = graphic.origin;
21
+ *
22
+ * // Check whether the graphic came from a MapImageLayer
23
+ * if (isMapImageGraphicOrigin(origin)) {
24
+ * console.log(origin.layer.title);
25
+ * console.log(origin.sublayer.title);
26
+ * }
27
+ * ```
28
+ * @example
29
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
30
+ * ```js
31
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
32
+ *
33
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
34
+ * // Get hit-test results from the VectorTileLayer at the clicked location
35
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
36
+ *
37
+ * for (const result of response.results) {
38
+ * // Only graphic results contain a graphic with origin information
39
+ * if (result.type !== "graphic") {
40
+ * continue;
41
+ * }
42
+ *
43
+ * const graphic = result.graphic;
44
+ * const origin = graphic.origin;
45
+ *
46
+ * // Check whether the graphic came from a VectorTileLayer
47
+ * if (isVectorTileGraphicOrigin(origin)) {
48
+ * // layerId identifies a style layer within the VectorTileLayer
49
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
50
+ * console.log(styleLayer);
51
+ * }
52
+ * }
53
+ * });
54
+ * ```
12
55
  */
13
56
  export default class SketchGraphicOrigin extends GraphicOrigin {
14
57
  constructor(layer: SketchLayer);
@@ -6,12 +6,55 @@ import type StreamLayer from "../layers/StreamLayer.js";
6
6
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
7
7
  * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/StreamLayerView/#queryFeatures).
8
8
  *
9
+ * Before accessing the layer properties, use [isStreamGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isStreamGraphicOrigin/) to check
10
+ * whether the graphic's origin is a StreamGraphicOrigin.
11
+ *
9
12
  * @since 5.0
10
13
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
11
14
  * @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
12
15
  * @see [Map component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#hitTest)
13
16
  * @see [Scene component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/#hitTest)
14
17
  * @see [StreamLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/StreamLayerView/#queryFeatures)
18
+ * @example
19
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
20
+ * ```js
21
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
22
+ *
23
+ * const origin = graphic.origin;
24
+ *
25
+ * // Check whether the graphic came from a MapImageLayer
26
+ * if (isMapImageGraphicOrigin(origin)) {
27
+ * console.log(origin.layer.title);
28
+ * console.log(origin.sublayer.title);
29
+ * }
30
+ * ```
31
+ * @example
32
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
33
+ * ```js
34
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
35
+ *
36
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
37
+ * // Get hit-test results from the VectorTileLayer at the clicked location
38
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
39
+ *
40
+ * for (const result of response.results) {
41
+ * // Only graphic results contain a graphic with origin information
42
+ * if (result.type !== "graphic") {
43
+ * continue;
44
+ * }
45
+ *
46
+ * const graphic = result.graphic;
47
+ * const origin = graphic.origin;
48
+ *
49
+ * // Check whether the graphic came from a VectorTileLayer
50
+ * if (isVectorTileGraphicOrigin(origin)) {
51
+ * // layerId identifies a style layer within the VectorTileLayer
52
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
53
+ * console.log(styleLayer);
54
+ * }
55
+ * }
56
+ * });
57
+ * ```
15
58
  */
16
59
  export default class StreamGraphicOrigin extends GraphicOrigin {
17
60
  constructor(layer: StreamLayer);
@@ -4,14 +4,62 @@ import type SubtypeSublayer from "../layers/support/SubtypeSublayer.js";
4
4
 
5
5
  /**
6
6
  * Provides information about the [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/) from which a graphic originates.
7
- * Also provides access to the [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/) that contains the graphic.
7
+ * The [layer](https://developers.arcgis.com/javascript/latest/references/core/graphic/SubtypeGroupGraphicOrigin/#layer) property references the SubtypeGroupLayer, and the
8
+ * origin includes the [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/) that contains the graphic.
8
9
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
9
10
  * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#queryFeatures).
10
11
  *
12
+ * Before accessing the layer properties, use [isSubtypeGroupGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isSubtypeGroupGraphicOrigin/) to check
13
+ * whether the graphic's origin is a SubtypeGroupGraphicOrigin.
14
+ *
15
+ * If you only need the title of the originating subtype sublayer, use [getGraphicOriginTitle](https://developers.arcgis.com/javascript/latest/references/core/graphic/getGraphicOriginTitle/).
16
+ * To get the popup template applicable to the graphic, call [Graphic.getEffectivePopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#getEffectivePopupTemplate) on the graphic
17
+ * instead of accessing the subtype sublayer's template directly.
18
+ *
11
19
  * @since 5.0
12
20
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
13
21
  * @see [Map component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#hitTest)
14
22
  * @see [SubtypeSublayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#queryFeatures)
23
+ * @example
24
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
25
+ * ```js
26
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
27
+ *
28
+ * const origin = graphic.origin;
29
+ *
30
+ * // Check whether the graphic came from a MapImageLayer
31
+ * if (isMapImageGraphicOrigin(origin)) {
32
+ * console.log(origin.layer.title);
33
+ * console.log(origin.sublayer.title);
34
+ * }
35
+ * ```
36
+ * @example
37
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
38
+ * ```js
39
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
40
+ *
41
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
42
+ * // Get hit-test results from the VectorTileLayer at the clicked location
43
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
44
+ *
45
+ * for (const result of response.results) {
46
+ * // Only graphic results contain a graphic with origin information
47
+ * if (result.type !== "graphic") {
48
+ * continue;
49
+ * }
50
+ *
51
+ * const graphic = result.graphic;
52
+ * const origin = graphic.origin;
53
+ *
54
+ * // Check whether the graphic came from a VectorTileLayer
55
+ * if (isVectorTileGraphicOrigin(origin)) {
56
+ * // layerId identifies a style layer within the VectorTileLayer
57
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
58
+ * console.log(styleLayer);
59
+ * }
60
+ * }
61
+ * });
62
+ * ```
15
63
  */
16
64
  export default class SubtypeGroupGraphicOrigin extends GraphicOrigin {
17
65
  constructor(sublayer: SubtypeSublayer);
@@ -4,10 +4,58 @@ import type Sublayer from "../layers/support/Sublayer.js";
4
4
 
5
5
  /**
6
6
  * Provides information about the [TileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/TileLayer/) from which a graphic originates.
7
- * Also provides access to the [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) that contains the graphic.
7
+ * The [layer](https://developers.arcgis.com/javascript/latest/references/core/graphic/TileGraphicOrigin/#layer) property references the TileLayer, and the
8
+ * [sublayer](https://developers.arcgis.com/javascript/latest/references/core/graphic/TileGraphicOrigin/#sublayer) property references the [Sublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Sublayer/) that contains the graphic.
8
9
  * You can access the graphic's origin through the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) property.
9
10
  *
11
+ * Before accessing the layer properties, use [isTileGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isTileGraphicOrigin/) to check
12
+ * whether the graphic's origin is a TileGraphicOrigin.
13
+ *
14
+ * If you only need the title of the originating sublayer, use [getGraphicOriginTitle](https://developers.arcgis.com/javascript/latest/references/core/graphic/getGraphicOriginTitle/).
15
+ * To get the popup template applicable to the graphic, call [Graphic.getEffectivePopupTemplate()](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#getEffectivePopupTemplate) on the graphic
16
+ * instead of accessing the sublayer's template directly.
17
+ *
10
18
  * @since 5.0
19
+ * @example
20
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
21
+ * ```js
22
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
23
+ *
24
+ * const origin = graphic.origin;
25
+ *
26
+ * // Check whether the graphic came from a MapImageLayer
27
+ * if (isMapImageGraphicOrigin(origin)) {
28
+ * console.log(origin.layer.title);
29
+ * console.log(origin.sublayer.title);
30
+ * }
31
+ * ```
32
+ * @example
33
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
34
+ * ```js
35
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
36
+ *
37
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
38
+ * // Get hit-test results from the VectorTileLayer at the clicked location
39
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
40
+ *
41
+ * for (const result of response.results) {
42
+ * // Only graphic results contain a graphic with origin information
43
+ * if (result.type !== "graphic") {
44
+ * continue;
45
+ * }
46
+ *
47
+ * const graphic = result.graphic;
48
+ * const origin = graphic.origin;
49
+ *
50
+ * // Check whether the graphic came from a VectorTileLayer
51
+ * if (isVectorTileGraphicOrigin(origin)) {
52
+ * // layerId identifies a style layer within the VectorTileLayer
53
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
54
+ * console.log(styleLayer);
55
+ * }
56
+ * }
57
+ * });
58
+ * ```
11
59
  */
12
60
  export default class TileGraphicOrigin extends GraphicOrigin {
13
61
  constructor(layer: TileLayer, sublayer: Sublayer);
@@ -11,24 +11,53 @@ import type VectorTileLayer from "../layers/VectorTileLayer.js";
11
11
  * Spatial information about the actual feature represented in the style layer is returned only
12
12
  * if the style layer is a [symbol layer](https://maplibre.org/maplibre-style-spec/layers/#symbol). Otherwise, the graphic's geometry is `null`.
13
13
  *
14
- * @example
15
- * // get screen point from view's click event
16
- * view.on("click", (event) => {
17
- * // Search for all features only on included layers at the clicked location
18
- * view.hitTest(event, {include: vectorTileLayer}).then((response) => {
19
- * // if graphics are returned from vector tile layer, do something with results
20
- * if (response.results.length){
21
- * response.results.forEach((result, i) => {
22
- * const layerId = result.graphic?.origin?.layerId;
23
- * const styleLayer = vectorTileLayer.getStyleLayer(layerId);
24
- * // update vector tile layer's style
25
- * });
26
- * }
27
- * })
14
+ * Before accessing the layer properties, use [isVectorTileGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isVectorTileGraphicOrigin/) to check
15
+ * whether the graphic's origin is a VectorTileGraphicOrigin.
16
+ *
28
17
  * @since 4.34
29
18
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
30
19
  * @see [Map component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#hitTest)
31
20
  * @see [Sample - VectorTileLayer hitTest](https://developers.arcgis.com/javascript/latest/sample-code/layers-vectortilelayer-hittest/)
21
+ * @example
22
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
23
+ * ```js
24
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
25
+ *
26
+ * const origin = graphic.origin;
27
+ *
28
+ * // Check whether the graphic came from a MapImageLayer
29
+ * if (isMapImageGraphicOrigin(origin)) {
30
+ * console.log(origin.layer.title);
31
+ * console.log(origin.sublayer.title);
32
+ * }
33
+ * ```
34
+ * @example
35
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
36
+ * ```js
37
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
38
+ *
39
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
40
+ * // Get hit-test results from the VectorTileLayer at the clicked location
41
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
42
+ *
43
+ * for (const result of response.results) {
44
+ * // Only graphic results contain a graphic with origin information
45
+ * if (result.type !== "graphic") {
46
+ * continue;
47
+ * }
48
+ *
49
+ * const graphic = result.graphic;
50
+ * const origin = graphic.origin;
51
+ *
52
+ * // Check whether the graphic came from a VectorTileLayer
53
+ * if (isVectorTileGraphicOrigin(origin)) {
54
+ * // layerId identifies a style layer within the VectorTileLayer
55
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
56
+ * console.log(styleLayer);
57
+ * }
58
+ * }
59
+ * });
60
+ * ```
32
61
  */
33
62
  export default class VectorTileGraphicOrigin extends GraphicOrigin {
34
63
  constructor(layer: VectorTileLayer, layerId: string, layerIndex: number);
@@ -6,9 +6,52 @@ import type VoxelLayer from "../layers/VoxelLayer.js";
6
6
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
7
7
  * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest).
8
8
  *
9
+ * Before accessing the layer properties, use [isVoxelGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isVoxelGraphicOrigin/) to check
10
+ * whether the graphic's origin is a VoxelGraphicOrigin.
11
+ *
9
12
  * @since 5.0
10
13
  * @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
11
14
  * @see [Scene component hitTest()](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/#hitTest)
15
+ * @example
16
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
17
+ * ```js
18
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
19
+ *
20
+ * const origin = graphic.origin;
21
+ *
22
+ * // Check whether the graphic came from a MapImageLayer
23
+ * if (isMapImageGraphicOrigin(origin)) {
24
+ * console.log(origin.layer.title);
25
+ * console.log(origin.sublayer.title);
26
+ * }
27
+ * ```
28
+ * @example
29
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
30
+ * ```js
31
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
32
+ *
33
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
34
+ * // Get hit-test results from the VectorTileLayer at the clicked location
35
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
36
+ *
37
+ * for (const result of response.results) {
38
+ * // Only graphic results contain a graphic with origin information
39
+ * if (result.type !== "graphic") {
40
+ * continue;
41
+ * }
42
+ *
43
+ * const graphic = result.graphic;
44
+ * const origin = graphic.origin;
45
+ *
46
+ * // Check whether the graphic came from a VectorTileLayer
47
+ * if (isVectorTileGraphicOrigin(origin)) {
48
+ * // layerId identifies a style layer within the VectorTileLayer
49
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
50
+ * console.log(styleLayer);
51
+ * }
52
+ * }
53
+ * });
54
+ * ```
12
55
  */
13
56
  export default class VoxelGraphicOrigin extends GraphicOrigin {
14
57
  constructor(layer: VoxelLayer);
@@ -5,7 +5,50 @@ import type WCSLayer from "../layers/WCSLayer.js";
5
5
  * Provides information about the [WCSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WCSLayer/) from which a graphic originates.
6
6
  * You can access the graphic's origin through the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) property.
7
7
  *
8
+ * Before accessing the layer properties, use [isWCSGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isWCSGraphicOrigin/) to check
9
+ * whether the graphic's origin is a WCSGraphicOrigin.
10
+ *
8
11
  * @since 5.0
12
+ * @example
13
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
14
+ * ```js
15
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
16
+ *
17
+ * const origin = graphic.origin;
18
+ *
19
+ * // Check whether the graphic came from a MapImageLayer
20
+ * if (isMapImageGraphicOrigin(origin)) {
21
+ * console.log(origin.layer.title);
22
+ * console.log(origin.sublayer.title);
23
+ * }
24
+ * ```
25
+ * @example
26
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
27
+ * ```js
28
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
29
+ *
30
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
31
+ * // Get hit-test results from the VectorTileLayer at the clicked location
32
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
33
+ *
34
+ * for (const result of response.results) {
35
+ * // Only graphic results contain a graphic with origin information
36
+ * if (result.type !== "graphic") {
37
+ * continue;
38
+ * }
39
+ *
40
+ * const graphic = result.graphic;
41
+ * const origin = graphic.origin;
42
+ *
43
+ * // Check whether the graphic came from a VectorTileLayer
44
+ * if (isVectorTileGraphicOrigin(origin)) {
45
+ * // layerId identifies a style layer within the VectorTileLayer
46
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
47
+ * console.log(styleLayer);
48
+ * }
49
+ * }
50
+ * });
51
+ * ```
9
52
  */
10
53
  export default class WCSGraphicOrigin extends GraphicOrigin {
11
54
  constructor(layer: WCSLayer);
@@ -6,6 +6,9 @@ import type WFSLayer from "../layers/WFSLayer.js";
6
6
  * The [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) information may be available when a graphic is returned from methods such as
7
7
  * [hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest) or [queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#queryFeatures).
8
8
  *
9
+ * Before accessing the layer properties, use [isWFSGraphicOrigin](https://developers.arcgis.com/javascript/latest/references/core/graphic/isWFSGraphicOrigin/) to check
10
+ * whether the graphic's origin is a WFSGraphicOrigin.
11
+ *
9
12
  * @since 5.0
10
13
  * @see [MapView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#hitTest)
11
14
  * @see [SceneView.hitTest()](https://developers.arcgis.com/javascript/latest/references/core/views/SceneView/#hitTest)
@@ -14,15 +17,45 @@ import type WFSLayer from "../layers/WFSLayer.js";
14
17
  * @see [WFSLayer.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/#queryFeatures)
15
18
  * @see [WFSLayerView.queryFeatures()](https://developers.arcgis.com/javascript/latest/references/core/views/layers/WFSLayerView/#queryFeatures)
16
19
  * @example
17
- * // get a point from view's click event
18
- * view.on("click", async (event) => {
19
- * // Search for all features only on included layer at the clicked location
20
- * const response = await view.hitTest(event, {include: layer});
21
- * // if graphics are returned from layer, get the layer id from graphic origin
22
- * if (response.results.length > 0) {
23
- * const originId = response.results[0].graphic?.origin?.layer?.id;
24
- * }
25
- * });
20
+ * Access the layer and sublayer of a graphic that originated from a MapImageLayer.
21
+ * ```js
22
+ * import { isMapImageGraphicOrigin } from "@arcgis/core/graphic/isMapImageGraphicOrigin.js";
23
+ *
24
+ * const origin = graphic.origin;
25
+ *
26
+ * // Check whether the graphic came from a MapImageLayer
27
+ * if (isMapImageGraphicOrigin(origin)) {
28
+ * console.log(origin.layer.title);
29
+ * console.log(origin.sublayer.title);
30
+ * }
31
+ * ```
32
+ * @example
33
+ * Access the vector tile style layer associated with a graphic returned by hitTest().
34
+ * ```js
35
+ * import { isVectorTileGraphicOrigin } from "@arcgis/core/graphic/isVectorTileGraphicOrigin.js";
36
+ *
37
+ * viewElement.addEventListener("arcgisViewClick", async (event) => {
38
+ * // Get hit-test results from the VectorTileLayer at the clicked location
39
+ * const response = await view.hitTest(event.detail, { include: vectorTileLayer });
40
+ *
41
+ * for (const result of response.results) {
42
+ * // Only graphic results contain a graphic with origin information
43
+ * if (result.type !== "graphic") {
44
+ * continue;
45
+ * }
46
+ *
47
+ * const graphic = result.graphic;
48
+ * const origin = graphic.origin;
49
+ *
50
+ * // Check whether the graphic came from a VectorTileLayer
51
+ * if (isVectorTileGraphicOrigin(origin)) {
52
+ * // layerId identifies a style layer within the VectorTileLayer
53
+ * const styleLayer = origin.layer.getStyleLayer(origin.layerId);
54
+ * console.log(styleLayer);
55
+ * }
56
+ * }
57
+ * });
58
+ * ```
26
59
  */
27
60
  export default class WFSGraphicOrigin extends GraphicOrigin {
28
61
  constructor(layer: WFSLayer);
@@ -1,10 +1,28 @@
1
+ /**
2
+ * Provides utility method for getting the title of the layer or sublayer a graphic came from.
3
+ *
4
+ * @since 5.2
5
+ */
1
6
  import type GraphicOrigin from "./GraphicOrigin.js";
2
7
 
3
8
  /**
4
- * Returns the title of the graphic's origin, preferring the sublayer title if available, and falling back to the layer title.
9
+ * Returns a title that identifies the [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) of a graphic.
10
+ * Use the returned title to show users which layer or sublayer a graphic came from when displaying query or hitTest results.
11
+ *
12
+ * If the origin's sublayer has a `title` property, the function returns that value. Otherwise, it returns the origin's layer title if the layer has a `title` property.
13
+ * For example, for a graphic from a sublayer titled "Roads" in a layer titled "Transportation", the function returns "Roads".
5
14
  *
6
- * @param origin - The graphic's origin.
7
- * @returns The title of the origin's sublayer if available, otherwise the title of the origin's layer.
15
+ * @param origin - The origin information associated with a graphic. See [Graphic.origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin).
16
+ * @returns The sublayer's title if it has a `title` property, otherwise the layer's title
17
+ * if it has a `title` property, or `undefined` if neither has one.
8
18
  * @since 5.2
19
+ * @example
20
+ * Get the origin title of a graphic returned by a hit test or query.
21
+ * ```js
22
+ * if (graphic.origin) {
23
+ * const title = getGraphicOriginTitle(graphic.origin);
24
+ * console.log(title);
25
+ * }
26
+ * ```
9
27
  */
10
28
  export function getGraphicOriginTitle(origin: GraphicOrigin): string | null | undefined;
package/kernel.js CHANGED
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.164`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}});export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
2
+ import"./core/has.js";import{addQueryParameter as e}from"./core/urlUtils.js";Symbol.dispose??=Symbol(`Symbol.dispose`),Symbol.asyncDispose??=Symbol(`Symbol.asyncDispose`);const t=`5.2`;let n=`5.2`;n=`5.2.0-next.166`;let r;function i(e){r=e}function a(t){let n=r?.findCredential(t);return n?.token?e(t,`token`,n.token):t}globalThis.$arcgis||Object.defineProperty(globalThis,"$arcgis",{configurable:!1,enumerable:!0,writable:!1,value:{}});export{a as addTokenParameter,n as fullVersion,r as id,i as setId,t as version};
@@ -63,12 +63,13 @@ export interface GaussianSplatLayerProperties extends LayerProperties, APIKeyMix
63
63
  * Gaussian splats are optimized during a training process. When rendered together, Gaussian splats blend to form a smooth,
64
64
  * photorealistic 3D representation.
65
65
  *
66
- * Unlike mesh-based representations, Gaussian Splat layers represent surfaces using a large set of semi-transparent 3D Gaussians. Depending on the source data and reconstruction, the resulting surface may contain minor outliers or holes. These artifacts are often not visually prominent, but can affect analytical tools.
66
+ * Unlike mesh-based layers, which define surfaces through connected polygons, Gaussian Splat layers have no explicit surface representation. Depending on the source data and reconstruction, the resulting surface may contain minor outliers or holes. These artifacts are often not visually prominent, but can affect analytical tools. Analysis results reflect the underlying Gaussian Splat representation. As a result, surface noise or reconstruction artifacts that are subtle in the visualization may become more apparent and analysis boundaries may appear less sharply defined than in comparable results generated from integrated mesh layers.
67
67
  *
68
68
  * > [!WARNING]
69
69
  * >
70
70
  * > **Known Limitations**
71
71
  * >
72
+ * > * Currently, Volume Measurement is not supported.
72
73
  * > * When using the [Slice component](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slice/), the slice plane will, contrary to the behavior described in [`tiltEnabled`](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-slice/#tiltEnabled), not automatically align to the underlying surface of a Gaussian Splat layer due to the absence of surface normals.
73
74
  * > * Gaussian splat layers are not guaranteed to always draw correctly in a local scene using WGS84 as spatial reference
74
75
  * > (WKID 4326).
@@ -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/Error.js";import{MultiOriginJSONSupportMixin as n}from"../core/MultiOriginJSONSupport.js";import{property as r,subclass as i}from"../core/accessorSupport/decorators.js";import{ensureClass as a}from"../core/accessorSupport/ensureType.js";import o from"../geometry/SpatialReference.js";import{getInfo as s}from"../geometry/support/spatialReferenceUtils.js";import c from"./Layer.js";import{BlendLayer as l}from"./mixins/BlendLayer.js";import{RasterJobHandlerMixin as u}from"./mixins/RasterJobHandlerMixin.js";import{ScaleRangeLayer as d}from"./mixins/ScaleRangeLayer.js";import f from"./raster/datasets/GeospatialPDFRaster.js";import{clip as p}from"./raster/functions/clipUtils.js";import m from"./support/PortalItemData.js";import h from"./support/TileInfo.js";let g=class extends l(d(u(n(c)))){constructor(e){super(e),this._frame=null,this._objectURL=null,this.clippedToNeatline=!1,this.data=null,this.raster=null,this.serviceRasterInfo=null,this.spatialReference=null,this.type=`geospatial-pdf`}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}destroy(){this._shutdownJobHandler(),this.raster?.destroy(),this._objectURL&&=(URL.revokeObjectURL(this._objectURL),null)}get fullExtent(){return this.serviceRasterInfo?.extent}async fetchImageBitmapTile(){throw new t(`geospatial-pdf-layer:fetch-image-bitmap-tile`,`GeospatialPDFLayer does not expose pre-rendered image tile URLs.`)}async fetchPixels(e,t,n,r={}){return _(this),await this._initJobHandler(),this.raster.fetchPixels(e,Math.round(t),Math.round(n),r)}async fetchTile(e,n,r,i={}){if(_(this),i.requestAsImageElement)throw new t(`geospatial-pdf-layer:fetch-tile`,`GeospatialPDFLayer does not support requestAsImageElement.`);await this._initJobHandler();let a=await this.raster.fetchTile(e,n,r,i),o=this.clippedToNeatline?this._frame?.sourceNeatlinePolygon:this._frame?.sourceMediaBoxPolygon;return o&&a.pixelBlock&&this._frame&&a.srcExtent&&(a.pixelBlock=await p(a.pixelBlock,a.srcExtent,o)),a}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent?.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}getCompatibleTileInfo(e,t,n=!1){if(!this.loaded||t==null)return null;if(n&&e.equals(this.spatialReference))return this.tileInfo;let r=s(e);return h.create({size:256,spatialReference:e,origin:r?{x:r.origin[0],y:r.origin[1]}:{x:t.xmin,y:t.ymax}})}getRawDisplayBandIds(){return _(this),[0,1,2]}async _initJobHandler(){if(!this._rasterJobHandler)return super._initJobHandler().then(()=>{this._rasterJobHandler&&(_(this),this.raster.rasterJobHandler=this._rasterJobHandler)}).catch(()=>{})}_shutdownJobHandler(){super._shutdownJobHandler(),this.raster&&(this.raster.rasterJobHandler=null)}async _getDataUrl(e){let{data:n}=this;if(typeof n==`string`)return n;if(n instanceof File)return this._objectURL=URL.createObjectURL(n),this._objectURL;if(n instanceof m){await n.portalItem.load({signal:e?.signal});let r=n.portalItem.url;if(!r)throw new t(`geospatial-pdf-layer:load`,`Portal item does not have a valid data URL.`);return r}throw new t(`geospatialpdf-layer:missing-data`,`A data source must be specified.`)}async _load(e){let t=await this._getDataUrl(e);await this._openRaster(t,e?.signal)}async _openRaster(e,n){let r=new f({url:e});if(await r.open({signal:n}),!r.rasterInfo)throw r.destroy(),new t(`geospatialpdf-layer:load`,`cannot load resources on `+e);let{rasterInfo:i}=r;this._set(`serviceRasterInfo`,i),this.setAtOrigin(`spatialReference`,i.spatialReference,`service`),this.setAtOrigin(`tileInfo`,i.storageInfo.tileInfo,`service`),this._frame=r.frame,this.raster=r}};e([r({clonable:!1})],g.prototype,`_compatibleFullExtent`,void 0),e([r({type:Boolean})],g.prototype,`clippedToNeatline`,void 0),e([r({cast:e=>e?typeof e==`string`||e instanceof File?e:a(m,e):null})],g.prototype,`data`,void 0),e([r({json:{read:!1}})],g.prototype,`fullExtent`,null),e([r()],g.prototype,`raster`,void 0),e([r()],g.prototype,`serviceRasterInfo`,void 0),e([r({readOnly:!0,type:o,json:{read:!1}})],g.prototype,`spatialReference`,void 0),e([r({type:h,readOnly:!0})],g.prototype,`tileInfo`,void 0),e([r({readOnly:!0,value:`geospatial-pdf`})],g.prototype,`type`,void 0),g=e([i(`esri.layers.GeospatialPDFLayer`)],g);function _(e){if(!e.raster||!e.serviceRasterInfo)throw new t(`imagery-tile`,`no raster`)}const v=g;export{v as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Error.js";import{MultiOriginJSONSupportMixin as n}from"../core/MultiOriginJSONSupport.js";import{property as r,subclass as i}from"../core/accessorSupport/decorators.js";import{ensureClass as a}from"../core/accessorSupport/ensureType.js";import o from"../geometry/SpatialReference.js";import{getInfo as s}from"../geometry/support/spatialReferenceUtils.js";import c from"./Layer.js";import{BlendLayer as l}from"./mixins/BlendLayer.js";import{RasterJobHandlerMixin as u}from"./mixins/RasterJobHandlerMixin.js";import{ScaleRangeLayer as d}from"./mixins/ScaleRangeLayer.js";import f from"./raster/datasets/GeospatialPDFRaster.js";import{clip as p}from"./raster/functions/clipUtils.js";import m from"./support/PortalItemData.js";import h from"./support/TileInfo.js";let g=class extends l(d(u(n(c)))){constructor(e){super(e),this._frame=null,this._objectURL=null,this.clippedToNeatline=!1,this.data=null,this.raster=null,this.serviceRasterInfo=null,this.spatialReference=null,this.type=`geospatial-pdf`}load(e){return this.addResolvingPromise(this._load(e)),Promise.resolve(this)}destroy(){this._shutdownJobHandler(),this.raster?.destroy(),this._objectURL&&=(URL.revokeObjectURL(this._objectURL),null)}get fullExtent(){return this.serviceRasterInfo?.extent}createNeatline(e){if(!this._frame)throw new t(`geospatial-pdf-layer: render`,`Layer does not have valid mapframe`);return e?this._frame.createNeatline(e):this._frame.createNeatline()}async fetchImageBitmapTile(){throw new t(`geospatial-pdf-layer:fetch-image-bitmap-tile`,`GeospatialPDFLayer does not expose pre-rendered image tile URLs.`)}async fetchPixels(e,t,n,r={}){return _(this),await this._initJobHandler(),this.raster.fetchPixels(e,Math.round(t),Math.round(n),r)}async fetchTile(e,n,r,i={}){if(_(this),i.requestAsImageElement)throw new t(`geospatial-pdf-layer:fetch-tile`,`GeospatialPDFLayer does not support requestAsImageElement.`);await this._initJobHandler();let a=await this.raster.fetchTile(e,n,r,i),o=this.clippedToNeatline?this._frame?.sourceNeatlinePolygon:this._frame?.sourceMediaBoxPolygon;return o&&a.pixelBlock&&this._frame&&a.srcExtent&&(a.pixelBlock=await p(a.pixelBlock,a.srcExtent,o)),a}getCompatibleFullExtent(e){return this.loaded?(this._compatibleFullExtent?.spatialReference.equals(e)||(this._compatibleFullExtent=this.raster.computeExtent(e)),this._compatibleFullExtent):null}getCompatibleTileInfo(e,t,n=!1){if(!this.loaded||t==null)return null;if(n&&e.equals(this.spatialReference))return this.tileInfo;let r=s(e);return h.create({size:256,spatialReference:e,origin:r?{x:r.origin[0],y:r.origin[1]}:{x:t.xmin,y:t.ymax}})}getRawDisplayBandIds(){return _(this),[0,1,2]}async _initJobHandler(){if(!this._rasterJobHandler)return super._initJobHandler().then(()=>{this._rasterJobHandler&&(_(this),this.raster.rasterJobHandler=this._rasterJobHandler)}).catch(()=>{})}_shutdownJobHandler(){super._shutdownJobHandler(),this.raster&&(this.raster.rasterJobHandler=null)}async _getDataUrl(e){let{data:n}=this;if(typeof n==`string`)return n;if(n instanceof File)return this._objectURL=URL.createObjectURL(n),this._objectURL;if(n instanceof m){await n.portalItem.load({signal:e?.signal});let r=n.portalItem.url;if(!r)throw new t(`geospatial-pdf-layer:load`,`Portal item does not have a valid data URL.`);return r}throw new t(`geospatialpdf-layer:missing-data`,`A data source must be specified.`)}async _load(e){let t=await this._getDataUrl(e);await this._openRaster(t,e?.signal)}async _openRaster(e,n){let r=new f({url:e});if(await r.open({signal:n}),!r.rasterInfo)throw r.destroy(),new t(`geospatialpdf-layer:load`,`cannot load resources on `+e);let{rasterInfo:i}=r;this._set(`serviceRasterInfo`,i),this.setAtOrigin(`spatialReference`,i.spatialReference,`service`),this.setAtOrigin(`tileInfo`,i.storageInfo.tileInfo,`service`),this._frame=r.frame,this.raster=r}};e([r({clonable:!1})],g.prototype,`_compatibleFullExtent`,void 0),e([r({type:Boolean})],g.prototype,`clippedToNeatline`,void 0),e([r({cast:e=>e?typeof e==`string`||e instanceof File?e:a(m,e):null})],g.prototype,`data`,void 0),e([r({json:{read:!1}})],g.prototype,`fullExtent`,null),e([r()],g.prototype,`raster`,void 0),e([r()],g.prototype,`serviceRasterInfo`,void 0),e([r({readOnly:!0,type:o,json:{read:!1}})],g.prototype,`spatialReference`,void 0),e([r({type:h,readOnly:!0})],g.prototype,`tileInfo`,void 0),e([r({readOnly:!0,value:`geospatial-pdf`})],g.prototype,`type`,void 0),g=e([i(`esri.layers.GeospatialPDFLayer`)],g);function _(e){if(!e.raster||!e.serviceRasterInfo)throw new t(`imagery-tile`,`no raster`)}const v=g;export{v as default};
@@ -6,13 +6,14 @@ import type Layer from "./Layer.js";
6
6
  import type Field from "./support/Field.js";
7
7
  import type FieldsIndex from "./support/FieldsIndex.js";
8
8
  import type LabelClass from "./support/LabelClass.js";
9
+ import type PortalItem from "../portal/PortalItem.js";
9
10
  import type FeatureSet from "../rest/support/FeatureSet.js";
10
11
  import type Query from "../rest/support/Query.js";
11
12
  import type { ClonableMixin } from "../core/Clonable.js";
12
13
  import type { MultiOriginJSONSupportMixin } from "../core/MultiOriginJSONSupport.js";
13
14
  import type { AbortOptions } from "../core/promiseUtils.js";
14
15
  import type { LayerEvents, LayerProperties } from "./Layer.js";
15
- import type { FeatureLayerCapabilities, FieldDomainOptions } from "./types.js";
16
+ import type { FeatureLayerCapabilities, FieldDomainOptions, LayerSaveAsOptions, LayerSaveOptions } from "./types.js";
16
17
  import type { BlendLayer, BlendLayerProperties } from "./mixins/BlendLayer.js";
17
18
  import type { CustomParametersMixin, CustomParametersMixinProperties } from "./mixins/CustomParametersMixin.js";
18
19
  import type { DataSeriesLayer, DataSeriesLayerProperties } from "./mixins/DataSeriesLayer.js";
@@ -25,6 +26,7 @@ import type { RefreshableLayer, RefreshableLayerEvents, RefreshEvent, Refreshabl
25
26
  import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
26
27
  import type { ParquetGeometryType } from "./support/parquetUtils.js";
27
28
  import type { DomainUnion, ParquetDataUnion, ParquetGeometryEncodingUnion } from "./support/types.js";
29
+ import type { PortalItemProperties } from "../portal/PortalItem.js";
28
30
  import type { RendererUnion } from "../renderers/types.js";
29
31
  import type { QueryProperties } from "../rest/support/Query.js";
30
32
  import type { CreatePopupTemplateOptions } from "../support/popupUtils.js";
@@ -1004,5 +1006,26 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
1004
1006
  * @see [refresh event](https://developers.arcgis.com/javascript/latest/references/core/layers/mixins/RefreshableLayer/#event-refresh)
1005
1007
  */
1006
1008
  refresh(): void;
1009
+ /**
1010
+ * Saves the layer to its existing portal item in the [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) authenticated within the user's current session. If the layer is not saved to a [PortalItem](https://developers.arcgis.com/javascript/latest/references/core/portal/PortalItem/), then you should use [saveAs()](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#saveAs).
1011
+ *
1012
+ * @param options - Various options for saving the layer.
1013
+ * @returns When resolved, returns the portal item to which the layer is saved.
1014
+ * @since 5.2
1015
+ * @example const portalItem = await layer.save();
1016
+ */
1017
+ save(options?: LayerSaveOptions): Promise<PortalItem>;
1018
+ /**
1019
+ * Saves the layer to a new portal item in the [Portal](https://developers.arcgis.com/javascript/latest/references/core/portal/Portal/) authenticated within the user's current session.
1020
+ *
1021
+ * @param portalItem - The portal item to which the layer will be saved.
1022
+ * @param options - Various options for saving the layer.
1023
+ * @returns When resolved, returns the portal item to which the layer is saved.
1024
+ * @since 5.2
1025
+ * @example
1026
+ * const portalItem = new PortalItem();
1027
+ * await layer.saveAs(portalItem);
1028
+ */
1029
+ saveAs(portalItem: PortalItemProperties, options?: LayerSaveAsOptions): Promise<PortalItem>;
1007
1030
  }
1008
1031
  declare const ParquetLayerSuperclass: typeof Layer & typeof ClonableMixin & typeof CustomParametersMixin & typeof MultiOriginJSONSupportMixin & typeof PortalLayer & typeof OperationalLayer & typeof RefreshableLayer & typeof ScaleRangeLayer & typeof DataSeriesLayer & typeof OrderedLayer & typeof BlendLayer & typeof FeatureEffectLayer & typeof FeatureReductionLayer