Skip to content

BlockSuite API Documentation / @blocksuite/affine-block-surface / LayoutableMindmapElementModel

Class: LayoutableMindmapElementModel

Extends

Constructors

new LayoutableMindmapElementModel()

new LayoutableMindmapElementModel(options): LayoutableMindmapElementModel

Parameters

options
id

string

model

SurfaceBlockModel

onChange

(payload) => void

stashedStore

Map<unknown, unknown>

yMap

YMap<unknown>

Returns

LayoutableMindmapElementModel

Inherited from

MindmapElementModel.constructor

Defined in

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

Properties

_disposable

protected _disposable: DisposableGroup

Inherited from

MindmapElementModel._disposable

Defined in

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


_id

protected _id: string

Inherited from

MindmapElementModel._id

Defined in

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


_local

protected _local: Map<string | symbol, unknown>

Inherited from

MindmapElementModel._local

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

MindmapElementModel._onChange

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

MindmapElementModel._preserved

Defined in

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


_stashed

protected _stashed: Map<string, unknown>

Inherited from

MindmapElementModel._stashed

Defined in

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


[gfxGroupCompatibleSymbol]

[gfxGroupCompatibleSymbol]: true

Inherited from

MindmapElementModel.[gfxGroupCompatibleSymbol]

Defined in

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


connectors

connectors: Map<string, LocalConnectorElementModel>

Inherited from

MindmapElementModel.connectors

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:67


extraConnectors

extraConnectors: Map<string, LocalConnectorElementModel>

Inherited from

MindmapElementModel.extraConnectors

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:68


surface

surface: SurfaceBlockModel

Inherited from

MindmapElementModel.surface

Defined in

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


yMap

yMap: YMap<unknown>

Inherited from

MindmapElementModel.yMap

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

Inherited from

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

Inherited from

MindmapElementModel.childIds

Defined in

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


children

Inherited from

MindmapElementModel.children

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:140


connectable

Get Signature

get connectable(): boolean

Returns

boolean

Inherited from

MindmapElementModel.connectable

Defined in

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


descendantElements

Get Signature

get descendantElements(): GfxModel[]

Returns

GfxModel[]

Inherited from

MindmapElementModel.descendantElements

Defined in

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


deserializedXYWH

Get Signature

get deserializedXYWH(): XYWH

Returns

XYWH

Inherited from

MindmapElementModel.deserializedXYWH

Defined in

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


display

Inherited from

MindmapElementModel.display

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

Inherited from

MindmapElementModel.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

MindmapElementModel.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

MindmapElementModel.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

Inherited from

MindmapElementModel.group

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

Inherited from

MindmapElementModel.groups

Defined in

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


h

Get Signature

get h(): number

Returns

number

Inherited from

MindmapElementModel.h

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

MindmapElementModel.id

Defined in

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


index

Inherited from

MindmapElementModel.index

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

MindmapElementModel.isConnected

Defined in

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


layoutType

Inherited from

MindmapElementModel.layoutType

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:141


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.

Inherited from

MindmapElementModel.lockedBySelf

Defined in

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


nodeMap

Get Signature

get nodeMap(): Map<string, MindmapNode>

Returns

Map<string, MindmapNode>

Inherited from

MindmapElementModel.nodeMap

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:69


opacity

Inherited from

MindmapElementModel.opacity

Defined in

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


rotate

Get Signature

get rotate(): number

Returns

number

Set Signature

set rotate(_): void

Parameters
_

number

Returns

void

Inherited from

MindmapElementModel.rotate

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:70


seed

Inherited from

MindmapElementModel.seed

Defined in

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


style

Inherited from

MindmapElementModel.style

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:142


styleGetter

Get Signature

get styleGetter(): MindmapStyleGetter

Returns

MindmapStyleGetter

Inherited from

MindmapElementModel.styleGetter

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:72


tree

Get Signature

get tree(): MindmapRoot

Returns

MindmapRoot

Inherited from

MindmapElementModel.tree

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:73


type

Get Signature

get type(): string

Returns

string

Inherited from

MindmapElementModel.type

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:74


w

Get Signature

get w(): number

Returns

number

Inherited from

MindmapElementModel.w

Defined in

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


x

Get Signature

get x(): number

Returns

number

Inherited from

MindmapElementModel.x

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

Inherited from

MindmapElementModel.xywh

Defined in

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


y

Get Signature

get y(): number

Returns

number

Inherited from

MindmapElementModel.y

Defined in

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

Methods

_getXYWH()

protected _getXYWH(): Bound

Returns

Bound

Inherited from

MindmapElementModel._getXYWH

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:78


addChild()

addChild(_element): void

Parameters

_element

GfxModel

Returns

void

Deprecated

you should not call this method directly

Inherited from

MindmapElementModel.addChild

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:83


addConnector()

protected addConnector(from, to, layout, connectorStyle, extra?): LocalConnectorElementModel

Parameters

from

MindmapNode

to

MindmapNode

layout

LayoutType

connectorStyle

ConnectorStyle

extra?

boolean

Returns

LocalConnectorElementModel

Inherited from

MindmapElementModel.addConnector

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:84


addNode()

addNode(parent, sibling?, position?, props?): string

Parameters

parent

The parent node id of the new node. If it's null, the node will be the root node

null | string | MindmapNode

sibling?

string | number

position?

"after" | "before"

props?

Record<string, unknown>

Returns

string

Inherited from

MindmapElementModel.addNode

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:85


buildTree()

