Skip to content

BlockSuite API Documentation / @blocksuite/blocks / GroupElementModel

Class: GroupElementModel

Extends

Constructors

new GroupElementModel()

new GroupElementModel(options): GroupElementModel

Parameters

options
id

string

model

SurfaceBlockModel

onChange

(payload) => void

stashedStore

Map<unknown, unknown>

yMap

YMap<unknown>

Returns

GroupElementModel

Inherited from

SurfaceGroupLikeModel.constructor

Defined in

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

Properties

_disposable

protected _disposable: DisposableGroup

Inherited from

SurfaceGroupLikeModel._disposable

Defined in

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


_id

protected _id: string

Inherited from

SurfaceGroupLikeModel._id

Defined in

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


_local

protected _local: Map<string | symbol, unknown>

Inherited from

SurfaceGroupLikeModel._local

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

Inherited from

SurfaceGroupLikeModel._onChange

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.

Inherited from

SurfaceGroupLikeModel._preserved

Defined in

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


_stashed

protected _stashed: Map<string, unknown>

Inherited from

SurfaceGroupLikeModel._stashed

Defined in

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


[gfxGroupCompatibleSymbol]

[gfxGroupCompatibleSymbol]: true

Inherited from

SurfaceGroupLikeModel.[gfxGroupCompatibleSymbol]

Defined in

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


propsUpdated

propsUpdated: Slot<{ key: string; }>

Inherited from

SurfaceGroupLikeModel.propsUpdated

Defined in

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


surface

surface: SurfaceBlockModel

Inherited from

SurfaceGroupLikeModel.surface

Defined in

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


yMap

yMap: YMap<unknown>

Inherited from

SurfaceGroupLikeModel.yMap

Defined in

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

Accessors

childElements

Get Signature

get childElements(): GfxModel[]

All child element models of this container. Note that the childElements may not contains all the children in childIds, because some children may not be loaded.

Returns

GfxModel[]

Inherited from

SurfaceGroupLikeModel.childElements

Defined in

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


childIds

Get Signature

get childIds(): string[]

The ids of the children. Its role is to provide a unique way to access the children. You should update this field through setChildIds when the children are added or removed.

Returns

string[]

Inherited from

SurfaceGroupLikeModel.childIds

Defined in

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


children

Overrides

SurfaceGroupLikeModel.children

Defined in

packages/affine/model/dist/elements/group/group.d.ts:24


connectable

Get Signature

get connectable(): boolean

Returns

boolean

Inherited from

SurfaceGroupLikeModel.connectable

Defined in

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


descendantElements

Get Signature

get descendantElements(): GfxModel[]

Returns

GfxModel[]

Inherited from

SurfaceGroupLikeModel.descendantElements

Defined in

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


deserializedXYWH

Get Signature

get deserializedXYWH(): XYWH

Returns

XYWH

Inherited from

SurfaceGroupLikeModel.deserializedXYWH

Defined in

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


display

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.externalBound

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.

Inherited from

SurfaceGroupLikeModel.externalXYWH

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

Inherited from

SurfaceGroupLikeModel.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[]

Inherited from

SurfaceGroupLikeModel.groups

Defined in

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


h

Get Signature

get h(): number

Returns

number

Inherited from

SurfaceGroupLikeModel.h

Defined in

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


hidden

Inherited from

SurfaceGroupLikeModel.hidden

Defined in

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


id

Get Signature

get id(): string

Returns

string

Inherited from

SurfaceGroupLikeModel.id

Defined in

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


index

Inherited from

SurfaceGroupLikeModel.index

Defined in

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


isConnected

Get Signature

get isConnected(): boolean

Returns

boolean

Inherited from

SurfaceGroupLikeModel.isConnected

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.

Inherited from

SurfaceGroupLikeModel.lockedBySelf

Defined in

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


opacity

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.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.

Inherited from

SurfaceGroupLikeModel.responseExtension

Defined in

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


rotate

Get Signature

get rotate(): number

Returns

number

Set Signature

set rotate(_): void

Parameters
_

number

Returns

void

Overrides

SurfaceGroupLikeModel.rotate

Defined in

packages/affine/model/dist/elements/group/group.d.ts:15


seed

Inherited from

SurfaceGroupLikeModel.seed

Defined in

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


showTitle

Defined in

packages/affine/model/dist/elements/group/group.d.ts:25


title

Defined in

packages/affine/model/dist/elements/group/group.d.ts:26


type

Get Signature

get type(): string

Returns

string

Overrides

SurfaceGroupLikeModel.type

Defined in

packages/affine/model/dist/elements/group/group.d.ts:17


