BlockSuite API Documentation / @blocksuite/blocks / MindmapElementModel
Class: MindmapElementModel
Extends
GfxGroupLikeElementModel
<MindmapElementProps
>
Constructors
new MindmapElementModel()
new MindmapElementModel(
options
):MindmapElementModel
Parameters
• options
• options.id: string
• options.model: SurfaceBlockModel
• options.onChange
• options.stashedStore: Map
<unknown
, unknown
>
• options.yMap: YMap
<unknown
>
Returns
Inherited from
GfxGroupLikeElementModel<MindmapElementProps>.constructor
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:68
Properties
[gfxContainerSymbol]
[gfxContainerSymbol]:
true
Inherited from
GfxGroupLikeElementModel.[gfxContainerSymbol]
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:119
_disposable
protected
_disposable:DisposableGroup
Inherited from
GfxGroupLikeElementModel._disposable
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:52
_id
protected
_id:string
Inherited from
GfxGroupLikeElementModel._id
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:53
_local
protected
_local:Map
<string
|symbol
,unknown
>
Inherited from
GfxGroupLikeElementModel._local
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:55
_onChange()
protected
_onChange: (payload
) =>void
Parameters
• payload
• payload.local: boolean
• payload.oldValues: Record
<string
, unknown
>
• payload.props: Record
<string
, unknown
>
Returns
void
Inherited from
GfxGroupLikeElementModel._onChange
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:56
_preserved
protected
_preserved:Map
<string
,unknown
>
Used to store a copy of data in the yMap.
Inherited from
GfxGroupLikeElementModel._preserved
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:64
_stashed
protected
_stashed:Map
<string
,unknown
>
Inherited from
GfxGroupLikeElementModel._stashed
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:65
connectors
connectors:
Map
<string
,LocalConnectorElementModel
>
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:86
extraConnectors
extraConnectors:
Map
<string
,LocalConnectorElementModel
>
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:88
pathGenerator
pathGenerator:
ConnectorPathGenerator
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:90
surface
surface:
SurfaceBlockModel
Inherited from
GfxGroupLikeElementModel.surface
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:66
yMap
yMap:
YMap
<unknown
>
Inherited from
GfxGroupLikeElementModel.yMap
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:67
Accessors
childElements
get
childElements():GfxModel
[]
Returns
GfxModel
[]
Inherited from
GfxGroupLikeElementModel.childElements
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:141
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
[]
Inherited from
GfxGroupLikeElementModel.childIds
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:146
children
Overrides
GfxGroupLikeElementModel.children
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:1047
connectable
get
connectable():boolean
Returns
boolean
Inherited from
GfxGroupLikeElementModel.connectable
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:90
deserializedXYWH
get
deserializedXYWH():XYWH
Returns
XYWH
Inherited from
GfxGroupLikeElementModel.deserializedXYWH
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:91
display
Inherited from
GfxGroupLikeElementModel.display
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:106
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
Inherited from
GfxGroupLikeElementModel.elementBound
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:96
externalBound
get
externalBound():null
|Bound
Returns
null
| Bound
Inherited from
GfxGroupLikeElementModel.externalBound
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:97
externalXYWH
Inherited from
GfxGroupLikeElementModel.externalXYWH
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:107
group
get
group():null
|GfxGroupLikeElementModel
<BaseElementProps
>
Returns
null
| GfxGroupLikeElementModel
<BaseElementProps
>
Inherited from
GfxGroupLikeElementModel.group
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:98
groups
get
groups():GfxGroupLikeElementModel
<BaseElementProps
>[]
Returns
GfxGroupLikeElementModel
<BaseElementProps
>[]
Inherited from
GfxGroupLikeElementModel.groups
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:99
h
get
h():number
Returns
number
Inherited from
GfxGroupLikeElementModel.h
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:100
id
get
id():string
Returns
string
Inherited from
GfxGroupLikeElementModel.id
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:101
index
Inherited from
GfxGroupLikeElementModel.index
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:108
isConnected
get
isConnected():boolean
Returns
boolean
Inherited from
GfxGroupLikeElementModel.isConnected
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:102
layoutType
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:1070
nodeMap
get
nodeMap():Map
<string
,MindmapNode
>
Returns
Map
<string
, MindmapNode
>
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:968
opacity
Inherited from
GfxGroupLikeElementModel.opacity
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:109
rotate
get
rotate():number
set
rotate(_
):void
Parameters
• _: number
Returns
number
Overrides
GfxGroupLikeElementModel.rotate
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:972
seed
Inherited from
GfxGroupLikeElementModel.seed
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:111
style
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:1078
styleGetter
get
styleGetter():MindmapStyleGetter
Returns
MindmapStyleGetter
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:978
tree
get
tree():MindmapRoot
Returns
MindmapRoot
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:982
type
get
type():string
Returns
string
Overrides
GfxGroupLikeElementModel.type
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:986
w
get
w():number
Returns
number
Inherited from
GfxGroupLikeElementModel.w
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:103
x
get
x():number
Returns
number
Inherited from
GfxGroupLikeElementModel.x
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:104
xywh
get
xywh(): `[${number},${number},${number},${number}]`
set
xywh(_
):void
Parameters
• _: `[${number},${number},${number},${number}]`
Returns
`[${number},${number},${number},${number}]`
Inherited from
GfxGroupLikeElementModel.xywh
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:147
y
get
y():number
Returns
number
Inherited from
GfxGroupLikeElementModel.y
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:105
Methods
addConnector()
protected
addConnector(from
,to
,layout
,connectorStyle
,extra
):LocalConnectorElementModel
Parameters
• from: MindmapNode
• to: MindmapNode
• layout: LayoutType
• connectorStyle: ConnectorStyle
• extra: boolean
= false
Returns
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:214
addNode()
addNode(
parent
,sibling
?,position
?,props
?,direction
?):string
Parameters
• parent: null
| string
| MindmapNode
The parent node id of the new node. If it's null, the node will be the root node
• sibling?: string
| number
• position?: "after"
| "before"
= 'after'
• props?: Record
<string
, unknown
> = {}
Force the layout direction of the node. It only works on the first level node with the layout type of BALANCE
Returns
string
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:273
addTree()
addTree(
parent
,tree
,sibling
?,layout
?):undefined
|null
|MindmapNode
Parameters
• parent: string
| MindmapNode
• tree: MindmapNode
| Node
• sibling?: string
| number
sibling
indicates where to insert a subtree among peer elements. If it's a string, it represents a peer element's ID; if it's a number, it represents its index. The subtree will be inserted before the sibling element.
• layout?: LayoutType
Preferred layout direction, only works when parent is root and layout type is BALANCE
Returns
undefined
| null
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:399
applyStyle()
applyStyle(
fitContent
):void
Parameters
• fitContent: boolean
= false
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:481
buildTree()
protected
buildTree():void
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:502
containsBound()
containsBound(
bounds
):boolean
Parameters
• bounds: Bound
Returns
boolean
Inherited from
GfxGroupLikeElementModel.containsBound
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:80
descendants()
descendants(
withoutGroup
?):GfxModel
[]
Get all descendants of this group
Parameters
• withoutGroup?: boolean
if true, will not include group element
Returns
GfxModel
[]
Inherited from
GfxGroupLikeElementModel.descendants
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:125
detach()
detach(
subtree
):undefined
|MindmapNode
Detach a mindmap. It is similar to removeChild
but it does not delete the node.
So the node can be used to create a new mind map or merge into other mind map
Parameters
• subtree: string
| MindmapNode
Returns
undefined
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:584
getChildNodes()
getChildNodes(
id
,subtree
?):MindmapNode
[]
Parameters
• id: string
• subtree?: "left"
| "right"
The subtree of root, this only take effects when the layout type is BALANCED.
Returns
MindmapNode
[]
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:621
getConnector()
getConnector(
from
,to
):null
|LocalConnectorElementModel
Parameters
• from: MindmapNode
• to: MindmapNode
Returns
null
| LocalConnectorElementModel
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:635
getLayoutDir()
getLayoutDir(
node
):null
|LayoutType
Parameters
• node: string
| MindmapNode
Returns
null
| LayoutType
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:648
getLineIntersections()
getLineIntersections(
start
,end
):null
|PointLocation
[]
Parameters
• start: IVec
• end: IVec
Returns
null
| PointLocation
[]
Inherited from
GfxGroupLikeElementModel.getLineIntersections
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:81
getNearestPoint()
getNearestPoint(
point
):IVec
Parameters
• point: IVec
Returns
IVec
Inherited from
GfxGroupLikeElementModel.getNearestPoint
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:82
getNode()
getNode(
id
):null
|MindmapNode
Parameters
• id: string
Returns
null
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:679
getParentNode()
getParentNode(
id
):null
|MindmapNode
Parameters
• id: string
Returns
null
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:683
getPath()
getPath(
element
):number
[]
Path is an array of indexes that represent the path from the root node to the target node. The first element of the array is always 0, which represents the root node.
Parameters
• element: string
| MindmapNode
Returns
number
[]
Example
const path = mindmap.getPath('nodeId');
// [0, 1, 2]
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:701
getRelativePointLocation()
getRelativePointLocation(
relativePoint
):PointLocation
Parameters
• relativePoint: IVec
Returns
PointLocation
Inherited from
GfxGroupLikeElementModel.getRelativePointLocation
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:83
getSiblingNode()
getSiblingNode(
id
,direction
,subtree
?):null
|MindmapNode
Parameters
• id: string
• direction: "prev"
| "next"
= 'next'
• subtree?: "left"
| "right"
The subtree of which that the sibling node belongs to, this is used when the layout type is BALANCED.
Returns
null
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:724
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
Inherited from
GfxGroupLikeElementModel.hasChild
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:130
hasDescendant()
hasDescendant(
element
):boolean
Check if the group has the given descendant.
Parameters
• element: string
| GfxModel
Returns
boolean
Inherited from
GfxGroupLikeElementModel.hasDescendant
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:134
includesPoint()
includesPoint(
x
,y
,_
,__
):boolean
Parameters
• x: number
• y: number
• _: PointTestOptions
• __: EditorHost
Returns
boolean
Inherited from
GfxGroupLikeElementModel.includesPoint
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:84
intersectsBound()
intersectsBound(
bound
):boolean
Parameters
• bound: Bound
Returns
boolean
Inherited from
GfxGroupLikeElementModel.intersectsBound
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:85
layout()
layout(
tree
,applyStyle
,layoutType
?):void
Parameters
• tree: MindmapNode
| MindmapRoot
= ...
• applyStyle: boolean
= true
• layoutType?: LayoutType
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:759
moveTo()
moveTo(
targetXYWH
):void
Parameters
• targetXYWH: `[${number},${number},${number},${number}]` | XYWH
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:776
moveTree()
moveTree(
tree
,parent
,siblingIndex
,layout
?):undefined
|MindmapNode
Parameters
• tree: MindmapNode
• parent: string
| MindmapNode
• siblingIndex: number
• layout?: LayoutType
Returns
undefined
| MindmapNode
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:793
onCreated()
onCreated():
void
Returns
void
Overrides
GfxGroupLikeElementModel.onCreated
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:846
pop()
pop(
prop
):void
Parameters
• prop: string
Returns
void
Inherited from
GfxGroupLikeElementModel.pop
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:87
removeChild()
removeChild(
id
):void
Remove the child from the group
Parameters
• id: string
Returns
void
Overrides
GfxGroupLikeElementModel.removeChild
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:850
requestBuildTree()
protected
requestBuildTree():void
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:880
requestLayout()
requestLayout():
void
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:892
serialize()
serialize():
SerializedMindmapElement
Returns
SerializedMindmapElement
Overrides
GfxGroupLikeElementModel.serialize
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:903
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
GfxGroupLikeElementModel.setChildIds
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:140
stash()
stash(
prop
):void
Parameters
• prop: string
Returns
void
Inherited from
GfxGroupLikeElementModel.stash
Defined in
packages/framework/block-std/dist/gfx/surface/element-model.d.ts:89
stashTree()
stashTree(
node
):undefined
| () =>void
Parameters
• node: string
| MindmapNode
Returns
undefined
| () => void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:908
traverse()
traverse(
callback
):void
Parameters
• callback
Returns
void
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:954
createFromTree()
static
createFromTree(tree
,style
,layoutType
,surface
):MindmapElementModel
Parameters
• tree: MindmapNode
• style: MindmapStyle
• layoutType: LayoutType
• surface: SurfaceBlockModel
Returns
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:96
propsToY()
static
propsToY(props
):MindmapElementProps
Parameters
• props: Record
<string
, unknown
>
Returns
MindmapElementProps
Overrides
GfxGroupLikeElementModel.propsToY
Defined in
packages/blocks/src/surface-block/element-model/mindmap.ts:133