CreateFeaturesWorkflow

AMD: require(["esri/widgets/Editor/CreateFeaturesWorkflow"], (CreateFeaturesWorkflow) => { /* code goes here */ });
ESM: import CreateFeaturesWorkflow from "@arcgis/core/widgets/Editor/CreateFeaturesWorkflow";
Class: esri/widgets/Editor/CreateFeaturesWorkflow
Inheritance: CreateFeaturesWorkflow Workflow Accessor
Since: ArcGIS API for JavaScript 4.23

A read-only class containing the logic used when creating features using the Editor widget.

The following stages depict adding new feature(s) with this workflow.

create-feature

Stage Add feature example
1 - The first panel contains the CreateFeaturesWorkflowData.viewModel. create-feature-panel
2 - After a template is selected, the next panel has access to CreateFeaturesWorkflowData.creationInfo and CreateFeaturesWorkflowData.viewModel. stage2
3 - Once a feature geometry is specified, the subsequent attribute panel has access to CreateFeaturesWorkflowData.creationInfo, CreateWorkflowData.viewModel, and number of pending features, and actual pending features. stage3

This workflow is only enabled if the feature service allows this operation.

See also:

Property Overview

Any properties can be set, retrieved or listened to. See the Working with Properties topic.
Show inherited properties Hide inherited properties
Name Type Summary Class
Stringmore details

Indicates the current feature state during creation.

more detailsCreateFeaturesWorkflow
CreateWorkflowData|CreateFeaturesWorkflowData|UpdateWorkflowDatamore details

The shared workflow data.

more detailsWorkflow
Stringmore details

The name of the class.

more detailsAccessor
Booleanmore details

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

more detailsWorkflow
Booleanmore details

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

more detailsWorkflow
Numbermore details

Returns the number of pending features of an active CreateWorkflow.

more detailsCreateFeaturesWorkflow
Collection<Graphic>more details

Returns a collection of graphics representing features that are currently pending in the active CreateWorkflow.

more detailsCreateFeaturesWorkflow
Booleanmore details

Indicates whether the workflow is considered active.

more detailsWorkflow
Stringmore details

The name of the current step in the workflow.

more detailsWorkflow
Stringmore details

Value indicating the workflow type.

more detailsWorkflow

Property Details

createFeatureState String

Indicates the current feature state during creation. This state is either 1) while creating a new feature, or 2) updating a pending feature while in the "creating-features" step.

Possible Values:"create-new"|"update-pending"

Default Value:"create-new"

The shared workflow data. This can be either CreateFeaturesWorkflowData (use this in place of the deprecated CreateWorkflowData) or UpdateWorkflowData.

declaredClass Stringreadonly inherited

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

hasNextStep Booleanreadonly inherited

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

hasPreviousStep Booleanreadonly inherited

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

numPendingFeatures Number

Returns the number of pending features of an active CreateWorkflow. Returns 0 (zero) if no workflow is active or the workflow type is not matching.

See also:
pendingFeatures Collection<Graphic>

Returns a collection of graphics representing features that are currently pending in the active CreateWorkflow.

See also:
started Booleanreadonly inherited

Indicates whether the workflow is considered active.

Default Value:false
stepId Stringreadonly inherited

The name of the current step in the workflow.

type Stringreadonly inherited

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

Show inherited methods Hide inherited methods
Name Return Type Summary Class
Promise<void>more details

Cancels the active workflow.

more detailsWorkflow
Promise<void>more details

Call this method when the workflow is considered finished.

more detailsWorkflow
Promise<void>more details

Moves to the next step in the workflow.

more detailsWorkflow
more details

Adds one or more handles which are to be tied to the lifecycle of the object.

more detailsAccessor
Promise<void>more details

Moves to the previous step in the workflow.

more detailsWorkflow
Promise<void>more details

Resets the workflow.

more detailsWorkflow
Promise<void>more details

Starts the workflow.

more detailsWorkflow
Promise<void>more details

Moves the pending feature into update mode.

more detailsCreateFeaturesWorkflow

Method Details

cancel(){Promise<void>}inherited

Cancels the active workflow.

Returns:
Type Description
Promise<void> Resolves when the active workflow is canceled.
commit(){Promise<void>}inherited

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

Returns:
Type Description
Promise<void> Resolves when the active workflow commits and processes the edited results.

Moves to the next step in the workflow.

Returns:
Type Description
Promise<void> Resolves when moved to the next step within the active workflow.
own(handleOrHandles)inherited
Since: ArcGIS API for JavaScript 4.24

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.whenOnce(() => !view.updating)
  .then(() => {
    wkidSelect.disabled = false;
});

handle.remove();

// Assign a handle using own()
this.own(reactiveUtils.whenOnce(() => !view.updating)
  .then(() => {
    wkidSelect.disabled = false;
  }));
Parameter:
handleOrHandles WatchHandle|WatchHandle[]

Handles marked for removal once the object is destroyed.

Moves to the previous step in the workflow.

Parameters:
options Object
optional

Options when calling this method.

Specification:
cancelCurrentStep Boolean

Cancels the current workflow when calling this method. Default value is false.

Returns:
Type Description
Promise<void> Resolves when moved to the previous step within the active workflow.
reset(){Promise<void>}inherited

Resets the workflow.

Returns:
Type Description
Promise<void> Resolves when the active workflow is reset.
start(){Promise<void>}inherited

Starts the workflow.

Returns:
Type Description
Promise<void> Resolves when the active workflow starts.
updatePendingFeature(feature){Promise<void>}

Moves the pending feature into update mode.

Parameter:
feature Graphic

The pending feature to be updated.

Returns:
Type Description
Promise<void> Resolves when successfully moves the pending feature into update mode.

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.