BlockSuite API Documentation / @blocksuite/blocks / SurfaceGroupLikeModel
Class: abstract SurfaceGroupLikeModel<Props> 
Extends 
SurfaceElementModel<Props>
Extended by 
Type Parameters 
• Props extends BaseElementProps = BaseElementProps
Implements 
GfxContainerElement
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/surface/element-model.d.ts:92
Properties 
_disposable 
protected_disposable:DisposableGroup
Inherited from 
SurfaceElementModel._disposable
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:58
_id 
protected_id:string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:59
_local 
protected_local:Map<string|symbol,unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:60
_onChange() 
protected_onChange: (payload) =>void
Parameters 
• payload
• payload.local: boolean
• payload.oldValues: Record<string, unknown>
• payload.props: Record<string, unknown>
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:61
_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/surface/element-model.d.ts:69
_stashed 
protected_stashed:Map<string| keyofProps,unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:70
[gfxContainerSymbol] 
[gfxContainerSymbol]:
true
Implementation of 
GfxContainerElement.[gfxContainerSymbol]
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:125
children 
abstractchildren:YMap<any>
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:124
rotate 
abstractrotate:number
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:71
surface 
surface:
SurfaceBlockModel
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:72
yMap 
yMap:
YMap<unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:74
Accessors 
childElements 
getchildElements():GfxModel[]
Returns 
GfxModel[]
Implementation of 
GfxContainerElement.childElements
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:126
childIds 
getchildIds():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 
GfxContainerElement.childIds
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:131
connectable 
getconnectable():boolean
Returns 
boolean
Inherited from 
SurfaceElementModel.connectable
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:75
deserializedXYWH 
getdeserializedXYWH():XYWH
Returns 
XYWH
Inherited from 
SurfaceElementModel.deserializedXYWH
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:76
display 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:114
elementBound 
getelementBound():Bound
The bound of the element after rotation. The bound without rotation should be created by Bound.deserialize(this.xywh).
Returns 
Bound
Inherited from 
SurfaceElementModel.elementBound
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:81
externalBound 
getexternalBound():null|Bound
Returns 
null | Bound
Inherited from 
SurfaceElementModel.externalBound
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:82
externalXYWH 
Inherited from 
SurfaceElementModel.externalXYWH
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:115
group 
getgroup():null|SurfaceGroupLikeModel<BaseElementProps>
Returns 
null | SurfaceGroupLikeModel<BaseElementProps>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:83
groups 
getgroups():SurfaceGroupLikeModel<BaseElementProps>[]
Returns 
SurfaceGroupLikeModel<BaseElementProps>[]
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:84
h 
geth():number
Returns 
number
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:85
id 
getid():string
Returns 
string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:86
index 
Implementation of 
GfxContainerElement.index
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:116
isConnected 
getisConnected():boolean
Returns 
boolean
Inherited from 
SurfaceElementModel.isConnected
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:87
opacity 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:117
seed 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:118
type 
getabstracttype():string
Returns 
string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:88
w 
getw():number
Returns 
number
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:89
x 
getx():number
Returns 
number
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:90
xywh 
getxywh(): `[${number},${number},${number},${number}]`
setxywh(_):void
Parameters 
• _: `[${number},${number},${number},${number}]`
Returns 
`[${number},${number},${number},${number}]`
Implementation of 
GfxContainerElement.xywh
Overrides 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:132
y 
gety():number
Returns 
number
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:91
Methods 
containsBound() 
containsBound(
bounds):boolean
Parameters 
• bounds: Bound
Returns 
boolean
Inherited from 
SurfaceElementModel.containsBound
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:104
descendants() 
descendants(
withoutGroup?):GfxModel[]
Parameters 
• withoutGroup?: boolean
if true, will not include group element
Returns 
GfxModel[]
Deprecated 
Use getAllDescendantElements instead. Get all descendants of this group
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:140
getLineIntersections() 
getLineIntersections(
start,end):null|PointLocation[]
Parameters 
• start: IVec
• end: IVec
Returns 
null | PointLocation[]
Inherited from 
SurfaceElementModel.getLineIntersections
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:105
getNearestPoint() 
getNearestPoint(
point):IVec
Parameters 
• point: IVec
Returns 
IVec
Inherited from 
SurfaceElementModel.getNearestPoint
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:106
getRelativePointLocation() 
getRelativePointLocation(
relativePoint):PointLocation
Parameters 
• relativePoint: IVec
Returns 
PointLocation
Inherited from 
SurfaceElementModel.getRelativePointLocation
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:107
hasChild() 
hasChild(
element):boolean
The actual field that stores the children of the group. It should be a ymap decorated with @field.
Parameters 
• element: string | GfxModel
Returns 
boolean
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:145
hasDescendant() 
hasDescendant(
element):boolean
Check if the group has the given descendant.
Parameters 
• element: string | GfxModel
Returns 
boolean
Implementation of 
GfxContainerElement.hasDescendant
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:149
includesPoint() 
includesPoint(
x,y,_,__):boolean
Parameters 
• x: number
• y: number
• _: PointTestOptions
• __: EditorHost
Returns 
boolean
Inherited from 
SurfaceElementModel.includesPoint
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:108
intersectsBound() 
intersectsBound(
bound):boolean
Parameters 
• bound: Bound
Returns 
boolean
Inherited from 
SurfaceElementModel.intersectsBound
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:109
onCreated() 
onCreated():
void
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:110
pop() 
pop(
prop):void
Parameters 
• prop: string | keyof Props
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:111
removeChild() 
abstractremoveChild(id):void
Remove the child from the group
Parameters 
• id: string
Returns 
void
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:153
serialize() 
serialize():
SerializedElement
Returns 
SerializedElement
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:112
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/surface/element-model.d.ts:159
stash() 
stash(
prop):void
Parameters 
• prop: string | keyof Props
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:113
propsToY() 
staticpropsToY(props):Record<string,unknown>
Parameters 
• props: Record<string, unknown>
Returns 
Record<string, unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:103