@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
@@ -23,9 +23,49 @@ export interface FeatureReductionBinningProperties extends Partial<Pick<FeatureR
23
23
  *
24
24
  * > [!WARNING]
25
25
  * >
26
- * > Support is limited in version 5.0. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
26
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
27
27
  *
28
28
  * @since 5.0
29
+ * @see [FeatureReductionBinning.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldConfiguration)
30
+ * @see [FeatureReductionBinning.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldAlias)
31
+ * @example
32
+ * // Adding a new field configuration
33
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
34
+ * // Check if there is already an existing configuration for fieldName
35
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
36
+ * if (!existingConfig) {
37
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
38
+ * const newConfigs = clone(layer.fieldConfigurations);
39
+ * newConfigs.push(newConfig);
40
+ * layer.fieldConfigurations = newConfigs;
41
+ * }
42
+ * };
43
+ * @example
44
+ * // Updating an existing field configuration
45
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
46
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
47
+ * if (existingConfig) {
48
+ * const newConfig = existingConfig.clone();
49
+ * newConfig.alias = alias;
50
+ * newConfig.fieldFormat = fieldFormat;
51
+ *
52
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
53
+ * const newConfigs = clone(layer.fieldConfigurations);
54
+ * newConfigs[index] = newConfig;
55
+ * layer.fieldConfigurations = newConfigs;
56
+ * }
57
+ * };
58
+ * @example
59
+ * // Deleting an existing field configuration
60
+ * const deleteConfig = (layer, fieldName) => {
61
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
62
+ * if (existingConfig) {
63
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
64
+ * var newConfigs = clone(layer.fieldConfigurations);
65
+ * newConfigs.splice(index, 1);
66
+ * layer.fieldConfigurations = newConfigs;
67
+ * }
68
+ * };
29
69
  */
30
70
  fieldConfigurations?: FieldConfigurationProperties[] | null;
31
71
  /**
@@ -333,9 +373,49 @@ export default class FeatureReductionBinning extends FeatureReductionBinningSupe
333
373
  *
334
374
  * > [!WARNING]
335
375
  * >
336
- * > Support is limited in version 5.0. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
376
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
337
377
  *
338
378
  * @since 5.0
379
+ * @see [FeatureReductionBinning.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldConfiguration)
380
+ * @see [FeatureReductionBinning.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldAlias)
381
+ * @example
382
+ * // Adding a new field configuration
383
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
384
+ * // Check if there is already an existing configuration for fieldName
385
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
386
+ * if (!existingConfig) {
387
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
388
+ * const newConfigs = clone(layer.fieldConfigurations);
389
+ * newConfigs.push(newConfig);
390
+ * layer.fieldConfigurations = newConfigs;
391
+ * }
392
+ * };
393
+ * @example
394
+ * // Updating an existing field configuration
395
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
396
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
397
+ * if (existingConfig) {
398
+ * const newConfig = existingConfig.clone();
399
+ * newConfig.alias = alias;
400
+ * newConfig.fieldFormat = fieldFormat;
401
+ *
402
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
403
+ * const newConfigs = clone(layer.fieldConfigurations);
404
+ * newConfigs[index] = newConfig;
405
+ * layer.fieldConfigurations = newConfigs;
406
+ * }
407
+ * };
408
+ * @example
409
+ * // Deleting an existing field configuration
410
+ * const deleteConfig = (layer, fieldName) => {
411
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
412
+ * if (existingConfig) {
413
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
414
+ * var newConfigs = clone(layer.fieldConfigurations);
415
+ * newConfigs.splice(index, 1);
416
+ * layer.fieldConfigurations = newConfigs;
417
+ * }
418
+ * };
339
419
  */
340
420
  get fieldConfigurations(): FieldConfiguration[] | null | undefined;
341
421
  set fieldConfigurations(value: FieldConfigurationProperties[] | null | undefined);
@@ -648,22 +728,20 @@ export default class FeatureReductionBinning extends FeatureReductionBinningSupe
648
728
  * @param fieldName - The name of the field.
649
729
  * @returns The field alias of the specified field.
650
730
  * @since 5.0
