跳到主要内容

eo-display-canvas

<eo-display-canvas>

用于展示查看的画布构件。

Examples

Basic

Playground

Force layout

Playground

Dagre layout

Playground

Degraded diagram

Playground

Properties

NameDescriptionTypeDefaultRequired
cells

用于查看的画布可以更新 cells 属性。

InitialCell[]
layoutLayoutType
layoutOptionsLayoutOptions
defaultNodeSizeSizeTuple [DEFAULT_NODE_SIZE, DEFAULT_NODE_SIZE]
defaultNodeBricksNodeBrickConf[]
degradedThreshold

当节点数量达到或超过 degradedThreshold 时,节点将被降级展示。

number 500
degradedNodeLabel

设置节点将降级展示时显示的名称。

string "<% DATA.node.id %>"
defaultEdgeLines

使用条件判断设置默认的边对应的连线。在 if 表达式中 DATA{ edge },例如:

defaultEdgeLines:
  - if: <% DATA.edge.data?.virtual %>
    dashed: true
EdgeLineConf[]
activeTargetActiveTarget | null
fadeUnrelatedCells

当鼠标悬浮到某节点上时,隐藏其他跟该节点无关的元素。

boolean
zoomableboolean true
scrollableboolean true
pannableboolean true
scaleRangeRangeTuple
hideZoomBar

隐藏右下角放大缩小的控制栏

boolean
autoCenterWhenCellsChange

每当 cells 改变时,重新自动居中

boolean
doNotResetActiveTargetForSelector

选择器,点击该选择器对应的元素时不重置 activeTarget

string
doNotResetActiveTargetOutsideCanvas

在画布外点击时不重置 activeTarget

boolean

Events

NameDescriptionEvent Detail
activeTarget.changeActiveTarget | null
cell.contextmenuCellContextMenuDetail
cell.clickCellContextMenuDetail

Type references

BaseBrickCell

extends BaseCell
NameDescriptionTypeDefaultRequired
tag"brick"
useBrickUseSingleBrickConf

BaseCell

NameDescriptionTypeDefaultRequired
type"node" | "edge" | "decorator"
dataunknown

BaseNodeCell

extends BaseCell
NameDescriptionTypeDefaultRequired
type"node"
idNodeId
containerIdNodeId
viewNodeView

NodeView

extends InitialNodeView
NameDescriptionTypeDefaultRequired
widthnumber
heightnumber

InitialNodeView

NameDescriptionTypeDefaultRequired
xnumber
ynumber
widthnumber
heightnumber
lockedboolean

EdgeCell

extends BaseCell
NameDescriptionTypeDefaultRequired
type"edge"
sourceNodeId
targetNodeId
viewEdgeView

EdgeView

extends LineSettings
NameDescriptionTypeDefaultRequired
exitPositionNodePosition | null
entryPositionNodePosition | null
verticesNodePosition[] | null
xnumber
ynumber
widthnumber
heightnumber
lockedboolean

LineSettings

NameDescriptionTypeDefaultRequired
typeLineType
curveTypeCurveType

DecoratorCell

extends BaseCell
NameDescriptionTypeDefaultRequired
type"decorator"
decoratorDecoratorType
idNodeId
viewDecoratorView

DecoratorView

extends NodeView
NameDescriptionTypeDefaultRequired
text

用于文本装饰器和容器装饰器

string
style

设置文本/区域/方框/容器装饰器的样式

CSSProperties
titleStyle

设置容器装饰器的标题的样式

CSSProperties
direction

设置容器装饰器的文本位置

Direction
verticesNodePosition[] | null

LayoutOptionsManual

extends LayoutSnapOptions
NameDescriptionTypeDefaultRequired

LayoutSnapOptions

NameDescriptionTypeDefaultRequired
snap

Snap options. Setting to true means enable all snap options

boolean | SnapOptions

SnapOptions

NameDescriptionTypeDefaultRequired
grid

Snap to grid

boolean | SnapToGridOptions
object

Snap to object

boolean | SnapToObjectOptions

SnapToGridOptions

NameDescriptionTypeDefaultRequired
sizenumber10

SnapToObjectOptions

NameDescriptionTypeDefaultRequired
distancenumber5
positions

默认为 "all",在中心、上下左右共五个位置进行对齐。 设置为 "center" 表示只对中心进行对齐。 可以按顺序设置对齐位置,例如 "center top bottom" 表示只对中心和上下共三个位置进行对齐。

string"all"

LayoutOptionsDagre

