@arcgis/core 5.1.0-next.100 → 5.1.0-next.102

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 (158) hide show
  1. package/arcgisGlobal.d.ts +1449 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/0d81409721d29d8bc276.js +1 -0
  4. package/assets/esri/core/workers/chunks/{9478a0478fb49a88685e.js → 119b84f5349f90d1dd28.js} +1 -1
  5. package/assets/esri/core/workers/chunks/15167eeb6d7dbe7e392d.js +1 -0
  6. package/assets/esri/core/workers/chunks/{6881ae969b48bd04f064.js → 1ba37706e5d5eaabcb8e.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{889a0405e3cdfa59b8e7.js → 1faa8a42d5a437fc40a3.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{40137b23d8ad4af7ff9c.js → 3996149146dd1eca7cc5.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{38b1d2ffcc318ac0119d.js → 48fcc10768d93e95a04e.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{e7637d6a8ce0af46843c.js → 55ccb8ed7325efb62091.js} +2 -2
  11. package/assets/esri/core/workers/chunks/{2b2e5628d08d0e3108d2.js → 5663df3cd1dfd4b43c73.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{0253292939b981134663.js → 5bc299f7f89a07a6e6a6.js} +1 -1
  13. package/assets/esri/core/workers/chunks/5dafd35801dca4229aed.js +1 -0
  14. package/assets/esri/core/workers/chunks/{d345030a89914348d3c5.js → 6f96ce41c47cae82e687.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{b6b6f190687813267d77.js → 7db09c5bf024242becfa.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{df232b8aa77f7e3285e3.js → 86bff154d46f8a562887.js} +1 -1
  17. package/assets/esri/core/workers/chunks/{07ddf1b1f7602063ceb0.js → 8f9117d589de7caaa02d.js} +1 -1
  18. package/assets/esri/core/workers/chunks/{2ad7c221ad317706387a.js → 9e7c84a3a2abec4d49df.js} +2 -2
  19. package/assets/esri/core/workers/chunks/{490e4a648cb2ab3e7956.js → a318cf6bb900e0ee268c.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{3ba29e7cf9fba3aa5f41.js → b1b8a7c00ec4d998ab84.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{fff4b9e43464ebb3fb4e.js → bb5512ecb5300d45d46b.js} +1 -1
  22. package/assets/esri/core/workers/chunks/{d8c4fb66c733ab2f66d3.js → bb81da98546c4d923e0d.js} +1 -1
  23. package/assets/esri/core/workers/chunks/{765ee0f2bfcec6d5bcc6.js → bc6a809a965355eb425f.js} +1 -1
  24. package/assets/esri/core/workers/chunks/{53ff47c06ccfc0be885c.js → d30790c69724258dab2b.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{7a20941913d0115cfe26.js → de25311b6d13bf1c6089.js} +2 -2
  26. package/assets/esri/core/workers/chunks/{9940b318f38ea9d7a533.js → e86c073f0b6d395c7a38.js} +1 -1
  27. package/assets/esri/core/workers/chunks/f5bd0a4f82df5e942b70.js +1 -0
  28. package/assets/esri/core/workers/chunks/{b8d10d8db44c7c6acebe.js → fa38dc5010f8630a80fe.js} +1 -1
  29. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +125 -0
  30. package/assets/esri/themes/base/widgets/_Directions.scss +5 -1
  31. package/assets/esri/themes/dark/main.css +1 -1
  32. package/assets/esri/themes/light/main.css +1 -1
  33. package/assets/esri/themes/light/view.css +1 -1
  34. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  35. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  36. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer.json +1 -1
  37. package/chunks/GaussianSplatShadow.glsl.js +39 -0
  38. package/chunks/GlobalIllumination.glsl.js +1 -1
  39. package/config.js +1 -1
  40. package/form/elements/inputs/MultipleChoiceInput.d.ts +5 -5
  41. package/form/elements/inputs/MultipleChoiceInput.js +1 -1
  42. package/interfaces.d.ts +17 -0
  43. package/kernel.js +1 -1
  44. package/layers/FeatureLayer.d.ts +29 -39
  45. package/layers/KnowledgeGraphLayer.d.ts +1 -1
  46. package/layers/KnowledgeGraphLayer.js +1 -1
  47. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  48. package/layers/OrientedImageryLayer.d.ts +233 -0
  49. package/layers/OrientedImageryLayer.js +1 -1
  50. package/layers/ParquetLayer.d.ts +73 -24
  51. package/layers/ParquetLayer.js +1 -1
  52. package/layers/SceneLayer.d.ts +2 -2
  53. package/layers/VideoLayer.d.ts +35 -9
  54. package/layers/VideoLayer.js +1 -1
  55. package/layers/catalog/CatalogFootprintLayer.d.ts +147 -0
  56. package/layers/graphics/sources/ParquetSource.js +1 -1
  57. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  58. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +3 -1
  59. package/layers/support/FeatureReductionBinning.d.ts +87 -9
  60. package/layers/support/FeatureReductionCluster.d.ts +87 -9
  61. package/layers/support/FieldConfiguration.d.ts +1 -1
  62. package/layers/support/ParquetFilesData.d.ts +46 -0
  63. package/layers/support/ParquetFilesData.js +2 -0
  64. package/layers/support/ParquetPortalItemData.d.ts +25 -0
  65. package/layers/support/ParquetPortalItemData.js +2 -0
  66. package/layers/support/SubtypeSublayer.d.ts +147 -0
  67. package/layers/support/TelemetryData.d.ts +5 -0
  68. package/layers/support/TelemetryData.js +1 -1
  69. package/layers/support/TelemetryDisplay.d.ts +10 -2
  70. package/layers/support/TelemetryDisplay.js +1 -1
  71. package/layers/support/parquetUtils.js +1 -1
  72. package/layers/support/types.d.ts +9 -0
  73. package/layers/video/VideoController.js +1 -1
  74. package/layers/video/types.d.ts +8 -1
  75. package/layers/video/videoUtils.js +1 -1
  76. package/networks/UtilityNetworkTraceAnalysis.d.ts +1 -1
  77. package/networks/UtilityNetworkTraceAnalysis.js +1 -1
  78. package/package.json +3 -3
  79. package/portal/jsonTypes.d.ts +7 -0
  80. package/renderers/support/ClassBreakInfo.d.ts +3 -3
  81. package/renderers/support/ClassBreakInfo.js +1 -1
  82. package/renderers/support/UniqueValueInfo.d.ts +3 -3
  83. package/renderers/support/UniqueValueInfo.js +1 -1
  84. package/rest/print.js +1 -1
  85. package/rest/support/PrintParameters.d.ts +8 -1
  86. package/rest/support/PrintParameters.js +1 -1
  87. package/support/revision.js +1 -1
  88. package/third-party-notices.txt +4 -0
  89. package/views/2d/engine/webgl/shaderGraph/graph/GlslGraphWriter.js +1 -1
  90. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  91. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphNode.js +1 -1
  92. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  93. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  94. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  95. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  96. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
  97. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
  98. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MaskShader.js +1 -1
  99. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/RemapShader.js +1 -1
  100. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
  101. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/math.js +1 -1
  102. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/surface.js +1 -1
  103. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  104. package/views/2d/layers/VideoLayerView2D.js +1 -1
  105. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  106. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  107. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  108. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  109. package/views/3d/webgl/RenderNode.js +1 -1
  110. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js +5 -2
  111. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  112. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  113. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +2 -0
  114. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  115. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  116. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  117. package/views/3d/webgl-engine/lib/TriangleIntersectionData.js +1 -1
  118. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +2 -0
  119. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +2 -0
  120. package/views/3d/webgl.js +1 -1
  121. package/views/Viewport2DBaseMixin.js +1 -1
  122. package/widgets/Attachments/support/attachmentUtils.js +1 -1
  123. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +8 -1
  124. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  125. package/widgets/BatchAttributeForm/attachmentUtils.js +2 -0
  126. package/widgets/BatchAttributeForm/css.js +1 -1
  127. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  128. package/widgets/BatchAttributeForm/templates/RelationshipElementTemplate.js +1 -1
  129. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  130. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  131. package/widgets/BatchAttributeForm/types.d.ts +7 -0
  132. package/widgets/BatchAttributeForm.js +1 -1
  133. package/widgets/FeatureForm/RelationshipInput.d.ts +1 -1
  134. package/widgets/FeatureTable.js +1 -1
  135. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  136. package/widgets/OrientedImageryViewer/OrientedImageryViewerVisibleElements.js +1 -1
  137. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  138. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  139. package/widgets/OrientedImageryViewer/constants.js +1 -1
  140. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  141. package/widgets/OrientedImageryViewer/services/TransformationService.js +1 -1
  142. package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
  143. package/widgets/OrientedImageryViewer/support/geometryUtils.js +1 -1
  144. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  145. package/widgets/OrientedImageryViewer/types.js +1 -1
  146. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  147. package/widgets/OrientedImageryViewer.js +1 -1
  148. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  149. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +9 -0
  150. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  151. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  152. package/widgets/support/forms/formUtils.js +1 -1
  153. package/assets/esri/core/workers/chunks/26f28406056ddc0e159c.js +0 -1
  154. package/assets/esri/core/workers/chunks/43cc82373be791b7cb4c.js +0 -1
  155. package/assets/esri/core/workers/chunks/b06cc59068d32baaaa87.js +0 -1
  156. package/assets/esri/core/workers/chunks/c9461568e1002ebac534.js +0 -1
  157. /package/assets/esri/core/workers/chunks/{e7637d6a8ce0af46843c.js.LICENSE.txt → 55ccb8ed7325efb62091.js.LICENSE.txt} +0 -0
  158. /package/assets/esri/core/workers/chunks/{7a20941913d0115cfe26.js.LICENSE.txt → de25311b6d13bf1c6089.js.LICENSE.txt} +0 -0
@@ -2,6 +2,7 @@ import type { __FeatureLayerSansType } from "./FeatureLayer.js";
2
2
  import type SpatialReference from "../geometry/SpatialReference.js";
3
3
  import type FeatureLayer from "./FeatureLayer.js";
4
4
  import type Field from "./support/Field.js";
5
+ import type FieldConfiguration from "./support/FieldConfiguration.js";
5
6
  import type PortalItem from "../portal/PortalItem.js";
6
7
  import type FeatureSet from "../rest/support/FeatureSet.js";
7
8
  import type { LayerSaveAsOptions, LayerSaveOptions } from "./types.js";
@@ -47,6 +48,98 @@ export interface OrientedImageryLayerProperties extends FeatureLayerProperties,
47
48
  * @since 4.29
48
49
  */
49
50
  displayField?: string | null;
51
+ /**
52
+ * An array of [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) objects that control how fields are displayed in popups and other UI elements. Each object specifies options for an individual field, such as its display name, via `alias`, and formatting rules, via `fieldFormat`. Assign this property before the layer loads to ensure the configurations take effect. For more information, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
53
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
54
+ * > [!WARNING]
55
+ * >
56
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
57
+ *
58
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations).
59
+ *
60
+ * @since 5.1
61
+ * @see [OrientedImageryLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldConfiguration)
62
+ * @see [OrientedImageryLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldAlias)
63
+ * @example
64
+ * // Adding a new field configuration
65
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
66
+ * // Check if there is already an existing configuration for fieldName
67
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
68
+ * if (!existingConfig) {
69
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
70
+ * const newConfigs = clone(layer.fieldConfigurations);
71
+ * newConfigs.push(newConfig);
72
+ * layer.fieldConfigurations = newConfigs;
73
+ * }
74
+ * };
75
+ * @example
76
+ * // Updating an existing field configuration
77
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
78
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
79
+ * if (existingConfig) {
80
+ * const newConfig = existingConfig.clone();
81
+ * newConfig.alias = alias;
82
+ * newConfig.fieldFormat = fieldFormat;
83
+ *
84
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
85
+ * const newConfigs = clone(layer.fieldConfigurations);
86
+ * newConfigs[index] = newConfig;
87
+ * layer.fieldConfigurations = newConfigs;
88
+ * }
89
+ * };
90
+ * @example
91
+ * // Deleting an existing field configuration
92
+ * const deleteConfig = (layer, fieldName) => {
93
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
94
+ * if (existingConfig) {
95
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
96
+ * var newConfigs = clone(layer.fieldConfigurations);
97
+ * newConfigs.splice(index, 1);
98
+ * layer.fieldConfigurations = newConfigs;
99
+ * }
100
+ * };
101
+ * @see [FeatureLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldConfiguration)
102
+ * @see [FeatureLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldAlias)
103
+ * @example
104
+ * // Adding a new field configuration
105
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
106
+ * // Check if there is already an existing configuration for fieldName
107
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
108
+ * if (!existingConfig) {
109
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
110
+ * const newConfigs = clone(layer.fieldConfigurations);
111
+ * newConfigs.push(newConfig);
112
+ * layer.fieldConfigurations = newConfigs;
113
+ * }
114
+ * };
115
+ * @example
116
+ * // Updating an existing field configuration
117
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
118
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
119
+ * if (existingConfig) {
120
+ * const newConfig = existingConfig.clone();
121
+ * newConfig.alias = alias;
122
+ * newConfig.fieldFormat = fieldFormat;
123
+ *
124
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
125
+ * const newConfigs = clone(layer.fieldConfigurations);
126
+ * newConfigs[index] = newConfig;
127
+ * layer.fieldConfigurations = newConfigs;
128
+ * }
129
+ * };
130
+ * @example
131
+ * // Deleting an existing field configuration
132
+ * const deleteConfig = (layer, fieldName) => {
133
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
134
+ * if (existingConfig) {
135
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
136
+ * var newConfigs = clone(layer.fieldConfigurations);
137
+ * newConfigs.splice(index, 1);
138
+ * layer.fieldConfigurations = newConfigs;
139
+ * }
140
+ * };
141
+ */
142
+ fieldConfigurations?: FieldConfiguration[] | null;
50
143
  /**
51
144
  * An array of fields in the layer. Each field represents an attribute
52
145
  * that may contain a value for each feature in the layer. For example,
@@ -488,6 +581,98 @@ export default class OrientedImageryLayer extends __FeatureLayerSansType {
488
581
  * layer.farDistance = 60;
489
582
  */
490
583
  accessor farDistance: number | null | undefined;
584
+ /**
585
+ * An array of [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) objects that control how fields are displayed in popups and other UI elements. Each object specifies options for an individual field, such as its display name, via `alias`, and formatting rules, via `fieldFormat`. Assign this property before the layer loads to ensure the configurations take effect. For more information, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
586
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
587
+ * > [!WARNING]
588
+ * >
589
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
590
+ *
591
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations).
592
+ *
593
+ * @since 5.1
594
+ * @see [OrientedImageryLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldConfiguration)
595
+ * @see [OrientedImageryLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldAlias)
596
+ * @example
597
+ * // Adding a new field configuration
598
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
599
+ * // Check if there is already an existing configuration for fieldName
600
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
601
+ * if (!existingConfig) {
602
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
603
+ * const newConfigs = clone(layer.fieldConfigurations);
604
+ * newConfigs.push(newConfig);
605
+ * layer.fieldConfigurations = newConfigs;
606
+ * }
607
+ * };
608
+ * @example
609
+ * // Updating an existing field configuration
610
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
611
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
612
+ * if (existingConfig) {
613
+ * const newConfig = existingConfig.clone();
614
+ * newConfig.alias = alias;
615
+ * newConfig.fieldFormat = fieldFormat;
616
+ *
617
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
618
+ * const newConfigs = clone(layer.fieldConfigurations);
619
+ * newConfigs[index] = newConfig;
620
+ * layer.fieldConfigurations = newConfigs;
621
+ * }
622
+ * };
623
+ * @example
624
+ * // Deleting an existing field configuration
625
+ * const deleteConfig = (layer, fieldName) => {
626
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
627
+ * if (existingConfig) {
628
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
629
+ * var newConfigs = clone(layer.fieldConfigurations);
630
+ * newConfigs.splice(index, 1);
631
+ * layer.fieldConfigurations = newConfigs;
632
+ * }
633
+ * };
634
+ * @see [FeatureLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldConfiguration)
635
+ * @see [FeatureLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldAlias)
636
+ * @example
637
+ * // Adding a new field configuration
638
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
639
+ * // Check if there is already an existing configuration for fieldName
640
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
641
+ * if (!existingConfig) {
642
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
643
+ * const newConfigs = clone(layer.fieldConfigurations);
644
+ * newConfigs.push(newConfig);
645
+ * layer.fieldConfigurations = newConfigs;
646
+ * }
647
+ * };
648
+ * @example
649
+ * // Updating an existing field configuration
650
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
651
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
652
+ * if (existingConfig) {
653
+ * const newConfig = existingConfig.clone();
654
+ * newConfig.alias = alias;
655
+ * newConfig.fieldFormat = fieldFormat;
656
+ *
657
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
658
+ * const newConfigs = clone(layer.fieldConfigurations);
659
+ * newConfigs[index] = newConfig;
660
+ * layer.fieldConfigurations = newConfigs;
661
+ * }
662
+ * };
663
+ * @example
664
+ * // Deleting an existing field configuration
665
+ * const deleteConfig = (layer, fieldName) => {
666
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
667
+ * if (existingConfig) {
668
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
669
+ * var newConfigs = clone(layer.fieldConfigurations);
670
+ * newConfigs.splice(index, 1);
671
+ * layer.fieldConfigurations = newConfigs;
672
+ * }
673
+ * };
674
+ */
675
+ accessor fieldConfigurations: FieldConfiguration[] | null | undefined;
491
676
  /**
492
677
  * An array of fields in the layer. Each field represents an attribute
493
678
  * that may contain a value for each feature in the layer. For example,
@@ -821,6 +1006,54 @@ export default class OrientedImageryLayer extends __FeatureLayerSansType {
821
1006
  accessor videoPathPrefix: string | null | undefined;
822
1007
  /** Suffix used to build the video url path in conjunction with the image attribute. */
823
1008
  accessor videoPathSuffix: string | null | undefined;
1009
+ /**
1010
+ * Creates default field configuration objects that define the display properties of fields.
1011
+ * These field configurations are generated from the layer's [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fields) property.
1012
+ *
1013
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
1014
+ * @since 5.1
1015
+ * @see [OrientedImageryLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations)
1016
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
1017
+ * @example
1018
+ * const fieldConfigs = layer.createFieldConfigurations();
1019
+ * layer.fieldConfigurations = fieldConfigs;
1020
+ * @see [FeatureLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#fieldConfigurations)
1021
+ * @example
1022
+ * const fieldConfigs = layer.createFieldConfigurations();
1023
+ * layer.fieldConfigurations = fieldConfigs;
1024
+ */
1025
+ createFieldConfigurations(): FieldConfiguration[] | null | undefined;
1026
+ /**
1027
+ * Returns the alias of the specified field. Previously, this value was commonly retrieved from [Layer.popupTemplate.fieldInfos[x].label](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/#label) or [Layer.fields[x].alias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Field/#alias). While these properties are still supported, this method is now the recommended approach for obtaining a field's alias.
1028
+ *
1029
+ * The alias is resolved in the following order:
1030
+ *
1031
+ * 1. [Field configuration alias](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations)
1032
+ * 2. [Field alias](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fields) defined on the field.
1033
+ *
1034
+ * @param fieldName - The name of the field for which to get the alias.
1035
+ * @returns The alias of the specified field.
1036
+ * @since 5.1
1037
+ * @see [OrientedImageryLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations)
1038
+ * @see [OrientedImageryLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldConfiguration)
1039
+ * @see [FeatureLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#fieldConfigurations)
1040
+ * @see [FeatureLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldConfiguration)
1041
+ */
1042
+ getFieldAlias(fieldName: string): string | null | undefined;
1043
+ /**
1044
+ * Returns the [FieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) for the specified field. The field configuration provides optional formatting and display information for the field.
1045
+ *
1046
+ * Previously, field formatting was commonly retrieved from [Layer.popupTemplate.fieldInfos[x].format](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/#format). This is no longer needed, instead use [Layer.getFieldConfiguration(fieldname).fieldFormat](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/#fieldFormat) to retrieve the field configuration formatting.
1047
+ *
1048
+ * @param fieldName - The name of the field for which to get the configuration.
1049
+ * @returns The field configuration of the specified field.
1050
+ * @since 5.1
1051
+ * @see [OrientedImageryLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#fieldConfigurations)
1052
+ * @see [OrientedImageryLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/#getFieldAlias)
1053
+ * @see [FeatureLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#fieldConfigurations)
1054
+ * @see [FeatureLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/#getFieldAlias)
1055
+ */
1056
+ getFieldConfiguration(fieldName: string): FieldConfiguration | null | undefined;
824
1057
  /**
825
1058
  * Executes a [Query](https://developers.arcgis.com/javascript/latest/references/core/rest/support/Query/) against the feature service and
826
1059
  * returns the number of features that satisfy the query. If no parameters are specified,
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../core/Error.js";import{clone as i}from"../core/lang.js";import{setDeepValue as r}from"../core/object.js";import{property as o,subclass as a}from"../core/accessorSupport/decorators.js";import n from"../geometry/SpatialReference.js";import s from"../graphic/OrientedImageryGraphicOrigin.js";import p from"./FeatureLayer.js";import{useViewTimeProperty as l}from"./mixins/TemporalLayer.js";import{getEffectiveElevationSource as d,parseSequenceOrderFields as m,orientedImageryTypeMap as y,timeIntervalUnitTypeMap as u,verticalMeasurementTypeMap as c,isOrientationAccuracy as h,padAccuracyArray as g}from"./orientedImagery/core/utils.js";import f from"./support/Field.js";import v from"../tables/AttributeTableTemplate.js";import j from"../time/TimeExtent.js";const S=new Set(["demPathPrefix","demPathSuffix","depthImagePathPrefix","depthImagePathSuffix","elevationSource","horizontalMeasurementUnit","imageGeometryField","imageReferenceField","referenceIDField","sequenceOrderField","verticalMeasurementUnit","videoPathPrefix","videoPathSuffix","timeAnimation","visibilityTimeExtent"]),P=new Set(["elevationSource"]),I=(e,t)=>!S.has(t)&&e,O=(e,t,i)=>{const r=`orientedImageryProperties.${e}`,o={allowNull:P.has(e),ignoreOrigin:!0};return{name:r,write:t?{...o,target:r,writer:t}:o,read:i?{ignoreOrigin:!0,source:r,reader:i}:{ignoreOrigin:!0}}};function b(e){return e.json?(e.json.origins=e.json.origins??{},e.json.origins["web-scene"]={write:!1,read:!1},e):e}function x(e,t,i,r){const{name:o,write:a,read:n}=O(e,t,i),s={name:o,write:a,read:n,origins:{service:{name:`orientedImageryInfo.${o}`,write:t,read:i},"web-scene":{name:o,write:I(a,e),read:I(n,e)},"web-map":{name:o,write:a,read:n}}};return r&&s.origins?(s.type=r,s.origins["web-map"].type=r,s.origins["web-scene"].type=r,s):s}let w=class extends p{constructor(e){super(e),this.attributeTableTemplate=null,this.cameraHeading=null,this.cameraHeight=null,this.cameraPitch=null,this.cameraRoll=null,this.coveragePercent=null,this.demPathPrefix=null,this.demPathSuffix=null,this.depthImagePathPrefix=null,this.depthImagePathSuffix=null,this.elevationSource=null,this.farDistance=null,this.geometryType="point",this.graphicOrigin=new s(this),this.horizontalFieldOfView=null,this.horizontalMeasurementUnit=null,this.imageGeometryField="ImageGeometry",this.imagePathPrefix=null,this.imagePathSuffix=null,this.imageReferenceField="OIObjectID",this.imageRotation=null,this.maximumDistance=null,this.nearDistance=null,this.operationalLayerType="OrientedImageryLayer",this.orientationAccuracy=null,this.orientedImageryType=null,this.referenceIDField="OBJECTID",this.sequenceOrderField="SequenceOrder",this.subtypeField=null,this.subtypes=null,this.supportedSourceTypes=new Set(["Oriented Imagery Layer"]),this.type="oriented-imagery",this.timeIntervalUnit="days",this.useViewTime=!0,this.verticalFieldOfView=null,this.verticalMeasurementUnit=null,this.verticalSearchRange=null,this.videoPathPrefix=null,this.videoPathSuffix=null,this.virtualCacheDirectory=null,this.dataStoreID=null,this.visibilityTimeExtent=null}get effectiveElevationSource(){const{elevationSource:e,demPathPrefix:t,demPathSuffix:i}=this;return d(e,t,i)}get effectiveSequenceOrderField(){const{sequenceOrderField:e,fields:t}=this;return m(e,t)}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}findFirstValidLayerId(e){return e.layers?.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new t("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};e([o({type:v,json:{write:!1,read:!1}})],w.prototype,"attributeTableTemplate",void 0),e([o({type:Number,json:x("cameraHeading")})],w.prototype,"cameraHeading",void 0),e([o({type:Number,json:x("cameraHeight")})],w.prototype,"cameraHeight",void 0),e([o({type:Number,json:x("cameraPitch")})],w.prototype,"cameraPitch",void 0),e([o({type:Number,json:x("cameraRoll")})],w.prototype,"cameraRoll",void 0),e([o({type:Number,json:x("coveragePercent")})],w.prototype,"coveragePercent",void 0),e([o({type:String,json:x("demPathPrefix")})],w.prototype,"demPathPrefix",void 0),e([o({type:String,json:x("demPathSuffix")})],w.prototype,"demPathSuffix",void 0),e([o({type:String,json:x("depthImagePathPrefix")})],w.prototype,"depthImagePathPrefix",void 0),e([o({type:String,json:x("depthImagePathSuffix")})],w.prototype,"depthImagePathSuffix",void 0),e([o({type:Object,json:x("elevationSource")})],w.prototype,"elevationSource",void 0),e([o({readOnly:!0})],w.prototype,"effectiveElevationSource",null),e([o({readOnly:!0})],w.prototype,"effectiveSequenceOrderField",null),e([o({type:Number,json:x("farDistance")})],w.prototype,"farDistance",void 0),e([o({type:[f]})],w.prototype,"fields",void 0),e([o()],w.prototype,"geometryType",void 0),e([o({readOnly:!0,clonable:!1})],w.prototype,"graphicOrigin",void 0),e([o({type:Number,json:x("horizontalFieldOfView")})],w.prototype,"horizontalFieldOfView",void 0),e([o({type:String,json:x("horizontalMeasurementUnit")})],w.prototype,"horizontalMeasurementUnit",void 0),e([o({type:String,json:{...x("imageGeometryField"),default:"ImageGeometry"}})],w.prototype,"imageGeometryField",void 0),e([o({type:String,json:x("imagePathPrefix")})],w.prototype,"imagePathPrefix",void 0),e([o({type:String,json:x("imagePathSuffix")})],w.prototype,"imagePathSuffix",void 0),e([o({type:String,json:{...x("imageReferenceField"),default:"OIObjectID"}})],w.prototype,"imageReferenceField",void 0),e([o({type:Number,json:x("imageRotation")})],w.prototype,"imageRotation",void 0),e([o({type:Number,json:x("maximumDistance")})],w.prototype,"maximumDistance",void 0),e([o({type:Number,json:x("nearDistance")})],w.prototype,"nearDistance",void 0),e([o({type:["OrientedImageryLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],w.prototype,"operationalLayerType",void 0),e([o({json:{...x("orientationAccuracy",(e,t,i)=>{r(i,e.join(";"),t)},e=>{const t=e?.split(";")?.map(Number);return h(t)?g(t):[0,0,0,0,0,0,0,0]},String)}})],w.prototype,"orientationAccuracy",void 0),e([o({json:{...x("orientedImageryType",y.write,y.read,y.jsonValues.slice(1))}})],w.prototype,"orientedImageryType",void 0),e([o({type:String,json:{...x("referenceIDField"),default:"OBJECTID"}})],w.prototype,"referenceIDField",void 0),e([o({type:String,json:{...x("sequenceOrderField"),default:"SequenceOrder"}})],w.prototype,"sequenceOrderField",void 0),e([o({type:n})],w.prototype,"spatialReference",void 0),e([o({readOnly:!0})],w.prototype,"subtypeField",void 0),e([o({readOnly:!0})],w.prototype,"subtypes",void 0),e([o({json:{read:!1},value:"oriented-imagery",readOnly:!0})],w.prototype,"type",void 0),e([o({type:u.apiValues,json:{...x("timeIntervalUnit",u.write,u.read,u.jsonValues)}})],w.prototype,"timeIntervalUnit",void 0),e([o(b(i(l)))],w.prototype,"useViewTime",void 0),e([o({type:Number,json:x("verticalFieldOfView")})],w.prototype,"verticalFieldOfView",void 0),e([o({type:c.apiValues,json:{...x("verticalMeasurementUnit",c.write,c.read,c.jsonValues)}})],w.prototype,"verticalMeasurementUnit",void 0),e([o({type:Number,json:x("verticalSearchRange")})],w.prototype,"verticalSearchRange",void 0),e([o({type:String,json:x("videoPathPrefix")})],w.prototype,"videoPathPrefix",void 0),e([o({type:String,json:x("videoPathSuffix")})],w.prototype,"videoPathSuffix",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.orientedImageryProperties.virtualCacheDirectory",read:!0}}}})],w.prototype,"virtualCacheDirectory",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.dsid",read:!0}}}})],w.prototype,"dataStoreID",void 0),e([o({type:j,json:{origins:{"web-scene":{write:!1,read:!1}}}})],w.prototype,"visibilityTimeExtent",void 0),w=e([a("esri.layers.OrientedImageryLayer")],w);const F=w;export{F as default};
2
+ import{__decorate as e}from"tslib";import t from"../core/Error.js";import{clone as i}from"../core/lang.js";import{setDeepValue as r}from"../core/object.js";import{property as o,subclass as a}from"../core/accessorSupport/decorators.js";import n from"../geometry/SpatialReference.js";import s from"../graphic/OrientedImageryGraphicOrigin.js";import p from"./FeatureLayer.js";import{useViewTimeProperty as l}from"./mixins/TemporalLayer.js";import{getEffectiveElevationSource as d,parseSequenceOrderFields as m,orientedImageryTypeMap as y,timeIntervalUnitTypeMap as u,verticalMeasurementTypeMap as c,isOrientationAccuracy as h,padAccuracyArray as g}from"./orientedImagery/core/utils.js";import f from"./support/Field.js";import v from"../tables/AttributeTableTemplate.js";import j from"../time/TimeExtent.js";const S=new Set(["demPathPrefix","demPathSuffix","depthImagePathPrefix","depthImagePathSuffix","elevationSource","horizontalMeasurementUnit","imageGeometryField","imageReferenceField","referenceIDField","sequenceOrderField","verticalMeasurementUnit","videoPathPrefix","videoPathSuffix","timeAnimation","visibilityTimeExtent"]),P=new Set(["elevationSource"]),I=(e,t)=>!S.has(t)&&e,O=(e,t,i)=>{const r=`orientedImageryProperties.${e}`,o={allowNull:P.has(e),ignoreOrigin:!0};return{name:r,write:t?{...o,target:r,writer:t}:o,read:i?{ignoreOrigin:!0,source:r,reader:i}:{ignoreOrigin:!0}}};function b(e){return e.json?(e.json.origins=e.json.origins??{},e.json.origins["web-scene"]={write:!1,read:!1},e):e}function x(e,t,i,r){const{name:o,write:a,read:n}=O(e,t,i),s={name:o,write:a,read:n,origins:{service:{name:`orientedImageryInfo.${o}`,write:t,read:i},"web-scene":{name:o,write:I(a,e),read:I(n,e)},"web-map":{name:o,write:a,read:n}}};return r&&s.origins?(s.type=r,s.origins["web-map"].type=r,s.origins["web-scene"].type=r,s):s}let w=class extends p{constructor(e){super(e),this.attributeTableTemplate=null,this.cameraHeading=null,this.cameraHeight=null,this.cameraPitch=null,this.cameraRoll=null,this.coveragePercent=null,this.demPathPrefix=null,this.demPathSuffix=null,this.depthImagePathPrefix=null,this.depthImagePathSuffix=null,this.elevationSource=null,this.farDistance=null,this.geometryType="point",this.graphicOrigin=new s(this),this.horizontalFieldOfView=null,this.horizontalMeasurementUnit=null,this.imageGeometryField="ImageGeometry",this.imagePathPrefix=null,this.imagePathSuffix=null,this.imageReferenceField="OIObjectID",this.imageRotation=null,this.maximumDistance=null,this.nearDistance=null,this.operationalLayerType="OrientedImageryLayer",this.orientationAccuracy=null,this.orientedImageryType=null,this.referenceIDField="OBJECTID",this.sequenceOrderField="SequenceOrder",this.subtypeField=null,this.subtypes=null,this.supportedSourceTypes=new Set(["Oriented Imagery Layer"]),this.type="oriented-imagery",this.timeIntervalUnit="days",this.useViewTime=!0,this.verticalFieldOfView=null,this.verticalMeasurementUnit=null,this.verticalSearchRange=null,this.videoPathPrefix=null,this.videoPathSuffix=null,this.virtualCacheDirectory=null,this.dataStoreID=null,this.visibilityTimeExtent=null}get effectiveElevationSource(){const{elevationSource:e,demPathPrefix:t,demPathSuffix:i}=this;return d(e,t,i)}get effectiveSequenceOrderField(){const{sequenceOrderField:e,fields:t}=this;return m(e,t)}get fieldConfigurations(){return super.fieldConfigurations}set fieldConfigurations(e){super.fieldConfigurations=e}get portalItem(){return super.portalItem}set portalItem(e){super.portalItem=e}async save(e){return this._debouncedSaveOperations(0,e)}async saveAs(e,t){return this._debouncedSaveOperations(1,t,e)}findFirstValidLayerId(e){return e.layers?.find(({type:e})=>!!e&&this.supportedSourceTypes.has(e))?.id}_verifySource(){if(super._verifySource(),"point"!==this.geometryType)throw new t("oriented-imagery-layer:invalid-geometry-type","OrientedImageryLayer only supports point geometry type")}};e([o({type:v,json:{write:!1,read:!1}})],w.prototype,"attributeTableTemplate",void 0),e([o({type:Number,json:x("cameraHeading")})],w.prototype,"cameraHeading",void 0),e([o({type:Number,json:x("cameraHeight")})],w.prototype,"cameraHeight",void 0),e([o({type:Number,json:x("cameraPitch")})],w.prototype,"cameraPitch",void 0),e([o({type:Number,json:x("cameraRoll")})],w.prototype,"cameraRoll",void 0),e([o({type:Number,json:x("coveragePercent")})],w.prototype,"coveragePercent",void 0),e([o({type:String,json:x("demPathPrefix")})],w.prototype,"demPathPrefix",void 0),e([o({type:String,json:x("demPathSuffix")})],w.prototype,"demPathSuffix",void 0),e([o({type:String,json:x("depthImagePathPrefix")})],w.prototype,"depthImagePathPrefix",void 0),e([o({type:String,json:x("depthImagePathSuffix")})],w.prototype,"depthImagePathSuffix",void 0),e([o({type:Object,json:x("elevationSource")})],w.prototype,"elevationSource",void 0),e([o({readOnly:!0})],w.prototype,"effectiveElevationSource",null),e([o({readOnly:!0})],w.prototype,"effectiveSequenceOrderField",null),e([o({type:Number,json:x("farDistance")})],w.prototype,"farDistance",void 0),e([o({type:[f]})],w.prototype,"fields",void 0),e([o()],w.prototype,"geometryType",void 0),e([o({readOnly:!0,clonable:!1})],w.prototype,"graphicOrigin",void 0),e([o({type:Number,json:x("horizontalFieldOfView")})],w.prototype,"horizontalFieldOfView",void 0),e([o({type:String,json:x("horizontalMeasurementUnit")})],w.prototype,"horizontalMeasurementUnit",void 0),e([o({type:String,json:{...x("imageGeometryField"),default:"ImageGeometry"}})],w.prototype,"imageGeometryField",void 0),e([o({type:String,json:x("imagePathPrefix")})],w.prototype,"imagePathPrefix",void 0),e([o({type:String,json:x("imagePathSuffix")})],w.prototype,"imagePathSuffix",void 0),e([o({type:String,json:{...x("imageReferenceField"),default:"OIObjectID"}})],w.prototype,"imageReferenceField",void 0),e([o({type:Number,json:x("imageRotation")})],w.prototype,"imageRotation",void 0),e([o({type:Number,json:x("maximumDistance")})],w.prototype,"maximumDistance",void 0),e([o({type:Number,json:x("nearDistance")})],w.prototype,"nearDistance",void 0),e([o({type:["OrientedImageryLayer"],json:{origins:{"portal-item":{name:"layerType",write:{enabled:!0,ignoreOrigin:!0}}}}})],w.prototype,"operationalLayerType",void 0),e([o({json:{...x("orientationAccuracy",(e,t,i)=>{r(i,e.join(";"),t)},e=>{const t=e?.split(";")?.map(Number);return h(t)?g(t):[0,0,0,0,0,0,0,0]},String)}})],w.prototype,"orientationAccuracy",void 0),e([o({json:{...x("orientedImageryType",y.write,y.read,y.jsonValues.slice(1))}})],w.prototype,"orientedImageryType",void 0),e([o({type:String,json:{...x("referenceIDField"),default:"OBJECTID"}})],w.prototype,"referenceIDField",void 0),e([o({type:String,json:{...x("sequenceOrderField"),default:"SequenceOrder"}})],w.prototype,"sequenceOrderField",void 0),e([o({type:n})],w.prototype,"spatialReference",void 0),e([o({readOnly:!0})],w.prototype,"subtypeField",void 0),e([o({readOnly:!0})],w.prototype,"subtypes",void 0),e([o({json:{read:!1},value:"oriented-imagery",readOnly:!0})],w.prototype,"type",void 0),e([o({type:u.apiValues,json:{...x("timeIntervalUnit",u.write,u.read,u.jsonValues)}})],w.prototype,"timeIntervalUnit",void 0),e([o(b(i(l)))],w.prototype,"useViewTime",void 0),e([o({type:Number,json:x("verticalFieldOfView")})],w.prototype,"verticalFieldOfView",void 0),e([o({type:c.apiValues,json:{...x("verticalMeasurementUnit",c.write,c.read,c.jsonValues)}})],w.prototype,"verticalMeasurementUnit",void 0),e([o({type:Number,json:x("verticalSearchRange")})],w.prototype,"verticalSearchRange",void 0),e([o({type:String,json:x("videoPathPrefix")})],w.prototype,"videoPathPrefix",void 0),e([o({type:String,json:x("videoPathSuffix")})],w.prototype,"videoPathSuffix",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.orientedImageryProperties.virtualCacheDirectory",read:!0}}}})],w.prototype,"virtualCacheDirectory",void 0),e([o({type:String,json:{read:!1,write:!1,origins:{service:{name:"orientedImageryInfo.dsid",read:!0}}}})],w.prototype,"dataStoreID",void 0),e([o({type:j,json:{origins:{"web-scene":{write:!1,read:!1}}}})],w.prototype,"visibilityTimeExtent",void 0),w=e([a("esri.layers.OrientedImageryLayer")],w);const F=w;export{F as default};
@@ -20,7 +20,7 @@ import type { OperationalLayer, OperationalLayerProperties } from "./mixins/Oper
20
20
  import type { OrderedLayer, OrderedLayerProperties } from "./mixins/OrderedLayer.js";
21
21
  import type { ScaleRangeLayer, ScaleRangeLayerProperties } from "./mixins/ScaleRangeLayer.js";
22
22
  import type { ParquetGeometryType } from "./support/parquetUtils.js";
23
- import type { DomainUnion, ParquetGeometryEncodingUnion } from "./support/types.js";
23
+ import type { DomainUnion, ParquetDataUnion, ParquetGeometryEncodingUnion } from "./support/types.js";
24
24
  import type { RendererUnion } from "../renderers/types.js";
25
25
  import type { QueryProperties } from "../rest/support/Query.js";
26
26
  import type { CreatePopupTemplateOptions } from "../support/popupUtils.js";
@@ -39,10 +39,28 @@ import type { UniqueValueRendererProperties } from "../renderers/UniqueValueRend
39
39
  import type { ClassBreaksRendererProperties } from "../renderers/ClassBreaksRenderer.js";
40
40
  import type { SimpleRendererProperties } from "../renderers/SimpleRenderer.js";
41
41
  import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js";
42
+ import type { ParquetPortalItemDataProperties } from "./support/ParquetPortalItemData.js";
43
+ import type { ParquetFilesDataProperties } from "./support/ParquetFilesData.js";
42
44
  import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
43
45
  import type { LayerProperties } from "./Layer.js";
44
46
 
45
47
  export interface ParquetLayerProperties extends LayerProperties, CustomParametersMixinProperties, OperationalLayerProperties, ScaleRangeLayerProperties, OrderedLayerProperties, BlendLayerProperties, FeatureEffectLayerProperties, FeatureReductionLayerProperties, Partial<Pick<ParquetLayer, "copyright" | "definitionExpression" | "geometryType" | "labelsVisible" | "legendEnabled" | "outFields" | "popupEnabled">> {
48
+ /**
49
+ * The data backing the layer.
50
+ *
51
+ * @since 5.1
52
+ * @example
53
+ * // Create a parquet layer from multiple Parquet files
54
+ * const layer = new ParquetLayer({
55
+ * data: new ParquetFilesData({
56
+ * urls: [
57
+ * "https://example.com/path/to/parquetfile1.parquet",
58
+ * "https://example.com/path/to/parquetfile2.parquet"
59
+ * ]
60
+ * })
61
+ * });
62
+ */
63
+ data?: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" })) | null;
46
64
  /**
47
65
  * An array of fields in the layer.
48
66
  *
@@ -102,7 +120,9 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
102
120
  * @example
103
121
  * // ParquetLayer with WKB geometry encoding
104
122
  * const layer = new ParquetLayer({
105
- * urls: ["https://example.com/path/to/parquetfile.parquet"],
123
+ * data: new ParquetFilesData({
124
+ * urls: ["https://example.com/path/to/parquetfile.parquet"]
125
+ * }),
106
126
  * geometryEncoding: new ParquetGeometryEncodingWkb({
107
127
  * field: "polyGeometry"
108
128
  * }), // WKB geometry column
@@ -180,8 +200,9 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
180
200
  /**
181
201
  * Collection of urls for Parquet files.
182
202
  *
203
+ * @deprecated since 5.1. Use [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data) with [ParquetFilesData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/) instead.
183
204
  * @example
184
- * // create parquet layer from multiple Parquet files
205
+ * // Create a parquet layer from multiple Parquet files
185
206
  * const layer = new ParquetLayer({
186
207
  * urls: [
187
208
  * "https://example.com/path/to/parquetfile1.parquet",
@@ -189,7 +210,7 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
189
210
  * ]
190
211
  * });
191
212
  */
192
- urls?: ReadonlyArrayOrCollection<string>;
213
+ urls?: ReadonlyArrayOrCollection<string> | string[] | null;
193
214
  }
194
215
 
195
216
  /**
@@ -209,18 +230,20 @@ export interface ParquetLayerProperties extends LayerProperties, CustomParameter
209
230
  * or rely on auto-detection, see the [geometryEncoding](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#geometryEncoding) property.
210
231
  *
211
232
  * ParquetLayers may be created by either:
212
- * ###### Specifying the [urls](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#urls) of the Parquet files.
233
+ * ###### Specifying the [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data) for the Parquet files.
213
234
  *
214
- * The ParquetLayer can be loaded by setting its [urls](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#urls) property to the urls of the Parquet files.
235
+ * The ParquetLayer can be loaded by setting its [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data) property to file-backed data.
215
236
  * The following snippet shows how to add a new ParquetLayer to the map.
216
237
  *
217
238
  * ```js
218
239
  * // Add the Parquet files from given urls as a parquet layer.
219
240
  * const layer = new ParquetLayer({
220
- * urls: [
221
- * "url-to-parquet-file1.parquet",
222
- * "url-to-parquet-file2.parquet"
223
- * ]
241
+ * data: new ParquetFilesData({
242
+ * urls: [
243
+ * "url-to-parquet-file1.parquet",
244
+ * "url-to-parquet-file2.parquet"
245
+ * ]
246
+ * })
224
247
  * });
225
248
  * map.add(layer);
226
249
  * ```
@@ -277,10 +300,12 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
277
300
  /**
278
301
  * @example
279
302
  * const layer = new ParquetLayer({
280
- * urls: [
281
- * "https://example.com/path/to/parquetfile1.parquet",
282
- * "https://example.com/path/to/parquetfile2.parquet"
283
- * ]
303
+ * data: new ParquetFilesData({
304
+ * urls: [
305
+ * "https://example.com/path/to/parquetfile1.parquet",
306
+ * "https://example.com/path/to/parquetfile2.parquet"
307
+ * ]
308
+ * })
284
309
  * });
285
310
  * mapElement.map.add(layer); // adds the layer to the map
286
311
  */
@@ -289,6 +314,23 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
289
314
  get capabilities(): FeatureLayerCapabilities | null | undefined;
290
315
  /** Copyright information for the layer. */
291
316
  accessor copyright: string | null | undefined;
317
+ /**
318
+ * The data backing the layer.
319
+ *
320
+ * @since 5.1
321
+ * @example
322
+ * // Create a parquet layer from multiple Parquet files
323
+ * const layer = new ParquetLayer({
324
+ * data: new ParquetFilesData({
325
+ * urls: [
326
+ * "https://example.com/path/to/parquetfile1.parquet",
327
+ * "https://example.com/path/to/parquetfile2.parquet"
328
+ * ]
329
+ * })
330
+ * });
331
+ */
332
+ get data(): ParquetDataUnion | null | undefined;
333
+ set data(value: (ParquetFilesDataProperties | (ParquetPortalItemDataProperties & { type: "portal-item" })) | null | undefined);
292
334
  /**
293
335
  * The SQL where clause used to filter features on the client. Only the features that satisfy the definition
294
336
  * expression are displayed in the map. Setting a definition expression is useful
@@ -301,9 +343,11 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
301
343
  * @example
302
344
  * // Set definition expression in constructor to only display water wells with Status = 'Constructed'
303
345
  * const layer = new ParquetLayer({
304
- * urls: [
305
- * "https://jsapi.maps.arcgis.com/sharing/rest/content/items/6ab6f959c1684eb5a54db91644a89747/data",
306
- * ],
346
+ * data: new ParquetFilesData({
347
+ * urls: [
348
+ * "https://jsapi.maps.arcgis.com/sharing/rest/content/items/6ab6f959c1684eb5a54db91644a89747/data",
349
+ * ]
350
+ * }),
307
351
  * definitionExpression: "Status = 'Constructed'"
308
352
  * });
309
353
  * @example
@@ -385,7 +429,9 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
385
429
  * @example
386
430
  * // ParquetLayer with WKB geometry encoding
387
431
  * const layer = new ParquetLayer({
388
- * urls: ["https://example.com/path/to/parquetfile.parquet"],
432
+ * data: new ParquetFilesData({
433
+ * urls: ["https://example.com/path/to/parquetfile.parquet"]
434
+ * }),
389
435
  * geometryEncoding: new ParquetGeometryEncodingWkb({
390
436
  * field: "polyGeometry"
391
437
  * }), // WKB geometry column
@@ -402,7 +448,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
402
448
  * Non-spatial Parquet files do not have geometry object that represent geographic features.
403
449
  * The [geometryType](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#geometryType) of the layer will be `null` if the `isTable` is `true`.
404
450
  *
405
- * A non-spatial table instance can be created from the [urls](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#urls) and the table must be loaded by calling [load()](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#load) method.
451
+ * A non-spatial table instance can be created from [file-backed layer data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data) and the table must be loaded by calling [load()](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#load).
406
452
  *
407
453
  * @default false
408
454
  * @since 4.34
@@ -535,8 +581,9 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
535
581
  /**
536
582
  * Collection of urls for Parquet files.
537
583
  *
584
+ * @deprecated since 5.1. Use [data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data) with [ParquetFilesData](https://developers.arcgis.com/javascript/latest/references/core/layers/support/ParquetFilesData/) instead.
538
585
  * @example
539
- * // create parquet layer from multiple Parquet files
586
+ * // Create a parquet layer from multiple Parquet files
540
587
  * const layer = new ParquetLayer({
541
588
  * urls: [
542
589
  * "https://example.com/path/to/parquetfile1.parquet",
@@ -545,7 +592,7 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
545
592
  * });
546
593
  */
547
594
  get urls(): Collection<string>;
548
- set urls(value: ReadonlyArrayOrCollection<string>);
595
+ set urls(value: ReadonlyArrayOrCollection<string> | string[] | null | undefined);
549
596
  /**
550
597
  * Creates a popup template for the layer, populated with all the fields of the layer.
551
598
  *
@@ -731,9 +778,11 @@ export default class ParquetLayer extends ParquetLayerSuperclass {
731
778
  * });
732
779
  * @example
733
780
  * const layer = new ParquetLayer({
734
- * urls: [
735
- * "parquet-file-url1.parquet"
736
- * ]
781
+ * data: new ParquetFilesData({
782
+ * urls: [
783
+ * "parquet-file-url1.parquet"
784
+ * ]
785
+ * })
737
786
  * });
738
787
  *
739
788
  * const query = new Query();
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import r from"../PopupTemplate.js";import{ClonableMixin as t}from"../core/Clonable.js";import i from"../core/Collection.js";import o from"../core/Error.js";import has from"../core/has.js";import{MultiOriginJSONSupportMixin as s}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as n}from"../core/object.js";import{watch as p}from"../core/reactiveUtils.js";import{property as a}from"../core/accessorSupport/decorators/property.js";import{reader as l}from"../core/accessorSupport/decorators/reader.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import y from"../geometry/SpatialReference.js";import c from"../graphic/ParquetGraphicOrigin.js";import f from"./Layer.js";import{ParquetSource as h}from"./graphics/sources/ParquetSource.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{CustomParametersMixin as j}from"./mixins/CustomParametersMixin.js";import{FeatureEffectLayer as v}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as w}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as b}from"./mixins/OperationalLayer.js";import{OrderedLayer as O}from"./mixins/OrderedLayer.js";import{ScaleRangeLayer as x}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as q,legendEnabled as E,popupEnabled as F}from"./support/commonProperties.js";import I from"./support/FeatureTemplate.js";import S from"./support/Field.js";import{defineFieldProperties as T}from"./support/fieldProperties.js";import{fixRendererFields as P}from"./support/fieldUtils.js";import R from"./support/GeometryEncodingLocation.js";import L from"./support/GeometryEncodingWkb.js";import U from"./support/LabelClass.js";import{reader as _}from"./support/labelingInfo.js";import{parquetGeometryTypeKebabDict as D}from"./support/parquetUtils.js";import{rendererTypes as z}from"../renderers/support/typeUtils.js";import C from"../rest/support/Query.js";import{t as Q}from"../chunks/persistableUrlUtils.js";import{createPopupTemplate as k}from"../support/popupUtils.js";const G=T(),J="__OBJECTID",M={types:{key:"type",base:null,typeMap:{wkb:L,location:R}},json:{name:"layerDefinition.geometryEncoding",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryEncoding"}}}}};let N=class extends(w(v(g(O(x(b(s(j(t(f)))))))))){constructor(e){super(e),this.copyright=null,this.definitionExpression=null,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new c(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=J,this.operationalLayerType="ParquetLayer",this.outFields=null,this.persistenceEnabled=!!has("parquetlayer-persistence-enabled"),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.title="Parquet",this.type="parquet",this.urls=new i}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this.addHandles([p(()=>this.urls,e=>this.source?.updateFiles(e.items)),p(()=>this.customParameters,e=>this.source?.setCustomParameters(e))]),this}get capabilities(){return this.source?.capabilities}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,r,t,i){const o=e.filter(e=>!(e.name===J&&"oid"===e.type)).map(e=>e.toJSON(i));n(t,o,r)}get isTable(){return null==this.geometryEncoding&&null==this.displayOptimization}set renderer(e){P(e,this.fieldsIndex),this._set("renderer",e)}readUrls(e){return new i("files"===e.type?e.urls:[])}writeUrls(e,r,t,i){const s=[];if(e?.length){i={blockedRelativeUrls:i?.blockedRelativeUrls};for(let r of e)r=Q(r,i),r&&s.push(r)}s.length?r.source={type:"files",urls:s}:i.messages?.push(new o("parquet-layer:missing-urls","Missing or empty 'urls'",{layer:this}))}createPopupTemplate(e){return k(this,e)}createQuery(){const e=new C;return e.returnGeometry=!0,e.outFields=["*"],e.where=this.definitionExpression||"1=1",e}async createSource(e){const r=new h({layer:this});return await r.load(e),r}getFieldDomain(e,r){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,r){await this.load();const t=await this.source.queryFeatures(this._normalizeQuery(e),r),i=this.graphicOrigin;if(t?.features)for(const o of t.features)o.layer=o.sourceLayer=this,o.origin=i;return t}async queryObjectIds(e,r){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),r)}async queryFeatureCount(e,r){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),r)}async queryExtent(e,r){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),r)}_normalizeQuery(e){return C.from(e)??this.createQuery()}async _load(e){const r=await this.createSource(e);this._set("source",r),this.read(r.sourceJSON,{origin:"service"}),["fields"].forEach(e=>this.revertToOrigin(e,"service")),P(this.renderer,this.fieldsIndex),null==this.spatialReference&&(this.spatialReference=y.WGS84)}};e([a({readOnly:!0,json:{read:!1,write:!1}})],N.prototype,"capabilities",null),e([a({type:String})],N.prototype,"copyright",void 0),e([a({readOnly:!0})],N.prototype,"defaultPopupTemplate",null),e([a({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],N.prototype,"definitionExpression",void 0),e([a()],N.prototype,"displayOptimization",void 0),e([a({type:[S],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],N.prototype,"fields",void 0),e([d("fields")],N.prototype,"writeFields",null),e([a(G.fieldsIndex)],N.prototype,"fieldsIndex",void 0),e([a(M)],N.prototype,"geometryEncoding",void 0),e([a({type:m,json:{name:"extent"}})],N.prototype,"fullExtent",void 0),e([a({type:D.apiValues,json:{name:"layerDefinition.geometryType",read:{reader:D.read},write:{writer:D.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryType",reader:D.read}}}}})],N.prototype,"geometryType",void 0),e([a({readOnly:!0,clonable:!1})],N.prototype,"graphicOrigin",void 0),e([a(q)],N.prototype,"labelsVisible",void 0),e([a({type:[U],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:_},write:!0}})],N.prototype,"labelingInfo",void 0),e([a(E)],N.prototype,"legendEnabled",void 0),e([a()],N.prototype,"file",void 0),e([a({type:String,readOnly:!0})],N.prototype,"objectIdField",void 0),e([a({type:["ParquetLayer"]})],N.prototype,"operationalLayerType",void 0),e([a(G.outFields)],N.prototype,"outFields",void 0),e([a(F)],N.prototype,"popupEnabled",void 0),e([a({type:r,json:{name:"popupInfo",write:!0}})],N.prototype,"popupTemplate",void 0),e([a({types:z,json:{name:"layerDefinition.drawingInfo.renderer",write:!0,origins:{service:{read:{source:"drawingInfo.renderer"}}}}})],N.prototype,"renderer",null),e([a({type:h,readOnly:!0,cast:null,json:{read:!1}})],N.prototype,"source",void 0),e([a({type:y,json:{name:"layerDefinition.spatialReference",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"extent.spatialReference"}}}}})],N.prototype,"spatialReference",void 0),e([a({type:[I]})],N.prototype,"templates",void 0),e([a()],N.prototype,"title",void 0),e([a({json:{read:!1},readOnly:!0})],N.prototype,"type",void 0),e([a({type:i.ofType(String),json:{name:"source",write:{isRequired:!0,ignoreOrigin:!0}}})],N.prototype,"urls",void 0),e([l("urls")],N.prototype,"readUrls",null),e([d("urls")],N.prototype,"writeUrls",null),N=e([u("esri.layers.ParquetLayer")],N);const V=N;export{V as default};
2
+ import{__decorate as e}from"tslib";import r from"../PopupTemplate.js";import{ClonableMixin as t}from"../core/Clonable.js";import i from"../core/Collection.js";import{deprecatedProperty as o}from"../core/deprecate.js";import s from"../core/Error.js";import has from"../core/has.js";import p from"../core/Logger.js";import{MultiOriginJSONSupportMixin as n}from"../core/MultiOriginJSONSupport.js";import{setDeepValue as a}from"../core/object.js";import{property as l}from"../core/accessorSupport/decorators/property.js";import{subclass as u}from"../core/accessorSupport/decorators/subclass.js";import{writer as d}from"../core/accessorSupport/decorators/writer.js";import m from"../geometry/Extent.js";import y from"../geometry/SpatialReference.js";import c from"../graphic/ParquetGraphicOrigin.js";import f from"./Layer.js";import{ParquetSource as h}from"./graphics/sources/ParquetSource.js";import{BlendLayer as g}from"./mixins/BlendLayer.js";import{CustomParametersMixin as j}from"./mixins/CustomParametersMixin.js";import{FeatureEffectLayer as w}from"./mixins/FeatureEffectLayer.js";import{FeatureReductionLayer as b}from"./mixins/FeatureReductionLayer.js";import{OperationalLayer as v}from"./mixins/OperationalLayer.js";import{OrderedLayer as O}from"./mixins/OrderedLayer.js";import{ScaleRangeLayer as x}from"./mixins/ScaleRangeLayer.js";import{labelsVisible as q,legendEnabled as E,popupEnabled as I}from"./support/commonProperties.js";import P from"./support/FeatureTemplate.js";import F from"./support/Field.js";import{defineFieldProperties as T}from"./support/fieldProperties.js";import{fixRendererFields as L}from"./support/fieldUtils.js";import S from"./support/GeometryEncodingLocation.js";import _ from"./support/GeometryEncodingWkb.js";import R from"./support/LabelClass.js";import{reader as D}from"./support/labelingInfo.js";import z from"./support/ParquetFilesData.js";import Q from"./support/ParquetPortalItemData.js";import{parquetGeometryTypeKebabDict as U}from"./support/parquetUtils.js";import{rendererTypes as C}from"../renderers/support/typeUtils.js";import k from"../rest/support/Query.js";import{createPopupTemplate as G}from"../support/popupUtils.js";const J=T(),M="__OBJECTID",N={types:{key:"type",base:null,typeMap:{wkb:_,location:S}},json:{name:"layerDefinition.geometryEncoding",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryEncoding"}}}}};let V=class extends(b(w(g(O(x(v(n(j(t(f)))))))))){constructor(e){super(e),this._emptyUrls=new i,this.copyright=null,this.definitionExpression=null,this.displayOptimization=null,this.fields=null,this.fieldsIndex=null,this.geometryEncoding=null,this.fullExtent=null,this.geometryType=null,this.graphicOrigin=new c(this),this.labelsVisible=!0,this.labelingInfo=null,this.objectIdField=M,this.operationalLayerType="ParquetLayer",this.outFields=null,this.persistenceEnabled=!!has("parquetlayer-persistence-enabled"),this.popupTemplate=null,this.source=null,this.spatialReference=null,this.templates=null,this.title="Parquet",this.type="parquet",this.data=null}destroy(){this.source?.destroy()}async load(e){return this.addResolvingPromise(this._load(e)),this}get capabilities(){return this.source?.capabilities}get defaultPopupTemplate(){return this.createPopupTemplate()}writeFields(e,r,t,i){const o=e.filter(e=>!(e.name===M&&"oid"===e.type)).map(e=>e.toJSON(i));a(t,o,r)}get isTable(){return null==this.geometryEncoding&&null==this.displayOptimization}set renderer(e){L(e,this.fieldsIndex),this._set("renderer",e)}writeData(e,r,t,i){if(!e)return;const o=e.write({},i);"portal-item"!==o.type?o.urls.length&&(r.source=o):i.messages?.push(new s("parquet-layer:unsupported-data","Portal-item-backed Parquet data is not yet supported in web maps",{layer:this}))}get urls(){return"files"===this.data?.type?this.data.urls:this._emptyUrls}set urls(e){o(p.getLogger(this),"urls",{replacement:"data",version:"5.1",warnOnce:!0}),this.data=new z({urls:this._normalizeUrls(e)})}createPopupTemplate(e){return G(this,e)}createQuery(){const e=new k;return e.returnGeometry=!0,e.outFields=["*"],e.where=this.definitionExpression||"1=1",e}async createSource(e){const r=new h({layer:this});return await r.load(e),r}getFieldDomain(e,r){return null}getField(e){return this.fieldsIndex.get(e)}async queryFeatures(e,r){await this.load();const t=await this.source.queryFeatures(this._normalizeQuery(e),r),i=this.graphicOrigin;if(t?.features)for(const o of t.features)o.layer=o.sourceLayer=this,o.origin=i;return t}async queryObjectIds(e,r){return await this.load(),this.source.queryObjectIds(this._normalizeQuery(e),r)}async queryFeatureCount(e,r){return await this.load(),this.source.queryFeatureCount(this._normalizeQuery(e),r)}async queryExtent(e,r){return await this.load(),this.source.queryExtent(this._normalizeQuery(e),r)}_normalizeQuery(e){return k.from(e)??this.createQuery()}_normalizeUrls(e){return Array.isArray(e)?new i(e):e??new i}async _load(e){const r=await this.createSource(e);this._set("source",r),this.read(r.sourceJSON,{origin:"service"}),["fields"].forEach(e=>this.revertToOrigin(e,"service")),L(this.renderer,this.fieldsIndex),null==this.spatialReference&&(this.spatialReference=y.WGS84)}};e([l({readOnly:!0,json:{read:!1,write:!1}})],V.prototype,"capabilities",null),e([l({type:String})],V.prototype,"copyright",void 0),e([l({readOnly:!0})],V.prototype,"defaultPopupTemplate",null),e([l({type:String,json:{name:"layerDefinition.definitionExpression",write:{enabled:!0,allowNull:!0}}})],V.prototype,"definitionExpression",void 0),e([l()],V.prototype,"displayOptimization",void 0),e([l({type:[F],json:{name:"layerDefinition.fields",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{name:"fields"}}}})],V.prototype,"fields",void 0),e([d("fields")],V.prototype,"writeFields",null),e([l(J.fieldsIndex)],V.prototype,"fieldsIndex",void 0),e([l(N)],V.prototype,"geometryEncoding",void 0),e([l({type:m,json:{name:"extent"}})],V.prototype,"fullExtent",void 0),e([l({type:U.apiValues,json:{name:"layerDefinition.geometryType",read:{reader:U.read},write:{writer:U.write,ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"geometryType",reader:U.read}}}}})],V.prototype,"geometryType",void 0),e([l({readOnly:!0,clonable:!1})],V.prototype,"graphicOrigin",void 0),e([l(q)],V.prototype,"labelsVisible",void 0),e([l({type:[R],json:{name:"layerDefinition.drawingInfo.labelingInfo",read:{reader:D},write:!0}})],V.prototype,"labelingInfo",void 0),e([l(E)],V.prototype,"legendEnabled",void 0),e([l()],V.prototype,"file",void 0),e([l({type:String,readOnly:!0})],V.prototype,"objectIdField",void 0),e([l({type:["ParquetLayer"]})],V.prototype,"operationalLayerType",void 0),e([l(J.outFields)],V.prototype,"outFields",void 0),e([l(I)],V.prototype,"popupEnabled",void 0),e([l({type:r,json:{name:"popupInfo",write:!0}})],V.prototype,"popupTemplate",void 0),e([l({types:C,json:{name:"layerDefinition.drawingInfo.renderer",write:!0,origins:{service:{read:{source:"drawingInfo.renderer"}}}}})],V.prototype,"renderer",null),e([l({type:h,readOnly:!0,cast:null,json:{read:!1}})],V.prototype,"source",void 0),e([l({type:y,json:{name:"layerDefinition.spatialReference",write:{ignoreOrigin:!0,isRequired:!0},origins:{service:{read:{source:"extent.spatialReference"}}}}})],V.prototype,"spatialReference",void 0),e([l({type:[P]})],V.prototype,"templates",void 0),e([l()],V.prototype,"title",void 0),e([l({json:{read:!1},readOnly:!0})],V.prototype,"type",void 0),e([l({types:{key:"type",base:null,typeMap:{files:z,"portal-item":Q}},json:{name:"source",origins:{"web-map":{write:{target:"source",ignoreOrigin:!0}}}}})],V.prototype,"data",void 0),e([d("web-map","data")],V.prototype,"writeData",null),e([l({type:i.ofType(String),json:{read:!1,write:!1}})],V.prototype,"urls",null),V=e([u("esri.layers.ParquetLayer")],V);const A=V;export{A as default};
@@ -344,9 +344,9 @@ export interface SceneLayerEvents extends EditBusLayerEvents, LayerEvents {}
344
344
  * [![san-francisco-buildings](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/scenelayer-buildings.avif)](https://tiles.arcgis.com/tiles/z2tnIkrLQ2BRzr6P/arcgis/rest/services/SanFrancisco_Bldgs/SceneServer)
345
345
  *
346
346
  * You can find many samples of SceneLayers in ArcGIS Online by
347
- * [searching the gallery](https://www.arcgis.com/home/search.html?start=1&sortOrder=desc&sortField=relevance&q=&focus=layers-weblayers-scenelayers).
347
+ * [searching the gallery](https://www.arcgis.com/home/search.html?restrict=false&sortField=relevance&sortOrder=desc&focus=layers-weblayers-3Dlayers).
348
348
  *
349
- * [![city-scene-layer-guide](https://developers.arcgis.com/javascript/latest/assets/images/guide/scene-layer/city-scene-layer-guide.avif)](https://www.arcgis.com/home/search.html?start=1&sortOrder=desc&sortField=relevance&q=&focus=layers-weblayers-scenelayers)
349
+ * [![city-scene-layer-guide](https://developers.arcgis.com/javascript/latest/assets/references/core/layers/city-scene-layer-guide.avif)](https://www.arcgis.com/home/search.html?restrict=false&sortField=relevance&sortOrder=desc&focus=layers-weblayers-3Dlayers)
350
350
  *
351
351
  * <span id="publishing-a-scenelayer"></span>
352
352
  * ## Publishing a SceneLayer