w

Get Signature

get w(): number

Returns

number

Inherited from

SurfaceGroupLikeModel.w

Defined in

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


x

Get Signature

get x(): number

Returns

number

Inherited from

SurfaceGroupLikeModel.x

Defined in

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


xywh

Get Signature

get xywh(): `[${number},${number},${number},${number}]`

Returns

`[${number},${number},${number},${number}]`

Set Signature

set xywh(_): void

Parameters
_

`[${number},${number},${number},${number}]`

Returns

void

Inherited from

SurfaceGroupLikeModel.xywh

Defined in

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


y

Get Signature

get y(): number

Returns

number

Inherited from

SurfaceGroupLikeModel.y

Defined in

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

Methods

_getXYWH()

protected _getXYWH(): Bound

Returns

Bound

Inherited from

SurfaceGroupLikeModel._getXYWH

Defined in

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


addChild()

addChild(element): void

Parameters

element

GfxModel

Returns

void

Overrides

SurfaceGroupLikeModel.addChild

Defined in

packages/affine/model/dist/elements/group/group.d.ts:19


containsBound()

containsBound(bound): boolean

Parameters

bound

Bound

Returns

boolean

Overrides

SurfaceGroupLikeModel.containsBound

Defined in

packages/affine/model/dist/elements/group/group.d.ts:20


getLineIntersections()

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

Parameters

start

IVec

end

IVec

Returns

null | PointLocation[]

Overrides

SurfaceGroupLikeModel.getLineIntersections

Defined in

packages/affine/model/dist/elements/group/group.d.ts:21


getNearestPoint()

getNearestPoint(point): IVec

Parameters

point

IVec

Returns

IVec

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.getRelativePointLocation

Defined in

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


hasChild()

hasChild(element): boolean

The actual field that stores the children of the group. It should be a ymap decorated with @field.

Parameters

element

GfxCompatibleInterface

Returns

boolean

Inherited from

SurfaceGroupLikeModel.hasChild

Defined in

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


hasDescendant()

hasDescendant(element): boolean

Check if the group has the given descendant.

Parameters

element

GfxCompatibleInterface

Returns

boolean

Inherited from

SurfaceGroupLikeModel.hasDescendant

Defined in

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


includesPoint()

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

Parameters

x

number

y

number

opt

PointTestOptions

__

EditorHost

Returns

boolean

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.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

Inherited from

SurfaceGroupLikeModel.isLocked

Defined in

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


isLockedByAncestor()

isLockedByAncestor(): boolean

Returns

boolean

Inherited from

SurfaceGroupLikeModel.isLockedByAncestor

Defined in

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


isLockedBySelf()

isLockedBySelf(): boolean

Returns

boolean

Inherited from

SurfaceGroupLikeModel.isLockedBySelf

Defined in

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


lock()

lock(): void

Returns

void

Inherited from

SurfaceGroupLikeModel.lock

Defined in

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


onCreated()

onCreated(): void

Returns

void

Inherited from

SurfaceGroupLikeModel.onCreated

Defined in

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


onDestroyed()

onDestroyed(): void

Returns

void

Inherited from

SurfaceGroupLikeModel.onDestroyed

Defined in

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


pop()

pop(prop): void

Parameters

prop

string

Returns

void

Inherited from

SurfaceGroupLikeModel.pop

Defined in

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


removeChild()

removeChild(element): void

Remove the child from the group

Parameters

element

GfxModel

Returns

void

Overrides

SurfaceGroupLikeModel.removeChild

Defined in

packages/affine/model/dist/elements/group/group.d.ts:22


serialize()

serialize(): SerializedGroupElement

Returns

SerializedGroupElement

Overrides

SurfaceGroupLikeModel.serialize

Defined in

packages/affine/model/dist/elements/group/group.d.ts:23


setChildIds()

setChildIds(value, fromLocal): void

Set the new value of the childIds

Parameters

value

string[]

the new value of the childIds

fromLocal

boolean

if true, the change is happened in the local

Returns

void

Inherited from

SurfaceGroupLikeModel.setChildIds

Defined in

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


stash()

stash(prop): void

Parameters

prop

string

Returns

void

Inherited from

SurfaceGroupLikeModel.stash

Defined in

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


unlock()

unlock(): void

Returns

void

Inherited from

SurfaceGroupLikeModel.unlock

Defined in

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


propsToY()

static propsToY(props): GroupElementProps

Parameters

props

Record<string, unknown>

Returns

GroupElementProps

Overrides

SurfaceGroupLikeModel.propsToY

Defined in

packages/affine/model/dist/elements/group/group.d.ts:18