Provides the logic for the Editor widget.
- See also:
const editor = new Editor({
viewModel: { // autocasts as new EditorViewModel
layerInfos: [{
layer: featureLayer,
deleteEnabled: false // disables deleting features
}]
}
});
Constructors
-
new EditorViewModel(properties)
-
Parameter:properties Objectoptional
See the properties for a list of all the properties that may be passed into the constructor.
Property Overview
Name | Type | Summary | Class | |
---|---|---|---|---|
CreateWorkflow|CreateFeaturesWorkflow|UpdateWorkflow | more details A property indicating the current active workflow. | more details | EditorViewModel | |
String | more details An array of string values which specifies what end users are allowed to edit. | more details | EditorViewModel | |
AttachmentsViewModel | more details The AttachmentsViewModel for supporting the editor widget. | more details | EditorViewModel | |
Boolean | more details Convenience property that reads whether there are any editable layers that support the | more details | EditorViewModel | |
Boolean | more details Convenience property that reads whether there are any editable layers that support the | more details | EditorViewModel | |
String | more details The name of the class. | more details | Accessor | |
Collection<EditableItem> | more details A collection of editable item objects that match the feature being updated. | more details | EditorViewModel | |
Object[] | more details An array of objects containing information specific to any failed editing operations. | more details | EditorViewModel | |
FeatureFormViewModel | more details The FeatureFormViewModel for supporting the editor widget. | more details | EditorViewModel | |
FeatureTemplatesViewModel | more details The FeatureTemplatesViewModel for supporting the editor widget. | more details | EditorViewModel | |
LayerInfo[] | more details An array of editing configurations for individual layers. | more details | EditorViewModel | |
SketchViewModel | more details The SketchViewModel for supporting the editor widget. | more details | EditorViewModel | |
SnappingOptions | more details The SnappingOptions for sketching. | more details | EditorViewModel | |
String | more details The widget's state. | more details | EditorViewModel | |
Boolean | more details When | more details | EditorViewModel | |
MapView|SceneView | more details | more details | EditorViewModel |
Property Details
-
-
A property indicating the current active workflow. This is either CreateFeaturesWorkflow or UpdateWorkflow.
- See also:
-
allowedWorkflows String
-
An array of string values which specifies what end users are allowed to edit. For example, a feature layer with full editing privileges may be available. But you may only want the end user to have the ability to update existing features. Set the
allowedWorkflows
to onlyupdate
.Possible Value Description create This allows the end user to create a new individual feature in the feature service. (deprecated as of 4.23, use create-features
as noted below.)create-features This allows the end user to create either individual or continuous features in the feature service. (Since 4.23) update This allows the end user to update and/or delete features in the feature service. These workflows are only enabled if the feature service allows these operations.
Possible Values:"create-features"|"create"|"update"
-
attachmentsViewModel AttachmentsViewModel
-
The AttachmentsViewModel for supporting the editor widget. Attachment editing is enabled by default.
-
canCreate Booleanreadonly
-
Convenience property that reads whether there are any editable layers that support the
create-features
workflow.
-
canUpdate Booleanreadonly
-
Convenience property that reads whether there are any editable layers that support the
update
workflow.
-
The name of the class. The declared class name is formatted as
esri.folder.className
.
-
editableItems Collection<EditableItem>readonly
-
A collection of editable item objects that match the feature being updated.
-
An array of objects containing information specific to any failed editing operations. In addition to the error(s), options to
retry()
orcancel()
are provided.- Property:
-
error Error
The readonly error message.
-
featureFormViewModel FeatureFormViewModel
-
The FeatureFormViewModel for supporting the editor widget.
-
featureTemplatesViewModel FeatureTemplatesViewModel
-
The FeatureTemplatesViewModel for supporting the editor widget.
-
An array of editing configurations for individual layers.
If you have an editable feature layer but do not want the end user to do any type of editing, you can limit this by setting the
enabled
property tofalse
.Example:const editorViewModel = new EditorViewModel({ layerInfos: [{ view: view, layer: featureLayer, // pass in the feature layer, formTemplate: { // autocastable to FormTemplate elements: [ { // autocastable to FieldElement type: "field", fieldName: "fulladdr", label: "Full Address" } ] }, enabled: true, // default is true, set to false to disable editing functionality addEnabled: true, // default is true, set to false to disable the ability to add a new feature updateEnabled: false // default is true, set to false to disable the ability to edit an existing feature deleteEnabled: false // default is true, set to false to disable the ability to delete features }] });
-
sketchViewModel SketchViewModel
-
The SketchViewModel for supporting the editor widget.
-
snappingOptions SnappingOptionsautocastSince: ArcGIS API for JavaScript 4.19
-
The SnappingOptions for sketching. It supports self and feature snapping.
-
state Stringreadonly
-
The widget's state. Possible values are in the table below.
Value Description ready Dependencies are met and has valid property values. disabled Dependencies are missing and cannot provide valid inputs. editing-new-feature The Editor is currently editing (creating) a new feature and applies only to the deprecated CreateWorkflow. editing-existing-feature The Editor is currently editing an existing feature. awaiting-update-feature-candidate The period when the application is awaiting the user's input after clicking update and multiple features are returned. Specify the feature to update. awaiting-feature-creation-info This is the first step in the create-features
workflow. A CreationInfo is required.awaiting-feature-to-update This is the first step in the update
workflow. A feature is required.awaiting-feature-to-create The waiting period for when a feature is created before attribute/geometry edits can be performed. adding-attachment If currently editing-existing-feature
and adding an attachment to an existing feature.editing-attachment If currently editing-existing-feature
and updating an existing attachment to an existing feature.creating-features The Editor is currently creating multiple features. Possible Values:"ready"|"disabled"|"editing-new-feature"|"editing-existing-feature"|"awaiting-update-feature-candidate"|"awaiting-feature-creation-info"|"awaiting-feature-to-update"|"awaiting-feature-to-create"|"adding-attachment"|"editing-attachment"|"creating-features"
- Default Value:disabled
-
syncing Booleanreadonly
-
When
true
, there is at least one edit request being processed.
-
A reference to the MapView or SceneView. This view provides the editable layers for the Editor widget.
Method Overview
Name | Return Type | Summary | Class | |
---|---|---|---|---|
Promise<void> | more details Cancels any active workflow. | more details | EditorViewModel | |
Promise<void> | more details This is applicable if there is an active update workflow. | more details | EditorViewModel | |
Promise<void> | more details Initiates the CreateFeaturesWorkflow by displaying the panel where feature creation begins. | more details | EditorViewModel | |
Promise<void> | more details Initiates the CreateFeaturesWorkflow by displaying the FeatureTemplates panel. | more details | EditorViewModel | |
Promise<void> | more details Initiates the CreateWorkflow by displaying the panel where feature creation begins. | more details | EditorViewModel | |
Promise<void> | more details This method starts the CreateWorkflow where it waits for the feature to be selected. | more details | EditorViewModel | |
Promise<void> | more details Initiates the CreateWorkflow by displaying the FeatureTemplates panel. | more details | EditorViewModel | |
Promise<void> | more details Starts the update workflow at the feature geometry and attribute editing panel. | more details | EditorViewModel | |
Promise<void> | more details Starts the | more details | EditorViewModel | |
Promise<void> | more details Starts the Editor workflow where it waits for multiple features to be selected. | more details | EditorViewModel |
Method Details
-
cancelWorkflow(){Promise<void>}
-
Cancels any active workflow.
Returns:Type Description Promise<void> Resolves once the workflow is canceled.
-
deleteFeatureFromWorkflow(){Promise<void>}
-
This is applicable if there is an active update workflow. If so, this method deletes the workflow feature.
Returns:Type Description Promise<void> Resolves once the active UpdateWorkflow is deleted. - See also:
-
startCreateFeaturesWorkflowAtFeatureCreation(creationInfo){Promise<void>}Since: ArcGIS API for JavaScript 4.23
-
Initiates the CreateFeaturesWorkflow by displaying the panel where feature creation begins. This method takes a CreationInfo object containing the layer(s) and template(s) to use.
Parameter:creationInfo CreationInfoAn object containing information needed to create a new feature using the Editor widget. This object provides the feature template and layer for creating a new feature.
Returns:Type Description Promise<void> Resolves when the CreateFeaturesWorkflow initiates and displays the panel where feature creation begins.
-
startCreateFeaturesWorkflowAtFeatureTypeSelection(){Promise<void>}Since: ArcGIS API for JavaScript 4.23
-
Initiates the CreateFeaturesWorkflow by displaying the FeatureTemplates panel.
Returns:Type Description Promise<void> Resolves when the CreateFeaturesWorkflow is initiated and displays the FeatureTemplates panel.
-
startCreateWorkflowAtFeatureCreation(creationInfo){Promise<void>}Deprecated since version 4.23. Instead use startCreateFeaturesWorkflowAtFeatureCreation.
-
Initiates the CreateWorkflow by displaying the panel where feature creation begins. This method takes a CreationInfo object containing the layer(s) and template(s) to use.
Parameter:creationInfo CreationInfoAn object containing information needed to create a new feature using the Editor widget. This object provides the feature template and layer for creating a new feature.
Returns:Type Description Promise<void> Resolves when the CreateFeaturesWorkflow initiates and displays the panel where feature creation begins.
-
startCreateWorkflowAtFeatureEdit(feature){Promise<void>}Deprecated since 4.23
-
This method starts the CreateWorkflow where it waits for the feature to be selected.
Parameter:feature GraphicThe feature to be edited.
Returns:Type Description Promise<void> Resolves once the CreateWorkflow initiates, displays the panel where feature creation begins, and waits for the feature to be selected. - See also:
-
startCreateWorkflowAtFeatureTypeSelection(){Promise<void>}Deprecated since version 4.23. Instead use startCreateFeaturesWorkflowAtFeatureTypeSelection.
-
Initiates the CreateWorkflow by displaying the FeatureTemplates panel.
Returns:Type Description Promise<void> Resolves when the CreateWorkflow is initiated and displays the FeatureTemplates panel. - See also:
-
startUpdateWorkflowAtFeatureEdit(feature){Promise<void>}
-
Starts the update workflow at the feature geometry and attribute editing panel.
Parameter:feature GraphicThe feature to be updated.
Returns:Type Description Promise<void> Resolves once the UpdateWorkflow initiates the feature geometry and attribute editing panel. - See also:
-
startUpdateWorkflowAtFeatureSelection(){Promise<void>}
-
Starts the
update
workflow using the current selected feature.Returns:Type Description Promise<void> Resolves once the UpdateWorkflow is initiated using the current selected feature. - See also:
-
startUpdateWorkflowAtMultipleFeatureSelection(){Promise<void>}
-
Starts the Editor workflow where it waits for multiple features to be selected.
Returns:Type Description Promise<void> Resolves once the UpdateWorkflow is initiated as it waits for multiple features to be selected. - See also:
Type Definitions
-
EditableItem
-
The editable item available within the map.
- Properties:
-
layer FeatureLayer
Read-only The feature layer associated with the editable item.
supports StringRead-only The workflow type that this item supports. Can be either,
update
orcreate-features
.