Skip to content

BlockSuite API Documentation / @blocksuite/blocks / SurfaceGroupLikeModel

Class: abstract SurfaceGroupLikeModel<Props>

Extends

Extended by

Type Parameters

Props extends BaseElementProps = BaseElementProps

Implements

  • GfxGroupCompatibleInterface

Constructors

new SurfaceGroupLikeModel()

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

Parameters

options

options.id: string

options.model: SurfaceBlockModel

options.onChange

options.stashedStore: Map<unknown, unknown>

options.yMap: YMap<unknown>

Returns

SurfaceGroupLikeModel<Props>

Inherited from

SurfaceElementModel.constructor

Defined in

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

Properties

_disposable

protected _disposable: DisposableGroup

Inherited from

SurfaceElementModel._disposable

Defined in

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


_id

protected _id: string

Inherited from

SurfaceElementModel._id

Defined in

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


_local

protected _local: Map<string | symbol, unknown>

Inherited from

SurfaceElementModel._local

Defined in

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


_onChange()

protected _onChange: (payload) => void

Parameters

payload

payload.local: boolean

payload.oldValues: Record<string, unknown>

payload.props: Record<string, unknown>

Returns

void

Inherited from

SurfaceElementModel._onChange

Defined in

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


_preserved

protected _preserved: Map<string, unknown>

Used to store a copy of data in the yMap.

Inherited from

SurfaceElementModel._preserved

Defined in

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


_stashed

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

Inherited from

SurfaceElementModel._stashed

Defined in

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


[gfxGroupCompatibleSymbol]

[gfxGroupCompatibleSymbol]: true

Implementation of

GfxGroupCompatibleInterface.[gfxGroupCompatibleSymbol]

Defined in

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


children

abstract children: YMap<any>

Defined in

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


rotate

abstract rotate: number

Implementation of

GfxGroupCompatibleInterface.rotate

Inherited from

SurfaceElementModel.rotate

Defined in

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


surface

surface: SurfaceBlockModel

Inherited from

SurfaceElementModel.surface

Defined in

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


yMap

yMap: YMap<unknown>

Inherited from

SurfaceElementModel.yMap

Defined in

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

Accessors

childElements

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

Implementation of

GfxGroupCompatibleInterface.childElements

Defined in

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


childIds

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

Implementation of

GfxGroupCompatibleInterface.childIds

Defined in

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


connectable

