require(["esri/widgets/Editor/Workflow"], (Workflow) => { /* code goes here */ });
import Workflow from "@arcgis/core/widgets/Editor/Workflow.js";
esri/widgets/Editor/Workflow
The read-only Workflow
class helps manage different stages of an editing workflow.
A workflow can be thought of as one of two types: CreateFeaturesWorkflow and UpdateWorkflow.
If adding an individual or multiple features, the CreateFeaturesWorkflow is used. Whereas if editing an existing feature, the UpdateWorkflow is used.
Updating workflows include both editing geometry and attribute data and deleting features.
An instance of either a CreateFeaturesWorkflow or UpdateWorkflow
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.
Property Overview
Name | Type | Summary | Class |
---|---|---|---|
The shared workflow data. | Workflow | ||
The name of the class. | Accessor | ||
This property indicates whether there is a next step in the workflow. | Workflow | ||
This property indicates if there is a previous step in the workflow. | Workflow | ||
Indicates whether the workflow is considered active. | Workflow | ||
The name of the current step in the workflow. | Workflow | ||
Value indicating the workflow type. | Workflow |
Property Details
-
data
data CreateFeaturesWorkflowData |UpdateWorkflowDatareadonly
-
The shared workflow data. This can be either CreateFeaturesWorkflowData or UpdateWorkflowData.
-
hasNextStep
hasNextStep Booleanreadonly
-
This property indicates whether there is a next step in the workflow.
-
hasPreviousStep
hasPreviousStep Booleanreadonly
-
This property indicates if there is a previous step in the workflow.
-
started
started Booleanreadonly
-
Indicates whether the workflow is considered active.
- Default Value:false
-
stepId
stepId Stringreadonly
-
The name of the current step in the workflow.
-
type
type Stringreadonly
-
Value indicating the workflow type.
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" |"create-features" |"update"
Method Overview
Name | Return Type | Summary | Class |
---|---|---|---|
Adds one or more handles which are to be tied to the lifecycle of the object. | Accessor | ||
Promise<void> | Cancels the active workflow. | Workflow | |
Promise<void> | Call this method when the workflow is considered finished. | Workflow | |
Returns true if a named group of handles exist. | Accessor | ||
Promise<void> | Moves to the next step in the workflow. | Workflow | |
Promise<void> | Moves to the previous step in the workflow. | Workflow | |
Removes a group of handles owned by the object. | Accessor | ||
Promise<void> | Resets the workflow. | Workflow | |
Promise<any> | Starts the workflow. | Workflow |
Method Details
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, addHandles added at 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 } ); this.addHandles(handle); // Destroy the object this.destroy();
ParametershandleOrHandles WatchHandle|WatchHandle[]Handles marked for removal once the object is destroyed.
groupKey *optionalKey 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.
-
Cancels the active workflow.
ReturnsType Description Promise<void> Resolves when the active workflow is canceled.
-
Since: ArcGIS Maps SDK for JavaScript 4.15Workflow since 4.11, commit added at 4.15. -
Call this method when the workflow is considered finished. This is used to help process the editing results.
ReturnsType Description Promise<void> Resolves when the active workflow commits and processes the edited results.
-
hasHandles
InheritedMethodhasHandles(groupKey){Boolean}
Inherited from AccessorSince: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, hasHandles added at 4.25. -
Returns true if a named group of handles exist.
ParametergroupKey *optionalA group key.
ReturnsType 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"); }
-
Moves to the next step in the workflow.
ReturnsType Description Promise<void> Resolves when moved to the next step within the active workflow.
-
Moves to the previous step in the workflow.
ParametersReturnsType Description Promise<void> Resolves when moved to the previous step within the active workflow.
-
Inherited from Accessor
Since: ArcGIS Maps SDK for JavaScript 4.25Accessor since 4.0, removeHandles added at 4.25. -
Removes a group of handles owned by the object.
ParametergroupKey *optionalA group key or an array or collection of group keys to remove.
Exampleobj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
Resets the workflow.
ReturnsType Description Promise<void> Resolves when the active workflow is reset.