extends BaseLayoutOptions
NameDescriptionTypeDefaultRequired
rankdir"TB" | "BT" | "LR" | "RL"
ranksepnumber
edgesepnumber
nodesepnumber
align"UL" | "UR" | "DL" | "DR"

BaseLayoutOptions

extends LayoutSnapOptions
NameDescriptionTypeDefaultRequired
nodePaddingPartialRectTuple
alignOrigin

根据节点什么位置进行对齐,支持关键字、百分比和比例值。 第一个值为 x 轴,第二个值为 y 轴。 使用数字时,表示相对于节点的宽高的比例。

注意,节点宽高将包含 nodePadding 的值。

AlignOrigin["center","center"]

LayoutOptionsForce

extends BaseLayoutOptions
NameDescriptionTypeDefaultRequired
collide

设置碰撞参数

boolean | ForceCollideOptions

ForceCollideOptions

NameDescriptionTypeDefaultRequired
radiusDiff

在计算节点碰撞关系时,节点半径 = 节点固有半径 + radiusDiff。

其中,节点固有半径 = 节点矩形对角线长度 / 2。

number18
strength

See https://d3js.org/d3-force/collide#collide_strength

number1
iterations

See https://d3js.org/d3-force/collide#collide_iterations

number1

NodeBrickConf

NameDescriptionTypeDefaultRequired
useBrickUseSingleBrickConf
ifstring | boolean | null

EdgeLineConf

extends BaseEdgeLineConf
NameDescriptionTypeDefaultRequired
ifstring | boolean | null

BaseEdgeLineConf

NameDescriptionTypeDefaultRequired
typeLineType
curveTypeCurveType
dashedboolean
dottedboolean
strokeWidthnumber
strokeColorstring
interactStrokeWidthnumber
parallelGapnumber
markersLineMarkerConf[]
callLabelOnDoubleClickstring
textTextOptions
labelLineLabelConf
showStartArrowboolean
showEndArrowboolean
animateLineAnimate
overridesEdgeLineConfOverrides
jumpsboolean

LineAnimate

NameDescriptionTypeDefaultRequired
useAnimateboolean
durationnumber

EdgeLineConfOverrides

NameDescriptionTypeDefaultRequired
activeEdgeLineConfOverridable
activeRelatedEdgeLineConfOverridable

EdgeLineConfOverridable

NameDescriptionTypeDefaultRequired
strokeWidthnumber
strokeColorstring
motionEdgeLineMotion

EdgeLineMotion

NameDescriptionTypeDefaultRequired
shapeEdgeLineMotionShape
speed

移动速度,单位 px/s,默认为 50

number
size

尺寸,默认为当前 strokeWidth * 4

number

ActiveTargetOfNode

NameDescriptionTypeDefaultRequired
type"node"
idNodeId

ActiveTargetOfEdge

NameDescriptionTypeDefaultRequired
type"edge"
sourceNodeId
targetNodeId

ActiveTargetOfDecorator

NameDescriptionTypeDefaultRequired
type"decorator"
idNodeId

ActiveTargetOfMulti

NameDescriptionTypeDefaultRequired
type"multi"
targetsActiveTargetOfSingular[]

CellContextMenuDetail

NameDescriptionTypeDefaultRequired
cellCell
clientXnumber
clientYnumber
locked

该元素或其容器是否处于锁定状态

boolean

InitialCell

InitialNodeCell | EdgeCell | DecoratorCell

InitialNodeCell

Omit<NodeCell, "view"> & { view?: InitialNodeView }

NodeCell

NodeBrickCell

NodeBrickCell

BaseBrickCell & BaseNodeCell

NodeId

string

LineType

"straight" | "curve" | "polyline"

DecoratorType

"text" | "area" | "container" | "rect" | "line"

Direction

"top" | "right" | "bottom" | "left"

LayoutType

"manual" | "force" | "dagre" | undefined

LayoutOptions

LayoutOptionsManual | LayoutOptionsDagre | LayoutOptionsForce

AlignOrigin

[x: string | number, y: string | number]

SizeTuple

[width: number, height: number]

EdgeLineMotionShape

"dot" | "triangle" | "none"

ActiveTarget

ActiveTargetOfSingular | ActiveTargetOfMulti

ActiveTargetOfSingular

ActiveTargetOfNode | ActiveTargetOfEdge | ActiveTargetOfDecorator

RangeTuple

[min: number, max: number]

Cell

NodeCell | EdgeCell | DecoratorCell