get connectable(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.connectable

Defined in

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


descendantElements

get descendantElements(): GfxModel[]

Returns

GfxModel[]

Implementation of

GfxGroupCompatibleInterface.descendantElements

Defined in

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


deserializedXYWH

get deserializedXYWH(): XYWH

Returns

XYWH

Implementation of

GfxGroupCompatibleInterface.deserializedXYWH

Inherited from

SurfaceElementModel.deserializedXYWH

Defined in

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


display

Inherited from

SurfaceElementModel.display

Defined in

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


elementBound

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

GfxGroupCompatibleInterface.elementBound

Inherited from

SurfaceElementModel.elementBound

Defined in

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


externalBound

get externalBound(): null | Bound

Returns

null | Bound

Inherited from

SurfaceElementModel.externalBound

Defined in

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


externalXYWH

Inherited from

SurfaceElementModel.externalXYWH

Defined in

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


group

get group(): null | GfxGroupModel

Returns

null | GfxGroupModel

Implementation of

GfxGroupCompatibleInterface.group

Inherited from

SurfaceElementModel.group

Defined in

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


groups

get groups(): GfxGroupModel[]

Returns

GfxGroupModel[]

Implementation of

GfxGroupCompatibleInterface.groups

Inherited from

SurfaceElementModel.groups

Defined in

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


h

get h(): number

Returns

number

Implementation of

GfxGroupCompatibleInterface.h

Inherited from

SurfaceElementModel.h

Defined in

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


id

get id(): string

Returns

string

Inherited from

SurfaceElementModel.id

Defined in

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


index

Implementation of

GfxGroupCompatibleInterface.index

Inherited from

SurfaceElementModel.index

Defined in

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


isConnected

get isConnected(): boolean

Returns

boolean

Inherited from

SurfaceElementModel.isConnected

Defined in

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


opacity

Inherited from

SurfaceElementModel.opacity

Defined in

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


seed

Inherited from

SurfaceElementModel.seed

Defined in

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


type

get abstract type(): string

Returns

string

Inherited from

SurfaceElementModel.type

Defined in

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


w

get w(): number

Returns

number

Implementation of

GfxGroupCompatibleInterface.w

Inherited from

SurfaceElementModel.w

Defined in

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


x

get x(): number

Returns

number

Implementation of

GfxGroupCompatibleInterface.x

Inherited from

SurfaceElementModel.x

Defined in

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


xywh

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

set xywh(_): void

Parameters

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

Returns

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

Implementation of

GfxGroupCompatibleInterface.xywh

Overrides

SurfaceElementModel.xywh

Defined in

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


y

get y(): number

Returns

number

Implementation of

GfxGroupCompatibleInterface.y

Inherited from

SurfaceElementModel.y

Defined in

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

Methods

_getXYWH()

protected _getXYWH(): Bound

Returns

Bound

Defined in

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


addChild()

abstract addChild(element): void

Parameters

element: GfxModel

Returns

void

Implementation of

GfxGroupCompatibleInterface.addChild

Defined in

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


containsBound()

containsBound(bounds): boolean

Parameters

bounds: Bound

Returns

boolean

Implementation of

GfxGroupCompatibleInterface.containsBound

Inherited from

SurfaceElementModel.containsBound

Defined in

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


getLineIntersections()

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

Parameters

start: IVec

end: IVec

Returns

null | PointLocation[]

Implementation of

GfxGroupCompatibleInterface.getLineIntersections

Inherited from

SurfaceElementModel.getLineIntersections

Defined in

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


getNearestPoint()

getNearestPoint(point): IVec

Parameters

point: IVec

Returns

IVec

Implementation of

GfxGroupCompatibleInterface.getNearestPoint

Inherited from

SurfaceElementModel.getNearestPoint

Defined in

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


getRelativePointLocation()

getRelativePointLocation(relativePoint): PointLocation

Parameters

relativePoint: IVec

Returns

PointLocation

Implementation of

GfxGroupCompatibleInterface.getRelativePointLocation

Inherited from

SurfaceElementModel.getRelativePointLocation

Defined in

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


hasChild()

hasChild(element): boolean

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

Parameters

element: GfxModel

Returns

boolean

Implementation of

GfxGroupCompatibleInterface.hasChild

Defined in

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


hasDescendant()

hasDescendant(element): boolean

Check if the group has the given descendant.

Parameters

element: GfxModel

Returns

boolean

Implementation of

GfxGroupCompatibleInterface.hasDescendant

Defined in

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


includesPoint()

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

Parameters

x: number

y: number

_: PointTestOptions

__: EditorHost

Returns

boolean

Implementation of

GfxGroupCompatibleInterface.includesPoint

Inherited from

SurfaceElementModel.includesPoint

Defined in

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


intersectsBound()

intersectsBound(bound): boolean

Parameters

bound: Bound

Returns

boolean

Implementation of

GfxGroupCompatibleInterface.intersectsBound

Inherited from

SurfaceElementModel.intersectsBound

Defined in

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


onCreated()

onCreated(): void

Returns

void

Inherited from

SurfaceElementModel.onCreated

Defined in

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


pop()

pop(prop): void

Parameters

prop: string | keyof Props

Returns

void

Inherited from

SurfaceElementModel.pop

Defined in

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


removeChild()

abstract removeChild(element): void

Remove the child from the group

Parameters

element: GfxModel

Returns

void

Implementation of

GfxGroupCompatibleInterface.removeChild

Defined in

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


serialize()

serialize(): SerializedElement

Returns

SerializedElement

Inherited from

SurfaceElementModel.serialize

Defined in

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


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

Defined in

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


stash()

stash(prop): void

Parameters

prop: string | keyof Props

Returns

void

Inherited from

SurfaceElementModel.stash

Defined in

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


propsToY()

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

Parameters

props: Record<string, unknown>

Returns

Record<string, unknown>

Inherited from

SurfaceElementModel.propsToY

Defined in

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