651
- * @see [fieldConfigurations](#fieldConfigurations)
652
- * @see [getFieldConfiguration()](#getFieldConfiguration)
653
- * @see [getField()](#getField)
731
+ * @see [FeatureReductionBinning.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#fieldConfigurations)
732
+ * @see [FeatureReductionBinning.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldConfiguration)
654
733
  */
655
734
  getFieldAlias(fieldName: string): string | null | undefined;
656
735
  /**
657
736
  * 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.
658
737
  *
659
- * Previously, field formatting was commonly retrieved from [FeatureLayer.popupTemplate.fieldInfos[x].format](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/#format). This is no longer needed, instead use [FeatureReductionBinning.getFieldConfiguration(fieldname).fieldFormat](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/#fieldFormat) to retrieve the field configuration formatting.
738
+ * 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.
660
739
  *
661
740
  * @param fieldName - The name of the field.
662
741
  * @returns The field configuration of the specified field.
663
742
  * @since 5.0
664
- * @see [fieldConfigurations](#fieldConfigurations)
665
- * @see [getFieldAlias()](#getFieldAlias)
666
- * @see [getField()](#getField)
743
+ * @see [FeatureReductionBinning.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#fieldConfigurations)
744
+ * @see [FeatureReductionBinning.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/#getFieldAlias)
667
745
  */
668
746
  getFieldConfiguration(fieldName: string): FieldConfiguration | null | undefined;
669
747
  }
@@ -111,9 +111,49 @@ export interface FeatureReductionClusterProperties extends Partial<Pick<FeatureR
111
111
  *
112
112
  * > [!WARNING]
113
113
  * >
114
- * > Support is limited in version 5.0. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
114
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
115
115
  *
116
116
  * @since 5.0
117
+ * @see [FeatureReductionCluster.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldConfiguration)
118
+ * @see [FeatureReductionCluster.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldAlias)
119
+ * @example
120
+ * // Adding a new field configuration
121
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
122
+ * // Check if there is already an existing configuration for fieldName
123
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
124
+ * if (!existingConfig) {
125
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
126
+ * const newConfigs = clone(layer.fieldConfigurations);
127
+ * newConfigs.push(newConfig);
128
+ * layer.fieldConfigurations = newConfigs;
129
+ * }
130
+ * };
131
+ * @example
132
+ * // Updating an existing field configuration
133
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
134
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
135
+ * if (existingConfig) {
136
+ * const newConfig = existingConfig.clone();
137
+ * newConfig.alias = alias;
138
+ * newConfig.fieldFormat = fieldFormat;
139
+ *
140
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
141
+ * const newConfigs = clone(layer.fieldConfigurations);
142
+ * newConfigs[index] = newConfig;
143
+ * layer.fieldConfigurations = newConfigs;
144
+ * }
145
+ * };
146
+ * @example
147
+ * // Deleting an existing field configuration
148
+ * const deleteConfig = (layer, fieldName) => {
149
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
150
+ * if (existingConfig) {
151
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
152
+ * var newConfigs = clone(layer.fieldConfigurations);
153
+ * newConfigs.splice(index, 1);
154
+ * layer.fieldConfigurations = newConfigs;
155
+ * }
156
+ * };
117
157
  */
118
158
  fieldConfigurations?: FieldConfigurationProperties[] | null;
119
159
  /**
@@ -730,9 +770,49 @@ export default class FeatureReductionCluster extends FeatureReductionClusterSupe
730
770
  *
731
771
  * > [!WARNING]
732
772
  * >
733
- * > Support is limited in version 5.0. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
773
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
734
774
  *
735
775
  * @since 5.0
776
+ * @see [FeatureReductionCluster.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldConfiguration)
777
+ * @see [FeatureReductionCluster.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldAlias)
778
+ * @example
779
+ * // Adding a new field configuration
780
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
781
+ * // Check if there is already an existing configuration for fieldName
782
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
783
+ * if (!existingConfig) {
784
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
785
+ * const newConfigs = clone(layer.fieldConfigurations);
786
+ * newConfigs.push(newConfig);
787
+ * layer.fieldConfigurations = newConfigs;
788
+ * }
789
+ * };
790
+ * @example
791
+ * // Updating an existing field configuration
792
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
793
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
794
+ * if (existingConfig) {
795
+ * const newConfig = existingConfig.clone();
796
+ * newConfig.alias = alias;
797
+ * newConfig.fieldFormat = fieldFormat;
798
+ *
799
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
800
+ * const newConfigs = clone(layer.fieldConfigurations);
801
+ * newConfigs[index] = newConfig;
802
+ * layer.fieldConfigurations = newConfigs;
803
+ * }
804
+ * };
805
+ * @example
806
+ * // Deleting an existing field configuration
807
+ * const deleteConfig = (layer, fieldName) => {
808
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
809
+ * if (existingConfig) {
810
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
811
+ * var newConfigs = clone(layer.fieldConfigurations);
812
+ * newConfigs.splice(index, 1);
813
+ * layer.fieldConfigurations = newConfigs;
814
+ * }
815
+ * };
736
816
  */
737
817
  get fieldConfigurations(): FieldConfiguration[] | null | undefined;
738
818
  set fieldConfigurations(value: FieldConfigurationProperties[] | null | undefined);
@@ -1218,22 +1298,20 @@ export default class FeatureReductionCluster extends FeatureReductionClusterSupe
1218
1298
  * @param fieldName - The name of the field.
1219
1299
  * @returns The field alias of the specified field.
1220
1300
  * @since 5.0
1221
- * @see [fieldConfigurations](#fieldConfigurations)
1222
- * @see [getFieldConfiguration()](#getFieldConfiguration)
1223
- * @see [getField()](#getField)
1301
+ * @see [FeatureReductionCluster.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#fieldConfigurations)
1302
+ * @see [FeatureReductionCluster.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldConfiguration)
1224
1303
  */
1225
1304
  getFieldAlias(fieldName: string): string | null | undefined;
1226
1305
  /**
1227
1306
  * 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.
1228
1307
  *
1229
- * Previously, field formatting was commonly retrieved from [FeatureLayer.popupTemplate.fieldInfos[x].format](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/#format). This is no longer needed, instead use [FeatureReductionCluster.getFieldConfiguration(fieldname).fieldFormat](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/#fieldFormat) to retrieve the field configuration formatting.
1308
+ * 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.
1230
1309
  *
1231
1310
  * @param fieldName - The name of the field.
1232
1311
  * @returns The field configuration of the specified field.
1233
1312
  * @since 5.0
1234
- * @see [fieldConfigurations](#fieldConfigurations)
1235
- * @see [getFieldAlias()](#getFieldAlias)
1236
- * @see [getField()](#getField)
1313
+ * @see [FeatureReductionCluster.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#fieldConfigurations)
1314
+ * @see [FeatureReductionCluster.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/#getFieldAlias)
1237
1315
  */
1238
1316
  getFieldConfiguration(fieldName: string): FieldConfiguration | null | undefined;
1239
1317
  }
@@ -37,7 +37,7 @@ export interface FieldConfigurationProperties extends Partial<Pick<FieldConfigur
37
37
  * > [!WARNING]
38
38
  * >
39
39
  * > **Known Limitations and Considerations:**
40
- * > - Field configuration support is currently limited to feature service-based [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) instances, including tables. Additional layer types and data sources, such as client-side graphics or feature collections, are not supported at this time. Support for additional layer types is planned for future releases.
40
+ * > - Field configuration support is currently limited to feature service-based [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/) instances, including tables, [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/), and [CatalogFootprintLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/). Setting field configurations for aggregate fields ([binning](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionBinning/) and [clustering](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FeatureReductionCluster/)) is also supported. Additional layer types and data sources, such as client-side graphics or feature collections, are not supported at this time. Support for additional layer types is planned for future releases.
41
41
  * > - Field configurations are not supported in expression or relationship contexts in Arcade expressions. For example, fields referenced as `expression/abc123` or `relationships/0/field` do not currently support field configurations.
42
42
  * > - The [FieldInfo.format](https://developers.arcgis.com/javascript/latest/references/core/popup/FieldInfo/#format) property is used for date and number formatting when applied to unsupported layer types or contexts.
43
43
  * > - When displaying [date/time fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/DateTimeFieldFormat/), set the [DateTimeFieldFormat.timeStyle](https://developers.arcgis.com/javascript/latest/references/core/layers/support/DateTimeFieldFormat/#timeStyle) property to either `long` or `full` if the view’s [MapView.timeZone](https://developers.arcgis.com/javascript/latest/references/core/views/MapView/#timeZone) is set to `unknown` and the field includes time information.
@@ -0,0 +1,46 @@
1
+ import type Collection from "../../core/Collection.js";
2
+ import type { Clonable } from "../../core/Clonable.js";
3
+ import type { JSONSupportMixin } from "../../core/JSONSupport.js";
4
+ import type { ReadonlyArrayOrCollection } from "../../core/Collection.js";
5
+
6
+ export interface ParquetFilesDataProperties {
7
+ /**
8
+ * Collection of urls for Parquet files.
9
+ *
10
+ * @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.
11
+ * @example
12
+ * // Legacy file-backed alias
13
+ * const layer = new ParquetLayer({
14
+ * urls: [
15
+ * "https://example.com/path/to/parquetfile1.parquet",
16
+ * "https://example.com/path/to/parquetfile2.parquet"
17
+ * ]
18
+ * });
19
+ */
20
+ urls?: ReadonlyArrayOrCollection<string>;
21
+ }
22
+
23
+ /**
24
+ * File-backed data source configuration for a [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/).
25
+ *
26
+ * @see [ParquetLayer.data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
27
+ */
28
+ export default class ParquetFilesData extends ParquetFilesDataSuperclass {
29
+ constructor(properties?: ParquetFilesDataProperties);
30
+ /**
31
+ * Collection of urls for Parquet files.
32
+ *
33
+ * @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.
34
+ * @example
35
+ * // Legacy file-backed alias
36
+ * const layer = new ParquetLayer({
37
+ * urls: [
38
+ * "https://example.com/path/to/parquetfile1.parquet",
39
+ * "https://example.com/path/to/parquetfile2.parquet"
40
+ * ]
41
+ * });
42
+ */
43
+ get urls(): Collection<string>;
44
+ set urls(value: ReadonlyArrayOrCollection<string>);
45
+ }
46
+ declare const ParquetFilesDataSuperclass: typeof Clonable & typeof JSONSupportMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{__decorate as r}from"tslib";import{Clonable as o}from"../../core/Clonable.js";import s from"../../core/Collection.js";import e from"../../core/Error.js";import{JSONSupportMixin as t}from"../../core/JSONSupport.js";import{property as i}from"../../core/accessorSupport/decorators.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import{t as l}from"../../chunks/persistableUrlUtils.js";import{writer as a}from"../../core/accessorSupport/decorators/writer.js";let c=class extends(t(o)){constructor(r){super(r),this.type="files",this.urls=new s}writeUrls(r,o,s,t){const i=r.toArray().map(r=>l(r,t)).filter(r=>!!r);i.length?o.urls=i:t.messages?.push(new e("parquet-layer:missing-urls","Missing or empty 'urls'",{data:this}))}};r([i({type:["files"],readOnly:!0,json:{read:!1,write:{ignoreOrigin:!0}}})],c.prototype,"type",void 0),r([i({type:s.ofType(String),json:{write:{isRequired:!0}}})],c.prototype,"urls",void 0),r([a("urls")],c.prototype,"writeUrls",null),c=r([p("esri.layers.support.ParquetFilesData")],c);export{c as default};
@@ -0,0 +1,25 @@
1
+ import type PortalItem from "../../portal/PortalItem.js";
2
+ import type { Clonable } from "../../core/Clonable.js";
3
+ import type { JSONSupportMixin } from "../../core/JSONSupport.js";
4
+ import type { PortalItemProperties } from "../../portal/PortalItem.js";
5
+
6
+ export interface ParquetPortalItemDataProperties {
7
+ /** The portal item containing the Parquet data. */
8
+ portalItem?: PortalItemProperties;
9
+ }
10
+
11
+ /**
12
+ * Portal-item-backed data source configuration for a [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/).
13
+ *
14
+ * @beta
15
+ * @see [ParquetLayer.data](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/#data)
16
+ */
17
+ export default class ParquetPortalItemData extends ParquetPortalItemDataSuperclass {
18
+ constructor(properties?: ParquetPortalItemDataProperties);
19
+ /** The portal item containing the Parquet data. */
20
+ get portalItem(): PortalItem;
21
+ set portalItem(value: PortalItemProperties);
22
+ /** The type of data source. */
23
+ get type(): "portal-item";
24
+ }
25
+ declare const ParquetPortalItemDataSuperclass: typeof Clonable & typeof JSONSupportMixin
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{__decorate as r}from"tslib";import{Clonable as t}from"../../core/Clonable.js";import{JSONSupportMixin as o}from"../../core/JSONSupport.js";import{property as e}from"../../core/accessorSupport/decorators.js";import{subclass as p}from"../../core/accessorSupport/decorators/subclass.js";import s from"../../portal/PortalItem.js";import{reader as a}from"../../core/accessorSupport/decorators/reader.js";import{writer as i}from"../../core/accessorSupport/decorators/writer.js";let m=class extends(o(t)){constructor(r){super(r),this.type="portal-item"}readPortalItem(r,t,o){if(t.itemId)return new s({id:t.itemId,portal:o?.portal})}writePortalItem(r,t){r?.id&&(t.itemId=r.id)}};r([e({type:["portal-item"],nonNullable:!0,readOnly:!0,json:{read:!1,write:{isRequired:!0}}})],m.prototype,"type",void 0),r([e({type:s,json:{write:{isRequired:!0}}})],m.prototype,"portalItem",void 0),r([a("portalItem",["itemId"])],m.prototype,"readPortalItem",null),r([i("portalItem",{itemId:{type:String}})],m.prototype,"writePortalItem",null),m=r([p("esri.layers.support.ParquetPortalItemData")],m);const l=m;export{l as default};
@@ -5,6 +5,7 @@ import type SpatialReference from "../../geometry/SpatialReference.js";
5
5
  import type SubtypeGroupLayer from "../SubtypeGroupLayer.js";
6
6
  import type FeatureTemplate from "./FeatureTemplate.js";
7
7
  import type Field from "./Field.js";
8
+ import type FieldConfiguration from "./FieldConfiguration.js";
8
9
  import type FieldsIndex from "./FieldsIndex.js";
9
10
  import type LabelClass from "./LabelClass.js";
10
11
  import type Relationship from "./Relationship.js";
@@ -29,6 +30,7 @@ import type { QueryProperties } from "../../rest/support/Query.js";
29
30
  import type { RelationshipQueryProperties } from "../../rest/support/RelationshipQuery.js";
30
31
  import type { CreatePopupTemplateOptions } from "../../support/popupUtils.js";
31
32
  import type { AttributeTableTemplateProperties } from "../../tables/AttributeTableTemplate.js";
33
+ import type { FieldConfigurationProperties } from "./FieldConfiguration.js";
32
34
  import type { FormTemplateProperties } from "../../form/FormTemplate.js";
33
35
  import type { LabelClassProperties } from "./LabelClass.js";
34
36
  import type { PopupTemplateProperties } from "../../PopupTemplate.js";
@@ -48,6 +50,58 @@ export interface SubtypeSublayerProperties extends LoadableMixinProperties, Iden
48
50
  * @since 4.31
49
51
  */
50
52
  attributeTableTemplate?: AttributeTableTemplateProperties | null;
53
+ /**
54
+ * 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.
55
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
56
+ * > [!WARNING]
57
+ * >
58
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
59
+ *
60
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations).
61
+ *
62
+ * @since 5.1
63
+ * @see [SubtypeSublayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldConfiguration)
64
+ * @see [SubtypeSublayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldAlias)
65
+ * @example
66
+ * // Adding a new field configuration
67
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
68
+ * // Check if there is already an existing configuration for fieldName
69
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
70
+ * if (!existingConfig) {
71
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
72
+ * const newConfigs = clone(layer.fieldConfigurations);
73
+ * newConfigs.push(newConfig);
74
+ * layer.fieldConfigurations = newConfigs;
75
+ * }
76
+ * };
77
+ * @example
78
+ * // Updating an existing field configuration
79
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
80
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
81
+ * if (existingConfig) {
82
+ * const newConfig = existingConfig.clone();
83
+ * newConfig.alias = alias;
84
+ * newConfig.fieldFormat = fieldFormat;
85
+ *
86
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
87
+ * const newConfigs = clone(layer.fieldConfigurations);
88
+ * newConfigs[index] = newConfig;
89
+ * layer.fieldConfigurations = newConfigs;
90
+ * }
91
+ * };
92
+ * @example
93
+ * // Deleting an existing field configuration
94
+ * const deleteConfig = (layer, fieldName) => {
95
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
96
+ * if (existingConfig) {
97
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
98
+ * var newConfigs = clone(layer.fieldConfigurations);
99
+ * newConfigs.splice(index, 1);
100
+ * layer.fieldConfigurations = newConfigs;
101
+ * }
102
+ * };
103
+ */
104
+ fieldConfigurations?: FieldConfigurationProperties[] | null;
51
105
  /**
52
106
  * The [template](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/) used in an associated layer's [FeatureForm](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/). All of the properties and field configurations set on the layer's [FeatureForm](https://developers.arcgis.com/javascript/latest/references/core/widgets/FeatureForm/) are handled via the [FormTemplate](https://developers.arcgis.com/javascript/latest/references/core/form/FormTemplate/).
53
107
  *
@@ -230,6 +284,59 @@ export default class SubtypeSublayer extends SubtypeSublayerSuperclass {
230
284
  * @since 4.26
231
285
  */
232
286
  get effectiveEditingEnabled(): boolean;
287
+ /**
288
+ * 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.
289
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
290
+ * > [!WARNING]
291
+ * >
292
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
293
+ *
294
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations).
295
+ *
296
+ * @since 5.1
297
+ * @see [SubtypeSublayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldConfiguration)
298
+ * @see [SubtypeSublayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldAlias)
299
+ * @example
300
+ * // Adding a new field configuration
301
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
302
+ * // Check if there is already an existing configuration for fieldName
303
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
304
+ * if (!existingConfig) {
305
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
306
+ * const newConfigs = clone(layer.fieldConfigurations);
307
+ * newConfigs.push(newConfig);
308
+ * layer.fieldConfigurations = newConfigs;
309
+ * }
310
+ * };
311
+ * @example
312
+ * // Updating an existing field configuration
313
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
314
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
315
+ * if (existingConfig) {
316
+ * const newConfig = existingConfig.clone();
317
+ * newConfig.alias = alias;
318
+ * newConfig.fieldFormat = fieldFormat;
319
+ *
320
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
321
+ * const newConfigs = clone(layer.fieldConfigurations);
322
+ * newConfigs[index] = newConfig;
323
+ * layer.fieldConfigurations = newConfigs;
324
+ * }
325
+ * };
326
+ * @example
327
+ * // Deleting an existing field configuration
328
+ * const deleteConfig = (layer, fieldName) => {
329
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
330
+ * if (existingConfig) {
331
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
332
+ * var newConfigs = clone(layer.fieldConfigurations);
333
+ * newConfigs.splice(index, 1);
334
+ * layer.fieldConfigurations = newConfigs;
335
+ * }
336
+ * };
337
+ */
338
+ get fieldConfigurations(): FieldConfiguration[] | null | undefined;
339
+ set fieldConfigurations(value: FieldConfigurationProperties[] | null | undefined);
233
340
  /**
234
341
  * An array of fields in the layer. Each field represents an attribute
235
342
  * that may contain a value for each feature in the layer. For example,
@@ -638,6 +745,19 @@ export default class SubtypeSublayer extends SubtypeSublayerSuperclass {
638
745
  * }
639
746
  */
640
747
  applyEdits(edits: Edits, options?: EditOptions): Promise<EditsResult>;
748
+ /**
749
+ * Creates default field configuration objects that define the display properties of fields.
750
+ * These field configurations are generated from the layer's [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fields) property.
751
+ *
752
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
753
+ * @since 5.1
754
+ * @see [SubtypeSublayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations)
755
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
756
+ * @example
757
+ * const fieldConfigs = layer.createFieldConfigurations();
758
+ * layer.fieldConfigurations = fieldConfigs;
759
+ */
760
+ createFieldConfigurations(): FieldConfiguration[] | null | undefined;
641
761
  /**
642
762
  * Creates a popup template for the layer, populated with all the fields of the layer.
643
763
  *
@@ -708,6 +828,33 @@ export default class SubtypeSublayer extends SubtypeSublayerSuperclass {
708
828
  * @see [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fields)
709
829
  */
710
830
  getField(fieldName: string): Field | null | undefined;
831
+ /**
832
+ * 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.
833
+ *
834
+ * The alias is resolved in the following order:
835
+ *
836
+ * 1. [Field configuration alias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations)
837
+ * 2. [Field alias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fields) defined on the field.
838
+ *
839
+ * @param fieldName - The name of the field for which to get the alias.
840
+ * @returns The alias of the specified field.
841
+ * @since 5.1
842
+ * @see [SubtypeSublayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations)
843
+ * @see [SubtypeSublayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldConfiguration)
844
+ */
845
+ getFieldAlias(fieldName: string): string | null | undefined;
846
+ /**
847
+ * 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.
848
+ *
849
+ * 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.
850
+ *
851
+ * @param fieldName - The name of the field for which to get the configuration.
852
+ * @returns The field configuration of the specified field.
853
+ * @since 5.1
854
+ * @see [SubtypeSublayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#fieldConfigurations)
855
+ * @see [SubtypeSublayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/#getFieldAlias)
856
+ */
857
+ getFieldConfiguration(fieldName: string): FieldConfiguration | null | undefined;
711
858
  /**
712
859
  * Returns the [Domain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/Domain/) associated with the given field name. The domain can be either a
713
860
  * [CodedValueDomain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/CodedValueDomain/) or [RangeDomain](https://developers.arcgis.com/javascript/latest/references/core/layers/support/RangeDomain/).
@@ -16,6 +16,8 @@ export interface TelemetryDataProperties {
16
16
  lineOfSight?: PolylineProperties | null;
17
17
  /** The location of the sensor. */
18
18
  sensorLocation?: PointProperties | null;
19
+ /** The path that the moving sensor follows through the duration of the video collection. */
20
+ sensorPath?: PolylineProperties | null;
19
21
  /** The trail of the sensor. */
20
22
  sensorTrail?: PolylineProperties | null;
21
23
  }
@@ -41,6 +43,9 @@ export default class TelemetryData extends TelemetryDataSuperclass {
41
43
  /** The location of the sensor. */
42
44
  get sensorLocation(): Point | null | undefined;
43
45
  set sensorLocation(value: PointProperties | null | undefined);
46
+ /** The path that the moving sensor follows through the duration of the video collection. */
47
+ get sensorPath(): Polyline | null | undefined;
48
+ set sensorPath(value: PolylineProperties | null | undefined);
44
49
  /** The trail of the sensor. */
45
50
  get sensorTrail(): Polyline | null | undefined;
46
51
  set sensorTrail(value: PolylineProperties | null | undefined);
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import{ClonableMixin as t}from"../../core/Clonable.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as r,subclass as s}from"../../core/accessorSupport/decorators.js";import i from"../../geometry/Point.js";import p from"../../geometry/Polygon.js";import l from"../../geometry/Polyline.js";let n=class extends(t(e)){constructor(o){super(o),this.frameCenter=null,this.frameOutline=null,this.lineOfSight=null,this.sensorLocation=null,this.sensorTrail=null}};o([r({type:i})],n.prototype,"frameCenter",void 0),o([r({type:p})],n.prototype,"frameOutline",void 0),o([r({type:l})],n.prototype,"lineOfSight",void 0),o([r({type:i})],n.prototype,"sensorLocation",void 0),o([r({type:l})],n.prototype,"sensorTrail",void 0),n=o([s("esri.layers.support.TelemetryData")],n);export{n as default};
2
+ import{__decorate as o}from"tslib";import{ClonableMixin as t}from"../../core/Clonable.js";import{JSONSupport as e}from"../../core/JSONSupport.js";import{property as r,subclass as s}from"../../core/accessorSupport/decorators.js";import i from"../../geometry/Point.js";import p from"../../geometry/Polygon.js";import l from"../../geometry/Polyline.js";let n=class extends(t(e)){constructor(o){super(o),this.frameCenter=null,this.frameOutline=null,this.lineOfSight=null,this.sensorLocation=null,this.sensorPath=null,this.sensorTrail=null}};o([r({type:i})],n.prototype,"frameCenter",void 0),o([r({type:p})],n.prototype,"frameOutline",void 0),o([r({type:l})],n.prototype,"lineOfSight",void 0),o([r({type:i})],n.prototype,"sensorLocation",void 0),o([r({type:l})],n.prototype,"sensorPath",void 0),o([r({type:l})],n.prototype,"sensorTrail",void 0),n=o([s("esri.layers.support.TelemetryData")],n);export{n as default};
@@ -1,11 +1,12 @@
1
1
  import type { ClonableMixin } from "../../core/Clonable.js";
2
2
  import type { JSONSupport } from "../../core/JSONSupport.js";
3
3
 
4
- export interface TelemetryDisplayProperties extends Partial<Pick<TelemetryDisplay, "frame" | "frameCenter" | "frameOutline" | "lineOfSight" | "sensorLocation" | "sensorTrail">> {}
4
+ export interface TelemetryDisplayProperties extends Partial<Pick<TelemetryDisplay, "frame" | "frameCenter" | "frameOutline" | "lineOfSight" | "sensorLocation" | "sensorPath" | "sensorTrail">> {}
5
5
 
6
6
  /**
7
7
  * The TelemetryDisplay class is used to choose what telemetry data to display on the map.
8
- * The class contains options for the frame center, frame outline, line of sight, sensor location, and sensor trail.
8
+ * The class contains options for the frame center, frame outline, line of sight, sensor location,
9
+ * sensor path and sensor trail.
9
10
  *
10
11
  * @since 4.30
11
12
  * @see [VideoLayer.telemetryDisplay](https://developers.arcgis.com/javascript/latest/references/core/layers/VideoLayer/#telemetryDisplay)
@@ -42,6 +43,13 @@ export default class TelemetryDisplay extends TelemetryDisplaySuperclass {
42
43
  * @default true
43
44
  */
44
45
  accessor sensorLocation: boolean;
46
+ /**
47
+ * Determines if the sensor path is displayed.
48
+ *
49
+ * @default true
50
+ * @since 5.1
51
+ */
52
+ accessor sensorPath: boolean;
45
53
  /**
46
54
  * Determines if the sensor trail is displayed.
47
55
  *
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import{ClonableMixin as r}from"../../core/Clonable.js";import{JSONSupport as t}from"../../core/JSONSupport.js";import{property as e,subclass as s}from"../../core/accessorSupport/decorators.js";const i={type:Boolean,json:{write:!0}};let p=class extends(r(t)){constructor(o){super(o),this.frame=!1,this.frameCenter=!1,this.frameOutline=!0,this.lineOfSight=!0,this.sensorLocation=!0,this.sensorTrail=!0}};o([e(i)],p.prototype,"frame",void 0),o([e(i)],p.prototype,"frameCenter",void 0),o([e(i)],p.prototype,"frameOutline",void 0),o([e(i)],p.prototype,"lineOfSight",void 0),o([e(i)],p.prototype,"sensorLocation",void 0),o([e(i)],p.prototype,"sensorTrail",void 0),p=o([s("esri.layers.support.TelemetryDisplay")],p);export{p as default};
2
+ import{__decorate as o}from"tslib";import{ClonableMixin as t}from"../../core/Clonable.js";import{JSONSupport as r}from"../../core/JSONSupport.js";import{property as e,subclass as s}from"../../core/accessorSupport/decorators.js";const i={type:Boolean,json:{write:!0}};let p=class extends(t(r)){constructor(o){super(o),this.frame=!1,this.frameCenter=!1,this.frameOutline=!0,this.lineOfSight=!0,this.sensorLocation=!0,this.sensorPath=!0,this.sensorTrail=!0}};o([e(i)],p.prototype,"frame",void 0),o([e(i)],p.prototype,"frameCenter",void 0),o([e(i)],p.prototype,"frameOutline",void 0),o([e(i)],p.prototype,"lineOfSight",void 0),o([e(i)],p.prototype,"sensorLocation",void 0),o([e(i)],p.prototype,"sensorPath",void 0),o([e(i)],p.prototype,"sensorTrail",void 0),p=o([s("esri.layers.support.TelemetryDisplay")],p);export{p as default};