Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
半栈学徒
incubator-echarts
提交
b6c83a04
I
incubator-echarts
项目概览
半栈学徒
/
incubator-echarts
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
I
incubator-echarts
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
b6c83a04
编写于
5月 26, 2016
作者:
L
lang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Graph add focusNodeAdjacency
上级
36c629a3
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
89 addition
and
8 deletion
+89
-8
src/chart/graph/GraphSeries.js
src/chart/graph/GraphSeries.js
+2
-0
src/chart/graph/GraphView.js
src/chart/graph/GraphView.js
+87
-8
未找到文件。
src/chart/graph/GraphSeries.js
浏览文件 @
b6c83a04
...
...
@@ -168,6 +168,8 @@ define(function (require) {
layout
:
null
,
focusNodeAdjacency
:
false
,
// Configuration of force
force
:
{
initLayout
:
null
,
...
...
src/chart/graph/GraphView.js
浏览文件 @
b6c83a04
...
...
@@ -7,6 +7,14 @@ define(function (require) {
var
graphic
=
require
(
'
../../util/graphic
'
);
var
adjustEdge
=
require
(
'
./adjustEdge
'
);
var
zrUtil
=
require
(
'
zrender/core/util
'
);
var
nodeOpacityPath
=
[
'
itemStyle
'
,
'
normal
'
,
'
opacity
'
];
var
lineOpacityPath
=
[
'
lineStyle
'
,
'
normal
'
,
'
opacity
'
];
function
getItemOpacity
(
item
,
opacityPath
)
{
return
item
.
getVisual
(
'
opacity
'
)
||
item
.
getModel
().
get
(
opacityPath
);
}
require
(
'
../../echarts
'
).
extendChartView
({
...
...
@@ -31,10 +39,6 @@ define(function (require) {
render
:
function
(
seriesModel
,
ecModel
,
api
)
{
var
coordSys
=
seriesModel
.
coordinateSystem
;
// Only support view and geo coordinate system
// if (coordSys.type !== 'geo' && coordSys.type !== 'view') {
// return;
// }
this
.
_model
=
seriesModel
;
this
.
_nodeScaleRatio
=
seriesModel
.
get
(
'
nodeScaleRatio
'
);
...
...
@@ -76,8 +80,10 @@ define(function (require) {
if
(
forceLayout
)
{
this
.
_startForceLayoutIteration
(
forceLayout
,
layoutAnimation
);
}
// Update draggable
data
.
eachItemGraphicEl
(
function
(
el
,
idx
)
{
var
itemModel
=
data
.
getItemModel
(
idx
);
// Update draggable
el
.
off
(
'
drag
'
).
off
(
'
dragend
'
);
var
draggable
=
data
.
getItemModel
(
idx
).
get
(
'
draggable
'
);
if
(
draggable
)
{
el
.
on
(
'
drag
'
,
function
()
{
...
...
@@ -95,15 +101,88 @@ define(function (require) {
}
},
this
);
}
else
{
el
.
off
(
'
drag
'
);
}
el
.
setDraggable
(
draggable
&&
forceLayout
);
el
.
off
(
'
mouseover
'
,
this
.
_focusNodeAdjacency
);
el
.
off
(
'
mouseout
'
,
this
.
_unfocusNodeAdjacency
);
if
(
itemModel
.
get
(
'
focusNodeAdjacency
'
))
{
el
.
on
(
'
mouseover
'
,
this
.
_focusNodeAdjacency
,
this
);
el
.
on
(
'
mouseout
'
,
this
.
_unfocusNodeAdjacency
,
this
);
}
},
this
);
this
.
_firstRender
=
false
;
},
_focusNodeAdjacency
:
function
(
e
)
{
var
data
=
this
.
_model
.
getData
();
var
graph
=
data
.
graph
;
var
el
=
e
.
target
;
var
dataIndex
=
el
.
dataIndex
;
var
dataType
=
el
.
dataType
;
function
fadeOut
(
child
)
{
if
(
child
.
type
!==
'
group
'
)
{
child
.
setStyle
(
'
opacity
'
,
0.2
);
}
}
function
fadeInItem
(
item
,
opacityPath
)
{
var
opacity
=
getItemOpacity
(
item
,
opacityPath
);
var
el
=
item
.
getGraphicEl
();
el
.
traverse
(
function
(
child
)
{
child
.
trigger
(
'
emphasis
'
);
if
(
child
.
type
!==
'
group
'
)
{
child
.
setStyle
(
'
opacity
'
,
opacity
);
}
});
}
if
(
dataIndex
!==
null
&&
dataType
!==
'
edge
'
)
{
graph
.
eachNode
(
function
(
node
)
{
var
el
=
node
.
getGraphicEl
();
el
.
traverse
(
fadeOut
);
});
graph
.
eachEdge
(
function
(
edge
)
{
var
el
=
edge
.
getGraphicEl
();
el
.
traverse
(
fadeOut
);
});
var
node
=
graph
.
getNodeByIndex
(
dataIndex
);
zrUtil
.
each
(
node
.
edges
,
function
(
edge
)
{
if
(
edge
.
dataIndex
<
0
)
{
return
;
}
fadeInItem
(
edge
,
lineOpacityPath
);
fadeInItem
(
edge
.
node1
,
nodeOpacityPath
);
fadeInItem
(
edge
.
node2
,
nodeOpacityPath
);
});
}
},
_unfocusNodeAdjacency
:
function
()
{
var
data
=
this
.
_model
.
getData
();
var
graph
=
data
.
graph
;
graph
.
eachNode
(
function
(
node
)
{
var
opacity
=
getItemOpacity
(
node
,
nodeOpacityPath
);
node
.
getGraphicEl
().
traverse
(
function
(
child
)
{
child
.
trigger
(
'
normal
'
);
if
(
child
.
type
!==
'
group
'
)
{
child
.
setStyle
(
'
opacity
'
,
opacity
);
}
});
});
graph
.
eachEdge
(
function
(
edge
)
{
var
opacity
=
getItemOpacity
(
edge
,
lineOpacityPath
);
edge
.
getGraphicEl
().
traverse
(
function
(
child
)
{
child
.
trigger
(
'
normal
'
);
if
(
child
.
type
!==
'
group
'
)
{
child
.
setStyle
(
'
opacity
'
,
opacity
);
}
});
});
},
_startForceLayoutIteration
:
function
(
forceLayout
,
layoutAnimation
)
{
var
self
=
this
;
(
function
step
()
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录