Block
@dopt/javascript / Exports / Block
Class: Block<T>
Type parameters
Name | Type |
---|---|
T | unknown |
Hierarchy
Table of contents
Accessors
Methods
Accessors
type
• get
type(): "custom"
| "card"
| "modal"
| "checklist"
| "checklistItem"
| "tour"
| "tourItem"
Returns
"custom"
| "card"
| "modal"
| "checklist"
| "checklistItem"
| "tour"
| "tourItem"
Defined in
packages/@dopt/javascript/src/block.ts:91
kind
• get
kind(): "block"
Returns
"block"
Defined in
packages/@dopt/javascript/src/block.ts:95
sid
• get
sid(): string
Returns
string
Defined in
packages/@dopt/javascript/src/block.ts:99
uid
• get
uid(): string
Returns
string
Defined in
packages/@dopt/javascript/src/block.ts:103
version
• get
version(): number
Returns
number
Defined in
packages/@dopt/javascript/src/block.ts:107
state
• get
state(): Object
Returns the up-to-date state of this Block instance.
Returns
Object
The state of this instance.
Name | Type |
---|---|
active | boolean |
entered | boolean |
exited | boolean |
Defined in
packages/@dopt/javascript/src/block.ts:116
transitioned
• get
transitioned(): T
extends [string
, ...string[]] ? Record
<T
[number
], undefined
| boolean
> : Record
<string
, undefined
| boolean
>
Returns the up-to-date transitioned values for this Block instance.
Example
const block = dopt.block("HNWvcT78tyTwygnbzU6SW");
const firstTransitioned = block.transitioned['first-edge'];
In typescript, if a block is accessed with generics:
const block = dopt.block<['a-edge']>("HNWvcT78tyTwygnbzU6SW");
// this is valid
block.transitioned['a-edge'];
// this is invalid
block.transitioned['b-edge'];
Returns
T
extends [string
, ...string[]] ? Record
<T
[number
], undefined
| boolean
> : Record
<string
, undefined
| boolean
>
The edges which have been transitioned for this instance. If the edge exists, it's value will be true / false, otherwise the value will be undefined.
Defined in
packages/@dopt/javascript/src/block.ts:143
Methods
field
▸ field<V
>(name
): undefined
| null
| V
Gets the field with the name
contained by this Block.
If Dopt is loading or Block does not have a field
with the specified name, undefined
is returned.
null
is returned when the field has been explicitly
configured in app.dopt.com to have an empty value.
Type parameters
Name | Type |
---|---|
V | extends null | string | number | boolean | Record <string , any >[] |
Parameters
Name | Type |
---|---|
name | string |
Returns
undefined
| null
| V
Defined in
packages/@dopt/javascript/src/block.ts:68
transition
▸ transition(...input
): void
Transition this block. Will also update the state of blocks within this flow, as appropriate. This function must be called with at least one transition.
Example
const block = dopt.block("HNWvcT78tyTwygnbzU6SW");
// transitioning a single edge
block.transition('first-edge');
// transitioning multiple edges
block.transition('second-edge', 'third-edge');
In typescript, if a block is accessed with generics:
const block = dopt.block<['a-edge']>("HNWvcT78tyTwygnbzU6SW");
// this is valid
block.transition('a-edge');
// this is invalid
block.transition('b-edge');
Remarks
This function will update state with Dopt and trigger changes. Subscribe to the flows and blocks you care about to react to those changes.
Parameters
Name | Type |
---|---|
...input | T extends [string , ...string[]] ? [T [number ], ...T[number][]] : [string , ...string[]] |
Returns
void
void
Defined in
packages/@dopt/javascript/src/block.ts:181
subscribe
▸ subscribe(listener
): () => void
Subscribe to changes on this block.
Example
const block = dopt.block("HNWvcT78tyTwygnbzU6SW");
const unsubscribe = block.subscribe(async (block: Block) => {
if (block.state.exited) {
await showModal("Yay, you've completed your first step!");
unsubscribe();
}
});
Parameters
Name | Type | Description |
---|---|---|
listener | (block : Block <T >) => void | The listener function is called with this Block instance. |
Returns
fn
A function which can be called to unsubscribe the listener.
▸ (): void
Returns
void