This is an automated email from the ASF dual-hosted git repository.

shenyi pushed a commit to branch next-npm-env
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git


The following commit(s) were added to refs/heads/next-npm-env by this push:
     new f7fc1cb  refact: move getECData to a separate module to avoid circular 
dependency
f7fc1cb is described below

commit f7fc1cb54b3e97f459a30f4f7c9653b0cba1398f
Author: pissang <[email protected]>
AuthorDate: Mon Jul 27 21:47:45 2020 +0800

    refact: move getECData to a separate module to avoid circular dependency
---
 src/chart/bar/BarView.ts                     |  2 +-
 src/chart/bar/PictorialBarView.ts            |  3 ++-
 src/chart/graph/GraphView.ts                 |  5 ++--
 src/chart/helper/LargeLineDraw.ts            |  3 ++-
 src/chart/helper/LargeSymbolDraw.ts          |  3 ++-
 src/chart/helper/Symbol.ts                   |  3 ++-
 src/chart/line/LineView.ts                   |  5 ++--
 src/chart/sankey/SankeyView.ts               |  7 +++---
 src/chart/sunburst/SunburstPiece.ts          |  5 ++--
 src/chart/tree/TreeView.ts                   |  4 ++--
 src/chart/treemap/Breadcrumb.ts              |  3 ++-
 src/chart/treemap/TreemapView.ts             |  5 ++--
 src/component/axis/AngleAxisView.ts          |  3 ++-
 src/component/axis/AxisBuilder.ts            |  5 ++--
 src/component/geo/GeoView.ts                 |  2 +-
 src/component/helper/MapDraw.ts              |  3 ++-
 src/component/marker/MarkAreaView.ts         |  3 ++-
 src/component/marker/MarkLineView.ts         |  2 +-
 src/component/marker/MarkPointView.ts        |  2 +-
 src/component/timeline/SliderTimelineView.ts |  9 ++++---
 src/component/title.ts                       |  3 ++-
 src/component/tooltip/TooltipView.ts         |  5 ++--
 src/component/visualMap/ContinuousView.ts    |  2 +-
 src/data/List.ts                             |  2 +-
 src/echarts.ts                               |  3 +--
 src/label/LabelManager.ts                    |  2 +-
 src/util/ecData.ts                           | 35 ++++++++++++++++++++++++++++
 src/util/graphic.ts                          | 22 +----------------
 src/util/states.ts                           | 14 +++++++++--
 29 files changed, 104 insertions(+), 61 deletions(-)

diff --git a/src/chart/bar/BarView.ts b/src/chart/bar/BarView.ts
index 2233b7f..1342350 100644
--- a/src/chart/bar/BarView.ts
+++ b/src/chart/bar/BarView.ts
@@ -21,13 +21,13 @@ import {__DEV__} from '../../config';
 import {
     Rect,
     Sector,
-    getECData,
     updateProps,
     initProps,
     updateLabel,
     initLabel,
     removeElementWithFadeOut
 } from '../../util/graphic';
+import { getECData } from "../../util/ecData";
 import { enableHoverEmphasis, setStatesStylesFromModel } from 
'../../util/states';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
 import Path, { PathProps } from 'zrender/src/graphic/Path';
diff --git a/src/chart/bar/PictorialBarView.ts 
b/src/chart/bar/PictorialBarView.ts
index b4c7af5..e3e2466 100644
--- a/src/chart/bar/PictorialBarView.ts
+++ b/src/chart/bar/PictorialBarView.ts
@@ -39,6 +39,7 @@ import { getDefaultLabel } from '../helper/labelHelper';
 import { PathProps, PathStyleProps } from 'zrender/src/graphic/Path';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
 import ZRImage from 'zrender/src/graphic/Image';
+import { getECData } from '../../util/ecData';
 
 
 const BAR_BORDER_WIDTH_QUERY = ['itemStyle', 'borderWidth'] as const;
