diff --git a/src/chart/graph/GraphView.js b/src/chart/graph/GraphView.js index 01d6f745f52f0c98cb137a36b2587e1db6b16f88..27f0bd1574e19ba6a03dc1e04357d54c0b391b59 100644 --- a/src/chart/graph/GraphView.js +++ b/src/chart/graph/GraphView.js @@ -27,6 +27,8 @@ import {onIrrelevantElement} from '../../component/helper/cursorHelper'; import * as graphic from '../../util/graphic'; import adjustEdge from './adjustEdge'; +var FOCUS_ADJACENCY = '__focusNodeAdjacency'; +var UNFOCUS_ADJACENCY = '__unfocusNodeAdjacency'; var nodeOpacityPath = ['itemStyle', 'opacity']; var lineOpacityPath = ['lineStyle', 'opacity']; @@ -151,24 +153,23 @@ export default echarts.extendChartView({ } el.setDraggable(draggable && forceLayout); - el.off('mouseover', el.__focusNodeAdjacency); - el.off('mouseout', el.__unfocusNodeAdjacency); + el[FOCUS_ADJACENCY] && el.off('mouseover', el[FOCUS_ADJACENCY]); + el[UNFOCUS_ADJACENCY] && el.off('mouseout', el[UNFOCUS_ADJACENCY]); if (itemModel.get('focusNodeAdjacency')) { - el.on('mouseover', el.__focusNodeAdjacency = function () { + el.on('mouseover', el[FOCUS_ADJACENCY] = function () { api.dispatchAction({ type: 'focusNodeAdjacency', seriesId: seriesModel.id, dataIndex: el.dataIndex }); }); - el.on('mouseout', el.__unfocusNodeAdjacency = function () { + el.on('mouseout', el[UNFOCUS_ADJACENCY] = function () { api.dispatchAction({ type: 'unfocusNodeAdjacency', seriesId: seriesModel.id }); }); - } }, this); @@ -176,18 +177,18 @@ export default echarts.extendChartView({ data.graph.eachEdge(function (edge) { var el = edge.getGraphicEl(); - el.off('mouseover', el.__focusNodeAdjacency); - el.off('mouseout', el.__unfocusNodeAdjacency); + el[FOCUS_ADJACENCY] && el.off('mouseover', el[FOCUS_ADJACENCY]); + el[UNFOCUS_ADJACENCY] && el.off('mouseout', el[UNFOCUS_ADJACENCY]); if (edge.getModel().get('focusNodeAdjacency')) { - el.on('mouseover', el.__focusNodeAdjacency = function () { + el.on('mouseover', el[FOCUS_ADJACENCY] = function () { api.dispatchAction({ type: 'focusNodeAdjacency', seriesId: seriesModel.id, edgeDataIndex: edge.dataIndex }); }); - el.on('mouseout', el.__unfocusNodeAdjacency = function () { + el.on('mouseout', el[UNFOCUS_ADJACENCY] = function () { api.dispatchAction({ type: 'unfocusNodeAdjacency', seriesId: seriesModel.id diff --git a/test/graph-simple.html b/test/graph-simple.html index 0fcbe9e7e9d2d42b162ca2b5c6aef3fb47c2a77f..8478a3f9ba842d5afc1083dfa6401ef27f5e5667 100644 --- a/test/graph-simple.html +++ b/test/graph-simple.html @@ -24,132 +24,170 @@ under the License. + + - - hover node3, edge label should be displayed. - 节点1 should display value in tooltip. -
+ +
+
+ + \ No newline at end of file diff --git a/test/tmp-base.html b/test/tmp-base.html index fb3a3ba75eb2a40c5942cc79f399e366a3c95a2f..90ad917852e7538ced848c87f2ad207494324e3d 100644 --- a/test/tmp-base.html +++ b/test/tmp-base.html @@ -28,6 +28,7 @@ under the License. + @@ -54,7 +55,8 @@ under the License. // }); var chart = testHelper.create(echarts, 'main0', { - option: option + option: option, + // recordCanvas: true }); });