BlockSuite API Documentation / @blocksuite/affine-block-surface / SurfaceGroupLikeModel
Class: abstract SurfaceGroupLikeModel<Props> 
Extends 
SurfaceElementModel<Props>
Type Parameters 
• Props extends BaseElementProps = BaseElementProps
Implements 
GfxGroupCompatibleInterface
Constructors 
new SurfaceGroupLikeModel() 
new SurfaceGroupLikeModel<
Props>(options):SurfaceGroupLikeModel<Props>
Parameters 
options 
id 
string
model 
onChange 
(payload) => void
stashedStore 
Map<unknown, unknown>
yMap 
YMap<unknown>
Returns 
SurfaceGroupLikeModel<Props>
Inherited from 
SurfaceElementModel.constructor
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:61
Properties 
_disposable 
protected_disposable:DisposableGroup
Inherited from 
SurfaceElementModel._disposable
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:24
_id 
protected_id:string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:25
_local 
protected_local:Map<string|symbol,unknown>
Inherited from 
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 
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 
SurfaceElementModel._preserved
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:35
_stashed 
protected_stashed:Map<string| keyofProps,unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:36
[gfxGroupCompatibleSymbol] 
[gfxGroupCompatibleSymbol]:
true
Implementation of 
GfxGroupCompatibleInterface.[gfxGroupCompatibleSymbol]
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:105
children 
abstractchildren:YMap<any>
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:104
rotate 
abstractrotate:number
Implementation of 
GfxGroupCompatibleInterface.rotate
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:37
surface 
surface:
SurfaceBlockModel
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:38
yMap 
yMap:
YMap<unknown>
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:40
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[]
Implementation of 
GfxGroupCompatibleInterface.childElements
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:106
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[]
Implementation of 
GfxGroupCompatibleInterface.childIds
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:111
connectable 
Get Signature 
get connectable():
boolean
Returns 
boolean
Inherited from 
SurfaceElementModel.connectable
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:41
descendantElements 
Get Signature 
get descendantElements():
GfxModel[]
Returns 
GfxModel[]
Implementation of 
GfxGroupCompatibleInterface.descendantElements
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:112
deserializedXYWH 
Get Signature 
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:42
display 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:88
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 
GfxGroupCompatibleInterface.elementBound
Inherited from 
SurfaceElementModel.elementBound
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:47
externalBound 
Get Signature 
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:48
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 
SurfaceElementModel.externalXYWH
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:95
group 
Get Signature 
get group():
null|GfxGroupModel
Returns 
null | GfxGroupModel
Implementation of 
GfxGroupCompatibleInterface.group
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:49
groups 
Get Signature 
get groups():
GfxGroupModel[]
Return the ancestor elements in order from the most recent to the earliest.
Returns 
GfxGroupModel[]
Implementation of 
GfxGroupCompatibleInterface.groups
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:53
h 
Get Signature 
get h():
number
Returns 
number
Implementation of 
GfxGroupCompatibleInterface.h
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:54
id 
Get Signature 
get id():
string
Returns 
string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:55
index 
Implementation of 
GfxGroupCompatibleInterface.index
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:96
isConnected 
Get Signature 
get isConnected():
boolean
Returns 
boolean
Inherited from 
SurfaceElementModel.isConnected
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:56
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 
GfxGroupCompatibleInterface.lockedBySelf
Inherited from 
SurfaceElementModel.lockedBySelf
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:97
opacity 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:98
seed 
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:99
type 
Get Signature 
get
abstracttype():string
Returns 
string
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:57
w 
Get Signature 
get w():
number
Returns 
number
Implementation of 
GfxGroupCompatibleInterface.w
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:58
x 
Get Signature 
get x():
number
Returns 
number
Implementation of 
GfxGroupCompatibleInterface.x
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:59
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
Implementation of 
GfxGroupCompatibleInterface.xywh
Overrides 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:113
y 
Get Signature 
get y():
number
Returns 
number
Implementation of 
GfxGroupCompatibleInterface.y
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:60
Methods 
_getXYWH() 
protected_getXYWH():Bound
Returns 
Bound
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:115
addChild() 
abstractaddChild(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:116
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:73
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:74
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:75
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:76
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:121
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:125
includesPoint() 
includesPoint(
x,y,_,__):boolean
Parameters 
x 
number
y 
number
_ 
PointTestOptions
__ 
Returns 
boolean
Implementation of 
GfxGroupCompatibleInterface.includesPoint
Inherited from 
SurfaceElementModel.includesPoint
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:77
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:78
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 
GfxGroupCompatibleInterface.isLocked
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:79
isLockedByAncestor() 
isLockedByAncestor():
boolean
Returns 
boolean
Implementation of 
GfxGroupCompatibleInterface.isLockedByAncestor
Inherited from 
SurfaceElementModel.isLockedByAncestor
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:80
isLockedBySelf() 
isLockedBySelf():
boolean
Returns 
boolean
Implementation of 
GfxGroupCompatibleInterface.isLockedBySelf
Inherited from 
SurfaceElementModel.isLockedBySelf
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:81
lock() 
lock():
void
Returns 
void
Implementation of 
GfxGroupCompatibleInterface.lock
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:82
onCreated() 
onCreated():
void
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:83
pop() 
pop(
prop):void
Parameters 
prop 
string | keyof Props
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:84
removeChild() 
abstractremoveChild(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:129
serialize() 
serialize():
SerializedElement
Returns 
SerializedElement
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:85
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:135
stash() 
stash(
prop):void
Parameters 
prop 
string | keyof Props
Returns 
void
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:86
unlock() 
unlock():
void
Returns 
void
Implementation of 
GfxGroupCompatibleInterface.unlock
Inherited from 
Defined in 
packages/framework/block-std/dist/gfx/model/surface/element-model.d.ts:87
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/model/surface/element-model.d.ts:72