@@ -227,7 +228,7 @@ class PictorialBarView extends ChartView {
         if (ecModel.get('animation')) {
             if (data) {
                 data.eachItemGraphicEl(function (bar: PictorialBarElement) {
-                    removeBar(data, graphic.getECData(bar).dataIndex, ecModel 
as Model<AnimationOptionMixin>, bar);
+                    removeBar(data, getECData(bar).dataIndex, ecModel as 
Model<AnimationOptionMixin>, bar);
                 });
             }
         }
diff --git a/src/chart/graph/GraphView.ts b/src/chart/graph/GraphView.ts
index beaf46f..136b6b9 100644
--- a/src/chart/graph/GraphView.ts
+++ b/src/chart/graph/GraphView.ts
@@ -35,6 +35,7 @@ import View from '../../coord/View';
 import Symbol from '../helper/Symbol';
 import List from '../../data/List';
 import Line from '../helper/Line';
+import { getECData } from '../../util/ecData';
 
 function isViewCoordSys(coordSys: CoordinateSystem): coordSys is View {
     return coordSys.type === 'view';
@@ -149,7 +150,7 @@ class GraphView extends ChartView {
             const focus = itemModel.get(['emphasis', 'focus']);
 
             if (focus === 'adjacency') {
-                graphic.getECData(el).focus = node.getAdjacentDataIndices();
+                getECData(el).focus = node.getAdjacentDataIndices();
             }
         });
 
@@ -158,7 +159,7 @@ class GraphView extends ChartView {
             const focus = 
edge.getModel<GraphEdgeItemOption>().get(['emphasis', 'focus']);
 
             if (focus === 'adjacency') {
-                graphic.getECData(el).focus = {
+                getECData(el).focus = {
                     edge: [edge.dataIndex],
                     node: [edge.node1.dataIndex, edge.node2.dataIndex]
                 };
diff --git a/src/chart/helper/LargeLineDraw.ts 
b/src/chart/helper/LargeLineDraw.ts
index 6aabbb1..692ce3d 100644
--- a/src/chart/helper/LargeLineDraw.ts
+++ b/src/chart/helper/LargeLineDraw.ts
@@ -27,6 +27,7 @@ import { PathProps } from 'zrender/src/graphic/Path';
 import List from '../../data/List';
 import { StageHandlerProgressParams, LineStyleOption, ColorString } from 
'../../util/types';
 import Model from '../../model/Model';
+import { getECData } from '../../util/ecData';
 
 class LargeLinesPathShape {
     polyline = false;
@@ -268,7 +269,7 @@ class LargeLineDraw {
         lineEl.setStyle('fill', null);
 
         if (!isIncremental) {
-            const ecData = graphic.getECData(lineEl);
+            const ecData = getECData(lineEl);
             // Enable tooltip
             // PENDING May have performance issue when path is extremely large
             ecData.seriesIndex = hostModel.seriesIndex;
diff --git a/src/chart/helper/LargeSymbolDraw.ts 
b/src/chart/helper/LargeSymbolDraw.ts
index 458788f..381beea 100644
--- a/src/chart/helper/LargeSymbolDraw.ts
+++ b/src/chart/helper/LargeSymbolDraw.ts
@@ -30,6 +30,7 @@ import PathProxy from 'zrender/src/core/PathProxy';
 import SeriesModel from '../../model/Series';
 import { StageHandlerProgressParams } from '../../util/types';
 import { CoordinateSystemClipArea } from '../../coord/CoordinateSystem';
+import { getECData } from '../../util/ecData';
 
 const BOOST_SIZE_THRESHOLD = 4;
 
@@ -291,7 +292,7 @@ class LargeSymbolDraw {
         }
 
         if (!isIncremental) {
-            const ecData = graphic.getECData(symbolEl);
+            const ecData = getECData(symbolEl);
             // Enable tooltip
             // PENDING May have performance issue when path is extremely large
             ecData.seriesIndex = (hostModel as SeriesModel).seriesIndex;
diff --git a/src/chart/helper/Symbol.ts b/src/chart/helper/Symbol.ts
index b3e9066..ba6e84e 100644
--- a/src/chart/helper/Symbol.ts
+++ b/src/chart/helper/Symbol.ts
@@ -19,6 +19,7 @@
 
 import {createSymbol} from '../../util/symbol';
 import * as graphic from '../../util/graphic';
+import {getECData} from '../../util/ecData';
 import { enterEmphasis, leaveEmphasis, enableHoverEmphasis } from 
'../../util/states';
 import {parsePercent} from '../../util/number';
 import {getDefaultLabel} from './labelHelper';
@@ -363,7 +364,7 @@ class Symbol extends graphic.Group {
                 scaleY: 0
             },
             this._seriesModel,
-            graphic.getECData(this).dataIndex,
+            getECData(this).dataIndex,
             cb
         );
     }
diff --git a/src/chart/line/LineView.ts b/src/chart/line/LineView.ts
index 5534f70..25ea7d9 100644
--- a/src/chart/line/LineView.ts
+++ b/src/chart/line/LineView.ts
@@ -43,6 +43,7 @@ import type OrdinalScale from '../../scale/Ordinal';
 import type Axis2D from '../../coord/cartesian/Axis2D';
 import { CoordinateSystemClipArea } from '../../coord/CoordinateSystem';
 import { setStatesStylesFromModel, setStatesFlag, enableHoverEmphasis } from 
'../../util/states';
+import { getECData } from '../../util/ecData';
 
 
 type PolarArea = ReturnType<Polar['getArea']>;
@@ -557,7 +558,7 @@ class LineView extends ChartView {
         }
 
         // Needs seriesIndex for focus
-        graphic.getECData(polyline).seriesIndex = seriesModel.seriesIndex;
+        getECData(polyline).seriesIndex = seriesModel.seriesIndex;
         enableHoverEmphasis(polyline, focus, blurScope);
 
         const smooth = getSmooth(seriesModel.get('smooth'));
@@ -593,7 +594,7 @@ class LineView extends ChartView {
 
             setStatesStylesFromModel(polygon, seriesModel, 'areaStyle');
             // Needs seriesIndex for focus
-            graphic.getECData(polygon).seriesIndex = seriesModel.seriesIndex;
+            getECData(polygon).seriesIndex = seriesModel.seriesIndex;
             enableHoverEmphasis(polygon, focus, blurScope);
         }
 
diff --git a/src/chart/sankey/SankeyView.ts b/src/chart/sankey/SankeyView.ts
index 23204a8..b2b5519 100644
--- a/src/chart/sankey/SankeyView.ts
+++ b/src/chart/sankey/SankeyView.ts
@@ -28,6 +28,7 @@ import ExtensionAPI from '../../ExtensionAPI';
 import List from '../../data/List';
 import { RectLike } from 'zrender/src/core/BoundingRect';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
+import { getECData } from '../../util/ecData';
 
 interface FocusNodeAdjacencyPayload extends Payload {
     dataIndex?: number
@@ -136,7 +137,7 @@ class SankeyView extends ChartView {
         // generate a bezire Curve for each edge
         graph.eachEdge(function (edge) {
             const curve = new SankeyPath();
-            const ecData = graphic.getECData(curve);
+            const ecData = getECData(curve);
             ecData.dataIndex = edge.dataIndex;
             ecData.seriesIndex = seriesModel.seriesIndex;
             ecData.dataType = 'edge';
@@ -234,7 +235,7 @@ class SankeyView extends ChartView {
                 emphasisModel.get('blurScope')
             );
 
-            graphic.getECData(curve).dataType = 'edge';
+            getECData(curve).dataType = 'edge';
         });
 
         // Generate a rect for each node
@@ -274,7 +275,7 @@ class SankeyView extends ChartView {
 
             nodeData.setItemGraphicEl(node.dataIndex, rect);
 
-            graphic.getECData(rect).dataType = 'node';
+            getECData(rect).dataType = 'node';
 
             const focus = emphasisModel.get('focus');
             enableHoverEmphasis(
diff --git a/src/chart/sunburst/SunburstPiece.ts 
b/src/chart/sunburst/SunburstPiece.ts
index 4edb92b..1b1f981 100644
--- a/src/chart/sunburst/SunburstPiece.ts
+++ b/src/chart/sunburst/SunburstPiece.ts
@@ -27,6 +27,7 @@ import GlobalModel from '../../model/Global';
 import { PathStyleProps } from 'zrender/src/graphic/Path';
 import { ColorString } from '../../util/types';
 import Model from '../../model/Model';
+import { getECData } from '../../util/ecData';
 
 const DEFAULT_SECTOR_Z = 2;
 const DEFAULT_TEXT_Z = 4;
@@ -52,7 +53,7 @@ class SunburstPiece extends graphic.Sector {
             inside: true
         };
 
-        graphic.getECData(this).seriesIndex = seriesModel.seriesIndex;
+        getECData(this).seriesIndex = seriesModel.seriesIndex;
 
         const text = new graphic.Text({
             z2: DEFAULT_TEXT_Z,
@@ -77,7 +78,7 @@ class SunburstPiece extends graphic.Sector {
         ecModel = ecModel || this._ecModel;
 
         const sector = this;
-        graphic.getECData(sector).dataIndex = node.dataIndex;
+        getECData(sector).dataIndex = node.dataIndex;
 
         const itemModel = node.getModel<SunburstSeriesNodeItemOption>();
         const emphasisModel = itemModel.getModel('emphasis');
diff --git a/src/chart/tree/TreeView.ts b/src/chart/tree/TreeView.ts
index c5e5a38..c1aab47 100644
--- a/src/chart/tree/TreeView.ts
+++ b/src/chart/tree/TreeView.ts
@@ -19,6 +19,7 @@
 
 import * as zrUtil from 'zrender/src/core/util';
 import * as graphic from '../../util/graphic';
+import {getECData} from '../../util/ecData';
 import SymbolClz from '../helper/Symbol';
 import {radialCoordinate} from './layoutHelper';
 import * as bbox from 'zrender/src/core/bbox';
@@ -35,7 +36,6 @@ import GlobalModel from '../../model/Global';
 import ExtensionAPI from '../../ExtensionAPI';
 import { TreeNode } from '../../data/Tree';
 import List from '../../data/List';
-import { getLabelStatesModels } from '../../label/labelStyle';
 import { setStatesStylesFromModel, setStatesFlag, setDefaultStateProxy, 
HOVER_STATE_BLUR } from '../../util/states';
 import { ECElement } from '../../util/types';
 
@@ -488,7 +488,7 @@ function updateNode(
 
     if (focusDataIndices) {
         // Modify the focus to data indices.
-        graphic.getECData(symbolEl).focus = focusDataIndices;
+        getECData(symbolEl).focus = focusDataIndices;
     }
 
     drawEdge(
diff --git a/src/chart/treemap/Breadcrumb.ts b/src/chart/treemap/Breadcrumb.ts
index e66855f..db206b0 100644
--- a/src/chart/treemap/Breadcrumb.ts
+++ b/src/chart/treemap/Breadcrumb.ts
@@ -18,6 +18,7 @@
 */
 
 import * as graphic from '../../util/graphic';
+import {getECData} from '../../util/ecData';
 import * as layout from '../../util/layout';
 import {wrapTreePathInfo} from '../helper/treeHelper';
 import TreemapSeriesModel, { TreemapSeriesNodeItemOption, TreemapSeriesOption 
} from './TreemapSeries';
@@ -210,7 +211,7 @@ function makeItemPoints(x: number, y: number, itemWidth: 
number, itemHeight: num
 
 // Package custom mouse event.
 function packEventData(el: Element, seriesModel: TreemapSeriesModel, itemNode: 
TreeNode) {
-    graphic.getECData(el).eventData = {
+    getECData(el).eventData = {
         componentType: 'series',
         componentSubType: 'treemap',
         componentIndex: seriesModel.componentIndex,
diff --git a/src/chart/treemap/TreemapView.ts b/src/chart/treemap/TreemapView.ts
index e49cf8e..22f1ea9 100644
--- a/src/chart/treemap/TreemapView.ts
+++ b/src/chart/treemap/TreemapView.ts
@@ -19,6 +19,7 @@
 
 import {bind, each, indexOf, curry, extend, retrieve, normalizeCssArray} from 
'zrender/src/core/util';
 import * as graphic from '../../util/graphic';
+import {getECData} from '../../util/ecData';
 import {
     isHighDownDispatcher,
     setAsHighDownDispatcher,
@@ -838,7 +839,7 @@ function renderNode(
     // ----------------------------
 
     function renderBackground(group: graphic.Group, bg: graphic.Rect, 
useUpperLabel: boolean) {
-        const ecData = graphic.getECData(bg);
+        const ecData = getECData(bg);
         // For tooltip.
         ecData.dataIndex = thisNode.dataIndex;
         ecData.seriesIndex = seriesModel.seriesIndex;
@@ -888,7 +889,7 @@ function renderNode(
     }
 
     function renderContent(group: graphic.Group, content: graphic.Rect) {
-        const ecData = graphic.getECData(content);
+        const ecData = getECData(content);
         // For tooltip.
         ecData.dataIndex = thisNode.dataIndex;
         ecData.seriesIndex = seriesModel.seriesIndex;
diff --git a/src/component/axis/AngleAxisView.ts 
b/src/component/axis/AngleAxisView.ts
index b3d650a..0221640 100644
--- a/src/component/axis/AngleAxisView.ts
+++ b/src/component/axis/AngleAxisView.ts
@@ -29,6 +29,7 @@ import Polar from '../../coord/polar/Polar';
 import ComponentView from '../../view/Component';
 import AngleAxis from '../../coord/polar/AngleAxis';
 import { ZRTextAlign, ZRTextVerticalAlign, ColorString } from 
'../../util/types';
+import { getECData } from '../../util/ecData';
 
 const elementList = [
     'axisLine',
@@ -277,7 +278,7 @@ const angelAxisElementsBuilders: Record<typeof 
elementList[number], AngleAxisEle
                 const eventData = 
AxisBuilder.makeAxisEventDataBase(angleAxisModel);
                 eventData.targetType = 'axisLabel';
                 eventData.value = labelItem.rawLabel;
-                graphic.getECData(textEl).eventData = eventData;
+                getECData(textEl).eventData = eventData;
             }
 
         }, this);
diff --git a/src/component/axis/AxisBuilder.ts 
b/src/component/axis/AxisBuilder.ts
index bd04a44..3430c31 100644
--- a/src/component/axis/AxisBuilder.ts
+++ b/src/component/axis/AxisBuilder.ts
@@ -19,6 +19,7 @@
 
 import {retrieve, defaults, extend, each, isObject} from 
'zrender/src/core/util';
 import * as graphic from '../../util/graphic';
+import {getECData} from '../../util/ecData';
 import {createTextStyle} from '../../label/labelStyle';
 import Model from '../../model/Model';
 import {isRadianAroundZero, remRadian} from '../../util/number';
@@ -460,7 +461,7 @@ const builders: Record<'axisLine' | 'axisTickLabel' | 
'axisName', AxisElementsBu
             const eventData = AxisBuilder.makeAxisEventDataBase(axisModel);
             eventData.targetType = 'axisName';
             eventData.name = name;
-            graphic.getECData(textEl).eventData = eventData;
+            getECData(textEl).eventData = eventData;
         }
 
         // FIXME
@@ -810,7 +811,7 @@ function buildAxisLabel(
             eventData.targetType = 'axisLabel';
             eventData.value = rawLabel;
 
-            graphic.getECData(textEl).eventData = eventData;
+            getECData(textEl).eventData = eventData;
         }
 
         // FIXME
diff --git a/src/component/geo/GeoView.ts b/src/component/geo/GeoView.ts
index 809c3c9..e761022 100644
--- a/src/component/geo/GeoView.ts
+++ b/src/component/geo/GeoView.ts
@@ -24,7 +24,7 @@ import GlobalModel from '../../model/Global';
 import ExtensionAPI from '../../ExtensionAPI';
 import GeoModel from '../../coord/geo/GeoModel';
 import { Payload, ZRElementEvent, ECEventData } from '../../util/types';
-import { getECData } from '../../util/graphic';
+import { getECData } from "../../util/ecData";
 import { enterSelect, leaveSelect } from '../../util/states';
 
 class GeoView extends ComponentView {
diff --git a/src/component/helper/MapDraw.ts b/src/component/helper/MapDraw.ts
index 5ecb5d6..d71e584 100644
--- a/src/component/helper/MapDraw.ts
+++ b/src/component/helper/MapDraw.ts
@@ -37,6 +37,7 @@ import Geo from '../../coord/geo/Geo';
 import Model from '../../model/Model';
 import Transformable from 'zrender/src/core/Transformable';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
+import { getECData } from '../../util/ecData';
 
 
 interface RegionsGroup extends graphic.Group {
@@ -341,7 +342,7 @@ class MapDraw {
             else {
                 const regionModel = mapOrGeoModel.getRegionModel(region.name);
                 // Package custom mouse event for geo component
-                graphic.getECData(compoundPath).eventData = {
+                getECData(compoundPath).eventData = {
                     componentType: 'geo',
                     componentIndex: mapOrGeoModel.componentIndex,
                     geoIndex: mapOrGeoModel.componentIndex,
diff --git a/src/component/marker/MarkAreaView.ts 
b/src/component/marker/MarkAreaView.ts
index 3126fa8..cd836d5 100644
--- a/src/component/marker/MarkAreaView.ts
+++ b/src/component/marker/MarkAreaView.ts
@@ -40,6 +40,7 @@ import MarkerModel from './MarkerModel';
 import { makeInner } from '../../util/model';
 import { getVisualFromData } from '../../visual/helper';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
+import { getECData } from '../../util/ecData';
 
 interface MarkAreaDrawGroup {
     group: graphic.Group
@@ -309,7 +310,7 @@ class MarkAreaView extends MarkerView {
 
             enableHoverEmphasis(polygon);
 
-            graphic.getECData(polygon).dataModel = maModel;
+            getECData(polygon).dataModel = maModel;
         });
 
         inner(polygonGroup).data = areaData;
diff --git a/src/component/marker/MarkLineView.ts 
b/src/component/marker/MarkLineView.ts
index 3174c7d..1d8f8b5 100644
--- a/src/component/marker/MarkLineView.ts
+++ b/src/component/marker/MarkLineView.ts
@@ -28,7 +28,7 @@ import MarkLineModel, { MarkLine2DDataItemOption, 
MarkLineOption } from './MarkL
 import { ScaleDataValue, ColorString } from '../../util/types';
 import SeriesModel from '../../model/Series';
 import { __DEV__ } from '../../config';
-import { getECData } from '../../util/graphic';
+import { getECData } from "../../util/ecData";
 import ExtensionAPI from '../../ExtensionAPI';
 import Cartesian2D from '../../coord/cartesian/Cartesian2D';
 import GlobalModel from '../../model/Global';
diff --git a/src/component/marker/MarkPointView.ts 
b/src/component/marker/MarkPointView.ts
index 370d05f..4529d1f 100644
--- a/src/component/marker/MarkPointView.ts
+++ b/src/component/marker/MarkPointView.ts
@@ -31,7 +31,7 @@ import GlobalModel from '../../model/Global';
 import MarkerModel from './MarkerModel';
 import ExtensionAPI from '../../ExtensionAPI';
 import { HashMap, isFunction, map, defaults, filter, curry } from 
'zrender/src/core/util';
-import { getECData } from '../../util/graphic';
+import { getECData } from "../../util/ecData";
 import { getVisualFromData } from '../../visual/helper';
 import { ZRColor } from '../../util/types';
 
diff --git a/src/component/timeline/SliderTimelineView.ts 
b/src/component/timeline/SliderTimelineView.ts
index 050170b..b2dbf78 100644
--- a/src/component/timeline/SliderTimelineView.ts
+++ b/src/component/timeline/SliderTimelineView.ts
@@ -20,7 +20,6 @@
 import BoundingRect, { RectLike } from 'zrender/src/core/BoundingRect';
 import * as matrix from 'zrender/src/core/matrix';
 import * as graphic from '../../util/graphic';
-import { enableHoverEmphasis } from '../../util/states';
 import { createTextStyle } from '../../label/labelStyle';
 import * as layout from '../../util/layout';
 import TimelineView from './TimelineView';
@@ -45,6 +44,8 @@ import IntervalScale from '../../scale/Interval';
 import { VectorArray } from 'zrender/src/core/vector';
 import { parsePercent } from 'zrender/src/contain/text';
 import { makeInner } from '../../util/model';
+import { getECData } from '../../util/ecData';
+import { enableHoverEmphasis } from '../../util/states';
 
 const PI = Math.PI;
 
@@ -436,7 +437,7 @@ class SliderTimelineView extends TimelineView {
 
             enableHoverEmphasis(el);
 
-            const ecData = graphic.getECData(el);
+            const ecData = getECData(el);
             if (itemModel.get('tooltip')) {
                 ecData.dataIndex = value;
                 ecData.dataModel = timelineModel;
@@ -715,7 +716,9 @@ class SliderTimelineView extends TimelineView {
         if (tickLabels) {
             for (let i = 0; i < tickLabels.length; i++) {
                 tickLabels && tickLabels[i]
-                    && tickLabels[i].toggleState('progress', 
labelDataIndexStore(tickLabels[i]).dataIndex <= currentIndex);
+                    && tickLabels[i].toggleState(
+                        'progress', 
labelDataIndexStore(tickLabels[i]).dataIndex <= currentIndex
+                    );
             }
         }
     }
diff --git a/src/component/title.ts b/src/component/title.ts
index 9b41939..8b46eac 100644
--- a/src/component/title.ts
+++ b/src/component/title.ts
@@ -19,6 +19,7 @@
 
 import * as zrUtil from 'zrender/src/core/util';
 import * as graphic from '../util/graphic';
+import {getECData} from '../util/ecData';
 import {createTextStyle} from '../label/labelStyle';
 import {getLayoutRect} from '../util/layout';
 import ComponentModel from '../model/Component';
@@ -191,7 +192,7 @@ class TitleView extends ComponentView {
             });
         }
 
-        graphic.getECData(textEl).eventData = 
graphic.getECData(subTextEl).eventData = triggerEvent
+        getECData(textEl).eventData = getECData(subTextEl).eventData = 
triggerEvent
             ? {
                 componentType: 'title',
                 componentIndex: titleModel.componentIndex
diff --git a/src/component/tooltip/TooltipView.ts 
b/src/component/tooltip/TooltipView.ts
index 6a091b5..06ac9e2 100644
--- a/src/component/tooltip/TooltipView.ts
+++ b/src/component/tooltip/TooltipView.ts
@@ -48,6 +48,7 @@ import TooltipModel, {TooltipOption} from './TooltipModel';
 import Element from 'zrender/src/Element';
 import { Dictionary } from 'zrender/src/core/types';
 import { AxisBaseModel } from '../../coord/AxisBaseModel';
+import { getECData } from '../../util/ecData';
 
 const bind = zrUtil.bind;
 const each = zrUtil.each;
@@ -446,7 +447,7 @@ class TooltipView extends ComponentView {
             this._showAxisTooltip(dataByCoordSys, e);
         }
         // Always show item tooltip if mouse is on the element with dataIndex
-        else if (el && graphic.getECData(el).dataIndex != null) {
+        else if (el && getECData(el).dataIndex != null) {
             this._lastDataByCoordSys = null;
             this._showSeriesItemTooltip(e, el, dispatchAction);
         }
@@ -610,7 +611,7 @@ class TooltipView extends ComponentView {
         dispatchAction: ExtensionAPI['dispatchAction']
     ) {
         const ecModel = this._ecModel;
-        const ecData = graphic.getECData(el);
+        const ecData = getECData(el);
         // Use dataModel in element if possible
         // Used when mouseover on a element like markPoint or edge
         // In which case, the data is not main data in series.
diff --git a/src/component/visualMap/ContinuousView.ts 
b/src/component/visualMap/ContinuousView.ts
index 01a222f..bb09781 100644
--- a/src/component/visualMap/ContinuousView.ts
+++ b/src/component/visualMap/ContinuousView.ts
@@ -38,12 +38,12 @@ import { parsePercent } from 'zrender/src/contain/text';
 import { setAsHighDownDispatcher } from '../../util/states';
 import { createSymbol } from '../../util/symbol';
 import ZRImage from 'zrender/src/graphic/Image';
+import { getECData } from '../../util/ecData';
 
 const linearMap = numberUtil.linearMap;
 const each = zrUtil.each;
 const mathMin = Math.min;
 const mathMax = Math.max;
-const getECData = graphic.getECData;
 
 // Arbitrary value
 const HOVER_LINK_SIZE = 12;
diff --git a/src/data/List.ts b/src/data/List.ts
index a1ad1db..6fbef99 100644
--- a/src/data/List.ts
+++ b/src/data/List.ts
@@ -39,7 +39,7 @@ import {
 } from '../util/types';
 import {parseDate} from '../util/number';
 import {isDataItemOption} from '../util/model';
-import { getECData } from '../util/graphic';
+import { getECData } from "../util/ecData";
 import { PathStyleProps } from 'zrender/src/graphic/Path';
 import type Graph from './Graph';
 import type Tree from './Tree';
diff --git a/src/echarts.ts b/src/echarts.ts
index f3c2749..4364788 100644
--- a/src/echarts.ts
+++ b/src/echarts.ts
@@ -38,6 +38,7 @@ import SeriesModel, { SeriesModelConstructor } from 
'./model/Series';
 import ComponentView, {ComponentViewConstructor} from './view/Component';
 import ChartView, {ChartViewConstructor} from './view/Chart';
 import * as graphic from './util/graphic';
+import {getECData} from './util/ecData';
 import {
     enterEmphasisWhenMouseOver,
     leaveEmphasisWhenMouseOut,
@@ -110,8 +111,6 @@ const each = zrUtil.each;
 const isFunction = zrUtil.isFunction;
 const isObject = zrUtil.isObject;
 
-const getECData = graphic.getECData;
-
 export const version = '4.8.0';
 
 export const dependencies = {
diff --git a/src/label/LabelManager.ts b/src/label/LabelManager.ts
index 1358cd4..da1655a 100644
--- a/src/label/LabelManager.ts
+++ b/src/label/LabelManager.ts
@@ -22,11 +22,11 @@
 import {
     Text as ZRText,
     BoundingRect,
-    getECData,
     Polyline,
     updateProps,
     initProps
 } from '../util/graphic';
+import { getECData } from "../util/ecData";
 import ExtensionAPI from '../ExtensionAPI';
 import {
     ZRTextAlign,
diff --git a/src/util/ecData.ts b/src/util/ecData.ts
new file mode 100644
index 0000000..2dc31fc
--- /dev/null
+++ b/src/util/ecData.ts
@@ -0,0 +1,35 @@
+/*
+* Licensed to the Apache Software Foundation (ASF) under one
+* or more contributor license agreements.  See the NOTICE file
+* distributed with this work for additional information
+* regarding copyright ownership.  The ASF licenses this file
+* to you under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance
+* with the License.  You may obtain a copy of the License at
+*
+*   http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing,
+* software distributed under the License is distributed on an
+* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+* KIND, either express or implied.  See the License for the
+* specific language governing permissions and limitations
+* under the License.
+*/
+
+import Element from 'zrender/src/Element';
+import { DataModel, ECEventData, BlurScope, InnerFocus } from './types';
+import { makeInner } from './model';
+/**
+ * ECData stored on graphic element
+ */
+export interface ECData {
+    dataIndex?: number;
+    dataModel?: DataModel;
+    eventData?: ECEventData;
+    seriesIndex?: number;
+    dataType?: string;
+    focus?: InnerFocus;
+    blurScope?: BlurScope;
+}
+export const getECData = makeInner<ECData, Element>();
diff --git a/src/util/graphic.ts b/src/util/graphic.ts
index 8f039e0..b351969 100644
--- a/src/util/graphic.ts
+++ b/src/util/graphic.ts
@@ -52,15 +52,10 @@ import {
     LabelOption,
     AnimationDelayCallbackParam,
     ZRRectLike,
-    DataModel,
-    ECEventData,
     ZRStyleProps,
     ParsedValue,
-    BlurScope,
-    InnerFocus,
     PayloadAnimationPart
 } from './types';
-import { makeInner } from './model';
 import {
     extend,
     isArrayLike,
@@ -74,6 +69,7 @@ import {interpolateNumber} from 
'zrender/src/animation/Animator';
 import List from '../data/List';
 import { getLabelText } from '../label/labelStyle';
 import { AnimationEasing } from 'zrender/src/animation/easing';
+import { getECData } from './ecData';
 
 
 const mathMax = Math.max;
@@ -889,22 +885,6 @@ function nearZero(val: number) {
 }
 
 
-/**
- * ECData stored on graphic element
- */
-export interface ECData {
-    dataIndex?: number;
-    dataModel?: DataModel;
-    eventData?: ECEventData;
-    seriesIndex?: number;
-    dataType?: string;
-
-    focus?: InnerFocus
-    blurScope?: BlurScope
-}
-
-export const getECData = makeInner<ECData, Element>();
-
 // Register built-in shapes. These shapes might be overwirtten
 // by users, although we do not recommend that.
 registerShape('circle', Circle);
diff --git a/src/util/states.ts b/src/util/states.ts
index 4350fac..9cf8e03 100644
--- a/src/util/states.ts
+++ b/src/util/states.ts
@@ -5,9 +5,19 @@ import { PatternObject } from 'zrender/src/graphic/Pattern';
 import { GradientObject } from 'zrender/src/graphic/Gradient';
 import Element, { ElementEvent } from 'zrender/src/Element';
 import Model from '../model/Model';
-import { DisplayState, ECElement, ColorString, BlurScope, InnerFocus, Payload, 
ZRColor, HighlightPayload, DownplayPayload } from './types';
+import {
+    DisplayState,
+    ECElement,
+    ColorString,
+    BlurScope,
+    InnerFocus,
+    Payload,
+    ZRColor,
+    HighlightPayload,
+    DownplayPayload
+} from './types';
 import { extend, indexOf, isArrayLike, isObject, keys, isArray, each } from 
'zrender/src/core/util';
-import { getECData } from './graphic';
+import { getECData } from './ecData';
 import * as colorTool from 'zrender/src/tool/color';
 import { EChartsType } from '../echarts';
 import List from '../data/List';


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to