提交 96efad5b 编写于 作者: S sushuang

Fix graph focusNodeAdjacency do not support emphasis opacity and opacity is bug on hoverLayer.

上级 82791723
......@@ -34,13 +34,14 @@ var nodeOpacityPath = ['itemStyle', 'opacity'];
var lineOpacityPath = ['lineStyle', 'opacity'];
function getItemOpacity(item, opacityPath) {
return item.getVisual('opacity') || item.getModel().get(opacityPath);
var opacity = item.getVisual('opacity');
return opacity != null ? opacity : item.getModel().get(opacityPath);
}
function fadeOutItem(item, opacityPath, opacityRatio) {
var el = item.getGraphicEl();
var opacity = getItemOpacity(item, opacityPath);
if (opacityRatio != null) {
opacity == null && (opacity = 1);
opacity *= opacityRatio;
......@@ -48,7 +49,7 @@ function fadeOutItem(item, opacityPath, opacityRatio) {
el.downplay && el.downplay();
el.traverse(function (child) {
if (child.type !== 'group') {
if (!child.isGroup) {
var opct = child.lineLabelOriginalOpacity;
if (opct == null || opacityRatio != null) {
opct = opacity;
......@@ -61,13 +62,13 @@ function fadeOutItem(item, opacityPath, opacityRatio) {
function fadeInItem(item, opacityPath) {
var opacity = getItemOpacity(item, opacityPath);
var el = item.getGraphicEl();
el.highlight && el.highlight();
// Should go back to normal opacity first, consider hoverLayer,
// where current state is copied to elMirror, and support
// emphasis opacity here.
el.traverse(function (child) {
if (child.type !== 'group') {
child.setStyle('opacity', opacity);
}
!child.isGroup && child.setStyle('opacity', opacity);
});
el.highlight && el.highlight();
}
export default echarts.extendChartView({
......
......@@ -343,7 +343,13 @@ under the License.
{value: 100, name: 'aa', x: 100, y: 200},
{value: 150, name: 'bb', x: 450, y: 300},
{value: 200, name: 'cc', x: 200, y: 100},
{value: 250, name: 'dd', x: 450, y: 250}
{value: 250, name: 'dd', x: 450, y: 250,
emphasis: {
itemStyle: {
color: 'blue'
}
}
}
],
links: [
{source: 'aa', target: 'bb'},
......@@ -360,7 +366,6 @@ under the License.
color: 'orange',
type: 'solid',
width: 8
// opacity: .8
}
}
}]
......@@ -368,8 +373,8 @@ under the License.
var chart = testHelper.create(echarts, 'mainb4', {
title: [
'normal line is **green dashed width 3**,',
'should become **orange solid width 8** when hovered'
'normal style is **line: green dashed width 3, node: red**,',
'should become **line: orange solid width 8, node: only "dd" blue** when hovered'
],
option: option,
height: 200
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册