Skip to content

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

MindmapElementModel

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

LocalConnectorElementModel

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> = {}

direction?: LEFT | RIGHT

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

ts
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

MindmapElementModel

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