FieldConfig

AMD: require(["esri/widgets/FeatureForm/FieldConfig"], (FieldConfig) => { /* code goes here */ });
ESM: import FieldConfig from "@arcgis/core/widgets/FeatureForm/FieldConfig";
Class: esri/widgets/FeatureForm/FieldConfig
Inheritance: FieldConfig Accessor
Subclasses: FieldColumnConfig
Since: ArcGIS API for JavaScript 4.9

Configuration options for configuring an individual field within the FeatureTable.

See also

Constructors

new FieldConfig(properties)
Parameter
properties Object
optional

See the properties for a list of all the properties that may be passed into the constructor.

Example
const fieldConfig = new FieldConfig({
  name: "IncidentType",
  label: "Choose incident type"
});

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
String

The name of the class.

more details
Accessor
String

The field's description.

more details
FieldConfig
CodedValueDomain|RangeDomain

The field's domain.

more details
FieldConfig
Boolean

Indicates whether the field can be edited.

more details
FieldConfig
String

This property is rendered as a tooltip in the FeatureForm widget.

more details
FieldConfig
Boolean

Indicates whether date fields should display input for editing time.

more details
FieldConfig
String

The field's label.

more details
FieldConfig
Number

Restricts the input length.

more details
FieldConfig
Number

Restricts the input length.

more details
FieldConfig
String

The field name.

more details
FieldConfig
Boolean

Indicates whether the field is required.

more details
FieldConfig
String

A reference to the name of an Arcade expression defined in the expressionInfos of the FeatureForm.

more details
FieldConfig
String

A reference to the name of an Arcade expression defined in the expressionInfos of the FeatureForm.

more details
FieldConfig

Property Details

declaredClass Stringreadonly inherited

The name of the class. The declared class name is formatted as esri.folder.className.

description String
Since: ArcGIS API for JavaScript 4.10

The field's description. The description is shown below the field.

Since: ArcGIS API for JavaScript 4.10

The field's domain. This is used to constrain the allowable values of the layer.

This only applies to relevant field types. For example, RangeDomain only applies to numeric and date field types.

editable Boolean
Since: ArcGIS API for JavaScript 4.10

Indicates whether the field can be edited.

This does not change the underlying service's field and whether it can be edited.

Default Value:true
hint String
Since: ArcGIS API for JavaScript 4.10

This property is rendered as a tooltip in the FeatureForm widget. It displays a hint for the attribute field's value.

includeTime Boolean
Since: ArcGIS API for JavaScript 4.17

Indicates whether date fields should display input for editing time.

Default Value:true
label String
Since: ArcGIS API for JavaScript 4.10

The field's label. The label is shown above the field.

maxLength Number
Since: ArcGIS API for JavaScript 4.10

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1
minLength Number
Since: ArcGIS API for JavaScript 4.16

Restricts the input length.

This only applies to numeric and text field types.

Default Value:-1
name String

The field name.

required Boolean
Since: ArcGIS API for JavaScript 4.10

Indicates whether the field is required.

This cannot change the underlying service's field requirements.

Default Value:false
requiredExpression String
Since: ArcGIS API for JavaScript 4.16

A reference to the name of an Arcade expression defined in the expressionInfos of the FeatureForm. The expression must follow the specification defined by the Constraint Arcade Profile. Expressions may reference field values using the $feature profile variable and must return either true or false.

When this expression evaluates to true and the element is visible, the element must have a valid value in order for the feature to be created or edited. When the expression evaluates to false the element is not required. If no expression is provided, the default behavior is that the element is not required. If the referenced field is non-nullable, the required expression is ignored and the element is always required.

See also
visibilityExpression String
Since: ArcGIS API for JavaScript 4.11

A reference to the name of an Arcade expression defined in the expressionInfos of the FeatureForm. The expression must follow the specification defined by the Constraint Arcade Profile. Expressions may reference field values using the $feature profile variable and must return either true or false.

When this expression evaluates to true, the element is displayed. When the expression evaluates to false the element is not displayed. If no expression is provided, the default behavior is that the element is displayed. Care must be taken when defining a visibility expression for a non-nullable field i.e. to make sure that such fields either have default values or are made visible to users so that they can provide a value before submitting the form.

This only affects how the field is rendered. It does not have any impact on the attribute's values.

Default Value:null
See also
Example
// Array of two field configurations.
// The first one displays the feature's status whereas
// the second one only displays if the resolution of
// the issue if the status is "Completed"
// and the resolution value is not null.

fieldConfig: [{
  name: "status",
  editable: false, // not an editable field
  label: "Issue status",
  description: "E.g. submitted, received, in progress, or completed."
},{
  name: "resolution",
  label: "Resolution",
  editable: false,
  description: "Resolution if status is 'Completed'",
  visibilityExpression: "($feature.status == 'Completed') && (!(IsEmpty($feature.resolution)))"
}]

Method Overview

Show inherited methods Hide inherited methods
Name Return Type Summary Class

Adds one or more handles which are to be tied to the lifecycle of the object.

more details
Accessor
Boolean

Returns true if a named group of handles exist.

more details
Accessor

Removes a group of handles owned by the object.

more details
Accessor

Method Details

addHandles(handleOrHandles, groupKey)inherited
Since: ArcGIS API for JavaScript 4.25

Adds one or more handles which are to be tied to the lifecycle of the object. The handles will be removed when the object is destroyed.

// Manually manage handles
const handle = reactiveUtils.when(
  () => !view.updating,
  () => {
    wkidSelect.disabled = false;
  },
  { once: true }
);

// Handle gets removed when the object is destroyed.
this.addHandles(handle);
Parameters
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

groupKey *
optional

Key identifying the group to which the handles should be added. All the handles in the group can later be removed with Accessor.removeHandles(). If no key is provided the handles are added to a default group.

hasHandles(groupKey){Boolean}inherited
Since: ArcGIS API for JavaScript 4.25

Returns true if a named group of handles exist.

Parameter
groupKey *
optional

A group key.

Returns
Type Description
Boolean Returns true if a named group of handles exist.
Example
// Remove a named group of handles if they exist.
if (obj.hasHandles("watch-view-updates")) {
  obj.removeHandles("watch-view-updates");
}
removeHandles(groupKey)inherited
Since: ArcGIS API for JavaScript 4.25

Removes a group of handles owned by the object.

Parameter
groupKey *
optional

A group key or an array or collection of group keys to remove.

Example
obj.removeHandles(); // removes handles from default group

obj.removeHandles("handle-group");
obj.removeHandles("other-handle-group");

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.