Skip to content

BlockSuite API Documentation / @blocksuite/affine-block-surface / SurfaceElementModel

Class: abstract SurfaceElementModel<Props>

Extended by

Type Parameters

Props extends BaseElementProps = BaseElementProps

Implements

  • GfxCompatibleInterface

Constructors

new SurfaceElementModel()

new SurfaceElementModel<Props>(options): SurfaceElementModel<Props>

Parameters

options
id

string

model

SurfaceBlockModel

onChange

(payload) => void

stashedStore

Map<unknown, unknown>

yMap

YMap<unknown>

Returns

SurfaceElementModel<Props>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:65

Properties

_disposable

protected _disposable: DisposableGroup

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:24


_id

protected _id: string

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:25


_local

protected _local: Map<string | symbol, unknown>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:26


_onChange()

protected _onChange: (payload) => void

Parameters

payload
local

boolean

oldValues

Record<string, unknown>

props

Record<string, unknown>

Returns

void

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:27


_preserved

protected _preserved: Map<string, unknown>

Used to store a copy of data in the yMap.

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:35


_stashed

protected _stashed: Map<string | keyof Props, unknown>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:36


propsUpdated

propsUpdated: Slot<{ key: string; }>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:37


rotate

abstract rotate: number

Implementation of

GfxCompatibleInterface.rotate

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:40


surface

surface: SurfaceBlockModel

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:41


xywh

abstract xywh: `[${number},${number},${number},${number}]`

Implementation of

GfxCompatibleInterface.xywh

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:42


yMap

yMap: YMap<unknown>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:43

Accessors

connectable

Get Signature

get connectable(): boolean

Returns

boolean

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:44


deserializedXYWH

Get Signature

get deserializedXYWH(): XYWH

Returns

XYWH

Implementation of

GfxCompatibleInterface.deserializedXYWH

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:45


display

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:93


elementBound

Get Signature

get elementBound(): Bound

The bound of the element after rotation. The bound without rotation should be created by Bound.deserialize(this.xywh).

Returns

Bound

Implementation of

GfxCompatibleInterface.elementBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:50


externalBound

Get Signature

get externalBound(): null | Bound

Returns

null | Bound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:51


externalXYWH

In some cases, you need to draw something related to the element, but it does not belong to the element itself. And it is also interactive, you can select element by clicking on it. E.g. the title of the group element. In this case, we need to store this kind of external xywh in order to do hit test. This property should not be synced to the doc. This property should be updated every time it gets rendered.

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:100


group

Get Signature

get group(): null | GfxGroupModel

Returns

null | GfxGroupModel

Implementation of

GfxCompatibleInterface.group

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:52


groups

Get Signature

get groups(): GfxGroupModel[]

Return the ancestor elements in order from the most recent to the earliest.

Returns

GfxGroupModel[]

Implementation of

GfxCompatibleInterface.groups

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:56


h

Get Signature

get h(): number

Returns

number

Implementation of

GfxCompatibleInterface.h

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:57


hidden

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:101


id

Get Signature

get id(): string

Returns

string

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:58


index

Implementation of

GfxCompatibleInterface.index

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:102


isConnected

Get Signature

get isConnected(): boolean

Returns

boolean

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:59


lockedBySelf

Indicates whether the current block is explicitly locked by self. For checking the lock status of the element, use isLocked instead. For (un)locking the element, use (un)lock instead.

Implementation of

GfxCompatibleInterface.lockedBySelf

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:103


opacity

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:104


responseBound

Get Signature

get responseBound(): Bound

The bound of the element considering the response extension.

Returns

Bound

Implementation of

GfxCompatibleInterface.responseBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:60


responseExtension

Defines the extension of the response area beyond the element's bounding box. This tuple specifies the horizontal and vertical margins to be added to the element's bound.

The first value represents the horizontal extension (added to both left and right sides), and the second value represents the vertical extension (added to both top and bottom sides).

The response area is computed as: [x - horizontal, y - vertical, w + 2 * horizontal, h + 2 * vertical].

Example:

  • xywh: [0, 0, 100, 100], responseExtension: [10, 20] Resulting response area: [-10, -20, 120, 140].
  • responseExtension: [0, 0] keeps the response area equal to the bounding box.

Implementation of

GfxCompatibleInterface.responseExtension

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:105


seed

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:106


type

Get Signature

get abstract type(): string

Returns

string

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:61


w

Get Signature

get w(): number

Returns

number

Implementation of

GfxCompatibleInterface.w

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:62


x

Get Signature

get x(): number

Returns

number

Implementation of

GfxCompatibleInterface.x

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:63


y

Get Signature

get y(): number

Returns

number

Implementation of

GfxCompatibleInterface.y

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:64

Methods

containsBound()

containsBound(bounds): boolean

Parameters

bounds

Bound

Returns

boolean

Implementation of

GfxCompatibleInterface.containsBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:77


getLineIntersections()

getLineIntersections(start, end): null | PointLocation[]

Parameters

start

IVec

end

IVec

Returns

null | PointLocation[]

Implementation of

GfxCompatibleInterface.getLineIntersections

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:78


getNearestPoint()

getNearestPoint(point): IVec

Parameters

point

IVec

Returns

IVec

Implementation of

GfxCompatibleInterface.getNearestPoint

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:79


getRelativePointLocation()

getRelativePointLocation(relativePoint): PointLocation

Parameters

relativePoint

IVec

Returns

PointLocation

Implementation of

GfxCompatibleInterface.getRelativePointLocation

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:80


includesPoint()

includesPoint(x, y, opt, __): boolean

Parameters

x

number

y

number

opt

PointTestOptions

__

EditorHost

Returns

boolean

Implementation of

GfxCompatibleInterface.includesPoint

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:81


intersectsBound()

intersectsBound(bound): boolean

Parameters

bound

Bound

Returns

boolean

Implementation of

GfxCompatibleInterface.intersectsBound

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:82


isLocked()

isLocked(): boolean

Check if the element is locked. It will check the lock status of the element and its ancestors.

Returns

boolean

Implementation of

GfxCompatibleInterface.isLocked

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:83


isLockedByAncestor()

isLockedByAncestor(): boolean

Returns

boolean

Implementation of

GfxCompatibleInterface.isLockedByAncestor

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:84


isLockedBySelf()

isLockedBySelf(): boolean

Returns

boolean

Implementation of

GfxCompatibleInterface.isLockedBySelf

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:85


lock()

lock(): void

Returns

void

Implementation of

GfxCompatibleInterface.lock

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:86


onCreated()

onCreated(): void

Returns

void

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:87


onDestroyed()

onDestroyed(): void

Returns

void

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:88


pop()

pop(prop): void

Parameters

prop

string | keyof Props

Returns

void

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:89


serialize()

serialize(): SerializedElement

Returns

SerializedElement

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:90


stash()

stash(prop): void

Parameters

prop

string | keyof Props

Returns

void

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:91


unlock()

unlock(): void

Returns

void

Implementation of

GfxCompatibleInterface.unlock

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:92


propsToY()

static propsToY(props): Record<string, unknown>

Parameters

props

Record<string, unknown>

Returns

Record<string, unknown>

Defined in

packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:76