Skip To ContentArcGIS for DevelopersSign In Dashboard
require(["esri/widgets/Editor/Workflow"], function(Workflow) { /* code goes here */ });
Class: esri/widgets/Editor/Workflow
Inheritance: Workflow Accessor
Since: ArcGIS API for JavaScript 4.11

Overview

A Workflow helps manage different stages of an editing workflow. A workflow can be thought of as one of two options: create and/or update. If adding a new feature, the create option is used. Whereas if editing an existing feature, the update option is used. Updating includes both editing geometry and attribute data and deleting features.

An instance of a Workflow is accessed via the activeWorkflow property in either the Editor or EditorViewModel classes.

These workflows are only enabled if the feature service allows these operations. For example, if a feature service is only enabled to allow updates, it is not possible to override this using the API.

Add a new feature

The following stages depict adding a new feature in the create workflow.

addFeature

StageAdd feature example
1 - After selecting Add feature, the first panel contains the CreateWorkflowData.viewModel.firstPanel
2 - After a template is selected, the next panel has access to CreateWorkflowData.creationInfo and CreateWorkflowData.viewModel.addpoint
3 - Once a feature geometry is specified, the subsequent attribute panel has access to CreateWorkflowData.creationInfo, UpdateWorkflowData.edits, and CreateWorkflowData.viewModel.addattributes

Update a single feature

editfeature

The following stages depict editing a single feature.

StageEdit single feature example
1 - After selecting Edit feature, the initial panel contains the UpdateWorkflowData.viewModel.selectfeature
2 - Once a feature is selected, the subsequent attribute panel has access to UpdateWorkflowData.edits, UpdateWorkflowData.editableItem, and UpdateWorkflowData.viewModel.updateattributes

Update multiple features

The following stages depict editing multiple features.

Stageedit multiple features example
1 - After selecting Edit feature, the initial panel contains the UpdateWorkflowData.viewModel.selectfeature
2 - If multiple features are selected, the subsequent attribute panel has access to UpdateWorkflowData.candidates and UpdateWorkflowData.viewModel.multiplefeatureselection
3 - Once a feature is selected, the subsequent attribute panel has access to UpdateWorkflowData.edits, UpdateWorkflowData.editableItem, and UpdateWorkflowData.viewModel.selectedfeatureupdate
See also:

Constructors

new Workflow(properties)
Parameter:
properties Object
optional

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

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
NameTypeSummaryClass
CreateWorkflowData|UpdateWorkflowData

Shared workflow data.

more details
more detailsWorkflow
String

The name of the class.

more details
more detailsAccessor
Boolean

This property indicates whether there is a next step in the workflow.

more details
more detailsWorkflow
Boolean

This property indicates if there is a previous step in the workflow.

more details
more detailsWorkflow
Boolean

Indicates whether the workflow is considered active.

more details
more detailsWorkflow
String

The name of the current step in the workflow.

more details
more detailsWorkflow
String

Value indicating the workflow type.

more details
more detailsWorkflow

Property Details

Shared workflow data. Can be either a CreateWorkflowData or a UpdateWorkflowData.

declaredClass Stringreadonly inherited

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

hasNextStep Booleanreadonly

This property indicates whether there is a next step in the workflow.

hasPreviousStep Booleanreadonly

This property indicates if there is a previous step in the workflow.

started Booleanreadonly

Indicates whether the workflow is considered active.

Default Value:false
stepId Stringreadonly

The name of the current step in the workflow.

type Stringreadonly

Value indicating the workflow type.

Possible ValueDescriptionExample
createIndicated in the widget via the Add feature option. This allows the end user to create new features in the feature service.combinedcreate
updateIndicated in the widget via the Edit feature option. This allows the end user to update and/or delete features in the feature service.combinedupdate

These workflows are only enabled if the feature service allows these operations. For example, if a feature service is only enabled to allow updates, Add features is not enabled.

Method Overview

NameReturn TypeSummaryClass

Cancels the active workflow.

more details
more detailsWorkflow

Call this method when the workflow is considered finished.

more details
more detailsWorkflow

Moves to the next step in the workflow.

more details
more detailsWorkflow

Moves to the previous step in the workflow.

more details
more detailsWorkflow

Resets the workflow.

more details
more detailsWorkflow

Starts the workflow.

more details
more detailsWorkflow

Method Details

cancel()

Cancels the active workflow.

commit()

Call this method when the workflow is considered finished. This method is used to help process the editing results.

Moves to the next step in the workflow.

Moves to the previous step in the workflow.

reset()

Resets the workflow.

start()

Starts the workflow.

Type Definitions

CreateWorkflowData

This object contains data for the create workflow.

Properties:
creationInfo CreationInfo

The creationInfo provides the feature template and layer when creating a new feature.

edits Edits

The edits used to keep track of a feature being modified.

viewModel EditorViewModel

The associated EditorViewModel for this workflow.

Edits

Object used to keep track of a feature being modified.

Properties:
feature Graphic

The feature to be edited.

modified Boolean

Read-only When true, the edited feature has been modified from its original state.

UpdateWorkflowData

This object contains data for the update workflow.

Properties:
candidates Graphic[]

An array of features to be updated. This is only relevant when there are multiple candidates to update.

editableItem EditableItem

The object that matches the feature being updated.

edits Edits

The edits used to keep track of a feature being modified.

viewModel EditorViewModel

The associated EditorViewModel for this workflow.

API Reference search results

NameTypeModule
Loading...