new Cyez(container, style, optionsnullable)
传入交互组件的容器,以及样式,构建 cyez 实例
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
container |
Node | 交互组件所在的容器,用 document.getElementById 等选择器得到 | |
style |
Object | 交互组件的样式模板 | |
options |
Object |
<nullable> |
cytoscape 的设置 |
Interfaces
Members
edges
获取所有连边的信息
freeze :boolean
判断当前画布是否应该冻结
Type:
- boolean
nodes
获取所有节点的信息
Methods
$(selector) → {*|E.fn.init}
选择器
Parameters:
Name | Type | Description |
---|---|---|
selector |
String | cytoscape选择器 |
Returns:
- Type
- * | E.fn.init
addContextMenu(id, option)
新增一个右键菜单
Parameters:
Name | Type | Description |
---|---|---|
id |
int | string | 右键菜单的标识,可以用此标识销毁对应菜单 |
option |
参考 cytoscape contextmenu 文档 |
addEdge(source_id, target_id, namenullable)
在 id 为 source_id 和 id 为 target_id 的两个节点间增加关系为 name 的边
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
source_id |
Number | String | 源节点的 id | |
target_id |
Number | String | 目标节点的 id | |
name |
String |
<nullable> |
连边的名字 |
addEdges(edge_list) → {cy.edge}
增加一系列节点
Parameters:
Name | Type | Description |
---|---|---|
edge_list |
Array.<cy.edge> | 传入形式为:[{id, name, source, target}] |
Returns:
- Type
- cy.edge
addNode(id, name, type, attr) → {cy.node}
增加一个新的节点
Parameters:
Name | Type | Description |
---|---|---|
id |
Number | String | 节点的 id |
name |
String | 节点的名称 |
type |
String | 节点的类型 |
attr |
Object | 节点的属性 |
Returns:
得到的节点实例
- Type
- cy.node
addNodes(node_list) → {cy.node}
增加一系列节点
Parameters:
Name | Type | Description |
---|---|---|
node_list |
Array.<cy.node> | 传入形式为:[{name, id, type, attr}] |
Returns:
- Type
- cy.node
CancelHighlight()
取消高亮节点,即将全部的节点的 faded class 都去掉
CancelHighlightElements(nodesnon-null)
对设定的元素取消高亮。相当于将除了传入节点之外的其它节点和连线去掉 faded class
Parameters:
Name | Type | Description |
---|---|---|
nodes |
cytoscape.element | 需要高亮的节点 |
CancelHighlightNodes(nodesnon-null)
对设定的节点取消高亮。相当于将除了传入节点之外的其它节点和连线去掉 faded class
Parameters:
Name | Type | Description |
---|---|---|
nodes |
cytoscape.node | 需要高亮的节点 |
Collection(elements) → {cytoscape.eles}
将数组数据聚合为集合
Parameters:
Name | Type | Description |
---|---|---|
elements |
Array.<cytoscape.node> | Array.<cytoscape.edge> | Array.<cytoscape.ele> | 以数组形式传入的实例 |
Returns:
以集合传出的实例
- Type
- cytoscape.eles
DeleteEdge(edge)
删除指定的连边
Parameters:
Name | Type | Description |
---|---|---|
edge |
cytoscape.edge | 待删除的连边 |
DeleteEdgeById(idnon-null)
根据 id 删除指定的连边
Parameters:
Name | Type | Description |
---|---|---|
id |
String | Number | 需要删除的边的 id |
getCenter() → {Object}
返回画布的中心点
Returns:
- Type
- Object
getEdgeById(idnon-null, silence) → (nullable) {cytoscape.edge}
根据 id 获取边的实例
Parameters:
Name | Type | Default | Description |
---|---|---|---|
id |
String | Number | 需要查询的边的 id | |
silence |
boolean | false | 是否在控制栏显示错误 |
Returns:
查询得到的边,如果没有找到对应 id 的边则返回 null
- Type
- cytoscape.edge
getNeighborById(idnon-null) → (nullable) {Array.<cy.node>}
根据节点 id 获取其邻居节点
Parameters:
Name | Type | Description |
---|---|---|
id |
String | Number | 需要查找邻居的节点 id |
Returns:
邻居节点集合,如果没有找到则返回空数组
- Type
- Array.<cy.node>
getNodeById(id) → (nullable) {cy.node}
根据节点 id 获取节点实体
Parameters:
Name | Type | Description |
---|---|---|
id |
Returns:
- Type
- cy.node
getPositionById(id) → {Object}
根据节点 id 获取节点坐标
Parameters:
Name | Type | Description |
---|---|---|
id |
Returns:
- Type
- Object
getSelectedEdges() → (nullable) {cytoscape.edge}
获取当前被选中的连边
Returns:
被选中的连边的实例
- Type
- cytoscape.edge
getSelectedElements() → (nullable) {cytoscape.element}
获取当前被选中的元素(包括节点和连边)
Returns:
被选中的元素的实例
- Type
- cytoscape.element
getSelectedNodes() → (nullable) {cytoscape.node}
获取当前被选中的节点
Returns:
被选中的节点的实例
- Type
- cytoscape.node
getUnselectedElements() → (nullable) {cytoscape.element}
获取当前未被选中的元素(包括节点和连边)
Returns:
被选中的元素的实例
- Type
- cytoscape.element
hasLoop(elements) → {Boolean}
判断指定 elements 中是否包含环
Parameters:
Name | Type | Description |
---|---|---|
elements |
Returns:
- Type
- Boolean
hideNodes(selector)
隐藏指定的元素,即为selector的元素添加 display: 'none' 的样式属性
Parameters:
Name | Type | Description |
---|---|---|
selector |
HighlightEdges(edgesnon-null)
高亮设定的连边。
Parameters:
Name | Type | Description |
---|---|---|
edges |
cytoscape.edge | 需要高亮的连边 |
HighlightElements(elemnon-null)
高亮设定的元素(包括节点和连边)
Parameters:
Name | Type | Description |
---|---|---|
elem |
cytoscape.element | 需要高亮的元素 |
HighlightNodes(nodesnon-null)
高亮设定的节点。相当于将除了传入节点之外的其它节点和连线加上 faded class,因此需要在样式中加上 .faded{opacity:0.1} 的设定
Parameters:
Name | Type | Description |
---|---|---|
nodes |
cytoscape.node | 需要高亮的节点 |
InitNavigator(传入指定的)
初始化导航组件
Parameters:
Name | Type | Description |
---|---|---|
传入指定的 |
String | container selector,如'.cytoscape-navigator' |
inverseSelection()
反选,即取消当前选中的元素,选中当前未选中的元素
isIdExist(idnon-null) → {boolean}
判断 id 是否已经存在
Parameters:
Name | Type | Description |
---|---|---|
id |
String | Number | 需要判断的 id |
Returns:
- Type
- boolean
Layout(layout, callbacknullable)
将布局算法应用与全部节点。不能在一次布局完成前进行第二次布局。
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
layout |
String | 指定一种布局方式,可选值有:['grid', 'circle', 'concentric', 'breadthfirst', 'cose', 'cola', 'dagre', 'klay', 'spread'] | |
callback |
function |
<nullable> |
可选,布局完成之后将调用此函数 |
LayoutNodes(nodesnon-null, optionsnon-null, callbacknullable)
对部分节点应用布局算法
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
nodes |
cytoscape.node | 传入需要进行布局的节点 | |
options |
object | 选项,{layout:'grid', position:{x:0,y:0}}。layout指定一种布局方式,可选值参见 Layout,position指定布局中心 | |
callback |
function |
<nullable> |
可选,布局完成后将调用此函数 |
load(callbacknullable)
从文件读取 json 文件,并加载到视图中
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
callback |
function |
<nullable> |
可选,布局完成之后将调用此函数 |
lock()
将布局锁定
removeContextMenu(idnon-null)
销毁指定 id 的右键菜单
Parameters:
Name | Type | Description |
---|---|---|
id |
String | Number | 待删除的右键菜单的 id |
reset()
将画布完全重置
save()
将当前图谱导出为 json 文件,并下载。
saveAsJPEG()
将当前图谱导出为 jpg 图片,并下载
- Source:
- See:
saveAsPNG()
将当前图谱导出为 png 图片,并下载
- Source:
- See:
showNodes(selector)
显示指定的元素,即为selector的元素删除 visibility: hide 的样式属性
Parameters:
Name | Type | Description |
---|---|---|
selector |
stopLayout()
停止正在进行的布局
Returns:
Boolean
unlock()
解锁布局
updateStyleFromJSON(new_style)
更新新的样式
Parameters:
Name | Type | Description |
---|---|---|
new_style |
JSON | 以JSON形式传入的新的样式 |
zoomToSelected(eles) → {cy.nodes}
缩放视图至指定的元素
Parameters:
Name | Type | Description |
---|---|---|
eles |
cy.nodes | 需要查看的元素 |
- Source:
- See:
Returns:
- Type
- cy.nodes