import AttachmentInput from "@arcgis/core/form/elements/inputs/attachments/AttachmentInput.js";const AttachmentInput = await $arcgis.import("@arcgis/core/form/elements/inputs/attachments/AttachmentInput.js");- Since
- ArcGIS Maps SDK for JavaScript 5.1
The AttachmentInput class defines a user interface for an attachment input. This AttachmentElement.input is used in attachment elements that are set on the Editor's layerInfo.formTemplate or a feature layer's formTemplate and displayed within the Editor. The AttachmentInput offers the most flexibility, and allows a number of different attachment types to be included in a single attachment element.
- Input methods that are configured as only allowing
captureare not supported on desktop devices for inputs such as AudioInput, ImageInput, or VideoInput. - For inputs such as AudioInput, ImageInput, or VideoInput, minimum requirements apply only in mobile editing workflows when the input method is set to only allow capture and the minimum file count is greater than or equal to one.
- When using specific input types, such as AudioInput, ImageInput, or VideoInput, existing attachments are displayed only if they match the element's keyword. Existing attachments without a matching keyword are not shown. To display attachments that do not have a corresponding keyword, use the general
AttachmentInputinstead. This input type provides a more general approach to displaying attachments and does not require a keyword to be specified by setting the attachmentAssociationType accordingly.
- Example
- // Create the new input types for the general attachment inputconst audioInput = new AudioInput({inputMethod: "any",maxDuration: 30,});const imageInput = new ImageInput({inputMethod: "upload",maxImageSize: 800,});const documentInput = new DocumentInput({maxFileSize: 500,});const videoInput = new VideoInput({inputMethod: "any",maxDuration: 90,});// Create the general attachment input that allows for multiple types of attachmentsconst attachmentInput = new AttachmentInput({attachmentAssociationType: "any", // Associates all existing attachments to this element.inputTypes: [documentInput, audioInput, imageInput, videoInput]});
Constructors
Constructor
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| properties | | |
Properties
| Property | Type | Class |
|---|---|---|
| | ||
| readonly inherited | ||
| | ||
| readonly | "attachment" | |
attachmentAssociationType
String value which indicates if existing attachments should be associated with the element and how they should be associated. This property is used in conjunction with the AttachmentElement.attachmentKeyword property.
The table below describes the options.
| value | description |
|---|---|
any | Include all existing attachments associated with this feature regardless of their keyword value. This option is only available if there are no existing attachment elements in the form. If an attachment element has this set, additional attachment elements cannot be added to the form. |
exact | Only attachments whose keyword matches the form element's keyword will be shown. |
exactOrNone | Associates attachments whose keyword matches the attachmentKeyword and those that do not have a keyword. Only one attachment element with exactOrNone can be used within a form and it cannot be used in conjunction with any other attachment element that has an attachmentAssociationType value of exact or any. |
- Default value
- "exact"
inputTypes
- Type
- NestableAttachmentInputUnion[] | null
Available inputs to add an attachment.
Methods
| Method | Signature | Class |
|---|---|---|
| inherited static | fromJSON(json: any): any | |
| inherited | clone(): this | |
| inherited | toJSON(): any |
fromJSON
- Signature
-
fromJSON (json: any): any
Creates a new instance of this class and initializes it with values from a JSON object
generated from an ArcGIS product. The object passed into the input json
parameter 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.
Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
| json | 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
- any
Returns a new instance of this class.
clone
- Signature
-
clone (): this
Creates a deep clone of this object. Any properties that store values by reference will be assigned copies of the referenced values on the cloned instance.
- Returns
- this
A deep clone of the class instance that invoked this method.
toJSON
- Signature
-
toJSON (): any
Converts an instance of this class to its ArcGIS portal JSON representation. See the Using fromJSON() guide topic for more information.
- Returns
- any
The ArcGIS portal JSON representation of an instance of this class.