BindingUtil
See source codeTable of contents
abstract class BindingUtil<
Binding extends TLUnknownBinding = TLUnknownBinding,
> {}
Constructor
Constructs a new instance of the BindingUtil
class
Parameters
Name | Description |
---|---|
|
Properties
migrations
static migrations?: TLPropsMigrations
props
static props?: RecordProps<TLUnknownBinding>
type
The type of the binding util, which should match the binding's type.
static type: string
editor
editor: Editor
Methods
getDefaultProps()
Get the default props for a binding.
abstract getDefaultProps(): Partial<Binding['props']>
onAfterChange()
Called after a binding has been changed. See BindingOnChangeOptions for details.
Note that this only fires when the binding record is changing, not when the shapes associated change. Use BindingUtil.onAfterChangeFromShape and BindingUtil.onAfterChangeToShape for that.
onAfterChange?(options: BindingOnChangeOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onAfterChangeFromShape()
Called after the shape referenced in a binding's fromId
is changed. Use this to propagate
any changes to the binding itself or the other shape as needed. See
BindingOnShapeChangeOptions for details.
onAfterChangeFromShape?(options: BindingOnShapeChangeOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onAfterChangeToShape()
Called after the shape referenced in a binding's toId
is changed. Use this to propagate any
changes to the binding itself or the other shape as needed. See
BindingOnShapeChangeOptions for details.
onAfterChangeToShape?(options: BindingOnShapeChangeOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onAfterCreate()
Called after a binding has been created. See BindingOnCreateOptions for details.
onAfterCreate?(options: BindingOnCreateOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onAfterDelete()
Called after a binding has been deleted. See BindingOnDeleteOptions for details.
onAfterDelete?(options: BindingOnDeleteOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onBeforeChange()
Called when a binding is about to be changed. See BindingOnChangeOptions for details.
Note that this only fires when the binding record is changing, not when the shapes associated change. Use BindingUtil.onAfterChangeFromShape and BindingUtil.onAfterChangeToShape for that.
You can optionally return a new binding to replace the one being changed - for example, to enforce constraints on the binding's props.
onBeforeChange?(options: BindingOnChangeOptions<Binding>): Binding | void
Parameters
Name | Description |
---|---|
|
|
Returns
Binding | void
onBeforeCreate()
Called when a binding is about to be created. See BindingOnCreateOptions for details.
You can optionally return a new binding to replace the one being created - for example, to set different initial props.
onBeforeCreate?(options: BindingOnCreateOptions<Binding>): Binding | void
Parameters
Name | Description |
---|---|
|
|
Returns
Binding | void
onBeforeDelete()
Called when a binding is about to be deleted. See BindingOnDeleteOptions for details.
onBeforeDelete?(options: BindingOnDeleteOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onBeforeDeleteFromShape()
Called before the shape referenced in a binding's fromId
is about to be deleted. Use this
with care - you may want to use BindingUtil.onBeforeIsolateToShape instead. See
BindingOnShapeDeleteOptions for details.
onBeforeDeleteFromShape?(options: BindingOnShapeDeleteOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onBeforeDeleteToShape()
Called before the shape referenced in a binding's toId
is about to be deleted. Use this
with care - you may want to use BindingUtil.onBeforeIsolateFromShape instead. See
BindingOnShapeDeleteOptions for details.
onBeforeDeleteToShape?(options: BindingOnShapeDeleteOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onBeforeIsolateFromShape()
Called before the shape referenced in a binding's fromId
is about to be isolated from the
shape referenced in toId
. See BindingOnShapeIsolateOptions for discussion on what
isolation means, and when/how to use this callback.
onBeforeIsolateFromShape?(
options: BindingOnShapeIsolateOptions<Binding>
): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onBeforeIsolateToShape()
Called before the shape referenced in a binding's toId
is about to be isolated from the
shape referenced in fromId
. See BindingOnShapeIsolateOptions for discussion on what
isolation means, and when/how to use this callback.
onBeforeIsolateToShape?(options: BindingOnShapeIsolateOptions<Binding>): void
Parameters
Name | Description |
---|---|
|
|
Returns
void
onOperationComplete()
Called whenever a store operation involving this binding type has completed. This is useful for working with networks of related bindings that may need to update together.
onOperationComplete?(): void
Example
class MyBindingUtil extends BindingUtil<MyBinding> {
changedBindingIds = new Set<TLBindingId>()
onOperationComplete() {
doSomethingWithChangedBindings(this.changedBindingIds)
this.changedBindingIds.clear()
}
onAfterChange({ bindingAfter }: BindingOnChangeOptions<MyBinding>) {
this.changedBindingIds.add(bindingAfter.id)
}
}