buildTree(): void

Returns

void

Inherited from

MindmapElementModel.buildTree

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:90


containsBound()

containsBound(bounds): boolean

Parameters

bounds

Bound

Returns

boolean

Inherited from

MindmapElementModel.containsBound

Defined in

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


getChildNodes()

getChildNodes(id, subtree?): MindmapNode[]

Parameters

id

string

subtree?

The subtree of root, this only take effects when the layout type is BALANCED.

"right" | "left"

Returns

MindmapNode[]

Inherited from

MindmapElementModel.getChildNodes

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:96


getConnector()

getConnector(from, to): null | LocalConnectorElementModel

Parameters

from

MindmapNode

to

MindmapNode

Returns

null | LocalConnectorElementModel

Inherited from

MindmapElementModel.getConnector

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:97


getLayoutDir()

getLayoutDir(node): LayoutType

Parameters

node

string | MindmapNode

Returns

LayoutType

Inherited from

MindmapElementModel.getLayoutDir

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:98


getLineIntersections()

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

Parameters

start

IVec

end

IVec

Returns

null | PointLocation[]

Inherited from

MindmapElementModel.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

Inherited from

MindmapElementModel.getNearestPoint

Defined in

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


getNode()

getNode(id): null | MindmapNode

Parameters

id

string

Returns

null | MindmapNode

Inherited from

MindmapElementModel.getNode

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:99


getParentNode()

getParentNode(id): null | MindmapNode

Parameters

id

string

Returns

null | MindmapNode

Inherited from

MindmapElementModel.getParentNode

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:100


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]

Inherited from

MindmapElementModel.getPath

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:113


getRelativePointLocation()

getRelativePointLocation(relativePoint): PointLocation

Parameters

relativePoint

IVec

Returns

PointLocation

Inherited from

MindmapElementModel.getRelativePointLocation

Defined in

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


getSiblingNode()

getSiblingNode(id, direction?, subtree?): null | MindmapNode

Parameters

id

string

direction?

"prev" | "next"

subtree?

The subtree of which that the sibling node belongs to, this is used when the layout type is BALANCED.

"right" | "left"

Returns

null | MindmapNode

Inherited from

MindmapElementModel.getSiblingNode

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:114


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

Inherited from

MindmapElementModel.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

Inherited from

MindmapElementModel.hasDescendant

Defined in

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


includesPoint()

includesPoint(x, y, options): boolean

Parameters

x

number

y

number

options

PointTestOptions

Returns

boolean

Inherited from

MindmapElementModel.includesPoint

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:120


intersectsBound()

intersectsBound(bound): boolean

Parameters

bound

Bound

Returns

boolean

Inherited from

MindmapElementModel.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

Inherited from

MindmapElementModel.isLocked

Defined in

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


isLockedByAncestor()

isLockedByAncestor(): boolean

Returns

boolean

Inherited from

MindmapElementModel.isLockedByAncestor

Defined in

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


isLockedBySelf()

isLockedBySelf(): boolean

Returns

boolean

Inherited from

MindmapElementModel.isLockedBySelf

Defined in

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


layout()

layout(tree, options): void

Parameters

tree

MindmapNode | MindmapRoot

options
applyStyle

boolean

calculateTreeBound

boolean

layoutType

LayoutType

stashed

boolean

Returns

void

Overrides

MindmapElementModel.layout

Defined in

packages/affine/block-surface/src/utils/mindmap/utils.ts:25


lock()

lock(): void

Returns

void

Inherited from

MindmapElementModel.lock

Defined in

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


moveTo()

moveTo(targetXYWH): void

Parameters

targetXYWH

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

Returns

void

Inherited from

MindmapElementModel.moveTo

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:127


onCreated()

onCreated(): void

Returns

void

Inherited from

MindmapElementModel.onCreated

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:128


pop()

pop(prop): void

Parameters

prop

string

Returns

void

Inherited from

MindmapElementModel.pop

Defined in

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


removeChild()

removeChild(element): void

Remove the child from the group

Parameters

element

GfxModel

Returns

void

Inherited from

MindmapElementModel.removeChild

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:129


requestBuildTree()

protected requestBuildTree(): void

Returns

void

Inherited from

MindmapElementModel.requestBuildTree

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:130


requestLayout()

requestLayout(): void

Returns

void

Inherited from

MindmapElementModel.requestLayout

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:131


serialize()

serialize(): SerializedMindmapElement

Returns

SerializedMindmapElement

Inherited from

MindmapElementModel.serialize

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:132


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

MindmapElementModel.setChildIds

Defined in

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


stash()

stash(prop): void

Parameters

prop

string

Returns

void

Inherited from

MindmapElementModel.stash

Defined in

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


stashTree()

stashTree(node): undefined | () => void

Stash mind map node and its children's xywh property

Parameters

node

string | MindmapNode

Returns

undefined | () => void

a function that write back the stashed xywh into yjs

Inherited from

MindmapElementModel.stashTree

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:138


traverse()

traverse(callback): void

Parameters

callback

(node, parent) => void

Returns

void

Inherited from

MindmapElementModel.traverse

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:139


unlock()

unlock(): void

Returns

void

Inherited from

MindmapElementModel.unlock

Defined in

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


propsToY()

static propsToY(props): MindmapElementProps

Parameters

props

Record<string, unknown>

Returns

MindmapElementProps

Inherited from

MindmapElementModel.propsToY

Defined in

packages/affine/model/dist/elements/mindmap/mindmap.d.ts:75