Skip to content

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

Class: abstract SurfaceElementModel<Props>

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:23

Extended by

Type Parameters

Props

Props extends BaseElementProps = BaseElementProps

Implements

  • GfxCompatibleInterface

Constructors

new SurfaceElementModel()

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

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:66

Parameters

options
id

string

model

SurfaceBlockModel

onChange

(payload) => void

stashedStore

Map<unknown, unknown>

yMap

YMap<unknown>

Returns

GfxPrimitiveElementModel<Props>

Properties

_disposable

protected _disposable: DisposableGroup

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


_id

protected _id: string

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


_local

protected _local: Map<string | symbol, unknown>

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


_onChange()

protected _onChange: (payload) => void

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:28

Parameters

payload
local

boolean

oldValues

Record<string, unknown>

props

Record<string, unknown>

Returns

void


_preserved

protected _preserved: Map<string, unknown>

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

Used to store a copy of data in the yMap.


_stashed

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

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


propsUpdated

propsUpdated: Subject<{ key: string; }>

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:38


rotate

abstract rotate: number

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

Implementation of

GfxCompatibleInterface.rotate


surface

surface: SurfaceBlockModel

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


xywh

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

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

Implementation of

GfxCompatibleInterface.xywh


yMap

yMap: YMap<unknown>

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

Accessors

connectable

Get Signature

get connectable(): boolean

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

Returns

boolean


deserializedXYWH

Get Signature

get deserializedXYWH(): XYWH

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:46

Returns

XYWH

Implementation of

GfxCompatibleInterface.deserializedXYWH


display

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


elementBound

Get Signature

get elementBound(): Bound

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

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


externalBound

Get Signature

get externalBound(): null | Bound

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

Returns

null | Bound


externalXYWH

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

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.


group

Get Signature

get group(): null | GfxGroupModel

Defined in: packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:53

Returns

null | GfxGroupModel

Implementation of

GfxCompatibleInterface.group


groups

Get Signature

get groups(): GfxGroupModel[]

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

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

Returns

GfxGroupModel[]

Implementation of

GfxCompatibleInterface.groups


h

Get Signature

get h(): number

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

Returns

number

Implementation of

GfxCompatibleInterface.h


hidden

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


id

Get Signature

get id(): string

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

Returns

string


index

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

Implementation of

GfxCompatibleInterface.index


isConnected

Get Signature

get isConnected(): boolean

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

Returns

boolean


lockedBySelf

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

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


opacity

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


responseBound

Get Signature

get responseBound(): Bound

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

The bound of the element considering the response extension.

Returns

Bound

Implementation of

GfxCompatibleInterface.responseBound


responseExtension

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

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


seed

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


type

Get Signature

get abstract type(): string

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

Returns

string


w

Get Signature

get w(): number

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

Returns

number

Implementation of

GfxCompatibleInterface.w


x

Get Signature

get x(): number

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

Returns

number

Implementation of

GfxCompatibleInterface.x


y

Get Signature

get y(): number

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

Returns

number

Implementation of

GfxCompatibleInterface.y

Methods

containsBound()

containsBound(bounds): boolean

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

Parameters

bounds

Bound

Returns

boolean

Implementation of

GfxCompatibleInterface.containsBound


getLineIntersections()

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

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

Parameters

start

IVec

end

IVec

Returns

null | PointLocation[]

Implementation of

GfxCompatibleInterface.getLineIntersections


getNearestPoint()

getNearestPoint(point): IVec

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

Parameters

point

IVec

Returns

IVec

Implementation of

GfxCompatibleInterface.getNearestPoint


getRelativePointLocation()

getRelativePointLocation(relativePoint): PointLocation

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

Parameters

relativePoint

IVec

Returns

PointLocation

Implementation of

GfxCompatibleInterface.getRelativePointLocation


includesPoint()

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

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

Parameters

x

number

y

number

opt

PointTestOptions

__

EditorHost

Returns

boolean

Implementation of

GfxCompatibleInterface.includesPoint


intersectsBound()

intersectsBound(bound): boolean

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

Parameters

bound

Bound

Returns

boolean

Implementation of

GfxCompatibleInterface.intersectsBound


isLocked()

isLocked(): boolean

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

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

Returns

boolean

Implementation of

GfxCompatibleInterface.isLocked


isLockedByAncestor()

isLockedByAncestor(): boolean

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

Returns

boolean

Implementation of

GfxCompatibleInterface.isLockedByAncestor


isLockedBySelf()

isLockedBySelf(): boolean

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

Returns

boolean

Implementation of

GfxCompatibleInterface.isLockedBySelf


lock()

lock(): void

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

Returns

void

Implementation of

GfxCompatibleInterface.lock


onCreated()

onCreated(): void

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

Returns

void


onDestroyed()

onDestroyed(): void

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

Returns

void


pop()

pop(prop): void

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

Parameters

prop

string | keyof Props

Returns

void


serialize()

serialize(): SerializedElement

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

Returns

SerializedElement


stash()

stash(prop): void

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

Parameters

prop

string | keyof Props

Returns

void


unlock()

unlock(): void

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

Returns

void

Implementation of

GfxCompatibleInterface.unlock