ArrowBindingUtil
Table of contents
Extends BindingUtil<TLArrowBinding>
.
class ArrowBindingUtil extends BindingUtil<TLArrowBinding> {}
BindingUtil
Constructs a new instance of the BindingUtil
class
Name | Description |
---|---|
|
|
Properties
static migrations: import('@tldraw/editor').TLPropsMigrations
static props: import('@tldraw/editor').RecordProps<TLArrowBinding>
static type: string
BindingUtil
editor: Editor
Methods
getDefaultProps(): Partial<TLArrowBindingProps>
onAfterChange({ bindingAfter }: BindingOnChangeOptions<TLArrowBinding>): void
Name | Description |
---|---|
|
|
void
onAfterChangeFromShape({
shapeAfter,
}: BindingOnShapeChangeOptions<TLArrowBinding>): void
Name | Description |
---|---|
|
|
void
onAfterChangeToShape({
binding,
}: BindingOnShapeChangeOptions<TLArrowBinding>): void
Name | Description |
---|---|
|
|
void
onAfterCreate({ binding }: BindingOnCreateOptions<TLArrowBinding>): void
Name | Description |
---|---|
|
|
void
BindingUtil
Called after a binding has been deleted. See BindingOnDeleteOptions for details.
onAfterDelete?(options: BindingOnDeleteOptions<Binding>): void
Name | Description |
---|---|
|
|
void
BindingUtil
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
Name | Description |
---|---|
|
|
Binding | void
BindingUtil
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
Name | Description |
---|---|
|
|
Binding | void
BindingUtil
Called when a binding is about to be deleted. See BindingOnDeleteOptions for details.
onBeforeDelete?(options: BindingOnDeleteOptions<Binding>): void
Name | Description |
---|---|
|
|
void
BindingUtil
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
Name | Description |
---|---|
|
|
void
BindingUtil
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
Name | Description |
---|---|
|
|
void
onBeforeIsolateFromShape({
binding,
}: BindingOnShapeIsolateOptions<TLArrowBinding>): void
Name | Description |
---|---|
|
|
void
BindingUtil
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
Name | Description |
---|---|
|
|
void
BindingUtil
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
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)
}
}