All of Frigade’s Javascript SDKs share the same Flow type definition which is defined in the Frigade JS SDK.

The Flow object is the main object that models a Flow’s static metadata (title, subtitle, steps, etc.) as well as the current user’s state in this flow.

It contains all the data and methods needed to build custom components with Frigade and to interact with the Frigade API without writing a single custom network call.

Properties

Accessors

config

config: FrigadeConfig


id

id: string

The Flow’s ID.


isCompleted

isCompleted: boolean

Whether the Flow is completed or not.


isSkipped

isSkipped: boolean

Whether the Flow has been skipped or not.


isStarted

isStarted: boolean

Whether the Flow is started or not.


steps

steps: Map<string, FlowStep>

Ordered map of the Steps in the Flow. See Flow Step Definition for more information.


subtitle

Optional subtitle: string

The user-facing description of the Flow, if defined at the top level of the YAML config.


title

Optional title: string

The user-facing title of the Flow, if defined at the top level of the YAML config.

Accessors

isVisible

get isVisible(): boolean

Whether the Flow is visible to the user based on the current user/group’s state.

set isVisible(visible): void

Parameters
NameType
visibleboolean

Methods

applyVariables

applyVariables(variables): void

Apply variables to the flow. This will replace any ${variable} in the title, subtitle, and step fields with the value of the variable.

Parameters
NameTypeDescription
variablesRecord<string, any>A record of variables to apply to the flow.

back

back(properties?): Promise<void>

Navigates the flow to the previous step if one exists. This will mark that step started, but will not complete the previous step.

Parameters
NameType
properties?PropertyPayload

complete

complete(properties?): Promise<void>

Marks the flow completed

Parameters
NameType
properties?PropertyPayload

forward

forward(properties?): Promise<void>

Navigates the flow to the next step if one exists. This will mark that step started, but will not complete the previous step.

Parameters
NameType
properties?PropertyPayload

getCurrentStep

getCurrentStep(): FlowStep

Gets current step


getCurrentStepIndex

getCurrentStepIndex(): number

Get the index of the current step. Starts at 0


getNumberOfAvailableSteps

getNumberOfAvailableSteps(): number

Get the number of available steps for the current user in the current flow. This is the number of steps that are not hidden.


getNumberOfCompletedSteps

getNumberOfCompletedSteps(): number

Get the number of completed steps for the current user in the current flow


getStepByIndex

getStepByIndex(index): FlowStep

Get a step by index

Parameters
NameType
indexnumber

register

register(callback?): void

Parameters
NameType
callback?RulesRegistryCallback

reload

reload(): void

Reload the Flow data from the server


restart

restart(): Promise<void>

Restarts the flow/marks it not started


sendFlowStateToAPI

sendFlowStateToAPI(action, data?, stepId?): Promise<void>

Parameters
NameType
actionFlowActionType
data?PropertyPayload
stepId?string

skip

skip(properties?): Promise<void>

Marks the flow skipped

Parameters
NameType
properties?PropertyPayload

start

start(properties?): Promise<void>

Marks the flow started

Parameters
NameType
properties?PropertyPayload

unregister

unregister(): void

View definition