FormTemplate
require(["esri/form/FormTemplate"], function(FormTemplate) { /* code goes here */ });esri/form/FormTemplateA FormTemplate formats and defines the content of a FeatureForm for a specific Layer or Graphic. A FormTemplate allows the user to access values from feature attributes and values returned from Arcade expressions when a feature in the view is selected.
The FormTemplate can be set directly on a FeatureLayer, a FeatureForm, or its view model. The template consists of various elements that display a specific type of form data.
// Create the Form template and pass in elements
  const formTemplate = new FormTemplate({
  title: "Inspector report",
  description: "Enter all relevant information below",
  elements: [groupElement] // Add all elements to the template
});
// Add a new feature form with grouped fields
const form = new FeatureForm({
  container: "form",
  groupDisplay: "sequential", // only display one group at a time
  formTemplate: formTemplate // set it to template created above
});Constructors
- new FormTemplate(properties)
- Parameter:properties ObjectoptionalSee the properties for a list of all the properties that may be passed into the constructor. 
Property Overview
| Name | Type | Summary | Class | |
|---|---|---|---|---|
| String | The name of the class.more details | more details | Accessor | |
| String | The description of the form.more details | more details | FormTemplate | |
| Element[] | An array of form element objects that represent an ordered list of form elements.more details | more details | FormTemplate | |
| ExpressionInfo[] | An array of objects or ExpressionInfo[] that reference Arcade expressions.more details | more details | FormTemplate | |
| String | The string template for defining how to format the title used in a popup.more details | more details | FormTemplate | 
Property Details
- The name of the class. The declared class name is formatted as - esri.folder.className.
- description String
- The description of the form. 
- An array of form element objects that represent an ordered list of form elements. - Elements are designed to allow the form author the ability to define the layout for fields when collecting and/or editing data. - Nested group elements are not supported. - See also:
 Example:- // Create a new form template const formTemplate = new FormTemplate({ title: "Damage assessments", description: "Provide information for insurance", elements: [{ // Autocasts to new GroupElement type: "group", label: "Inspector Information", description: "Field inspector information", elements: [{ // Autocasts to new FieldElement type: "field", fieldName: "inspector", label: "name" },{ type: "field", fieldName: "inspemail", label: "Email address" },{ type: "field", fieldName: "insp_date", label: "Date of inspection" }] }] });
- expressionInfos ExpressionInfo[]autocast
- An array of objects or ExpressionInfo[] that reference Arcade expressions. - The referenced expression must be what is defined in the template's expressionInfos. It cannot be set inline within the element object. 
- title String
- The string template for defining how to format the title used in a popup. This appears at the top of the form. 
Method Overview
| Name | Return Type | Summary | Class | |
|---|---|---|---|---|
| FormTemplate | Creates a deep clone of the FormTemplate class.more details | more details | FormTemplate | |
| * | Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform.more details | more details | FormTemplate | |
| Object | Converts an instance of this class to its ArcGIS portal JSON representation.more details | more details | FormTemplate | 
Method Details
- clone(){FormTemplate}
- Creates a deep clone of the FormTemplate class. Returns:- Type - Description - FormTemplate - A deep clone of the FormTemplate instance. 
- fromJSON(json){*}static
- Creates a new instance of this class and initializes it with values from a JSON object generated from a product in the ArcGIS platform. The object passed into the input - jsonparameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the Using fromJSON() topic in the Guide for details and examples of when and how to use this function.Parameter:json Object- A JSON representation of the instance in the ArcGIS format. See the ArcGIS REST API documentation for examples of the structure of various input JSON objects. Returns:- Type - Description - * - Returns a new instance of this class. 
- toJSON(){Object}
- Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information. Returns:- Type - Description - Object - The ArcGIS portal JSON representation of an instance of this class.