@arcgis/core 5.1.0-next.101 → 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 (104) 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/{99f726f05cf80b0330ed.js → 119b84f5349f90d1dd28.js} +1 -1
  4. package/assets/esri/core/workers/chunks/15167eeb6d7dbe7e392d.js +1 -0
  5. package/assets/esri/core/workers/chunks/{156efa014b6edd9ccce9.js → 1ba37706e5d5eaabcb8e.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{7bb17d0ab1cc2b89c035.js → 1faa8a42d5a437fc40a3.js} +1 -1
  7. package/assets/esri/core/workers/chunks/{38b1d2ffcc318ac0119d.js → 48fcc10768d93e95a04e.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{53bf9b0c2b8da12820ea.js → 55ccb8ed7325efb62091.js} +2 -2
  9. package/assets/esri/core/workers/chunks/{17de1c251242b692cf45.js → 5663df3cd1dfd4b43c73.js} +1 -1
  10. package/assets/esri/core/workers/chunks/{5b07f3253403fe25ce5b.js → 5bc299f7f89a07a6e6a6.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{00a25dd4b057cc9f2a7e.js → 6f96ce41c47cae82e687.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{657268b3fde6da2dd735.js → 86bff154d46f8a562887.js} +1 -1
  13. package/assets/esri/core/workers/chunks/{22fa4aa2b76573bafe21.js → 9e7c84a3a2abec4d49df.js} +1 -1
  14. package/assets/esri/core/workers/chunks/{40ffb1aa17cbfae17b23.js → bb5512ecb5300d45d46b.js} +1 -1
  15. package/assets/esri/core/workers/chunks/{d8c4fb66c733ab2f66d3.js → bb81da98546c4d923e0d.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{a58662698c69190a12d8.js → de25311b6d13bf1c6089.js} +2 -2
  17. package/assets/esri/core/workers/chunks/{bafe489e54f34d1841e6.js → e86c073f0b6d395c7a38.js} +1 -1
  18. package/assets/esri/core/workers/chunks/f5bd0a4f82df5e942b70.js +1 -0
  19. package/assets/esri/core/workers/chunks/{48a0e7a32ebd44045c8f.js → fa38dc5010f8630a80fe.js} +1 -1
  20. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +125 -0
  21. package/assets/esri/themes/base/widgets/_Directions.scss +5 -1
  22. package/assets/esri/themes/dark/main.css +1 -1
  23. package/assets/esri/themes/light/main.css +1 -1
  24. package/assets/esri/themes/light/view.css +1 -1
  25. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  26. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  27. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer.json +1 -1
  28. package/config.js +1 -1
  29. package/form/elements/inputs/MultipleChoiceInput.d.ts +5 -5
  30. package/form/elements/inputs/MultipleChoiceInput.js +1 -1
  31. package/interfaces.d.ts +3 -0
  32. package/kernel.js +1 -1
  33. package/layers/FeatureLayer.d.ts +29 -39
  34. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  35. package/layers/OrientedImageryLayer.d.ts +233 -0
  36. package/layers/OrientedImageryLayer.js +1 -1
  37. package/layers/VideoLayer.d.ts +35 -9
  38. package/layers/VideoLayer.js +1 -1
  39. package/layers/catalog/CatalogFootprintLayer.d.ts +147 -0
  40. package/layers/support/FeatureReductionBinning.d.ts +87 -9
  41. package/layers/support/FeatureReductionCluster.d.ts +87 -9
  42. package/layers/support/FieldConfiguration.d.ts +1 -1
  43. package/layers/support/SubtypeSublayer.d.ts +147 -0
  44. package/layers/support/TelemetryData.d.ts +5 -0
  45. package/layers/support/TelemetryData.js +1 -1
  46. package/layers/support/TelemetryDisplay.d.ts +10 -2
  47. package/layers/support/TelemetryDisplay.js +1 -1
  48. package/layers/video/VideoController.js +1 -1
  49. package/layers/video/types.d.ts +8 -1
  50. package/layers/video/videoUtils.js +1 -1
  51. package/package.json +2 -2
  52. package/portal/jsonTypes.d.ts +7 -0
  53. package/rest/print.js +1 -1
  54. package/rest/support/PrintParameters.d.ts +8 -1
  55. package/rest/support/PrintParameters.js +1 -1
  56. package/support/revision.js +1 -1
  57. package/third-party-notices.txt +4 -0
  58. package/views/2d/engine/webgl/shaderGraph/graph/GlslGraphWriter.js +1 -1
  59. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  60. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphNode.js +1 -1
  61. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  62. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  63. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  64. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
  65. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
  66. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MaskShader.js +1 -1
  67. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/RemapShader.js +1 -1
  68. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
  69. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/math.js +1 -1
  70. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/surface.js +1 -1
  71. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  72. package/views/2d/layers/VideoLayerView2D.js +1 -1
  73. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  74. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  75. package/views/3d/webgl-engine/lib/TriangleIntersectionData.js +1 -1
  76. package/views/Viewport2DBaseMixin.js +1 -1
  77. package/widgets/Attachments/support/attachmentUtils.js +1 -1
  78. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +8 -1
  79. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  80. package/widgets/BatchAttributeForm/attachmentUtils.js +2 -0
  81. package/widgets/BatchAttributeForm/css.js +1 -1
  82. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  83. package/widgets/BatchAttributeForm/templates/RelationshipElementTemplate.js +1 -1
  84. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  85. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  86. package/widgets/BatchAttributeForm/types.d.ts +7 -0
  87. package/widgets/BatchAttributeForm.js +1 -1
  88. package/widgets/FeatureForm/RelationshipInput.d.ts +1 -1
  89. package/widgets/FeatureTable.js +1 -1
  90. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  91. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  92. package/widgets/OrientedImageryViewer/constants.js +1 -1
  93. package/widgets/OrientedImageryViewer/types.js +1 -1
  94. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  95. package/widgets/OrientedImageryViewer.js +1 -1
  96. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  97. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +9 -0
  98. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  99. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  100. package/widgets/support/forms/formUtils.js +1 -1
  101. package/assets/esri/core/workers/chunks/43cc82373be791b7cb4c.js +0 -1
  102. package/assets/esri/core/workers/chunks/c9461568e1002ebac534.js +0 -1
  103. /package/assets/esri/core/workers/chunks/{53bf9b0c2b8da12820ea.js.LICENSE.txt → 55ccb8ed7325efb62091.js.LICENSE.txt} +0 -0
  104. /package/assets/esri/core/workers/chunks/{a58662698c69190a12d8.js.LICENSE.txt → de25311b6d13bf1c6089.js.LICENSE.txt} +0 -0
@@ -4,6 +4,7 @@ import type SpatialReference from "../../geometry/SpatialReference.js";
4
4
  import type Layer from "../Layer.js";
5
5
  import type DisplayFilterInfo from "../support/DisplayFilterInfo.js";
6
6
  import type Field from "../support/Field.js";
7
+ import type FieldConfiguration from "../support/FieldConfiguration.js";
7
8
  import type FieldsIndex from "../support/FieldsIndex.js";
8
9
  import type GeometryFieldsInfo from "../support/GeometryFieldsInfo.js";
9
10
  import type LabelClass from "../support/LabelClass.js";
@@ -32,6 +33,7 @@ import type { TimeZone } from "../../time/types.js";
32
33
  import type { ObjectId } from "../../views/types.js";
33
34
  import type { AttributeTableTemplateProperties } from "../../tables/AttributeTableTemplate.js";
34
35
  import type { ElevationInfoProperties } from "../../symbols/support/ElevationInfo.js";
36
+ import type { FieldConfigurationProperties } from "../support/FieldConfiguration.js";
35
37
  import type { LabelClassProperties } from "../support/LabelClass.js";
36
38
  import type { PopupTemplateProperties } from "../../PopupTemplate.js";
37
39
  import type { HeatmapRendererProperties } from "../../renderers/HeatmapRenderer.js";
@@ -68,6 +70,58 @@ export interface CatalogFootprintLayerProperties extends LayerProperties, BlendL
68
70
  * > If the elevation info is not specified, the effective elevation depends on the context and could vary per graphic.
69
71
  */
70
72
  elevationInfo?: ElevationInfoProperties | null;
73
+ /**
74
+ * 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.
75
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
76
+ * > [!WARNING]
77
+ * >
78
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
79
+ *
80
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations).
81
+ *
82
+ * @since 5.1
83
+ * @see [CatalogFootprintLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldConfiguration)
84
+ * @see [CatalogFootprintLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldAlias)
85
+ * @example
86
+ * // Adding a new field configuration
87
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
88
+ * // Check if there is already an existing configuration for fieldName
89
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
90
+ * if (!existingConfig) {
91
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
92
+ * const newConfigs = clone(layer.fieldConfigurations);
93
+ * newConfigs.push(newConfig);
94
+ * layer.fieldConfigurations = newConfigs;
95
+ * }
96
+ * };
97
+ * @example
98
+ * // Updating an existing field configuration
99
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
100
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
101
+ * if (existingConfig) {
102
+ * const newConfig = existingConfig.clone();
103
+ * newConfig.alias = alias;
104
+ * newConfig.fieldFormat = fieldFormat;
105
+ *
106
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
107
+ * const newConfigs = clone(layer.fieldConfigurations);
108
+ * newConfigs[index] = newConfig;
109
+ * layer.fieldConfigurations = newConfigs;
110
+ * }
111
+ * };
112
+ * @example
113
+ * // Deleting an existing field configuration
114
+ * const deleteConfig = (layer, fieldName) => {
115
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
116
+ * if (existingConfig) {
117
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
118
+ * var newConfigs = clone(layer.fieldConfigurations);
119
+ * newConfigs.splice(index, 1);
120
+ * layer.fieldConfigurations = newConfigs;
121
+ * }
122
+ * };
123
+ */
124
+ fieldConfigurations?: FieldConfigurationProperties[] | null;
71
125
  /**
72
126
  * The label definition for this layer, specified as an array of
73
127
  * [LabelClass](https://developers.arcgis.com/javascript/latest/references/core/layers/support/LabelClass/). Use this property to specify
@@ -253,6 +307,59 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
253
307
  */
254
308
  get elevationInfo(): ElevationInfo | null | undefined;
255
309
  set elevationInfo(value: ElevationInfoProperties | null | undefined);
310
+ /**
311
+ * 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.
312
+ * If no field configurations are provided, they are automatically created when a [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#popupTemplate) is assigned to the layer. If no [popupTemplate](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#popupTemplate) is set, you can manually define field configurations to customize how fields are shown.
313
+ * > [!WARNING]
314
+ * >
315
+ * > Support is limited in version 5.1. For details, see the [FieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/support/FieldConfiguration/) documentation.
316
+ *
317
+ * To modify field configurations, clone [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations), make the changes, and then reassign the updated clone back to [fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations).
318
+ *
319
+ * @since 5.1
320
+ * @see [CatalogFootprintLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldConfiguration)
321
+ * @see [CatalogFootprintLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldAlias)
322
+ * @example
323
+ * // Adding a new field configuration
324
+ * const addNewConfig = (layer, fieldName, alias, fieldFormat) => {
325
+ * // Check if there is already an existing configuration for fieldName
326
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
327
+ * if (!existingConfig) {
328
+ * const newConfig = new FieldConfiguration({ name: fieldName, alias, fieldFormat });
329
+ * const newConfigs = clone(layer.fieldConfigurations);
330
+ * newConfigs.push(newConfig);
331
+ * layer.fieldConfigurations = newConfigs;
332
+ * }
333
+ * };
334
+ * @example
335
+ * // Updating an existing field configuration
336
+ * const updateConfig = (layer, fieldName, alias, fieldFormat) => {
337
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
338
+ * if (existingConfig) {
339
+ * const newConfig = existingConfig.clone();
340
+ * newConfig.alias = alias;
341
+ * newConfig.fieldFormat = fieldFormat;
342
+ *
343
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
344
+ * const newConfigs = clone(layer.fieldConfigurations);
345
+ * newConfigs[index] = newConfig;
346
+ * layer.fieldConfigurations = newConfigs;
347
+ * }
348
+ * };
349
+ * @example
350
+ * // Deleting an existing field configuration
351
+ * const deleteConfig = (layer, fieldName) => {
352
+ * const existingConfig = layer.getFieldConfiguration(fieldName);
353
+ * if (existingConfig) {
354
+ * const index = layer.fieldConfigurations.indexOf(existingConfig);
355
+ * var newConfigs = clone(layer.fieldConfigurations);
356
+ * newConfigs.splice(index, 1);
357
+ * layer.fieldConfigurations = newConfigs;
358
+ * }
359
+ * };
360
+ */
361
+ get fieldConfigurations(): FieldConfiguration[] | null | undefined;
362
+ set fieldConfigurations(value: FieldConfigurationProperties[] | null | undefined);
256
363
  /**
257
364
  * An array of fields in the layer. Each field represents an attribute that may contain a value for each feature in the layer.
258
365
  * For example, a field named `POP_2015`, stores information about total population as a numeric value for each feature; this value represents the total number
@@ -484,6 +591,19 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
484
591
  * }
485
592
  */
486
593
  get useViewTime(): boolean;
594
+ /**
595
+ * Creates default field configuration objects that define the display properties of fields.
596
+ * These field configurations are generated from the layer's [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fields) property.
597
+ *
598
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
599
+ * @since 5.1
600
+ * @see [CatalogFootprintLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations)
601
+ * @returns An array of field configuration objects, or `null` if the layer does not have any fields that require formatting.
602
+ * @example
603
+ * const fieldConfigs = layer.createFieldConfigurations();
604
+ * layer.fieldConfigurations = fieldConfigs;
605
+ */
606
+ createFieldConfigurations(): FieldConfiguration[] | null | undefined;
487
607
  /**
488
608
  * Creates a popup template for the layer, populated with all the fields of the layer.
489
609
  *
@@ -556,6 +676,33 @@ export default class CatalogFootprintLayer extends CatalogFootprintLayerSupercla
556
676
  * @see [fields](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fields)
557
677
  */
558
678
  getField(fieldName: string): Field | null | undefined;
679
+ /**
680
+ * 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.
681
+ *
682
+ * The alias is resolved in the following order:
683
+ *
684
+ * 1. [Field configuration alias](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations)
685
+ * 2. [Field alias](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fields) defined on the field.
686
+ *
687
+ * @param fieldName - The name of the field for which to get the alias.
688
+ * @returns The alias of the specified field.
689
+ * @since 5.1
690
+ * @see [CatalogFootprintLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations)
691
+ * @see [CatalogFootprintLayer.getFieldConfiguration](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldConfiguration)
692
+ */
693
+ getFieldAlias(fieldName: string): string | null | undefined;
694
+ /**
695
+ * 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.
696
+ *
697
+ * 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.
698
+ *
699
+ * @param fieldName - The name of the field for which to get the configuration.
700
+ * @returns The field configuration of the specified field.
701
+ * @since 5.1
702
+ * @see [CatalogFootprintLayer.fieldConfigurations](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#fieldConfigurations)
703
+ * @see [CatalogFootprintLayer.getFieldAlias](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/#getFieldAlias)
704
+ */
705
+ getFieldConfiguration(fieldName: string): FieldConfiguration | null | undefined;
559
706
  /**
560
707
  * 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
561
708
  * [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/).
@@ -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.