Skip to main content

Class: ProductStepHandle

A StepHandle allows for managing the state of a specific step in a workflow. This class abstracts away the complexities of dealing with a step directly and allows for using high level concepts instead of dealing with the underlying data structures.

Extends​

Constructors​

Constructor​

new ProductStepHandle(manager, step, tags): ProductStepHandle

Parameters​

manager​

WorkflowManager

step​

Step<ProductStepData>

tags​

string[]

Returns​

ProductStepHandle

Overrides​

StepHandle.constructor

Methods​

addProduct()​

addProduct(variant): Promise<void>

Parameters​

variant​

Variant

Returns​

Promise<void>


executeAnimations()​

executeAnimations(immediate?): void

Fires any configured animations on the 3D preview for this step. This includes camera & model animations. If the preview is unavailable this function will do nothing.

Parameters​

immediate?​

boolean

Returns​

void

Inherited from​

StepHandle.executeAnimations


getAllVariants()​

getAllVariants(): Promise<Variant[]>

Returns​

Promise<Variant[]>

A list of all variants for this step, including disabled ones.

Inherited from​

StepHandle.getAllVariants


getAvailableVariants()​

getAvailableVariants(): Promise<Variant[]>

Returns​

Promise<Variant[]>

A list of valid variants for this step. Does not include disabled variants.

Overrides​

StepHandle.getAvailableVariants


getChildTransactions()​

getChildTransactions(): Transaction[]

Get child transactions that belong to this step specifically. Filters by parent transaction AND by products available in this step's option.

Returns​

Transaction[]


getCurrentVariant()​

getCurrentVariant(): Variant | undefined

Gets the currently selected variant, or undefined if no variant is selected.

Returns​

Variant | undefined

Inherited from​

StepHandle.getCurrentVariant


getGlobalPropertyAspects()​

getGlobalPropertyAspects(configurationId): string[]

Retrieves the identifiers of all of the configured aspects for the specified Global Property Configuration.

Parameters​

configurationId​

string

The ID of the Global Property Configuration. You can usually find this with bundle.getGlobalPropertyConfiguration()?.id

Returns​

string[]

An array of strings matching the keys of all the Global Property Aspects in the Configuration that this step is configured to use.

Inherited from​

StepHandle.getGlobalPropertyAspects


getHelpText()​

getHelpText(): string | undefined

Returns​

string | undefined

A message that can accompany the step name in UI components. Used to describe the purpose of the step in more detail.

Inherited from​

StepHandle.getHelpText


getId()​

getId(): string

Returns​

string

A unique identifier for this step within the workflow.

Inherited from​

StepHandle.getId


getLockedAddOns()​

getLockedAddOns(): ProductStepLockedAddOn[]

Get locked add-ons configured on this product step.

Returns​

ProductStepLockedAddOn[]


getMandatory()​

getMandatory(): boolean

Returns​

boolean

True if the step is required to be filled by the customer. False otherwise.

Inherited from​

StepHandle.getMandatory


getMax()​

getMax(): number | undefined

Get maximum number of products allowed.

Returns​

number | undefined


getMin()​

getMin(): number

Get minimum number of products required.

Returns​

number


getName()​

getName(): string

Returns​

string

The name of the step

Inherited from​

StepHandle.getName


getOverrideGlobalPropertyConfiguration()​

getOverrideGlobalPropertyConfiguration(type): boolean

Parameters​

type​

AspectType

The AspectType to fetch the value for.

Returns​

boolean

A boolean indicating whether this step should override Global Properties. Only relevant when the Workflow Experience is associated with a Bundle that is using Global Properties, and when this step is associated with one or more Global Property Aspects.

Inherited from​

StepHandle.getOverrideGlobalPropertyConfiguration


getPricing()​

getPricing(): string

Get pricing configuration.

Returns​

string


getRaw()​

getRaw(): Step<ProductStepData>

Returns​

Step<ProductStepData>

The underlying data for this step. Favor using the step handle methods instead of this.

Inherited from​

StepHandle.getRaw


getTags()​

getTags(): string[]

Returns​

string[]

Returns all of the tags that are present on this step.

Inherited from​

StepHandle.getTags


getType()​

getType(): StepType

Returns​

StepType

The type of the step handle.

Inherited from​

StepHandle.getType


getWorkflows()​

getWorkflows(): string[]

Get associated workflow IDs.

Returns​

string[]


hasTag()​

hasTag(tag): boolean

Parameters​

tag​

string

The tag to check for.

Returns​

boolean

True if the step has the specified tag, false otherwise.

Inherited from​

StepHandle.hasTag


isCategoryFilterEnabled()​

isCategoryFilterEnabled(): boolean

Whether category filtering is enabled.

Returns​

boolean


isSearchBarEnabled()​

isSearchBarEnabled(): boolean

Whether search bar is enabled.

Returns​

boolean


removeProduct()​

removeProduct(transactionId): Promise<void>

Parameters​

transactionId​

string

Returns​

Promise<void>


selectVariant()​

selectVariant(): Promise<void>

Most step types have a base option type that variants can be selected for. Selects a specific variant for this step. This will execute all required changes to the design and update the metadata to include the new selection. Any conditions that would be triggered will also be executed.

Returns​

Promise<void>

Overrides​

StepHandle.selectVariant


setOverrideGlobalPropertyConfiguration()​

setOverrideGlobalPropertyConfiguration(type, value): void

Sets whether or not this step should override Global Properties. Only relevant when the Workflow Experience is associated with a Bundle that is using Global Properties, and when this step is associated with one or more Global Property Aspects.

Parameters​

type​

AspectType

The AspectType to override.

value​

boolean

Returns​

void

Inherited from​

StepHandle.setOverrideGlobalPropertyConfiguration