You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by su...@apache.org on 2020/03/26 19:44:12 UTC
[incubator-echarts] 02/02: ts: let to const. And add eslint rule
"prefer-const".
This is an automated email from the ASF dual-hosted git repository.
sushuang pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-echarts.git
commit c7055cebf7f75f038702af5a312132698b071581
Author: 100pah <su...@gmail.com>
AuthorDate: Fri Mar 27 03:43:14 2020 +0800
ts: let to const. And add eslint rule "prefer-const".
---
extension-src/.eslintrc.yaml | 4 +
extension-src/bmap/BMapCoordSys.ts | 36 +-
extension-src/bmap/BMapModel.ts | 2 +-
extension-src/bmap/BMapView.ts | 26 +-
extension-src/bmap/bmap.ts | 6 +-
extension-src/dataTool/gexf.ts | 50 +--
extension-src/dataTool/index.ts | 2 +-
extension-src/dataTool/prepareBoxplotData.ts | 32 +-
src/.eslintrc.yaml | 4 +
src/CoordinateSystem.ts | 2 +-
src/action/createDataSelectAction.ts | 6 +-
src/action/geoRoam.ts | 6 +-
src/action/roamHelper.ts | 16 +-
src/chart/bar/BarSeries.ts | 2 +-
src/chart/bar/BarView.ts | 188 +++++-----
src/chart/bar/BaseBarSeries.ts | 12 +-
src/chart/bar/PictorialBarView.ts | 180 +++++-----
src/chart/bar/barItemStyle.ts | 4 +-
src/chart/boxplot/BoxplotView.ts | 40 +--
src/chart/boxplot/boxplotLayout.ts | 70 ++--
src/chart/boxplot/boxplotVisual.ts | 8 +-
src/chart/candlestick/CandlestickSeries.ts | 2 +-
src/chart/candlestick/CandlestickView.ts | 72 ++--
src/chart/candlestick/candlestickLayout.ts | 84 ++---
src/chart/candlestick/candlestickVisual.ts | 8 +-
src/chart/custom.ts | 108 +++---
src/chart/effectScatter/EffectScatterView.ts | 10 +-
src/chart/funnel/FunnelSeries.ts | 12 +-
src/chart/funnel/FunnelView.ts | 60 ++--
src/chart/funnel/funnelLayout.ts | 56 +--
src/chart/gauge/GaugeView.ts | 150 ++++----
src/chart/gauge/PointerPath.ts | 12 +-
src/chart/graph/GraphSeries.ts | 38 +-
src/chart/graph/GraphView.ts | 90 ++---
src/chart/graph/adjustEdge.ts | 46 +--
src/chart/graph/categoryFilter.ts | 12 +-
src/chart/graph/categoryVisual.ts | 24 +-
src/chart/graph/circularLayoutHelper.ts | 38 +-
src/chart/graph/createView.ts | 26 +-
src/chart/graph/edgeVisual.ts | 22 +-
src/chart/graph/forceHelper.ts | 42 +--
src/chart/graph/forceLayout.ts | 46 +--
src/chart/graph/graphAction.ts | 4 +-
src/chart/graph/graphHelper.ts | 12 +-
src/chart/graph/simpleLayout.ts | 10 +-
src/chart/graph/simpleLayoutHelper.ts | 14 +-
src/chart/heatmap/HeatmapLayer.ts | 58 +--
src/chart/heatmap/HeatmapSeries.ts | 2 +-
src/chart/heatmap/HeatmapView.ts | 72 ++--
src/chart/helper/EffectLine.ts | 48 +--
src/chart/helper/EffectPolyline.ts | 22 +-
src/chart/helper/EffectSymbol.ts | 48 +--
src/chart/helper/LargeLineDraw.ts | 62 ++--
src/chart/helper/LargeSymbolDraw.ts | 64 ++--
src/chart/helper/Line.ts | 98 ++---
src/chart/helper/LineDraw.ts | 20 +-
src/chart/helper/LinePath.ts | 4 +-
src/chart/helper/Polyline.ts | 18 +-
src/chart/helper/Symbol.ts | 50 +--
src/chart/helper/SymbolDraw.ts | 32 +-
src/chart/helper/createClipPathFromCoordSys.ts | 12 +-
src/chart/helper/createGraphFromNodeEdge.ts | 22 +-
src/chart/helper/createListFromArray.ts | 26 +-
src/chart/helper/createListSimply.ts | 6 +-
src/chart/helper/createRenderPlanner.ts | 14 +-
src/chart/helper/labelHelper.ts | 8 +-
src/chart/helper/treeHelper.ts | 12 +-
src/chart/helper/whiskerBoxCommon.ts | 32 +-
src/chart/line/LineSeries.ts | 2 +-
src/chart/line/LineView.ts | 150 ++++----
src/chart/line/helper.ts | 26 +-
src/chart/line/lineAnimationDiff.ts | 44 +--
src/chart/line/poly.ts | 36 +-
src/chart/lines/LinesSeries.ts | 56 +--
src/chart/lines/LinesView.ts | 36 +-
src/chart/lines/linesLayout.ts | 20 +-
src/chart/lines/linesVisual.ts | 14 +-
src/chart/map/MapSeries.ts | 42 +--
src/chart/map/MapView.ts | 38 +-
src/chart/map/backwardCompat.ts | 2 +-
src/chart/map/mapDataStatistic.ts | 16 +-
src/chart/map/mapSymbolLayout.ts | 24 +-
src/chart/map/mapVisual.ts | 8 +-
src/chart/parallel/ParallelSeries.ts | 14 +-
src/chart/parallel/ParallelView.ts | 56 +--
src/chart/parallel/parallelVisual.ts | 20 +-
src/chart/pie/PieSeries.ts | 16 +-
src/chart/pie/PieView.ts | 102 +++---
src/chart/pie/labelLayout.ts | 80 ++---
src/chart/pie/pieLayout.ts | 46 +--
src/chart/radar/RadarSeries.ts | 18 +-
src/chart/radar/RadarView.ts | 64 ++--
src/chart/radar/backwardCompat.ts | 2 +-
src/chart/radar/radarLayout.ts | 12 +-
src/chart/sankey/SankeySeries.ts | 46 +--
src/chart/sankey/SankeyView.ts | 74 ++--
src/chart/sankey/sankeyLayout.ts | 104 +++---
src/chart/sankey/sankeyVisual.ts | 12 +-
src/chart/scatter/ScatterSeries.ts | 4 +-
src/chart/scatter/ScatterView.ts | 20 +-
src/chart/sunburst/SunburstPiece.ts | 76 ++--
src/chart/sunburst/SunburstSeries.ts | 12 +-
src/chart/sunburst/SunburstView.ts | 44 +--
src/chart/sunburst/sunburstAction.ts | 6 +-
src/chart/sunburst/sunburstLayout.ts | 68 ++--
src/chart/themeRiver/ThemeRiverSeries.ts | 62 ++--
src/chart/themeRiver/ThemeRiverView.ts | 46 +--
src/chart/themeRiver/themeRiverLayout.ts | 48 +--
src/chart/themeRiver/themeRiverVisual.ts | 14 +-
src/chart/tree/TreeSeries.ts | 22 +-
src/chart/tree/TreeView.ts | 148 ++++----
src/chart/tree/layoutHelper.ts | 28 +-
src/chart/tree/traversalHelper.ts | 10 +-
src/chart/tree/treeAction.ts | 10 +-
src/chart/tree/treeLayout.ts | 18 +-
src/chart/treemap/Breadcrumb.ts | 32 +-
src/chart/treemap/TreemapSeries.ts | 26 +-
src/chart/treemap/TreemapView.ts | 176 ++++-----
src/chart/treemap/treemapAction.ts | 6 +-
src/chart/treemap/treemapLayout.ts | 142 ++++----
src/chart/treemap/treemapVisual.ts | 58 +--
src/component/axis/AngleAxisView.ts | 100 +++---
src/component/axis/AxisBuilder.ts | 170 ++++-----
src/component/axis/AxisView.ts | 6 +-
src/component/axis/CartesianAxisView.ts | 52 +--
src/component/axis/ParallelAxisView.ts | 38 +-
src/component/axis/RadiusAxisView.ts | 42 +--
src/component/axis/SingleAxisView.ts | 32 +-
src/component/axis/axisSplitHelper.ts | 24 +-
src/component/axisPointer.ts | 2 +-
src/component/axisPointer/AxisPointerView.ts | 4 +-
src/component/axisPointer/BaseAxisPointer.ts | 70 ++--
src/component/axisPointer/CartesianAxisPointer.ts | 44 +--
src/component/axisPointer/PolarAxisPointer.ts | 43 ++-
src/component/axisPointer/SingleAxisPointer.ts | 42 +--
src/component/axisPointer/axisTrigger.ts | 102 +++---
src/component/axisPointer/findPointFromSeries.ts | 12 +-
src/component/axisPointer/globalListener.ts | 20 +-
src/component/axisPointer/modelHelper.ts | 78 ++--
src/component/axisPointer/viewHelper.ts | 44 +--
src/component/brush/BrushModel.ts | 4 +-
src/component/brush/BrushView.ts | 4 +-
src/component/brush/preprocessor.ts | 10 +-
src/component/brush/selector.ts | 28 +-
src/component/brush/visualEncoding.ts | 52 +--
src/component/calendar/CalendarView.ts | 120 +++----
src/component/dataZoom/AxisProxy.ts | 86 ++---
src/component/dataZoom/DataZoomModel.ts | 80 ++---
src/component/dataZoom/DataZoomView.ts | 10 +-
src/component/dataZoom/InsideZoomView.ts | 52 +--
src/component/dataZoom/SliderZoomView.ts | 196 +++++-----
src/component/dataZoom/dataZoomAction.ts | 4 +-
src/component/dataZoom/dataZoomProcessor.ts | 10 +-
src/component/dataZoom/helper.ts | 6 +-
src/component/dataZoom/history.ts | 16 +-
src/component/dataZoom/roams.ts | 30 +-
src/component/geo.ts | 4 +-
src/component/geo/GeoView.ts | 4 +-
src/component/graphic.ts | 92 ++---
src/component/helper/BrushController.ts | 200 +++++------
src/component/helper/BrushTargetManager.ts | 82 ++---
src/component/helper/MapDraw.ts | 88 ++---
src/component/helper/RoamController.ts | 40 +--
src/component/helper/brushHelper.ts | 8 +-
src/component/helper/cursorHelper.ts | 4 +-
src/component/helper/interactionMutex.ts | 6 +-
src/component/helper/listComponent.ts | 12 +-
src/component/helper/roamHelper.ts | 18 +-
src/component/helper/selectableMixin.ts | 10 +-
src/component/helper/sliderMove.ts | 10 +-
src/component/legend/LegendModel.ts | 34 +-
src/component/legend/LegendView.ts | 126 +++----
src/component/legend/ScrollableLegendModel.ts | 6 +-
src/component/legend/ScrollableLegendView.ts | 120 +++----
src/component/legend/legendAction.ts | 10 +-
src/component/legend/legendFilter.ts | 2 +-
src/component/legend/scrollableLegendAction.ts | 2 +-
src/component/marker/MarkAreaView.ts | 80 ++---
src/component/marker/MarkLineView.ts | 86 ++---
src/component/marker/MarkPointModel.ts | 1 -
src/component/marker/MarkPointView.ts | 36 +-
src/component/marker/MarkerModel.ts | 14 +-
src/component/marker/MarkerView.ts | 4 +-
src/component/marker/markerHelper.ts | 36 +-
src/component/parallel.ts | 16 +-
src/component/radar/RadarView.ts | 66 ++--
src/component/timeline/SliderTimelineView.ts | 189 +++++-----
src/component/timeline/TimelineModel.ts | 14 +-
src/component/timeline/preprocessor.ts | 16 +-
src/component/timeline/timelineAction.ts | 4 +-
src/component/title.ts | 32 +-
src/component/toolbox/ToolboxModel.ts | 2 +-
src/component/toolbox/ToolboxView.ts | 50 +--
src/component/toolbox/feature/Brush.ts | 10 +-
src/component/toolbox/feature/DataView.ts | 104 +++---
src/component/toolbox/feature/DataZoom.ts | 34 +-
src/component/toolbox/feature/MagicType.ts | 37 +-
src/component/toolbox/feature/SaveAsImage.ts | 24 +-
src/component/toolbox/featureManager.ts | 4 +-
src/component/tooltip/TooltipHTMLContent.ts | 64 ++--
src/component/tooltip/TooltipRichContent.ts | 16 +-
src/component/tooltip/TooltipView.ts | 180 +++++-----
src/component/visualMap/ContinuousModel.ts | 40 +--
src/component/visualMap/ContinuousView.ts | 142 ++++----
src/component/visualMap/PiecewiseModel.ts | 80 ++---
src/component/visualMap/PiecewiseView.ts | 56 +--
src/component/visualMap/VisualMapModel.ts | 57 ++-
src/component/visualMap/VisualMapView.ts | 22 +-
src/component/visualMap/helper.ts | 18 +-
src/component/visualMap/preprocessor.ts | 2 +-
src/component/visualMap/visualEncoding.ts | 24 +-
src/config.ts | 2 +-
src/coord/Axis.ts | 54 +--
src/coord/View.ts | 38 +-
src/coord/axisCommonTypes.ts | 2 +-
src/coord/axisHelper.ts | 88 ++---
src/coord/axisModelCommonMixin.ts | 6 +-
src/coord/axisModelCreator.ts | 12 +-
src/coord/axisTickLabelBuilder.ts | 82 ++---
src/coord/calendar/Calendar.ts | 82 ++---
src/coord/calendar/CalendarModel.ts | 6 +-
src/coord/calendar/prepareCustom.ts | 4 +-
src/coord/cartesian/Axis2D.ts | 4 +-
src/coord/cartesian/Cartesian.ts | 2 +-
src/coord/cartesian/Cartesian2D.ts | 36 +-
src/coord/cartesian/Grid.ts | 110 +++---
src/coord/cartesian/cartesianAxisHelper.ts | 30 +-
src/coord/cartesian/prepareCustom.ts | 8 +-
src/coord/geo/Geo.ts | 20 +-
src/coord/geo/GeoModel.ts | 10 +-
src/coord/geo/Region.ts | 40 +--
src/coord/geo/fix/geoCoord.ts | 4 +-
src/coord/geo/fix/textCoord.ts | 4 +-
src/coord/geo/geoCreator.ts | 44 +--
src/coord/geo/geoJSONLoader.ts | 12 +-
src/coord/geo/geoSVGLoader.ts | 28 +-
src/coord/geo/geoSourceManager.ts | 24 +-
src/coord/geo/mapDataStorage.ts | 6 +-
src/coord/geo/parseGeoJson.ts | 28 +-
src/coord/geo/prepareCustom.ts | 10 +-
src/coord/parallel/AxisModel.ts | 6 +-
src/coord/parallel/Parallel.ts | 138 +++----
src/coord/parallel/ParallelModel.ts | 10 +-
src/coord/parallel/parallelCreator.ts | 6 +-
src/coord/parallel/parallelPreprocessor.ts | 6 +-
src/coord/polar/AngleAxis.ts | 26 +-
src/coord/polar/Polar.ts | 50 +--
src/coord/polar/PolarModel.ts | 2 +-
src/coord/polar/polarCreator.ts | 38 +-
src/coord/polar/prepareCustom.ts | 12 +-
src/coord/radar/Radar.ts | 54 +--
src/coord/radar/RadarModel.ts | 30 +-
src/coord/single/Single.ts | 40 +--
src/coord/single/SingleAxis.ts | 2 +-
src/coord/single/prepareCustom.ts | 8 +-
src/coord/single/singleAxisHelper.ts | 18 +-
src/coord/single/singleCreator.ts | 6 +-
src/data/DataDiffer.ts | 22 +-
src/data/Graph.ts | 66 ++--
src/data/List.ts | 416 +++++++++++-----------
src/data/OrdinalMeta.ts | 10 +-
src/data/Tree.ts | 42 +--
src/data/helper/completeDimensions.ts | 34 +-
src/data/helper/dataProvider.ts | 44 +--
src/data/helper/dataStackHelper.ts | 8 +-
src/data/helper/dimensionHelper.ts | 26 +-
src/data/helper/linkList.ts | 6 +-
src/data/helper/sourceHelper.ts | 96 ++---
src/echarts.ts | 270 +++++++-------
src/export.ts | 2 +-
src/helper.ts | 4 +-
src/layout/barGrid.ts | 180 +++++-----
src/layout/barPolar.ts | 86 ++---
src/layout/points.ts | 28 +-
src/loading/default.ts | 14 +-
src/model/Component.ts | 18 +-
src/model/Global.ts | 92 ++---
src/model/Model.ts | 14 +-
src/model/OptionManager.ts | 34 +-
src/model/Series.ts | 98 ++---
src/model/mixin/colorPalette.ts | 14 +-
src/model/mixin/dataFormat.ts | 38 +-
src/model/mixin/itemStyle.ts | 6 +-
src/model/mixin/lineStyle.ts | 8 +-
src/model/mixin/makeStyleMapper.ts | 6 +-
src/model/mixin/textStyle.ts | 2 +-
src/model/referHelper.ts | 28 +-
src/preprocessor/backwardCompat.ts | 4 +-
src/preprocessor/helper/compatStyle.ts | 34 +-
src/processor/dataFilter.ts | 6 +-
src/processor/dataSample.ts | 16 +-
src/processor/dataStack.ts | 26 +-
src/scale/Interval.ts | 50 +--
src/scale/Log.ts | 28 +-
src/scale/Ordinal.ts | 4 +-
src/scale/Scale.ts | 4 +-
src/scale/Time.ts | 30 +-
src/scale/helper.ts | 8 +-
src/stream/Scheduler.ts | 98 ++---
src/stream/task.ts | 32 +-
src/util/ECEventProcessor.ts | 32 +-
src/util/KDTree.ts | 18 +-
src/util/animation.ts | 4 +-
src/util/clazz.ts | 36 +-
src/util/component.ts | 34 +-
src/util/format.ts | 38 +-
src/util/graphic.ts | 88 ++---
src/util/layout.ts | 62 ++--
src/util/model.ts | 66 ++--
src/util/number.ts | 58 +--
src/util/quickSelect.ts | 2 +-
src/util/shape/sausage.ts | 32 +-
src/util/symbol.ts | 12 +-
src/util/throttle.ts | 14 +-
src/util/types.ts | 18 +-
src/view/Chart.ts | 22 +-
src/visual/LegendVisualProvider.ts | 8 +-
src/visual/VisualMapping.ts | 52 +--
src/visual/aria.ts | 30 +-
src/visual/dataColor.ts | 22 +-
src/visual/seriesColor.ts | 16 +-
src/visual/symbol.ts | 30 +-
src/visual/visualDefault.ts | 2 +-
src/visual/visualSolution.ts | 40 +--
324 files changed, 6394 insertions(+), 6393 deletions(-)
diff --git a/extension-src/.eslintrc.yaml b/extension-src/.eslintrc.yaml
index 1b663c4..1a7f6e0 100644
--- a/extension-src/.eslintrc.yaml
+++ b/extension-src/.eslintrc.yaml
@@ -24,6 +24,10 @@ rules:
no-constant-condition: 0
comma-dangle: 2
no-debugger: 2
+ prefer-const:
+ - 1
+ -
+ ignoreReadBeforeAssign: true
no-dupe-keys: 2
no-empty-character-class: 2
no-ex-assign: 2
diff --git a/extension-src/bmap/BMapCoordSys.ts b/extension-src/bmap/BMapCoordSys.ts
index 26e08ed..a80f044 100644
--- a/extension-src/bmap/BMapCoordSys.ts
+++ b/extension-src/bmap/BMapCoordSys.ts
@@ -55,7 +55,7 @@ BMapCoordSys.prototype.getBMap = function () {
};
BMapCoordSys.prototype.dataToPoint = function (data) {
- let point = new BMap.Point(data[0], data[1]);
+ const point = new BMap.Point(data[0], data[1]);
// TODO mercator projection is toooooooo slow
// let mercatorPoint = this._projection.lngLatToPoint(point);
@@ -66,13 +66,13 @@ BMapCoordSys.prototype.dataToPoint = function (data) {
// Math.round((mercatorPoint.x - this._center.x) / divider + width / 2),
// Math.round((this._center.y - mercatorPoint.y) / divider + height / 2)
// ];
- let px = this._bmap.pointToOverlayPixel(point);
- let mapOffset = this._mapOffset;
+ const px = this._bmap.pointToOverlayPixel(point);
+ const mapOffset = this._mapOffset;
return [px.x - mapOffset[0], px.y - mapOffset[1]];
};
BMapCoordSys.prototype.pointToData = function (pt) {
- let mapOffset = this._mapOffset;
+ const mapOffset = this._mapOffset;
pt = this._bmap.overlayPixelToPoint({
x: pt[0] + mapOffset[0],
y: pt[1] + mapOffset[1]
@@ -81,7 +81,7 @@ BMapCoordSys.prototype.pointToData = function (pt) {
};
BMapCoordSys.prototype.getViewRect = function () {
- let api = this._api;
+ const api = this._api;
return new graphic.BoundingRect(0, 0, api.getWidth(), api.getHeight());
};
@@ -90,7 +90,7 @@ BMapCoordSys.prototype.getRoamTransform = function () {
};
BMapCoordSys.prototype.prepareCustoms = function (data) {
- let rect = this.getViewRect();
+ const rect = this.getViewRect();
return {
coordSys: {
// The name exposed to user is always 'cartesian2d' but not 'grid'.
@@ -110,10 +110,10 @@ BMapCoordSys.prototype.prepareCustoms = function (data) {
function dataToCoordSize(dataSize, dataItem) {
dataItem = dataItem || [0, 0];
return zrUtil.map([0, 1], function (dimIdx) {
- let val = dataItem[dimIdx];
- let halfSize = dataSize[dimIdx] / 2;
- let p1 = [];
- let p2 = [];
+ const val = dataItem[dimIdx];
+ const halfSize = dataSize[dimIdx] / 2;
+ const p1 = [];
+ const p2 = [];
p1[dimIdx] = val - halfSize;
p2[dimIdx] = val + halfSize;
p1[1 - dimIdx] = p2[1 - dimIdx] = dataItem[1 - dimIdx];
@@ -121,7 +121,7 @@ function dataToCoordSize(dataSize, dataItem) {
}, this);
}
-var Overlay;
+let Overlay;
// For deciding which dimensions to use when creating list data
BMapCoordSys.dimensions = BMapCoordSys.prototype.dimensions;
@@ -152,12 +152,12 @@ function createOverlayCtor() {
BMapCoordSys.create = function (ecModel, api) {
let bmapCoordSys;
- let root = api.getDom();
+ const root = api.getDom();
// TODO Dispose
ecModel.eachComponent('bmap', function (bmapModel) {
- let painter = api.getZr().painter;
- let viewportRoot = painter.getViewportRoot();
+ const painter = api.getZr().painter;
+ const viewportRoot = painter.getViewportRoot();
if (typeof BMap === 'undefined') {
throw new Error('BMap api is not loaded');
}
@@ -183,7 +183,7 @@ BMapCoordSys.create = function (ecModel, api) {
root.appendChild(bmapRoot);
bmap = bmapModel.__bmap = new BMap.Map(bmapRoot);
- let overlay = new Overlay(viewportRoot);
+ const overlay = new Overlay(viewportRoot);
bmap.addOverlay(overlay);
// Override
@@ -195,10 +195,10 @@ BMapCoordSys.create = function (ecModel, api) {
// Set bmap options
// centerAndZoom before layout and render
- let center = bmapModel.get('center');
- let zoom = bmapModel.get('zoom');
+ const center = bmapModel.get('center');
+ const zoom = bmapModel.get('zoom');
if (center && zoom) {
- let pt = new BMap.Point(center[0], center[1]);
+ const pt = new BMap.Point(center[0], center[1]);
bmap.centerAndZoom(pt, zoom);
}
diff --git a/extension-src/bmap/BMapModel.ts b/extension-src/bmap/BMapModel.ts
index 382c26b..788ffdf 100644
--- a/extension-src/bmap/BMapModel.ts
+++ b/extension-src/bmap/BMapModel.ts
@@ -38,7 +38,7 @@ export default echarts.extendComponentModel({
},
centerOrZoomChanged: function (center, zoom) {
- let option = this.option;
+ const option = this.option;
return !(v2Equal(center, option.center) && zoom === option.zoom);
},
diff --git a/extension-src/bmap/BMapView.ts b/extension-src/bmap/BMapView.ts
index 8e1ae2a..bde6923 100644
--- a/extension-src/bmap/BMapView.ts
+++ b/extension-src/bmap/BMapView.ts
@@ -26,15 +26,15 @@ export default echarts.extendComponentView({
render: function (bMapModel, ecModel, api) {
let rendering = true;
- let bmap = bMapModel.getBMap();
- let viewportRoot = api.getZr().painter.getViewportRoot();
- let coordSys = bMapModel.coordinateSystem;
- let moveHandler = function (type, target) {
+ const bmap = bMapModel.getBMap();
+ const viewportRoot = api.getZr().painter.getViewportRoot();
+ const coordSys = bMapModel.coordinateSystem;
+ const moveHandler = function (type, target) {
if (rendering) {
return;
}
- let offsetEl = viewportRoot.parentNode.parentNode.parentNode;
- let mapOffset = [
+ const offsetEl = viewportRoot.parentNode.parentNode.parentNode;
+ const mapOffset = [
-parseInt(offsetEl.style.left, 10) || 0,
-parseInt(offsetEl.style.top, 10) || 0
];
@@ -70,7 +70,7 @@ export default echarts.extendComponentView({
this._oldMoveHandler = moveHandler;
this._oldZoomEndHandler = zoomEndHandler;
- let roam = bMapModel.get('roam');
+ const roam = bMapModel.get('roam');
if (roam && roam !== 'scale') {
bmap.enableDragging();
}
@@ -89,11 +89,11 @@ export default echarts.extendComponentView({
}
/* map 2.0 */
- let originalStyle = bMapModel.__mapStyle;
+ const originalStyle = bMapModel.__mapStyle;
- let newMapStyle = bMapModel.get('mapStyle') || {};
+ const newMapStyle = bMapModel.get('mapStyle') || {};
// FIXME, Not use JSON methods
- let mapStyleStr = JSON.stringify(newMapStyle);
+ const mapStyleStr = JSON.stringify(newMapStyle);
if (JSON.stringify(originalStyle) !== mapStyleStr) {
// FIXME May have blank tile when dragging if setMapStyle
if (Object.keys(newMapStyle).length) {
@@ -103,11 +103,11 @@ export default echarts.extendComponentView({
}
/* map 3.0 */
- let originalStyle2 = bMapModel.__mapStyle2;
+ const originalStyle2 = bMapModel.__mapStyle2;
- let newMapStyle2 = bMapModel.get('mapStyleV2') || {};
+ const newMapStyle2 = bMapModel.get('mapStyleV2') || {};
// FIXME, Not use JSON methods
- let mapStyleStr2 = JSON.stringify(newMapStyle2);
+ const mapStyleStr2 = JSON.stringify(newMapStyle2);
if (JSON.stringify(originalStyle2) !== mapStyleStr2) {
// FIXME May have blank tile when dragging if setMapStyle
if (Object.keys(newMapStyle2).length) {
diff --git a/extension-src/bmap/bmap.ts b/extension-src/bmap/bmap.ts
index 991601b..d543d10 100644
--- a/extension-src/bmap/bmap.ts
+++ b/extension-src/bmap/bmap.ts
@@ -37,10 +37,10 @@ echarts.registerAction({
update: 'updateLayout'
}, function (payload, ecModel) {
ecModel.eachComponent('bmap', function (bMapModel) {
- let bmap = bMapModel.getBMap();
- let center = bmap.getCenter();
+ const bmap = bMapModel.getBMap();
+ const center = bmap.getCenter();
bMapModel.setCenterAndZoom([center.lng, center.lat], bmap.getZoom());
});
});
-export let version = '1.0.0';
+export const version = '1.0.0';
diff --git a/extension-src/dataTool/gexf.ts b/extension-src/dataTool/gexf.ts
index 30fbfe6..41790d7 100644
--- a/extension-src/dataTool/gexf.ts
+++ b/extension-src/dataTool/gexf.ts
@@ -30,7 +30,7 @@ import * as zrUtil from 'zrender/src/core/util';
export function parse(xml) {
let doc;
if (typeof xml === 'string') {
- let parser = new DOMParser();
+ const parser = new DOMParser();
doc = parser.parseFromString(xml, 'text/xml');
}
else {
@@ -40,16 +40,16 @@ export function parse(xml) {
return null;
}
- let gexfRoot = getChildByTagName(doc, 'gexf');
+ const gexfRoot = getChildByTagName(doc, 'gexf');
if (!gexfRoot) {
return null;
}
- let graphRoot = getChildByTagName(gexfRoot, 'graph');
+ const graphRoot = getChildByTagName(gexfRoot, 'graph');
- let attributes = parseAttributes(getChildByTagName(graphRoot, 'attributes'));
- let attributesMap = {};
+ const attributes = parseAttributes(getChildByTagName(graphRoot, 'attributes'));
+ const attributesMap = {};
for (let i = 0; i < attributes.length; i++) {
attributesMap[attributes[i].id] = attributes[i];
}
@@ -73,10 +73,10 @@ function parseAttributes(parent) {
function parseNodes(parent, attributesMap) {
return parent ? zrUtil.map(getChildrenByTagName(parent, 'node'), function (nodeDom) {
- let id = getAttr(nodeDom, 'id');
- let label = getAttr(nodeDom, 'label');
+ const id = getAttr(nodeDom, 'id');
+ const label = getAttr(nodeDom, 'label');
- let node = {
+ const node = {
id: id,
name: label,
itemStyle: {
@@ -84,12 +84,12 @@ function parseNodes(parent, attributesMap) {
}
};
- let vizSizeDom = getChildByTagName(nodeDom, 'viz:size');
- let vizPosDom = getChildByTagName(nodeDom, 'viz:position');
- let vizColorDom = getChildByTagName(nodeDom, 'viz:color');
+ const vizSizeDom = getChildByTagName(nodeDom, 'viz:size');
+ const vizPosDom = getChildByTagName(nodeDom, 'viz:position');
+ const vizColorDom = getChildByTagName(nodeDom, 'viz:color');
// let vizShapeDom = getChildByTagName(nodeDom, 'viz:shape');
- let attvaluesDom = getChildByTagName(nodeDom, 'attvalues');
+ const attvaluesDom = getChildByTagName(nodeDom, 'attvalues');
if (vizSizeDom) {
node.symbolSize = parseFloat(getAttr(vizSizeDom, 'value'));
@@ -110,15 +110,15 @@ function parseNodes(parent, attributesMap) {
// node.shape = getAttr(vizShapeDom, 'shape');
// }
if (attvaluesDom) {
- let attvalueDomList = getChildrenByTagName(attvaluesDom, 'attvalue');
+ const attvalueDomList = getChildrenByTagName(attvaluesDom, 'attvalue');
node.attributes = {};
for (let j = 0; j < attvalueDomList.length; j++) {
- let attvalueDom = attvalueDomList[j];
- let attId = getAttr(attvalueDom, 'for');
+ const attvalueDom = attvalueDomList[j];
+ const attId = getAttr(attvalueDom, 'for');
let attValue = getAttr(attvalueDom, 'value');
- let attribute = attributesMap[attId];
+ const attribute = attributesMap[attId];
if (attribute) {
switch (attribute.type) {
@@ -146,13 +146,13 @@ function parseNodes(parent, attributesMap) {
function parseEdges(parent) {
return parent ? zrUtil.map(getChildrenByTagName(parent, 'edge'), function (edgeDom) {
- let id = getAttr(edgeDom, 'id');
- let label = getAttr(edgeDom, 'label');
+ const id = getAttr(edgeDom, 'id');
+ const label = getAttr(edgeDom, 'label');
- let sourceId = getAttr(edgeDom, 'source');
- let targetId = getAttr(edgeDom, 'target');
+ const sourceId = getAttr(edgeDom, 'source');
+ const targetId = getAttr(edgeDom, 'target');
- let edge = {
+ const edge = {
id: id,
name: label,
source: sourceId,
@@ -162,10 +162,10 @@ function parseEdges(parent) {
}
};
- let lineStyle = edge.lineStyle.normal;
+ const lineStyle = edge.lineStyle.normal;
- let vizThicknessDom = getChildByTagName(edgeDom, 'viz:thickness');
- let vizColorDom = getChildByTagName(edgeDom, 'viz:color');
+ const vizThicknessDom = getChildByTagName(edgeDom, 'viz:thickness');
+ const vizColorDom = getChildByTagName(edgeDom, 'viz:color');
// let vizShapeDom = getChildByTagName(edgeDom, 'viz:shape');
if (vizThicknessDom) {
@@ -210,7 +210,7 @@ function getChildByTagName(parent, tagName) {
function getChildrenByTagName(parent, tagName) {
let node = parent.firstChild;
- let children = [];
+ const children = [];
while (node) {
if (node.nodeName.toLowerCase() === tagName.toLowerCase()) {
children.push(node);
diff --git a/extension-src/dataTool/index.ts b/extension-src/dataTool/index.ts
index c4c1914..6724942 100644
--- a/extension-src/dataTool/index.ts
+++ b/extension-src/dataTool/index.ts
@@ -22,7 +22,7 @@ import * as echarts from 'echarts';
import * as gexf from './gexf';
import prepareBoxplotData from './prepareBoxplotData';
-export let version = '1.0.0';
+export const version = '1.0.0';
export {gexf};
diff --git a/extension-src/dataTool/prepareBoxplotData.ts b/extension-src/dataTool/prepareBoxplotData.ts
index e7f8edd..ac59a8e 100644
--- a/extension-src/dataTool/prepareBoxplotData.ts
+++ b/extension-src/dataTool/prepareBoxplotData.ts
@@ -48,37 +48,37 @@ import * as numberUtil from '../../src/util/number';
*/
export default function (rawData, opt) {
opt = opt || [];
- let boxData = [];
- let outliers = [];
- let axisData = [];
- let boundIQR = opt.boundIQR;
- let useExtreme = boundIQR === 'none' || boundIQR === 0;
+ const boxData = [];
+ const outliers = [];
+ const axisData = [];
+ const boundIQR = opt.boundIQR;
+ const useExtreme = boundIQR === 'none' || boundIQR === 0;
for (let i = 0; i < rawData.length; i++) {
axisData.push(i + '');
- let ascList = numberUtil.asc(rawData[i].slice());
+ const ascList = numberUtil.asc(rawData[i].slice());
- let Q1 = numberUtil.quantile(ascList, 0.25);
- let Q2 = numberUtil.quantile(ascList, 0.5);
- let Q3 = numberUtil.quantile(ascList, 0.75);
- let min = ascList[0];
- let max = ascList[ascList.length - 1];
+ const Q1 = numberUtil.quantile(ascList, 0.25);
+ const Q2 = numberUtil.quantile(ascList, 0.5);
+ const Q3 = numberUtil.quantile(ascList, 0.75);
+ const min = ascList[0];
+ const max = ascList[ascList.length - 1];
- let bound = (boundIQR == null ? 1.5 : boundIQR) * (Q3 - Q1);
+ const bound = (boundIQR == null ? 1.5 : boundIQR) * (Q3 - Q1);
- let low = useExtreme
+ const low = useExtreme
? min
: Math.max(min, Q1 - bound);
- let high = useExtreme
+ const high = useExtreme
? max
: Math.min(max, Q3 + bound);
boxData.push([low, Q1, Q2, Q3, high]);
for (let j = 0; j < ascList.length; j++) {
- let dataItem = ascList[j];
+ const dataItem = ascList[j];
if (dataItem < low || dataItem > high) {
- let outlier = [i, dataItem];
+ const outlier = [i, dataItem];
opt.layout === 'vertical' && outlier.reverse();
outliers.push(outlier);
}
diff --git a/src/.eslintrc.yaml b/src/.eslintrc.yaml
index 5d151f6..c2c425b 100644
--- a/src/.eslintrc.yaml
+++ b/src/.eslintrc.yaml
@@ -33,6 +33,10 @@ rules:
allow:
- "warn"
- "error"
+ prefer-const:
+ - 1
+ -
+ ignoreReadBeforeAssign: true
no-constant-condition: 0
comma-dangle: 2
no-debugger: 2
diff --git a/src/CoordinateSystem.ts b/src/CoordinateSystem.ts
index c9eec89..a1c2e5b 100644
--- a/src/CoordinateSystem.ts
+++ b/src/CoordinateSystem.ts
@@ -31,7 +31,7 @@ class CoordinateSystemManager {
create(ecModel: GlobalModel, api: ExtensionAPI): void {
let coordinateSystems: CoordinateSystemMaster[] = [];
zrUtil.each(coordinateSystemCreators, function (creater, type) {
- let list = creater.create(ecModel, api);
+ const list = creater.create(ecModel, api);
coordinateSystems = coordinateSystems.concat(list || []);
});
diff --git a/src/action/createDataSelectAction.ts b/src/action/createDataSelectAction.ts
index b5fa01c..53bbcf7 100644
--- a/src/action/createDataSelectAction.ts
+++ b/src/action/createDataSelectAction.ts
@@ -40,7 +40,7 @@ export default function (seriesType: string, actionInfos: DataSelectAction[]) {
* @property {string} name
*/
echarts.registerAction(actionInfo, function (payload, ecModel) {
- let selected: Dictionary<Boolean> = {};
+ const selected: Dictionary<Boolean> = {};
ecModel.eachComponent(
{mainType: 'series', subType: seriesType, query: payload},
function (seriesModel: SelectableSeriesModel) {
@@ -51,10 +51,10 @@ export default function (seriesType: string, actionInfos: DataSelectAction[]) {
payload.dataIndex
);
}
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
// Create selected map
data.each(function (idx) {
- let name = data.getName(idx);
+ const name = data.getName(idx);
selected[name] = seriesModel.isSelected(name)
|| false;
});
diff --git a/src/action/geoRoam.ts b/src/action/geoRoam.ts
index 33c9b7e..2a452e8 100644
--- a/src/action/geoRoam.ts
+++ b/src/action/geoRoam.ts
@@ -38,17 +38,17 @@ echarts.registerAction({
event: 'geoRoam',
update: 'updateTransform'
}, function (payload, ecModel) {
- let componentType = payload.componentType || 'series';
+ const componentType = payload.componentType || 'series';
ecModel.eachComponent(
{ mainType: componentType, query: payload },
function (componentModel) {
- let geo = componentModel.coordinateSystem;
+ const geo = componentModel.coordinateSystem;
if (geo.type !== 'geo') {
return;
}
- let res = updateCenterAndZoom(
+ const res = updateCenterAndZoom(
geo, payload, componentModel.get('scaleLimit')
);
diff --git a/src/action/roamHelper.ts b/src/action/roamHelper.ts
index e1e7ad0..b45568f 100644
--- a/src/action/roamHelper.ts
+++ b/src/action/roamHelper.ts
@@ -36,11 +36,11 @@ export function updateCenterAndZoom(
max?: number
}
) {
- let previousZoom = view.getZoom();
- let center = view.getCenter();
+ const previousZoom = view.getZoom();
+ const center = view.getCenter();
let zoom = payload.zoom;
- let point = view.dataToPoint(center);
+ const point = view.dataToPoint(center);
if (payload.dx != null && payload.dy != null) {
point[0] -= payload.dx;
@@ -50,8 +50,8 @@ export function updateCenterAndZoom(
}
if (zoom != null) {
if (zoomLimit) {
- let zoomMin = zoomLimit.min || 0;
- let zoomMax = zoomLimit.max || Infinity;
+ const zoomMin = zoomLimit.min || 0;
+ const zoomMax = zoomLimit.max || Infinity;
zoom = Math.max(
Math.min(previousZoom * zoom, zoomMax),
zoomMin
@@ -61,9 +61,9 @@ export function updateCenterAndZoom(
// Zoom on given point(originX, originY)
view.scale[0] *= zoom;
view.scale[1] *= zoom;
- let position = view.position;
- let fixX = (payload.originX - position[0]) * (zoom - 1);
- let fixY = (payload.originY - position[1]) * (zoom - 1);
+ const position = view.position;
+ const fixX = (payload.originX - position[0]) * (zoom - 1);
+ const fixY = (payload.originY - position[1]) * (zoom - 1);
position[0] -= fixX;
position[1] -= fixY;
diff --git a/src/chart/bar/BarSeries.ts b/src/chart/bar/BarSeries.ts
index 5df7fe5..7d3c9b9 100644
--- a/src/chart/bar/BarSeries.ts
+++ b/src/chart/bar/BarSeries.ts
@@ -106,7 +106,7 @@ class BarSeriesModel extends BaseBarSeriesModel<BarSeriesOption> {
getProgressiveThreshold() {
// Do not support progressive in normal mode.
let progressiveThreshold = this.get('progressiveThreshold');
- let largeThreshold = this.get('largeThreshold');
+ const largeThreshold = this.get('largeThreshold');
if (largeThreshold > progressiveThreshold) {
progressiveThreshold = largeThreshold;
}
diff --git a/src/chart/bar/BarView.ts b/src/chart/bar/BarView.ts
index 04b5999..53c9817 100644
--- a/src/chart/bar/BarView.ts
+++ b/src/chart/bar/BarView.ts
@@ -58,12 +58,12 @@ function getClipArea(coord: CoordSysOfBar, data: List) {
let coordSysClipArea;
if (isCoordinateSystemType<Cartesian2D>(coord, 'cartesian2d')) {
coordSysClipArea = coord.getArea && coord.getArea();
- let baseAxis = coord.getBaseAxis();
+ const baseAxis = coord.getBaseAxis();
// When boundaryGap is false or using time axis. bar may exceed the grid.
// We should not clip this part.
// See test/bar2.html
if (baseAxis.type !== 'category' || !baseAxis.onBand) {
- let expandWidth = data.getLayout('bandWidth');
+ const expandWidth = data.getLayout('bandWidth');
if (baseAxis.isHorizontal()) {
coordSysClipArea.x -= expandWidth;
coordSysClipArea.width += expandWidth * 2;
@@ -94,7 +94,7 @@ class BarView extends ChartView {
render(seriesModel: BarSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
this._updateDrawMode(seriesModel);
- let coordinateSystemType = seriesModel.get('coordinateSystem');
+ const coordinateSystemType = seriesModel.get('coordinateSystem');
if (coordinateSystemType === 'cartesian2d'
|| coordinateSystemType === 'polar'
@@ -122,7 +122,7 @@ class BarView extends ChartView {
}
_updateDrawMode(seriesModel: BarSeriesModel) {
- let isLargeDraw = seriesModel.pipelineContext.large;
+ const isLargeDraw = seriesModel.pipelineContext.large;
if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {
this._isLargeDraw = isLargeDraw;
this._clear();
@@ -130,12 +130,12 @@ class BarView extends ChartView {
}
_renderNormal(seriesModel: BarSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let group = this.group;
- let data = seriesModel.getData();
- let oldData = this._data;
+ const group = this.group;
+ const data = seriesModel.getData();
+ const oldData = this._data;
- let coord = seriesModel.coordinateSystem;
- let baseAxis = coord.getBaseAxis();
+ const coord = seriesModel.coordinateSystem;
+ const baseAxis = coord.getBaseAxis();
let isHorizontalOrRadial: boolean;
if (coord.type === 'cartesian2d') {
@@ -145,30 +145,30 @@ class BarView extends ChartView {
isHorizontalOrRadial = baseAxis.dim === 'angle';
}
- let animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;
+ const animationModel = seriesModel.isAnimationEnabled() ? seriesModel : null;
- let needsClip = seriesModel.get('clip', true);
- let coordSysClipArea = getClipArea(coord, data);
+ const needsClip = seriesModel.get('clip', true);
+ const coordSysClipArea = getClipArea(coord, data);
// If there is clipPath created in large mode. Remove it.
group.removeClipPath();
// We don't use clipPath in normal mode because we needs a perfect animation
// And don't want the label are clipped.
- let roundCap = seriesModel.get('roundCap', true);
+ const roundCap = seriesModel.get('roundCap', true);
- let drawBackground = seriesModel.get('showBackground', true);
- let backgroundModel = seriesModel.getModel('backgroundStyle');
+ const drawBackground = seriesModel.get('showBackground', true);
+ const backgroundModel = seriesModel.getModel('backgroundStyle');
- let bgEls: BarView['_backgroundEls'] = [];
- let oldBgEls = this._backgroundEls;
+ const bgEls: BarView['_backgroundEls'] = [];
+ const oldBgEls = this._backgroundEls;
data.diff(oldData)
.add(function (dataIndex) {
- let itemModel = data.getItemModel(dataIndex);
- let layout = getLayout[coord.type](data, dataIndex, itemModel);
+ const itemModel = data.getItemModel(dataIndex);
+ const layout = getLayout[coord.type](data, dataIndex, itemModel);
if (drawBackground) {
- let bgEl = createBackgroundEl(
+ const bgEl = createBackgroundEl(
coord, isHorizontalOrRadial, layout
);
bgEl.useStyle(getBarItemStyle(backgroundModel));
@@ -183,14 +183,14 @@ class BarView extends ChartView {
if (needsClip) {
// Clip will modify the layout params.
// And return a boolean to determine if the shape are fully clipped.
- let isClipped = clip[coord.type](coordSysClipArea, layout);
+ const isClipped = clip[coord.type](coordSysClipArea, layout);
if (isClipped) {
// group.remove(el);
return;
}
}
- let el = elementCreator[coord.type](
+ const el = elementCreator[coord.type](
dataIndex, layout, isHorizontalOrRadial, animationModel, false, roundCap
);
data.setItemGraphicEl(dataIndex, el);
@@ -202,15 +202,15 @@ class BarView extends ChartView {
);
})
.update(function (newIndex, oldIndex) {
- let itemModel = data.getItemModel(newIndex);
- let layout = getLayout[coord.type](data, newIndex, itemModel);
+ const itemModel = data.getItemModel(newIndex);
+ const layout = getLayout[coord.type](data, newIndex, itemModel);
if (drawBackground) {
- let bgEl = oldBgEls[oldIndex];
+ const bgEl = oldBgEls[oldIndex];
bgEl.useStyle(getBarItemStyle(backgroundModel));
bgEls[newIndex] = bgEl;
- let shape = createBackgroundShape(isHorizontalOrRadial, layout, coord);
+ const shape = createBackgroundShape(isHorizontalOrRadial, layout, coord);
updateProps(
bgEl as Path, { shape: shape }, animationModel, newIndex
);
@@ -223,7 +223,7 @@ class BarView extends ChartView {
}
if (needsClip) {
- let isClipped = clip[coord.type](coordSysClipArea, layout);
+ const isClipped = clip[coord.type](coordSysClipArea, layout);
if (isClipped) {
group.remove(el);
return;
@@ -251,7 +251,7 @@ class BarView extends ChartView {
);
})
.remove(function (dataIndex) {
- let el = oldData.getItemGraphicEl(dataIndex);
+ const el = oldData.getItemGraphicEl(dataIndex);
if (coord.type === 'cartesian2d') {
el && removeRect(dataIndex, animationModel, el as Rect);
}
@@ -261,7 +261,7 @@ class BarView extends ChartView {
})
.execute();
- let bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());
+ const bgGroup = this._backgroundGroup || (this._backgroundGroup = new Group());
bgGroup.removeAll();
for (let i = 0; i < bgEls.length; ++i) {
@@ -278,7 +278,7 @@ class BarView extends ChartView {
createLarge(seriesModel, this.group);
// Use clipPath in large mode.
- let clipPath = seriesModel.get('clip', true)
+ const clipPath = seriesModel.get('clip', true)
? createClipPath(seriesModel.coordinateSystem, false, seriesModel)
: null;
if (clipPath) {
@@ -299,8 +299,8 @@ class BarView extends ChartView {
}
_clear(ecModel?: GlobalModel) {
- let group = this.group;
- let data = this._data;
+ const group = this.group;
+ const data = this._data;
if (ecModel && ecModel.get('animation') && data && !this._isLargeDraw) {
this._removeBackground();
this._backgroundEls = [];
@@ -333,8 +333,8 @@ const clip: {
[key in 'cartesian2d' | 'polar']: Clipper
} = {
cartesian2d(coordSysBoundingRect: RectLike, layout: Rect['shape']) {
- let signWidth = layout.width < 0 ? -1 : 1;
- let signHeight = layout.height < 0 ? -1 : 1;
+ const signWidth = layout.width < 0 ? -1 : 1;
+ const signHeight = layout.height < 0 ? -1 : 1;
// Needs positive width and height
if (signWidth < 0) {
layout.x += layout.width;
@@ -345,17 +345,17 @@ const clip: {
layout.height = -layout.height;
}
- let x = mathMax(layout.x, coordSysBoundingRect.x);
- let x2 = mathMin(layout.x + layout.width, coordSysBoundingRect.x + coordSysBoundingRect.width);
- let y = mathMax(layout.y, coordSysBoundingRect.y);
- let y2 = mathMin(layout.y + layout.height, coordSysBoundingRect.y + coordSysBoundingRect.height);
+ const x = mathMax(layout.x, coordSysBoundingRect.x);
+ const x2 = mathMin(layout.x + layout.width, coordSysBoundingRect.x + coordSysBoundingRect.width);
+ const y = mathMax(layout.y, coordSysBoundingRect.y);
+ const y2 = mathMin(layout.y + layout.height, coordSysBoundingRect.y + coordSysBoundingRect.height);
layout.x = x;
layout.y = y;
layout.width = x2 - x;
layout.height = y2 - y;
- let clipped = layout.width < 0 || layout.height < 0;
+ const clipped = layout.width < 0 || layout.height < 0;
// Reverse back
if (signWidth < 0) {
@@ -390,7 +390,7 @@ const elementCreator: {
dataIndex, layout: RectLayout, isHorizontal,
animationModel, isUpdate
) {
- let rect = new Rect({
+ const rect = new Rect({
shape: zrUtil.extend({}, layout),
z2: 1
});
@@ -399,9 +399,9 @@ const elementCreator: {
// Animation
if (animationModel) {
- let rectShape = rect.shape;
- let animateProperty = isHorizontal ? 'height' : 'width' as 'width' | 'height';
- let animateTarget = {} as RectShape;
+ const rectShape = rect.shape;
+ const animateProperty = isHorizontal ? 'height' : 'width' as 'width' | 'height';
+ const animateTarget = {} as RectShape;
rectShape[animateProperty] = 0;
animateTarget[animateProperty] = layout[animateProperty];
(isUpdate ? updateProps : initProps)(rect, {
@@ -420,11 +420,11 @@ const elementCreator: {
// direction. Notice that if clockwise is true (by default), the sector
// will always draw clockwisely, no matter whether endAngle is greater
// or less than startAngle.
- let clockwise = layout.startAngle < layout.endAngle;
+ const clockwise = layout.startAngle < layout.endAngle;
- let ShapeClass = (!isRadial && roundCap) ? Sausage : Sector;
+ const ShapeClass = (!isRadial && roundCap) ? Sausage : Sector;
- let sector = new ShapeClass({
+ const sector = new ShapeClass({
shape: zrUtil.defaults({clockwise: clockwise}, layout),
z2: 1
});
@@ -433,9 +433,9 @@ const elementCreator: {
// Animation
if (animationModel) {
- let sectorShape = sector.shape;
- let animateProperty = isRadial ? 'r' : 'endAngle' as 'r' | 'endAngle';
- let animateTarget = {} as SectorShape;
+ const sectorShape = sector.shape;
+ const animateProperty = isRadial ? 'r' : 'endAngle' as 'r' | 'endAngle';
+ const animateTarget = {} as SectorShape;
sectorShape[animateProperty] = isRadial ? 0 : layout.startAngle;
animateTarget[animateProperty] = layout[animateProperty];
(isUpdate ? updateProps : initProps)(sector, {
@@ -486,12 +486,12 @@ const getLayout: {
[key in 'cartesian2d' | 'polar']: GetLayout
} = {
cartesian2d(data, dataIndex, itemModel): RectLayout {
- let layout = data.getItemLayout(dataIndex) as RectLayout;
- let fixedLineWidth = getLineWidth(itemModel, layout);
+ const layout = data.getItemLayout(dataIndex) as RectLayout;
+ const fixedLineWidth = getLineWidth(itemModel, layout);
// fix layout with lineWidth
- let signX = layout.width > 0 ? 1 : -1;
- let signY = layout.height > 0 ? 1 : -1;
+ const signX = layout.width > 0 ? 1 : -1;
+ const signY = layout.height > 0 ? 1 : -1;
return {
x: layout.x + signX * fixedLineWidth / 2,
y: layout.y + signY * fixedLineWidth / 2,
@@ -501,7 +501,7 @@ const getLayout: {
},
polar(data, dataIndex, itemModel): SectorLayout {
- let layout = data.getItemLayout(dataIndex);
+ const layout = data.getItemLayout(dataIndex);
return {
cx: layout.cx,
cy: layout.cy,
@@ -528,11 +528,11 @@ function updateStyle(
isHorizontal: boolean,
isPolar: boolean
) {
- let color = data.getItemVisual(dataIndex, 'color');
- let opacity = data.getItemVisual(dataIndex, 'opacity');
- let stroke = data.getVisual('borderColor');
- let itemStyleModel = itemModel.getModel('itemStyle');
- let hoverStyle = getBarItemStyle(itemModel.getModel(['emphasis', 'itemStyle']));
+ const color = data.getItemVisual(dataIndex, 'color');
+ const opacity = data.getItemVisual(dataIndex, 'opacity');
+ const stroke = data.getVisual('borderColor');
+ const itemStyleModel = itemModel.getModel('itemStyle');
+ const hoverStyle = getBarItemStyle(itemModel.getModel(['emphasis', 'itemStyle']));
if (!isPolar) {
(el as Rect).setShape('r', itemStyleModel.get('barBorderRadius') || 0);
@@ -547,16 +547,16 @@ function updateStyle(
getBarItemStyle(itemStyleModel)
));
- let cursorStyle = itemModel.getShallow('cursor');
+ const cursorStyle = itemModel.getShallow('cursor');
cursorStyle && (el as Path).attr('cursor', cursorStyle);
if (!isPolar) {
- let labelPositionOutside = isHorizontal
+ const labelPositionOutside = isHorizontal
? ((layout as RectLayout).height > 0 ? 'bottom' as const : 'top' as const)
: ((layout as RectLayout).width > 0 ? 'left' as const : 'right' as const);
- let labelModel = itemModel.getModel('label');
- let hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
+ const labelModel = itemModel.getModel('label');
+ const hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
setLabelStyle(
el, labelModel, hoverLabelModel,
{
@@ -579,10 +579,10 @@ function getLineWidth(
itemModel: Model<BarSeriesOption>,
rawLayout: RectLayout
) {
- let lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;
+ const lineWidth = itemModel.get(BAR_BORDER_WIDTH_QUERY) || 0;
// width or height may be NaN for empty data
- let width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);
- let height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);
+ const width = isNaN(rawLayout.width) ? Number.MAX_VALUE : Math.abs(rawLayout.width);
+ const height = isNaN(rawLayout.height) ? Number.MAX_VALUE : Math.abs(rawLayout.height);
return Math.min(lineWidth, width, height);
}
@@ -631,16 +631,16 @@ function createLarge(
incremental?: boolean
) {
// TODO support polar
- let data = seriesModel.getData();
- let startPoint = [];
- let baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;
+ const data = seriesModel.getData();
+ const startPoint = [];
+ const baseDimIdx = data.getLayout('valueAxisHorizontal') ? 1 : 0;
startPoint[1 - baseDimIdx] = data.getLayout('valueAxisStart');
- let largeDataIndices = data.getLayout('largeDataIndices');
- let barWidth = data.getLayout('barWidth');
+ const largeDataIndices = data.getLayout('largeDataIndices');
+ const barWidth = data.getLayout('barWidth');
- let backgroundModel = seriesModel.getModel('backgroundStyle');
- let drawBackground = seriesModel.get('showBackground', true);
+ const backgroundModel = seriesModel.getModel('backgroundStyle');
+ const drawBackground = seriesModel.get('showBackground', true);
if (drawBackground) {
const points = data.getLayout('largeBackgroundPoints');
@@ -661,7 +661,7 @@ function createLarge(
group.add(bgEl);
}
- let el = new LargePath({
+ const el = new LargePath({
shape: {points: data.getLayout('largePoints')},
incremental: !!incremental
});
@@ -683,30 +683,30 @@ function createLarge(
// Use throttle to avoid frequently traverse to find dataIndex.
const largePathUpdateDataIndex = throttle(function (this: LargePath, event: ZRElementEvent) {
- let largePath = this;
- let dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);
+ const largePath = this;
+ const dataIndex = largePathFindDataIndex(largePath, event.offsetX, event.offsetY);
getECData(largePath).dataIndex = dataIndex >= 0 ? dataIndex : null;
}, 30, false);
function largePathFindDataIndex(largePath: LargePath, x: number, y: number) {
- let baseDimIdx = largePath.__baseDimIdx;
- let valueDimIdx = 1 - baseDimIdx;
- let points = largePath.shape.points;
- let largeDataIndices = largePath.__largeDataIndices;
- let barWidthHalf = Math.abs(largePath.__barWidth / 2);
- let startValueVal = largePath.__startPoint[valueDimIdx];
+ const baseDimIdx = largePath.__baseDimIdx;
+ const valueDimIdx = 1 - baseDimIdx;
+ const points = largePath.shape.points;
+ const largeDataIndices = largePath.__largeDataIndices;
+ const barWidthHalf = Math.abs(largePath.__barWidth / 2);
+ const startValueVal = largePath.__startPoint[valueDimIdx];
_eventPos[0] = x;
_eventPos[1] = y;
- let pointerBaseVal = _eventPos[baseDimIdx];
- let pointerValueVal = _eventPos[1 - baseDimIdx];
- let baseLowerBound = pointerBaseVal - barWidthHalf;
- let baseUpperBound = pointerBaseVal + barWidthHalf;
+ const pointerBaseVal = _eventPos[baseDimIdx];
+ const pointerValueVal = _eventPos[1 - baseDimIdx];
+ const baseLowerBound = pointerBaseVal - barWidthHalf;
+ const baseUpperBound = pointerBaseVal + barWidthHalf;
for (let i = 0, len = points.length / 2; i < len; i++) {
- let ii = i * 2;
- let barBaseVal = points[ii + baseDimIdx];
- let barValueVal = points[ii + valueDimIdx];
+ const ii = i * 2;
+ const barBaseVal = points[ii + baseDimIdx];
+ const barValueVal = points[ii + valueDimIdx];
if (
barBaseVal >= baseLowerBound && barBaseVal <= baseUpperBound
&& (
@@ -727,8 +727,8 @@ function setLargeStyle(
seriesModel: BarSeriesModel,
data: List
) {
- let borderColor = data.getVisual('borderColor') || data.getVisual('color');
- let itemStyle = seriesModel.getModel('itemStyle').getItemStyle(['color', 'borderColor']);
+ const borderColor = data.getVisual('borderColor') || data.getVisual('color');
+ const itemStyle = seriesModel.getModel('itemStyle').getItemStyle(['color', 'borderColor']);
el.useStyle(itemStyle);
el.style.fill = null;
@@ -741,8 +741,8 @@ function setLargeBackgroundStyle(
backgroundModel: Model<BarSeriesOption['backgroundStyle']>,
data: List
) {
- let borderColor = backgroundModel.get('borderColor') || backgroundModel.get('color');
- let itemStyle = backgroundModel.getItemStyle(['color', 'borderColor']);
+ const borderColor = backgroundModel.get('borderColor') || backgroundModel.get('color');
+ const itemStyle = backgroundModel.getItemStyle(['color', 'borderColor']);
el.useStyle(itemStyle);
el.style.fill = null;
@@ -784,7 +784,7 @@ function createBackgroundEl(
isHorizontalOrRadial: boolean,
layout: SectorLayout | RectLayout
): Rect | Sector {
- let ElementClz = coord.type === 'polar' ? Sector : Rect;
+ const ElementClz = coord.type === 'polar' ? Sector : Rect;
return new ElementClz({
shape: createBackgroundShape(isHorizontalOrRadial, layout, coord) as any,
silent: true,
diff --git a/src/chart/bar/BaseBarSeries.ts b/src/chart/bar/BaseBarSeries.ts
index a0290d3..bf40728 100644
--- a/src/chart/bar/BaseBarSeries.ts
+++ b/src/chart/bar/BaseBarSeries.ts
@@ -87,14 +87,14 @@ class BaseBarSeriesModel<Opts extends BaseBarSeriesOption = BaseBarSeriesOption>
}
getMarkerPosition(value: ScaleDataValue[]) {
- let coordSys = this.coordinateSystem;
+ const coordSys = this.coordinateSystem;
if (coordSys) {
// PENDING if clamp ?
- let pt = coordSys.dataToPoint(coordSys.clampData(value));
- let data = this.getData();
- let offset = data.getLayout('offset');
- let size = data.getLayout('size');
- let offsetIndex = (coordSys as Cartesian2D).getBaseAxis().isHorizontal() ? 0 : 1;
+ const pt = coordSys.dataToPoint(coordSys.clampData(value));
+ const data = this.getData();
+ const offset = data.getLayout('offset');
+ const size = data.getLayout('size');
+ const offsetIndex = (coordSys as Cartesian2D).getBaseAxis().isHorizontal() ? 0 : 1;
pt[offsetIndex] += offset + size / 2;
return pt;
}
diff --git a/src/chart/bar/PictorialBarView.ts b/src/chart/bar/PictorialBarView.ts
index 549bcc4..99479d3 100644
--- a/src/chart/bar/PictorialBarView.ts
+++ b/src/chart/bar/PictorialBarView.ts
@@ -132,16 +132,16 @@ class PictorialBarView extends ChartView {
ecModel: GlobalModel,
api: ExtensionAPI
) {
- let group = this.group;
- let data = seriesModel.getData();
- let oldData = this._data;
+ const group = this.group;
+ const data = seriesModel.getData();
+ const oldData = this._data;
- let cartesian = seriesModel.coordinateSystem;
- let baseAxis = cartesian.getBaseAxis();
- let isHorizontal = baseAxis.isHorizontal();
- let coordSysRect = cartesian.grid.getRect();
+ const cartesian = seriesModel.coordinateSystem;
+ const baseAxis = cartesian.getBaseAxis();
+ const isHorizontal = baseAxis.isHorizontal();
+ const coordSysRect = cartesian.grid.getRect();
- let opt: CreateOpts = {
+ const opt: CreateOpts = {
ecSize: {width: api.getWidth(), height: api.getHeight()},
seriesModel: seriesModel,
coordSys: cartesian,
@@ -160,10 +160,10 @@ class PictorialBarView extends ChartView {
return;
}
- let itemModel = getItemModel(data, dataIndex);
- let symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);
+ const itemModel = getItemModel(data, dataIndex);
+ const symbolMeta = getSymbolMeta(data, dataIndex, itemModel, opt);
- let bar = createBar(data, opt, symbolMeta);
+ const bar = createBar(data, opt, symbolMeta);
data.setItemGraphicEl(dataIndex, bar);
group.add(bar);
@@ -178,10 +178,10 @@ class PictorialBarView extends ChartView {
return;
}
- let itemModel = getItemModel(data, newIndex);
- let symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);
+ const itemModel = getItemModel(data, newIndex);
+ const symbolMeta = getSymbolMeta(data, newIndex, itemModel, opt);
- let pictorialShapeStr = getShapeStr(data, symbolMeta);
+ const pictorialShapeStr = getShapeStr(data, symbolMeta);
if (bar && pictorialShapeStr !== bar.__pictorialShapeStr) {
group.remove(bar);
data.setItemGraphicEl(newIndex, null);
@@ -203,7 +203,7 @@ class PictorialBarView extends ChartView {
updateCommon(bar, opt, symbolMeta);
})
.remove(function (dataIndex) {
- let bar = oldData.getItemGraphicEl(dataIndex) as PictorialBarElement;
+ const bar = oldData.getItemGraphicEl(dataIndex) as PictorialBarElement;
bar && removeBar(
oldData, dataIndex, bar.__pictorialSymbolMeta.animationModel, bar
);
@@ -216,8 +216,8 @@ class PictorialBarView extends ChartView {
}
remove(ecModel: GlobalModel, api: ExtensionAPI) {
- let group = this.group;
- let data = this._data;
+ const group = this.group;
+ const data = this._data;
if (ecModel.get('animation')) {
if (data) {
data.eachItemGraphicEl(function (bar: PictorialBarElement) {
@@ -238,16 +238,16 @@ function getSymbolMeta(
itemModel: ItemModel,
opt: CreateOpts
): SymbolMeta {
- let layout = data.getItemLayout(dataIndex) as RectLayout;
- let symbolRepeat = itemModel.get('symbolRepeat');
- let symbolClip = itemModel.get('symbolClip');
- let symbolPosition = itemModel.get('symbolPosition') || 'start';
- let symbolRotate = itemModel.get('symbolRotate');
- let rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
- let symbolPatternSize = itemModel.get('symbolPatternSize') || 2;
- let isAnimationEnabled = itemModel.isAnimationEnabled();
-
- let symbolMeta: SymbolMeta = {
+ const layout = data.getItemLayout(dataIndex) as RectLayout;
+ const symbolRepeat = itemModel.get('symbolRepeat');
+ const symbolClip = itemModel.get('symbolClip');
+ const symbolPosition = itemModel.get('symbolPosition') || 'start';
+ const symbolRotate = itemModel.get('symbolRotate');
+ const rotation = (symbolRotate || 0) * Math.PI / 180 || 0;
+ const symbolPatternSize = itemModel.get('symbolPatternSize') || 2;
+ const isAnimationEnabled = itemModel.isAnimationEnabled();
+
+ const symbolMeta: SymbolMeta = {
dataIndex: dataIndex,
layout: layout,
itemModel: itemModel,
@@ -272,7 +272,7 @@ function getSymbolMeta(
prepareLineWidth(itemModel, symbolMeta.symbolScale, rotation, opt, symbolMeta);
- let symbolSize = symbolMeta.symbolSize;
+ const symbolSize = symbolMeta.symbolSize;
let symbolOffset = itemModel.get('symbolOffset');
if (zrUtil.isArray(symbolOffset)) {
symbolOffset = [
@@ -298,15 +298,15 @@ function prepareBarLength(
opt: CreateOpts,
outputSymbolMeta: SymbolMeta
) {
- let valueDim = opt.valueDim;
- let symbolBoundingData = itemModel.get('symbolBoundingData');
- let valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());
- let zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));
- let pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);
+ const valueDim = opt.valueDim;
+ const symbolBoundingData = itemModel.get('symbolBoundingData');
+ const valueAxis = opt.coordSys.getOtherAxis(opt.coordSys.getBaseAxis());
+ const zeroPx = valueAxis.toGlobalCoord(valueAxis.dataToCoord(0));
+ const pxSignIdx = 1 - +(layout[valueDim.wh] <= 0);
let boundingLength;
if (zrUtil.isArray(symbolBoundingData)) {
- let symbolBoundingExtent = [
+ const symbolBoundingExtent = [
convertToCoordOnAxis(valueAxis, symbolBoundingData[0]) - zeroPx,
convertToCoordOnAxis(valueAxis, symbolBoundingData[1]) - zeroPx
];
@@ -349,9 +349,9 @@ function prepareSymbolSize(
opt: CreateOpts,
outputSymbolMeta: SymbolMeta
) {
- let valueDim = opt.valueDim;
- let categoryDim = opt.categoryDim;
- let categorySize = Math.abs(layout[categoryDim.wh]);
+ const valueDim = opt.valueDim;
+ const categoryDim = opt.categoryDim;
+ const categorySize = Math.abs(layout[categoryDim.wh]);
let symbolSize = data.getItemVisual(dataIndex, 'symbolSize');
if (zrUtil.isArray(symbolSize)) {
@@ -381,7 +381,7 @@ function prepareSymbolSize(
outputSymbolMeta.symbolSize = symbolSize;
// If x or y is less than zero, show reversed shape.
- let symbolScale = outputSymbolMeta.symbolScale = [
+ const symbolScale = outputSymbolMeta.symbolScale = [
symbolSize[0] / symbolPatternSize,
symbolSize[1] / symbolPatternSize
];
@@ -428,11 +428,11 @@ function prepareLayoutInfo(
opt: CreateOpts,
outputSymbolMeta: SymbolMeta
) {
- let categoryDim = opt.categoryDim;
- let valueDim = opt.valueDim;
- let pxSign = outputSymbolMeta.pxSign;
+ const categoryDim = opt.categoryDim;
+ const valueDim = opt.valueDim;
+ const pxSign = outputSymbolMeta.pxSign;
- let unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);
+ const unitLength = Math.max(symbolSize[valueDim.index] + valueLineWidth, 0);
let pathLen = unitLength;
// Note: rotation will not effect the layout of symbols, because user may
@@ -458,14 +458,14 @@ function prepareLayoutInfo(
// Both final repeatTimes and final symbolMarginNumeric area calculated based on
// boundingLength.
- let repeatSpecified = isNumeric(symbolRepeat);
+ const repeatSpecified = isNumeric(symbolRepeat);
let repeatTimes = repeatSpecified
? symbolRepeat as number
: toIntTimes((absBoundingLength + endFix) / uLenWithMargin);
// Adjust calculate margin, to ensure each symbol is displayed
// entirely in the given layout area.
- let mDiff = absBoundingLength - repeatTimes * unitLength;
+ const mDiff = absBoundingLength - repeatTimes * unitLength;
symbolMarginNumeric = mDiff / 2 / (hasEndGap ? repeatTimes : repeatTimes - 1);
uLenWithMargin = unitLength + symbolMarginNumeric * 2;
endFix = hasEndGap ? 0 : symbolMarginNumeric * 2;
@@ -482,8 +482,8 @@ function prepareLayoutInfo(
outputSymbolMeta.symbolMargin = symbolMarginNumeric;
}
- let sizeFix = pxSign * (pathLen / 2);
- let pathPosition = outputSymbolMeta.pathPosition = [] as number[];
+ const sizeFix = pxSign * (pathLen / 2);
+ const pathPosition = outputSymbolMeta.pathPosition = [] as number[];
pathPosition[categoryDim.index] = layout[categoryDim.wh] / 2;
pathPosition[valueDim.index] = symbolPosition === 'start'
? sizeFix
@@ -495,17 +495,17 @@ function prepareLayoutInfo(
pathPosition[1] += symbolOffset[1];
}
- let bundlePosition = outputSymbolMeta.bundlePosition = [] as number[];
+ const bundlePosition = outputSymbolMeta.bundlePosition = [] as number[];
bundlePosition[categoryDim.index] = layout[categoryDim.xy];
bundlePosition[valueDim.index] = layout[valueDim.xy];
- let barRectShape = outputSymbolMeta.barRectShape = zrUtil.extend({}, layout);
+ const barRectShape = outputSymbolMeta.barRectShape = zrUtil.extend({}, layout);
barRectShape[valueDim.wh] = pxSign * Math.max(
Math.abs(layout[valueDim.wh]), Math.abs(pathPosition[valueDim.index] + sizeFix)
);
barRectShape[categoryDim.wh] = layout[categoryDim.wh];
- let clipShape = outputSymbolMeta.clipShape = {} as RectShape;
+ const clipShape = outputSymbolMeta.clipShape = {} as RectShape;
// Consider that symbol may be overflow layout rect.
clipShape[categoryDim.xy] = -layout[categoryDim.xy];
clipShape[categoryDim.wh] = opt.ecSize[categoryDim.wh];
@@ -514,8 +514,8 @@ function prepareLayoutInfo(
}
function createPath(symbolMeta: SymbolMeta) {
- let symbolPatternSize = symbolMeta.symbolPatternSize;
- let path = createSymbol(
+ const symbolPatternSize = symbolMeta.symbolPatternSize;
+ const path = createSymbol(
// Consider texture img, make a big size.
symbolMeta.symbolType,
-symbolPatternSize / 2,
@@ -537,15 +537,15 @@ function createPath(symbolMeta: SymbolMeta) {
function createOrUpdateRepeatSymbols(
bar: PictorialBarElement, opt: CreateOpts, symbolMeta: SymbolMeta, isUpdate?: boolean
) {
- let bundle = bar.__pictorialBundle;
- let symbolSize = symbolMeta.symbolSize;
- let valueLineWidth = symbolMeta.valueLineWidth;
- let pathPosition = symbolMeta.pathPosition;
- let valueDim = opt.valueDim;
- let repeatTimes = symbolMeta.repeatTimes || 0;
+ const bundle = bar.__pictorialBundle;
+ const symbolSize = symbolMeta.symbolSize;
+ const valueLineWidth = symbolMeta.valueLineWidth;
+ const pathPosition = symbolMeta.pathPosition;
+ const valueDim = opt.valueDim;
+ const repeatTimes = symbolMeta.repeatTimes || 0;
let index = 0;
- let unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;
+ const unit = symbolSize[opt.valueDim.index] + valueLineWidth + symbolMeta.symbolMargin * 2;
eachPath(bar, function (path) {
path.__pictorialAnimationIndex = index;
@@ -565,12 +565,12 @@ function createOrUpdateRepeatSymbols(
});
for (; index < repeatTimes; index++) {
- let path = createPath(symbolMeta);
+ const path = createPath(symbolMeta);
path.__pictorialAnimationIndex = index;
path.__pictorialRepeatTimes = repeatTimes;
bundle.add(path);
- let target = makeTarget(index);
+ const target = makeTarget(index);
updateAttr(
path,
@@ -595,10 +595,10 @@ function createOrUpdateRepeatSymbols(
}
function makeTarget(index: number) {
- let position = pathPosition.slice();
+ const position = pathPosition.slice();
// (start && pxSign > 0) || (end && pxSign < 0): i = repeatTimes - index
// Otherwise: i = index;
- let pxSign = symbolMeta.pxSign;
+ const pxSign = symbolMeta.pxSign;
let i = index;
if (symbolMeta.symbolRepeatDirection === 'start' ? pxSign > 0 : pxSign < 0) {
i = repeatTimes - 1 - index;
@@ -631,7 +631,7 @@ function createOrUpdateSingleSymbol(
symbolMeta: SymbolMeta,
isUpdate?: boolean
) {
- let bundle = bar.__pictorialBundle;
+ const bundle = bar.__pictorialBundle;
let mainPath = bar.__pictorialMainPath;
if (!mainPath) {
@@ -687,7 +687,7 @@ function createOrUpdateBarRect(
symbolMeta: SymbolMeta,
isUpdate?: boolean
) {
- let rectShape = zrUtil.extend({}, symbolMeta.barRectShape);
+ const rectShape = zrUtil.extend({}, symbolMeta.barRectShape);
let barRect = bar.__pictorialBarRect;
if (!barRect) {
@@ -718,10 +718,10 @@ function createOrUpdateClip(
// If not clip, symbol will be remove and rebuilt.
if (symbolMeta.symbolClip) {
let clipPath = bar.__pictorialClipPath;
- let clipShape = zrUtil.extend({}, symbolMeta.clipShape);
- let valueDim = opt.valueDim;
- let animationModel = symbolMeta.animationModel;
- let dataIndex = symbolMeta.dataIndex;
+ const clipShape = zrUtil.extend({}, symbolMeta.clipShape);
+ const valueDim = opt.valueDim;
+ const animationModel = symbolMeta.animationModel;
+ const dataIndex = symbolMeta.dataIndex;
if (clipPath) {
graphic.updateProps(
@@ -734,7 +734,7 @@ function createOrUpdateClip(
bar.__pictorialBundle.setClipPath(clipPath);
bar.__pictorialClipPath = clipPath;
- let target = {} as RectShape;
+ const target = {} as RectShape;
target[valueDim.wh] = symbolMeta.clipShape[valueDim.wh];
graphic[isUpdate ? 'updateProps' : 'initProps'](
@@ -745,7 +745,7 @@ function createOrUpdateClip(
}
function getItemModel(data: List, dataIndex: number) {
- let itemModel = data.getItemModel(dataIndex) as ItemModel;
+ const itemModel = data.getItemModel(dataIndex) as ItemModel;
itemModel.getAnimationDelayParams = getAnimationDelayParams;
itemModel.isAnimationEnabled = isAnimationEnabled;
return itemModel;
@@ -767,7 +767,7 @@ function isAnimationEnabled(this: ItemModel) {
function updateHoverAnimation(path: PictorialSymbol, symbolMeta: SymbolMeta) {
path.off('emphasis').off('normal');
- let scale = symbolMeta.symbolScale.slice();
+ const scale = symbolMeta.symbolScale.slice();
symbolMeta.hoverAnimation && path
.on('emphasis', function () {
@@ -785,9 +785,9 @@ function updateHoverAnimation(path: PictorialSymbol, symbolMeta: SymbolMeta) {
function createBar(data: List, opt: CreateOpts, symbolMeta: SymbolMeta, isUpdate?: boolean) {
// bar is the main element for each data.
- let bar = new graphic.Group() as PictorialBarElement;
+ const bar = new graphic.Group() as PictorialBarElement;
// bundle is used for location and clip.
- let bundle = new graphic.Group();
+ const bundle = new graphic.Group();
bar.add(bundle);
bar.__pictorialBundle = bundle;
bundle.attr('position', symbolMeta.bundlePosition.slice());
@@ -810,9 +810,9 @@ function createBar(data: List, opt: CreateOpts, symbolMeta: SymbolMeta, isUpdate
}
function updateBar(bar: PictorialBarElement, opt: CreateOpts, symbolMeta: SymbolMeta) {
- let animationModel = symbolMeta.animationModel;
- let dataIndex = symbolMeta.dataIndex;
- let bundle = bar.__pictorialBundle;
+ const animationModel = symbolMeta.animationModel;
+ const dataIndex = symbolMeta.dataIndex;
+ const bundle = bar.__pictorialBundle;
graphic.updateProps(
bundle, {position: symbolMeta.bundlePosition.slice()}, animationModel, dataIndex
@@ -834,10 +834,10 @@ function removeBar(
data: List, dataIndex: number, animationModel: Model<AnimationOptionMixin>, bar: PictorialBarElement
) {
// Not show text when animating
- let labelRect = bar.__pictorialBarRect;
+ const labelRect = bar.__pictorialBarRect;
labelRect && (labelRect.removeTextContent());
- let pathes = [];
+ const pathes = [];
eachPath(bar, function (path) {
pathes.push(path);
});
@@ -902,14 +902,14 @@ function updateCommon(
opt: CreateOpts,
symbolMeta: SymbolMeta
) {
- let color = symbolMeta.color;
- let dataIndex = symbolMeta.dataIndex;
- let itemModel = symbolMeta.itemModel;
+ const color = symbolMeta.color;
+ const dataIndex = symbolMeta.dataIndex;
+ const itemModel = symbolMeta.itemModel;
// Color must be excluded.
// Because symbol provide setColor individually to set fill and stroke
- let normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
- let hoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
- let cursorStyle = itemModel.getShallow('cursor');
+ const normalStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
+ const hoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
+ const cursorStyle = itemModel.getShallow('cursor');
eachPath(bar, function (path) {
// PENDING setColor should be before setStyle!!!
@@ -927,12 +927,12 @@ function updateCommon(
path.z2 = symbolMeta.z2;
});
- let barRectHoverStyle = {};
- let barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];
- let barRect = bar.__pictorialBarRect;
+ const barRectHoverStyle = {};
+ const barPositionOutside = opt.valueDim.posDesc[+(symbolMeta.boundingLength > 0)];
+ const barRect = bar.__pictorialBarRect;
- let labelModel = itemModel.getModel('label');
- let hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
+ const labelModel = itemModel.getModel('label');
+ const hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
graphic.setLabelStyle(
barRect, labelModel, hoverLabelModel,
@@ -949,7 +949,7 @@ function updateCommon(
}
function toIntTimes(times: number) {
- let roundedTimes = Math.round(times);
+ const roundedTimes = Math.round(times);
// Escapse accurate error
return Math.abs(times - roundedTimes) < 1e-4
? roundedTimes
diff --git a/src/chart/bar/barItemStyle.ts b/src/chart/bar/barItemStyle.ts
index 644daf4..bf00770 100644
--- a/src/chart/bar/barItemStyle.ts
+++ b/src/chart/bar/barItemStyle.ts
@@ -50,9 +50,9 @@ type BarItemStyleKeys = 'fill'
type ItemStyleProps = Pick<PathStyleProps, BarItemStyleKeys>;
export function getBarItemStyle(model: Model, excludes?: BarItemStyleKeys[]): ItemStyleProps {
- let style = mapStyle(model, excludes);
+ const style = mapStyle(model, excludes);
if (model.getBorderLineDash) {
- let lineDash = model.getBorderLineDash();
+ const lineDash = model.getBorderLineDash();
lineDash && (style.lineDash = lineDash);
}
return style;
diff --git a/src/chart/boxplot/BoxplotView.ts b/src/chart/boxplot/BoxplotView.ts
index 9a69fff..e4b4473 100644
--- a/src/chart/boxplot/BoxplotView.ts
+++ b/src/chart/boxplot/BoxplotView.ts
@@ -37,9 +37,9 @@ class BoxplotView extends ChartView {
private _data: List;
render(seriesModel: BoxplotSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
- let group = this.group;
- let oldData = this._data;
+ const data = seriesModel.getData();
+ const group = this.group;
+ const oldData = this._data;
// There is no old data only when first rendering or switching from
// stream mode to normal mode, where previous elements should be removed.
@@ -47,13 +47,13 @@ class BoxplotView extends ChartView {
group.removeAll();
}
- let constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;
+ const constDim = seriesModel.get('layout') === 'horizontal' ? 1 : 0;
data.diff(oldData)
.add(function (newIdx) {
if (data.hasValue(newIdx)) {
- let itemLayout = data.getItemLayout(newIdx) as BoxplotItemLayout;
- let symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);
+ const itemLayout = data.getItemLayout(newIdx) as BoxplotItemLayout;
+ const symbolEl = createNormalBox(itemLayout, data, newIdx, constDim, true);
data.setItemGraphicEl(newIdx, symbolEl);
group.add(symbolEl);
}
@@ -67,7 +67,7 @@ class BoxplotView extends ChartView {
return;
}
- let itemLayout = data.getItemLayout(newIdx) as BoxplotItemLayout;
+ const itemLayout = data.getItemLayout(newIdx) as BoxplotItemLayout;
if (!symbolEl) {
symbolEl = createNormalBox(itemLayout, data, newIdx, constDim);
}
@@ -80,7 +80,7 @@ class BoxplotView extends ChartView {
data.setItemGraphicEl(newIdx, symbolEl);
})
.remove(function (oldIdx) {
- let el = oldData.getItemGraphicEl(oldIdx);
+ const el = oldData.getItemGraphicEl(oldIdx);
el && group.remove(el);
})
.execute();
@@ -89,8 +89,8 @@ class BoxplotView extends ChartView {
}
remove(ecModel: GlobalModel) {
- let group = this.group;
- let data = this._data;
+ const group = this.group;
+ const data = this._data;
this._data = null;
data && data.eachItemGraphicEl(function (el) {
el && group.remove(el);
@@ -120,7 +120,7 @@ class BoxPath extends Path<BoxPathProps> {
}
buildPath(ctx: CanvasRenderingContext2D, shape: BoxPathShape) {
- let ends = shape.points;
+ const ends = shape.points;
let i = 0;
ctx.moveTo(ends[i][0], ends[i][1]);
@@ -146,9 +146,9 @@ function createNormalBox(
constDim: number,
isInit?: boolean
) {
- let ends = itemLayout.ends;
+ const ends = itemLayout.ends;
- let el = new BoxPath({
+ const el = new BoxPath({
shape: {
points: isInit
? transInit(ends, constDim, itemLayout)
@@ -168,8 +168,8 @@ function updateNormalBoxData(
dataIndex: number,
isInit?: boolean
) {
- let seriesModel = data.hostModel;
- let updateMethod = graphic[isInit ? 'initProps' : 'updateProps'];
+ const seriesModel = data.hostModel;
+ const updateMethod = graphic[isInit ? 'initProps' : 'updateProps'];
updateMethod(
el,
@@ -178,19 +178,19 @@ function updateNormalBoxData(
dataIndex
);
- let itemModel = data.getItemModel<BoxplotDataItemOption>(dataIndex);
- let normalItemStyleModel = itemModel.getModel('itemStyle');
- let borderColor = data.getItemVisual(dataIndex, 'color');
+ const itemModel = data.getItemModel<BoxplotDataItemOption>(dataIndex);
+ const normalItemStyleModel = itemModel.getModel('itemStyle');
+ const borderColor = data.getItemVisual(dataIndex, 'color');
// Exclude borderColor.
- let itemStyle = normalItemStyleModel.getItemStyle(['borderColor']) as PathStyleProps;
+ const itemStyle = normalItemStyleModel.getItemStyle(['borderColor']) as PathStyleProps;
itemStyle.stroke = borderColor;
itemStyle.strokeNoScale = true;
el.useStyle(itemStyle);
el.z2 = 100;
- let hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
+ const hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
graphic.enableHoverEmphasis(el, hoverStyle);
}
diff --git a/src/chart/boxplot/boxplotLayout.ts b/src/chart/boxplot/boxplotLayout.ts
index 00bbf86..69c6465 100644
--- a/src/chart/boxplot/boxplotLayout.ts
+++ b/src/chart/boxplot/boxplotLayout.ts
@@ -39,10 +39,10 @@ export interface BoxplotItemLayout {
export default function (ecModel: GlobalModel) {
- let groupResult = groupSeriesByAxis(ecModel);
+ const groupResult = groupSeriesByAxis(ecModel);
each(groupResult, function (groupItem) {
- let seriesModels = groupItem.seriesModels;
+ const seriesModels = groupItem.seriesModels;
if (!seriesModels.length) {
return;
@@ -64,11 +64,11 @@ export default function (ecModel: GlobalModel) {
* Group series by axis.
*/
function groupSeriesByAxis(ecModel: GlobalModel) {
- let result: GroupItem[] = [];
- let axisList: Axis2D[] = [];
+ const result: GroupItem[] = [];
+ const axisList: Axis2D[] = [];
ecModel.eachSeriesByType('boxplot', function (seriesModel: BoxplotSeriesModel) {
- let baseAxis = seriesModel.getBaseAxis();
+ const baseAxis = seriesModel.getBaseAxis();
let idx = zrUtil.indexOf(axisList, baseAxis);
if (idx < 0) {
@@ -91,13 +91,13 @@ function groupSeriesByAxis(ecModel: GlobalModel) {
*/
function calculateBase(groupItem: GroupItem) {
let extent;
- let baseAxis = groupItem.axis;
- let seriesModels = groupItem.seriesModels;
- let seriesCount = seriesModels.length;
+ const baseAxis = groupItem.axis;
+ const seriesModels = groupItem.seriesModels;
+ const seriesCount = seriesModels.length;
- let boxWidthList: number[] = groupItem.boxWidthList = [];
- let boxOffsetList: number[] = groupItem.boxOffsetList = [];
- let boundList: number[][] = [];
+ const boxWidthList: number[] = groupItem.boxWidthList = [];
+ const boxOffsetList: number[] = groupItem.boxOffsetList = [];
+ const boundList: number[][] = [];
let bandWidth: number;
if (baseAxis.type === 'category') {
@@ -123,9 +123,9 @@ function calculateBase(groupItem: GroupItem) {
]);
});
- let availableWidth = bandWidth * 0.8 - 2;
- let boxGap = availableWidth / seriesCount * 0.3;
- let boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;
+ const availableWidth = bandWidth * 0.8 - 2;
+ const boxGap = availableWidth / seriesCount * 0.3;
+ const boxWidth = (availableWidth - boxGap * (seriesCount - 1)) / seriesCount;
let base = boxWidth / 2 - availableWidth / 2;
each(seriesModels, function (seriesModel, idx) {
@@ -142,29 +142,29 @@ function calculateBase(groupItem: GroupItem) {
* Calculate points location for each series.
*/
function layoutSingleSeries(seriesModel: BoxplotSeriesModel, offset: number, boxWidth: number) {
- let coordSys = seriesModel.coordinateSystem;
- let data = seriesModel.getData();
- let halfWidth = boxWidth / 2;
- let cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;
- let vDimIdx = 1 - cDimIdx;
- let coordDims = ['x', 'y'];
- let cDim = data.mapDimension(coordDims[cDimIdx]);
- let vDims = data.mapDimension(coordDims[vDimIdx], true);
+ const coordSys = seriesModel.coordinateSystem;
+ const data = seriesModel.getData();
+ const halfWidth = boxWidth / 2;
+ const cDimIdx = seriesModel.get('layout') === 'horizontal' ? 0 : 1;
+ const vDimIdx = 1 - cDimIdx;
+ const coordDims = ['x', 'y'];
+ const cDim = data.mapDimension(coordDims[cDimIdx]);
+ const vDims = data.mapDimension(coordDims[vDimIdx], true);
if (cDim == null || vDims.length < 5) {
return;
}
for (let dataIndex = 0; dataIndex < data.count(); dataIndex++) {
- let axisDimVal = data.get(cDim, dataIndex) as number;
+ const axisDimVal = data.get(cDim, dataIndex) as number;
- let median = getPoint(axisDimVal, vDims[2], dataIndex);
- let end1 = getPoint(axisDimVal, vDims[0], dataIndex);
- let end2 = getPoint(axisDimVal, vDims[1], dataIndex);
- let end4 = getPoint(axisDimVal, vDims[3], dataIndex);
- let end5 = getPoint(axisDimVal, vDims[4], dataIndex);
+ const median = getPoint(axisDimVal, vDims[2], dataIndex);
+ const end1 = getPoint(axisDimVal, vDims[0], dataIndex);
+ const end2 = getPoint(axisDimVal, vDims[1], dataIndex);
+ const end4 = getPoint(axisDimVal, vDims[3], dataIndex);
+ const end5 = getPoint(axisDimVal, vDims[4], dataIndex);
- let ends: number[][] = [];
+ const ends: number[][] = [];
addBodyEnd(ends, end2, false);
addBodyEnd(ends, end4, true);
@@ -180,8 +180,8 @@ function layoutSingleSeries(seriesModel: BoxplotSeriesModel, offset: number, box
}
function getPoint(axisDimVal: number, dim: string, dataIndex: number) {
- let val = data.get(dim, dataIndex) as number;
- let p = [];
+ const val = data.get(dim, dataIndex) as number;
+ const p = [];
p[cDimIdx] = axisDimVal;
p[vDimIdx] = val;
let point;
@@ -196,8 +196,8 @@ function layoutSingleSeries(seriesModel: BoxplotSeriesModel, offset: number, box
}
function addBodyEnd(ends: number[][], point: number[], start?: boolean) {
- let point1 = point.slice();
- let point2 = point.slice();
+ const point1 = point.slice();
+ const point2 = point.slice();
point1[cDimIdx] += halfWidth;
point2[cDimIdx] -= halfWidth;
start
@@ -206,8 +206,8 @@ function layoutSingleSeries(seriesModel: BoxplotSeriesModel, offset: number, box
}
function layEndLine(ends: number[][], endCenter: number[]) {
- let from = endCenter.slice();
- let to = endCenter.slice();
+ const from = endCenter.slice();
+ const to = endCenter.slice();
from[cDimIdx] -= halfWidth;
to[cDimIdx] += halfWidth;
ends.push(from, to);
diff --git a/src/chart/boxplot/boxplotVisual.ts b/src/chart/boxplot/boxplotVisual.ts
index 1436ba9..c2ebc87 100644
--- a/src/chart/boxplot/boxplotVisual.ts
+++ b/src/chart/boxplot/boxplotVisual.ts
@@ -25,12 +25,12 @@ const borderColorQuery = ['itemStyle', 'borderColor'] as const;
export default function (ecModel: GlobalModel, api: ExtensionAPI) {
- let globalColors = ecModel.get('color');
+ const globalColors = ecModel.get('color');
ecModel.eachRawSeriesByType('boxplot', function (seriesModel: BoxplotSeriesModel) {
- let defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];
- let data = seriesModel.getData();
+ const defaulColor = globalColors[seriesModel.seriesIndex % globalColors.length];
+ const data = seriesModel.getData();
data.setVisual({
legendSymbol: 'roundRect',
@@ -42,7 +42,7 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
// Only visible series has each data be visual encoded
if (!ecModel.isSeriesFiltered(seriesModel)) {
data.each(function (idx) {
- let itemModel = data.getItemModel<BoxplotDataItemOption>(idx);
+ const itemModel = data.getItemModel<BoxplotDataItemOption>(idx);
data.setItemVisual(
idx,
{color: itemModel.get(borderColorQuery, true)}
diff --git a/src/chart/candlestick/CandlestickSeries.ts b/src/chart/candlestick/CandlestickSeries.ts
index 618227e..12454e0 100644
--- a/src/chart/candlestick/CandlestickSeries.ts
+++ b/src/chart/candlestick/CandlestickSeries.ts
@@ -152,7 +152,7 @@ class CandlestickSeriesModel extends SeriesModel<CandlestickSeriesOption> {
}
brushSelector(dataIndex: number, data: List, selectors: BrushCommonSelectorsForSeries): boolean {
- let itemLayout = data.getItemLayout(dataIndex);
+ const itemLayout = data.getItemLayout(dataIndex);
return itemLayout && selectors.rect(itemLayout.brushRect);
}
}
diff --git a/src/chart/candlestick/CandlestickView.ts b/src/chart/candlestick/CandlestickView.ts
index 29712b1..3130a34 100644
--- a/src/chart/candlestick/CandlestickView.ts
+++ b/src/chart/candlestick/CandlestickView.ts
@@ -71,7 +71,7 @@ class CandlestickView extends ChartView {
}
_updateDrawMode(seriesModel: CandlestickSeriesModel) {
- let isLargeDraw = seriesModel.pipelineContext.large;
+ const isLargeDraw = seriesModel.pipelineContext.large;
if (this._isLargeDraw == null || isLargeDraw !== this._isLargeDraw) {
this._isLargeDraw = isLargeDraw;
this._clear();
@@ -79,14 +79,14 @@ class CandlestickView extends ChartView {
}
_renderNormal(seriesModel: CandlestickSeriesModel) {
- let data = seriesModel.getData();
- let oldData = this._data;
- let group = this.group;
- let isSimpleBox = data.getLayout('isSimpleBox');
+ const data = seriesModel.getData();
+ const oldData = this._data;
+ const group = this.group;
+ const isSimpleBox = data.getLayout('isSimpleBox');
- let needsClip = seriesModel.get('clip', true);
- let coord = seriesModel.coordinateSystem;
- let clipArea = coord.getArea && coord.getArea();
+ const needsClip = seriesModel.get('clip', true);
+ const coord = seriesModel.coordinateSystem;
+ const clipArea = coord.getArea && coord.getArea();
// There is no old data only when first rendering or switching from
// stream mode to normal mode, where previous elements should be removed.
@@ -97,15 +97,13 @@ class CandlestickView extends ChartView {
data.diff(oldData)
.add(function (newIdx) {
if (data.hasValue(newIdx)) {
- let el;
-
- let itemLayout = data.getItemLayout(newIdx) as CandlestickItemLayout;
+ const itemLayout = data.getItemLayout(newIdx) as CandlestickItemLayout;
if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {
return;
}
- el = createNormalBox(itemLayout, newIdx, true);
+ const el = createNormalBox(itemLayout, newIdx, true);
graphic.initProps(el, {shape: {points: itemLayout.ends}}, seriesModel, newIdx);
setBoxCommon(el, data, newIdx, isSimpleBox);
@@ -124,7 +122,7 @@ class CandlestickView extends ChartView {
return;
}
- let itemLayout = data.getItemLayout(newIdx) as CandlestickItemLayout;
+ const itemLayout = data.getItemLayout(newIdx) as CandlestickItemLayout;
if (needsClip && isNormalBoxClipped(clipArea, itemLayout)) {
group.remove(el);
return;
@@ -147,7 +145,7 @@ class CandlestickView extends ChartView {
data.setItemGraphicEl(newIdx, el);
})
.remove(function (oldIdx) {
- let el = oldData.getItemGraphicEl(oldIdx);
+ const el = oldData.getItemGraphicEl(oldIdx);
el && group.remove(el);
})
.execute();
@@ -160,7 +158,7 @@ class CandlestickView extends ChartView {
createLarge(seriesModel, this.group);
- let clipPath = seriesModel.get('clip', true)
+ const clipPath = seriesModel.get('clip', true)
? createClipPath(seriesModel.coordinateSystem, false, seriesModel)
: null;
if (clipPath) {
@@ -173,15 +171,13 @@ class CandlestickView extends ChartView {
}
_incrementalRenderNormal(params: StageHandlerProgressParams, seriesModel: CandlestickSeriesModel) {
- let data = seriesModel.getData();
- let isSimpleBox = data.getLayout('isSimpleBox');
+ const data = seriesModel.getData();
+ const isSimpleBox = data.getLayout('isSimpleBox');
let dataIndex;
while ((dataIndex = params.next()) != null) {
- let el;
-
- let itemLayout = data.getItemLayout(dataIndex) as CandlestickItemLayout;
- el = createNormalBox(itemLayout, dataIndex);
+ const itemLayout = data.getItemLayout(dataIndex) as CandlestickItemLayout;
+ const el = createNormalBox(itemLayout, dataIndex);
setBoxCommon(el, data, dataIndex, isSimpleBox);
el.incremental = true;
@@ -230,7 +226,7 @@ class NormalBoxPath extends Path<NormalBoxPathProps> {
}
buildPath(ctx: CanvasRenderingContext2D, shape: NormalBoxPathShape) {
- let ends = shape.points;
+ const ends = shape.points;
if (this.__simpleBox) {
ctx.moveTo(ends[4][0], ends[4][1]);
@@ -253,7 +249,7 @@ class NormalBoxPath extends Path<NormalBoxPathProps> {
function createNormalBox(itemLayout: CandlestickItemLayout, dataIndex: number, isInit?: boolean) {
- let ends = itemLayout.ends;
+ const ends = itemLayout.ends;
return new NormalBoxPath({
shape: {
points: isInit
@@ -277,14 +273,14 @@ function isNormalBoxClipped(clipArea: CoordinateSystemClipArea, itemLayout: Cand
}
function setBoxCommon(el: NormalBoxPath, data: List, dataIndex: number, isSimpleBox?: boolean) {
- let itemModel = data.getItemModel(dataIndex) as Model<CandlestickDataItemOption>;
- let normalItemStyleModel = itemModel.getModel('itemStyle');
- let color = data.getItemVisual(dataIndex, 'color');
- let borderColor = data.getItemVisual(dataIndex, 'borderColor') || color;
+ const itemModel = data.getItemModel(dataIndex) as Model<CandlestickDataItemOption>;
+ const normalItemStyleModel = itemModel.getModel('itemStyle');
+ const color = data.getItemVisual(dataIndex, 'color');
+ const borderColor = data.getItemVisual(dataIndex, 'borderColor') || color;
// Color must be excluded.
// Because symbol provide setColor individually to set fill and stroke
- let itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);
+ const itemStyle = normalItemStyleModel.getItemStyle(SKIP_PROPS);
el.useStyle(itemStyle);
el.style.strokeNoScale = true;
@@ -293,7 +289,7 @@ function setBoxCommon(el: NormalBoxPath, data: List, dataIndex: number, isSimple
el.__simpleBox = isSimpleBox;
- let hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
+ const hoverStyle = itemModel.getModel(EMPHASIS_ITEM_STYLE_PATH).getItemStyle();
graphic.enableHoverEmphasis(el, hoverStyle);
}
@@ -334,10 +330,10 @@ class LargeBoxPath extends Path {
buildPath(ctx: CanvasRenderingContext2D, shape: LargeBoxPathShape) {
// Drawing lines is more efficient than drawing
// a whole line or drawing rects.
- let points = shape.points;
+ const points = shape.points;
for (let i = 0; i < points.length;) {
if (this.__sign === points[i++]) {
- let x = points[i++];
+ const x = points[i++];
ctx.moveTo(x, points[i++]);
ctx.lineTo(x, points[i++]);
}
@@ -349,15 +345,15 @@ class LargeBoxPath extends Path {
}
function createLarge(seriesModel: CandlestickSeriesModel, group: graphic.Group, incremental?: boolean) {
- let data = seriesModel.getData();
- let largePoints = data.getLayout('largePoints');
+ const data = seriesModel.getData();
+ const largePoints = data.getLayout('largePoints');
- let elP = new LargeBoxPath({
+ const elP = new LargeBoxPath({
shape: {points: largePoints},
__sign: 1
});
group.add(elP);
- let elN = new LargeBoxPath({
+ const elN = new LargeBoxPath({
shape: {points: largePoints},
__sign: -1
});
@@ -373,13 +369,13 @@ function createLarge(seriesModel: CandlestickSeriesModel, group: graphic.Group,
}
function setLargeStyle(sign: number, el: LargeBoxPath, seriesModel: CandlestickSeriesModel, data: List) {
- let suffix = sign > 0 ? 'P' : 'N';
- let borderColor = data.getVisual('borderColor' + suffix)
+ const suffix = sign > 0 ? 'P' : 'N';
+ const borderColor = data.getVisual('borderColor' + suffix)
|| data.getVisual('color' + suffix);
// Color must be excluded.
// Because symbol provide setColor individually to set fill and stroke
- let itemStyle = seriesModel.getModel('itemStyle').getItemStyle(SKIP_PROPS);
+ const itemStyle = seriesModel.getModel('itemStyle').getItemStyle(SKIP_PROPS);
el.useStyle(itemStyle);
el.style.fill = null;
diff --git a/src/chart/candlestick/candlestickLayout.ts b/src/chart/candlestick/candlestickLayout.ts
index cf0fdd9..e64f7ec 100644
--- a/src/chart/candlestick/candlestickLayout.ts
+++ b/src/chart/candlestick/candlestickLayout.ts
@@ -50,18 +50,18 @@ const candlestickLayout: StageHandler = {
reset: function (seriesModel: CandlestickSeriesModel) {
- let coordSys = seriesModel.coordinateSystem;
- let data = seriesModel.getData();
- let candleWidth = calculateCandleWidth(seriesModel, data);
- let cDimIdx = 0;
- let vDimIdx = 1;
- let coordDims = ['x', 'y'];
- let cDim = data.mapDimension(coordDims[cDimIdx]);
- let vDims = data.mapDimension(coordDims[vDimIdx], true);
- let openDim = vDims[0];
- let closeDim = vDims[1];
- let lowestDim = vDims[2];
- let highestDim = vDims[3];
+ const coordSys = seriesModel.coordinateSystem;
+ const data = seriesModel.getData();
+ const candleWidth = calculateCandleWidth(seriesModel, data);
+ const cDimIdx = 0;
+ const vDimIdx = 1;
+ const coordDims = ['x', 'y'];
+ const cDim = data.mapDimension(coordDims[cDimIdx]);
+ const vDims = data.mapDimension(coordDims[vDimIdx], true);
+ const openDim = vDims[0];
+ const closeDim = vDims[1];
+ const lowestDim = vDims[2];
+ const highestDim = vDims[3];
data.setLayout({
candleWidth: candleWidth,
@@ -82,21 +82,21 @@ const candlestickLayout: StageHandler = {
let dataIndex;
while ((dataIndex = params.next()) != null) {
- let axisDimVal = data.get(cDim, dataIndex) as number;
- let openVal = data.get(openDim, dataIndex) as number;
- let closeVal = data.get(closeDim, dataIndex) as number;
- let lowestVal = data.get(lowestDim, dataIndex) as number;
- let highestVal = data.get(highestDim, dataIndex) as number;
+ const axisDimVal = data.get(cDim, dataIndex) as number;
+ const openVal = data.get(openDim, dataIndex) as number;
+ const closeVal = data.get(closeDim, dataIndex) as number;
+ const lowestVal = data.get(lowestDim, dataIndex) as number;
+ const highestVal = data.get(highestDim, dataIndex) as number;
- let ocLow = Math.min(openVal, closeVal);
- let ocHigh = Math.max(openVal, closeVal);
+ const ocLow = Math.min(openVal, closeVal);
+ const ocHigh = Math.max(openVal, closeVal);
- let ocLowPoint = getPoint(ocLow, axisDimVal);
- let ocHighPoint = getPoint(ocHigh, axisDimVal);
- let lowestPoint = getPoint(lowestVal, axisDimVal);
- let highestPoint = getPoint(highestVal, axisDimVal);
+ const ocLowPoint = getPoint(ocLow, axisDimVal);
+ const ocHighPoint = getPoint(ocHigh, axisDimVal);
+ const lowestPoint = getPoint(lowestVal, axisDimVal);
+ const highestPoint = getPoint(highestVal, axisDimVal);
- let ends: number[][] = [];
+ const ends: number[][] = [];
addBodyEnd(ends, ocHighPoint, 0);
addBodyEnd(ends, ocLowPoint, 1);
@@ -117,7 +117,7 @@ const candlestickLayout: StageHandler = {
}
function getPoint(val: number, axisDimVal: number) {
- let p = [];
+ const p = [];
p[cDimIdx] = axisDimVal;
p[vDimIdx] = val;
return (isNaN(axisDimVal) || isNaN(val))
@@ -126,8 +126,8 @@ const candlestickLayout: StageHandler = {
}
function addBodyEnd(ends: number[][], point: number[], start: number) {
- let point1 = point.slice();
- let point2 = point.slice();
+ const point1 = point.slice();
+ const point2 = point.slice();
point1[cDimIdx] = subPixelOptimize(
point1[cDimIdx] + candleWidth / 2, 1, false
@@ -142,8 +142,8 @@ const candlestickLayout: StageHandler = {
}
function makeBrushRect(lowestVal: number, highestVal: number, axisDimVal: number) {
- let pmin = getPoint(lowestVal, axisDimVal);
- let pmax = getPoint(highestVal, axisDimVal);
+ const pmin = getPoint(lowestVal, axisDimVal);
+ const pmax = getPoint(highestVal, axisDimVal);
pmin[cDimIdx] -= candleWidth / 2;
pmax[cDimIdx] -= candleWidth / 2;
@@ -164,19 +164,19 @@ const candlestickLayout: StageHandler = {
function largeProgress(params: StageHandlerProgressParams, data: List) {
// Structure: [sign, x, yhigh, ylow, sign, x, yhigh, ylow, ...]
- let points = new LargeArr(params.count * 4);
+ const points = new LargeArr(params.count * 4);
let offset = 0;
let point;
- let tmpIn: number[] = [];
- let tmpOut: number[] = [];
+ const tmpIn: number[] = [];
+ const tmpOut: number[] = [];
let dataIndex;
while ((dataIndex = params.next()) != null) {
- let axisDimVal = data.get(cDim, dataIndex) as number;
- let openVal = data.get(openDim, dataIndex) as number;
- let closeVal = data.get(closeDim, dataIndex) as number;
- let lowestVal = data.get(lowestDim, dataIndex) as number;
- let highestVal = data.get(highestDim, dataIndex) as number;
+ const axisDimVal = data.get(cDim, dataIndex) as number;
+ const openVal = data.get(openDim, dataIndex) as number;
+ const closeVal = data.get(closeDim, dataIndex) as number;
+ const lowestVal = data.get(lowestDim, dataIndex) as number;
+ const highestVal = data.get(highestDim, dataIndex) as number;
if (isNaN(axisDimVal) || isNaN(lowestVal) || isNaN(highestVal)) {
points[offset++] = NaN;
@@ -222,25 +222,25 @@ function getSign(data: List, dataIndex: number, openVal: number, closeVal: numbe
}
function calculateCandleWidth(seriesModel: CandlestickSeriesModel, data: List) {
- let baseAxis = seriesModel.getBaseAxis();
+ const baseAxis = seriesModel.getBaseAxis();
let extent;
- let bandWidth = baseAxis.type === 'category'
+ const bandWidth = baseAxis.type === 'category'
? baseAxis.getBandWidth()
: (
extent = baseAxis.getExtent(),
Math.abs(extent[1] - extent[0]) / data.count()
);
- let barMaxWidth = parsePercent(
+ const barMaxWidth = parsePercent(
retrieve2(seriesModel.get('barMaxWidth'), bandWidth),
bandWidth
);
- let barMinWidth = parsePercent(
+ const barMinWidth = parsePercent(
retrieve2(seriesModel.get('barMinWidth'), 1),
bandWidth
);
- let barWidth = seriesModel.get('barWidth');
+ const barWidth = seriesModel.get('barWidth');
return barWidth != null
? parsePercent(barWidth, bandWidth)
diff --git a/src/chart/candlestick/candlestickVisual.ts b/src/chart/candlestick/candlestickVisual.ts
index 443fa52..d55d2e6 100644
--- a/src/chart/candlestick/candlestickVisual.ts
+++ b/src/chart/candlestick/candlestickVisual.ts
@@ -50,7 +50,7 @@ const candlestickVisual: StageHandler = {
);
}
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
data.setVisual({
legendSymbol: 'roundRect',
@@ -65,13 +65,13 @@ const candlestickVisual: StageHandler = {
return;
}
- let isLargeRender = seriesModel.pipelineContext.large;
+ const isLargeRender = seriesModel.pipelineContext.large;
return !isLargeRender && {
progress(params, data) {
let dataIndex;
while ((dataIndex = params.next()) != null) {
- let itemModel = data.getItemModel(dataIndex);
- let sign = data.getItemLayout(dataIndex).sign;
+ const itemModel = data.getItemModel(dataIndex);
+ const sign = data.getItemLayout(dataIndex).sign;
data.setItemVisual(
dataIndex,
diff --git a/src/chart/custom.ts b/src/chart/custom.ts
index abf3fd7..3b801ff 100644
--- a/src/chart/custom.ts
+++ b/src/chart/custom.ts
@@ -118,7 +118,7 @@ SeriesModel.extend({
* @override
*/
getDataParams: function (dataIndex, dataType, el) {
- let params = SeriesModel.prototype.getDataParams.apply(this, arguments);
+ const params = SeriesModel.prototype.getDataParams.apply(this, arguments);
el && (params.info = el.info);
return params;
}
@@ -142,10 +142,10 @@ ChartView.extend({
* @override
*/
render: function (customSeries, ecModel, api, payload) {
- let oldData = this._data;
- let data = customSeries.getData();
- let group = this.group;
- let renderItem = makeRenderItem(customSeries, data, ecModel, api);
+ const oldData = this._data;
+ const data = customSeries.getData();
+ const group = this.group;
+ const renderItem = makeRenderItem(customSeries, data, ecModel, api);
// By default, merge mode is applied. In most cases, custom series is
// used in the scenario that data amount is not large but graphic elements
@@ -159,19 +159,19 @@ ChartView.extend({
);
})
.update(function (newIdx, oldIdx) {
- let el = oldData.getItemGraphicEl(oldIdx);
+ const el = oldData.getItemGraphicEl(oldIdx);
createOrUpdate(
el, newIdx, renderItem(newIdx, payload), customSeries, group, data
);
})
.remove(function (oldIdx) {
- let el = oldData.getItemGraphicEl(oldIdx);
+ const el = oldData.getItemGraphicEl(oldIdx);
el && group.remove(el);
})
.execute();
// Do clipping
- let clipPath = customSeries.get('clip', true)
+ const clipPath = customSeries.get('clip', true)
? createClipPath(customSeries.coordinateSystem, false, customSeries)
: null;
if (clipPath) {
@@ -190,8 +190,8 @@ ChartView.extend({
},
incrementalRender: function (params, customSeries, ecModel, api, payload) {
- let data = customSeries.getData();
- let renderItem = makeRenderItem(customSeries, data, ecModel, api);
+ const data = customSeries.getData();
+ const renderItem = makeRenderItem(customSeries, data, ecModel, api);
function setIncrementalAndHoverLayer(el) {
if (!el.isGroup) {
el.incremental = true;
@@ -199,7 +199,7 @@ ChartView.extend({
}
}
for (let idx = params.start; idx < params.end; idx++) {
- let el = createOrUpdate(null, idx, renderItem(idx, payload), customSeries, this.group, data);
+ const el = createOrUpdate(null, idx, renderItem(idx, payload), customSeries, this.group, data);
el.traverse(setIncrementalAndHoverLayer);
}
},
@@ -215,7 +215,7 @@ ChartView.extend({
filterForExposedEvent: function (
eventType: string, query: EventQueryItem, targetEl: Element, packedEvent: ECEvent
): boolean {
- let elementName = query.element;
+ const elementName = query.element;
if (elementName == null || targetEl.name === elementName) {
return true;
}
@@ -234,15 +234,15 @@ ChartView.extend({
function createEl(elOption) {
- let graphicType = elOption.type;
+ const graphicType = elOption.type;
let el;
// Those graphic elements are not shapes. They should not be
// overwritten by users, so do them first.
if (graphicType === 'path') {
- let shape = elOption.shape;
+ const shape = elOption.shape;
// Using pathRect brings convenience to users sacle svg path.
- let pathRect = (shape.width != null && shape.height != null)
+ const pathRect = (shape.width != null && shape.height != null)
? {
x: shape.x || 0,
y: shape.y || 0,
@@ -250,7 +250,7 @@ function createEl(elOption) {
height: shape.height
}
: null;
- let pathData = getPathData(shape);
+ const pathData = getPathData(shape);
// Path is also used for icon, so layout 'center' by default.
el = graphicUtil.makePath(pathData, null, pathRect, shape.layout || 'center');
el.__customPathData = pathData;
@@ -270,7 +270,7 @@ function createEl(elOption) {
throw new Error('"compoundPath" is not supported yet.');
}
else {
- let Clz = graphicUtil.getShapeClass(graphicType);
+ const Clz = graphicUtil.getShapeClass(graphicType);
if (__DEV__) {
zrUtil.assert(Clz, 'graphic type "' + graphicType + '" can not be found.');
@@ -286,8 +286,8 @@ function createEl(elOption) {
}
function updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot) {
- let transitionProps = {};
- let elOptionStyle = elOption.style || {};
+ const transitionProps = {};
+ const elOptionStyle = elOption.style || {};
elOption.shape && (transitionProps.shape = zrUtil.clone(elOption.shape));
elOption.position && (transitionProps.position = elOption.position.slice());
@@ -296,14 +296,14 @@ function updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot
elOption.rotation && (transitionProps.rotation = elOption.rotation);
if (el.type === 'image' && elOption.style) {
- let targetStyle = transitionProps.style = {};
+ const targetStyle = transitionProps.style = {};
zrUtil.each(['x', 'y', 'width', 'height'], function (prop) {
prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);
});
}
if (el.type === 'text' && elOption.style) {
- let targetStyle = transitionProps.style = {};
+ const targetStyle = transitionProps.style = {};
zrUtil.each(['x', 'y'], function (prop) {
prepareStyleTransition(prop, targetStyle, elOptionStyle, el.style, isInit);
});
@@ -349,7 +349,7 @@ function updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot
// If `elOption.styleEmphasis` is `false`, remove hover style. The
// logic is ensured by `graphicUtil.setElementHoverStyle`.
- let styleEmphasis = elOption.styleEmphasis;
+ const styleEmphasis = elOption.styleEmphasis;
// hoverStyle should always be set here, because if the hover style
// may already be changed, where the inner cache should be reset.
graphicUtil.enableElementHoverEmphasis(el, styleEmphasis);
@@ -366,8 +366,8 @@ function prepareStyleTransition(prop, targetStyle, elOptionStyle, oldElStyle, is
}
function makeRenderItem(customSeries, data, ecModel, api) {
- let renderItem = customSeries.get('renderItem');
- let coordSys = customSeries.coordinateSystem;
+ const renderItem = customSeries.get('renderItem');
+ const coordSys = customSeries.coordinateSystem;
let prepareResult = {};
if (coordSys) {
@@ -384,7 +384,7 @@ function makeRenderItem(customSeries, data, ecModel, api) {
: prepareCustoms[coordSys.type](coordSys);
}
- let userAPI = zrUtil.defaults({
+ const userAPI = zrUtil.defaults({
getWidth: api.getWidth,
getHeight: api.getHeight,
getZr: api.getZr,
@@ -398,7 +398,7 @@ function makeRenderItem(customSeries, data, ecModel, api) {
font: font
}, prepareResult.api || {});
- let userParams = {
+ const userParams = {
// The life cycle of context: current round of rendering.
// The global life cycle is probably not necessary, because
// user can store global status by themselves.
@@ -471,13 +471,13 @@ function makeRenderItem(customSeries, data, ecModel, api) {
dataIndexInside == null && (dataIndexInside = currDataIndexInside);
updateCache(dataIndexInside);
- let itemStyle = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();
+ const itemStyle = currItemModel.getModel(ITEM_STYLE_NORMAL_PATH).getItemStyle();
currVisualColor != null && (itemStyle.fill = currVisualColor);
- let opacity = data.getItemVisual(dataIndexInside, 'opacity');
+ const opacity = data.getItemVisual(dataIndexInside, 'opacity');
opacity != null && (itemStyle.opacity = opacity);
- let labelModel = extra
+ const labelModel = extra
? applyExtraBefore(extra, currLabelNormalModel)
: currLabelNormalModel;
@@ -510,9 +510,9 @@ function makeRenderItem(customSeries, data, ecModel, api) {
dataIndexInside == null && (dataIndexInside = currDataIndexInside);
updateCache(dataIndexInside);
- let itemStyle = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();
+ const itemStyle = currItemModel.getModel(ITEM_STYLE_EMPHASIS_PATH).getItemStyle();
- let labelModel = extra
+ const labelModel = extra
? applyExtraBefore(extra, currLabelEmphasisModel)
: currLabelEmphasisModel;
@@ -557,7 +557,7 @@ function makeRenderItem(customSeries, data, ecModel, api) {
*/
function barLayout(opt) {
if (coordSys.getBaseAxis) {
- let baseAxis = coordSys.getBaseAxis();
+ const baseAxis = coordSys.getBaseAxis();
return getLayoutOnAxis(zrUtil.defaults({axis: baseAxis}, opt), api);
}
}
@@ -585,12 +585,12 @@ function makeRenderItem(customSeries, data, ecModel, api) {
}
function wrapEncodeDef(data) {
- let encodeDef = {};
+ const encodeDef = {};
zrUtil.each(data.dimensions, function (dimName, dataDimIndex) {
- let dimInfo = data.getDimensionInfo(dimName);
+ const dimInfo = data.getDimensionInfo(dimName);
if (!dimInfo.isExtraCoord) {
- let coordDim = dimInfo.coordDim;
- let dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];
+ const coordDim = dimInfo.coordDim;
+ const dataDims = encodeDef[coordDim] = encodeDef[coordDim] || [];
dataDims[dimInfo.coordDimIndex] = dataDimIndex;
}
});
@@ -616,11 +616,11 @@ function doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data,
// regard "return;" as "show nothing element whatever", so make a exception to meet the
// most cases.)
- let simplyRemove = !elOption; // `null`/`undefined`/`false`
+ const simplyRemove = !elOption; // `null`/`undefined`/`false`
elOption = elOption || {};
- let elOptionType = elOption.type;
- let elOptionShape = elOption.shape;
- let elOptionStyle = elOption.style;
+ const elOptionType = elOption.type;
+ const elOptionShape = elOption.shape;
+ const elOptionStyle = elOption.style;
if (el && (
simplyRemove
@@ -649,7 +649,7 @@ function doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data,
return;
}
- let isInit = !el;
+ const isInit = !el;
!el && (el = createEl(elOption));
updateEl(el, dataIndex, elOption, animatableModel, data, isInit, isRoot);
@@ -680,12 +680,12 @@ function doCreateOrUpdate(el, dataIndex, elOption, animatableModel, group, data,
// User can remove a single child by set its `ignore` as `true` or replace
// it by another element, where its `$merge` can be set as `true` if necessary.
function mergeChildren(el, dataIndex, elOption, animatableModel, data) {
- let newChildren = elOption.children;
- let newLen = newChildren ? newChildren.length : 0;
- let mergeChildren = elOption.$mergeChildren;
+ const newChildren = elOption.children;
+ const newLen = newChildren ? newChildren.length : 0;
+ const mergeChildren = elOption.$mergeChildren;
// `diffChildrenByName` has been deprecated.
- let byName = mergeChildren === 'byName' || elOption.diffChildrenByName;
- let notMerge = mergeChildren === false;
+ const byName = mergeChildren === 'byName' || elOption.diffChildrenByName;
+ const notMerge = mergeChildren === false;
// For better performance on roam update, only enter if necessary.
if (!newLen && !byName && !notMerge) {
@@ -742,14 +742,14 @@ function diffGroupChildren(context) {
}
function getKey(item, idx) {
- let name = item && item.name;
+ const name = item && item.name;
return name != null ? name : GROUP_DIFF_PREFIX + idx;
}
function processAddUpdate(newIndex, oldIndex) {
- let context = this.context;
- let childOption = newIndex != null ? context.newChildren[newIndex] : null;
- let child = oldIndex != null ? context.oldChildren[oldIndex] : null;
+ const context = this.context;
+ const childOption = newIndex != null ? context.newChildren[newIndex] : null;
+ const child = oldIndex != null ? context.oldChildren[oldIndex] : null;
doCreateOrUpdate(
child,
@@ -765,7 +765,7 @@ function processAddUpdate(newIndex, oldIndex) {
// textFill, textStroke, textStrokeWidth.
// We have to do this trick.
function applyExtraBefore(extra, model) {
- let dummyModel = new Model({}, model);
+ const dummyModel = new Model({}, model);
zrUtil.each(CACHED_LABEL_STYLE_PROPERTIES, function (stylePropName, modelPropName) {
if (extra.hasOwnProperty(stylePropName)) {
dummyModel.option[modelPropName] = extra[stylePropName];
@@ -775,7 +775,7 @@ function applyExtraBefore(extra, model) {
}
function applyExtraAfter(itemStyle, extra) {
- for (let key in extra) {
+ for (const key in extra) {
if (extra.hasOwnProperty(key)
|| !CACHED_LABEL_STYLE_PROPERTIES.hasOwnProperty(key)
) {
@@ -785,8 +785,8 @@ function applyExtraAfter(itemStyle, extra) {
}
function processRemove(oldIndex) {
- let context = this.context;
- let child = context.oldChildren[oldIndex];
+ const context = this.context;
+ const child = context.oldChildren[oldIndex];
child && context.group.remove(child);
}
diff --git a/src/chart/effectScatter/EffectScatterView.ts b/src/chart/effectScatter/EffectScatterView.ts
index a95d015..d5ff8bd 100644
--- a/src/chart/effectScatter/EffectScatterView.ts
+++ b/src/chart/effectScatter/EffectScatterView.ts
@@ -39,18 +39,18 @@ class EffectScatterView extends ChartView {
}
render(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
- let effectSymbolDraw = this._symbolDraw;
+ const data = seriesModel.getData();
+ const effectSymbolDraw = this._symbolDraw;
effectSymbolDraw.updateData(data);
this.group.add(effectSymbolDraw.group);
}
updateTransform(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
this.group.dirty();
- let res = pointsLayout().reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
+ const res = pointsLayout().reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
if (res.progress) {
res.progress({
start: 0,
@@ -63,7 +63,7 @@ class EffectScatterView extends ChartView {
}
_updateGroupTransform(seriesModel: EffectScatterSeriesModel) {
- let coordSys = seriesModel.coordinateSystem;
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys && coordSys.getRoamTransform) {
this.group.transform = matrix.clone(coordSys.getRoamTransform());
this.group.decomposeTransform();
diff --git a/src/chart/funnel/FunnelSeries.ts b/src/chart/funnel/FunnelSeries.ts
index 1a3ee5c..a00c36e 100644
--- a/src/chart/funnel/FunnelSeries.ts
+++ b/src/chart/funnel/FunnelSeries.ts
@@ -119,8 +119,8 @@ class FunnelSeriesModel extends SeriesModel<FunnelSeriesOption> {
// Extend labelLine emphasis
defaultEmphasis(option, 'labelLine', ['show']);
- let labelLineNormalOpt = option.labelLine;
- let labelLineEmphasisOpt = option.emphasis.labelLine;
+ const labelLineNormalOpt = option.labelLine;
+ const labelLineEmphasisOpt = option.emphasis.labelLine;
// Not show label line if `label.normal.show = false`
labelLineNormalOpt.show = labelLineNormalOpt.show
&& option.label.show;
@@ -130,10 +130,10 @@ class FunnelSeriesModel extends SeriesModel<FunnelSeriesOption> {
// Overwrite
getDataParams(dataIndex: number) {
- let data = this.getData();
- let params = super.getDataParams(dataIndex);
- let valueDim = data.mapDimension('value');
- let sum = data.getSum(valueDim);
+ const data = this.getData();
+ const params = super.getDataParams(dataIndex);
+ const valueDim = data.mapDimension('value');
+ const sum = data.getSum(valueDim);
// Percent is 0 if sum is 0
params.percent = !sum ? 0 : +(data.get(valueDim, dataIndex) as number / sum * 100).toFixed(2);
diff --git a/src/chart/funnel/FunnelView.ts b/src/chart/funnel/FunnelView.ts
index 0c460e9..f01234f 100644
--- a/src/chart/funnel/FunnelView.ts
+++ b/src/chart/funnel/FunnelView.ts
@@ -41,9 +41,9 @@ class FunnelPiece extends graphic.Group {
constructor(data: List, idx: number) {
super();
- let polygon = new graphic.Polygon();
- let labelLine = new graphic.Polyline();
- let text = new graphic.Text();
+ const polygon = new graphic.Polygon();
+ const labelLine = new graphic.Polyline();
+ const text = new graphic.Text();
this.add(polygon);
this.add(labelLine);
polygon.setTextContent(text);
@@ -53,8 +53,8 @@ class FunnelPiece extends graphic.Group {
highDownOnUpdate(fromState: DisplayState, toState: DisplayState) {
- let labelLine = this.childAt(1) as graphic.Polyline;
- let text = this.childAt(2) as graphic.Text;
+ const labelLine = this.childAt(1) as graphic.Polyline;
+ const text = this.childAt(2) as graphic.Text;
if (toState === 'emphasis') {
labelLine.ignore = (labelLine as FunnelLabelEl).hoverIgnore;
@@ -68,11 +68,11 @@ class FunnelPiece extends graphic.Group {
updateData(data: List, idx: number, firstCreate?: boolean) {
- let polygon = this.childAt(0) as graphic.Polygon;
+ const polygon = this.childAt(0) as graphic.Polygon;
- let seriesModel = data.hostModel;
- let itemModel = data.getItemModel<FunnelDataItemOption>(idx);
- let layout = data.getItemLayout(idx);
+ const seriesModel = data.hostModel;
+ const itemModel = data.getItemModel<FunnelDataItemOption>(idx);
+ const layout = data.getItemLayout(idx);
let opacity = itemModel.get(opacityAccessPath);
opacity = opacity == null ? 1 : opacity;
@@ -102,8 +102,8 @@ class FunnelPiece extends graphic.Group {
}
// Update common style
- let itemStyleModel = itemModel.getModel('itemStyle');
- let visualColor = data.getItemVisual(idx, 'color');
+ const itemStyleModel = itemModel.getModel('itemStyle');
+ const visualColor = data.getItemVisual(idx, 'color');
polygon.setStyle(
zrUtil.defaults(
@@ -123,21 +123,21 @@ class FunnelPiece extends graphic.Group {
}
_updateLabel(data: List, idx: number) {
- let polygon = this.childAt(0);
- let labelLine = this.childAt(1) as graphic.Polyline;
- let labelText = polygon.getTextContent();
-
- let seriesModel = data.hostModel;
- let itemModel = data.getItemModel<FunnelDataItemOption>(idx);
- let layout = data.getItemLayout(idx);
- let labelLayout = layout.label;
+ const polygon = this.childAt(0);
+ const labelLine = this.childAt(1) as graphic.Polyline;
+ const labelText = polygon.getTextContent();
+
+ const seriesModel = data.hostModel;
+ const itemModel = data.getItemModel<FunnelDataItemOption>(idx);
+ const layout = data.getItemLayout(idx);
+ const labelLayout = layout.label;
// let visualColor = data.getItemVisual(idx, 'color');
- let labelModel = itemModel.getModel('label');
- let labelHoverModel = itemModel.getModel(['emphasis', 'label']);
- let labelLineModel = itemModel.getModel('labelLine');
- let labelLineHoverModel = itemModel.getModel(['emphasis', 'labelLine']);
- let visualColor = data.getItemVisual(idx, 'color');
+ const labelModel = itemModel.getModel('label');
+ const labelHoverModel = itemModel.getModel(['emphasis', 'label']);
+ const labelLineModel = itemModel.getModel('labelLine');
+ const labelLineHoverModel = itemModel.getModel(['emphasis', 'labelLine']);
+ const visualColor = data.getItemVisual(idx, 'color');
graphic.setLabelStyle(
labelText, labelModel, labelHoverModel,
@@ -205,21 +205,21 @@ class FunnelView extends ChartView {
private _data: List;
render(seriesModel: FunnelSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
- let oldData = this._data;
+ const data = seriesModel.getData();
+ const oldData = this._data;
- let group = this.group;
+ const group = this.group;
data.diff(oldData)
.add(function (idx) {
- let funnelPiece = new FunnelPiece(data, idx);
+ const funnelPiece = new FunnelPiece(data, idx);
data.setItemGraphicEl(idx, funnelPiece);
group.add(funnelPiece);
})
.update(function (newIdx, oldIdx) {
- let piece = oldData.getItemGraphicEl(oldIdx) as FunnelPiece;
+ const piece = oldData.getItemGraphicEl(oldIdx) as FunnelPiece;
piece.updateData(data, newIdx);
@@ -227,7 +227,7 @@ class FunnelView extends ChartView {
data.setItemGraphicEl(newIdx, piece);
})
.remove(function (idx) {
- let piece = oldData.getItemGraphicEl(idx);
+ const piece = oldData.getItemGraphicEl(idx);
group.remove(piece);
})
.execute();
diff --git a/src/chart/funnel/funnelLayout.ts b/src/chart/funnel/funnelLayout.ts
index 385d2a3..470c478 100644
--- a/src/chart/funnel/funnelLayout.ts
+++ b/src/chart/funnel/funnelLayout.ts
@@ -37,12 +37,12 @@ function getViewRect(seriesModel: FunnelSeriesModel, api: ExtensionAPI) {
}
function getSortedIndices(data: List, sort: FunnelSeriesOption['sort']) {
- let valueDim = data.mapDimension('value');
- let valueArr = data.mapArray(valueDim, function (val: number) {
+ const valueDim = data.mapDimension('value');
+ const valueArr = data.mapArray(valueDim, function (val: number) {
return val;
});
- let indices: number[] = [];
- let isAscending = sort === 'ascending';
+ const indices: number[] = [];
+ const isAscending = sort === 'ascending';
for (let i = 0, len = data.count(); i < len; i++) {
indices[i] = i;
}
@@ -63,16 +63,16 @@ function getSortedIndices(data: List, sort: FunnelSeriesOption['sort']) {
function labelLayout(data: List) {
data.each(function (idx) {
- let itemModel = data.getItemModel(idx) as Model<FunnelDataItem>;
- let labelModel = itemModel.getModel('label');
- let labelPosition = labelModel.get('position');
+ const itemModel = data.getItemModel(idx) as Model<FunnelDataItem>;
+ const labelModel = itemModel.getModel('label');
+ const labelPosition = labelModel.get('position');
- let labelLineModel = itemModel.getModel('labelLine');
+ const labelLineModel = itemModel.getModel('labelLine');
- let layout = data.getItemLayout(idx);
- let points = layout.points;
+ const layout = data.getItemLayout(idx);
+ const points = layout.points;
- let isLabelInside = labelPosition === 'inner'
+ const isLabelInside = labelPosition === 'inner'
|| labelPosition === 'inside' || labelPosition === 'center'
|| labelPosition === 'insideLeft' || labelPosition === 'insideRight';
@@ -105,7 +105,7 @@ function labelLayout(data: List) {
let x1;
let y1;
let x2;
- let labelLineLen = labelLineModel.get('length');
+ const labelLineLen = labelLineModel.get('length');
if (labelPosition === 'left') {
// Left side
x1 = (points[3][0] + points[0][0]) / 2;
@@ -162,7 +162,7 @@ function labelLayout(data: List) {
textX = x2 + 5;
textAlign = 'left';
}
- let y2 = y1;
+ const y2 = y1;
linePoints = [[x1, y1], [x2, y2]];
textY = y2;
@@ -181,17 +181,17 @@ function labelLayout(data: List) {
export default function (ecModel: GlobalModel, api: ExtensionAPI) {
ecModel.eachSeriesByType('funnel', function (seriesModel: FunnelSeriesModel) {
- let data = seriesModel.getData();
- let valueDim = data.mapDimension('value');
- let sort = seriesModel.get('sort');
- let viewRect = getViewRect(seriesModel, api);
+ const data = seriesModel.getData();
+ const valueDim = data.mapDimension('value');
+ const sort = seriesModel.get('sort');
+ const viewRect = getViewRect(seriesModel, api);
let indices = getSortedIndices(data, sort);
- let sizeExtent = [
+ const sizeExtent = [
parsePercent(seriesModel.get('minSize'), viewRect.width),
parsePercent(seriesModel.get('maxSize'), viewRect.width)
];
- let dataExtent = data.getDataExtent(valueDim);
+ const dataExtent = data.getDataExtent(valueDim);
let min = seriesModel.get('min');
let max = seriesModel.get('max');
if (min == null) {
@@ -201,16 +201,16 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
max = dataExtent[1];
}
- let funnelAlign = seriesModel.get('funnelAlign');
+ const funnelAlign = seriesModel.get('funnelAlign');
let gap = seriesModel.get('gap');
let itemHeight = (viewRect.height - gap * (data.count() - 1)) / data.count();
let y = viewRect.y;
- let getLinePoints = function (idx: number, offY: number) {
+ const getLinePoints = function (idx: number, offY: number) {
// End point index is data.count() and we assign it 0
- let val = data.get(valueDim, idx) as number || 0;
- let itemWidth = linearMap(val, [min, max], sizeExtent, true);
+ const val = data.get(valueDim, idx) as number || 0;
+ const itemWidth = linearMap(val, [min, max], sizeExtent, true);
let x0;
switch (funnelAlign) {
case 'left':
@@ -238,10 +238,10 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
}
for (let i = 0; i < indices.length; i++) {
- let idx = indices[i];
- let nextIdx = indices[i + 1];
+ const idx = indices[i];
+ const nextIdx = indices[i + 1];
- let itemModel = data.getItemModel<FunnelDataItem>(idx);
+ const itemModel = data.getItemModel<FunnelDataItem>(idx);
let height = itemModel.get(['itemStyle', 'height']);
if (height == null) {
height = itemHeight;
@@ -253,8 +253,8 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
}
}
- let start = getLinePoints(idx, y);
- let end = getLinePoints(nextIdx, y + height);
+ const start = getLinePoints(idx, y);
+ const end = getLinePoints(nextIdx, y + height);
y += height + gap;
diff --git a/src/chart/gauge/GaugeView.ts b/src/chart/gauge/GaugeView.ts
index 60c2b16..fe590bd 100644
--- a/src/chart/gauge/GaugeView.ts
+++ b/src/chart/gauge/GaugeView.ts
@@ -34,13 +34,13 @@ interface PosInfo {
}
function parsePosition(seriesModel: GaugeSeriesModel, api: ExtensionAPI): PosInfo {
- let center = seriesModel.get('center');
- let width = api.getWidth();
- let height = api.getHeight();
- let size = Math.min(width, height);
- let cx = parsePercent(center[0], api.getWidth());
- let cy = parsePercent(center[1], api.getHeight());
- let r = parsePercent(seriesModel.get('radius'), size / 2);
+ const center = seriesModel.get('center');
+ const width = api.getWidth();
+ const height = api.getHeight();
+ const size = Math.min(width, height);
+ const cx = parsePercent(center[0], api.getWidth());
+ const cy = parsePercent(center[1], api.getHeight());
+ const r = parsePercent(seriesModel.get('radius'), size / 2);
return {
cx: cx,
@@ -75,8 +75,8 @@ class GaugeView extends ChartView {
this.group.removeAll();
- let colorList = seriesModel.get(['axisLine', 'lineStyle', 'color']);
- let posInfo = parsePosition(seriesModel, api);
+ const colorList = seriesModel.get(['axisLine', 'lineStyle', 'color']);
+ const posInfo = parsePosition(seriesModel, api);
this._renderMain(
seriesModel, ecModel, api, colorList, posInfo
@@ -92,26 +92,26 @@ class GaugeView extends ChartView {
colorList: [number, ColorString][],
posInfo: PosInfo
) {
- let group = this.group;
+ const group = this.group;
- let axisLineModel = seriesModel.getModel('axisLine');
- let lineStyleModel = axisLineModel.getModel('lineStyle');
+ const axisLineModel = seriesModel.getModel('axisLine');
+ const lineStyleModel = axisLineModel.getModel('lineStyle');
- let clockwise = seriesModel.get('clockwise');
+ const clockwise = seriesModel.get('clockwise');
let startAngle = -seriesModel.get('startAngle') / 180 * Math.PI;
let endAngle = -seriesModel.get('endAngle') / 180 * Math.PI;
- let angleRangeSpan = (endAngle - startAngle) % PI2;
+ const angleRangeSpan = (endAngle - startAngle) % PI2;
let prevEndAngle = startAngle;
- let axisLineWidth = lineStyleModel.get('width');
- let showAxis = axisLineModel.get('show');
+ const axisLineWidth = lineStyleModel.get('width');
+ const showAxis = axisLineModel.get('show');
for (let i = 0; showAxis && i < colorList.length; i++) {
// Clamp
- let percent = Math.min(Math.max(colorList[i][0], 0), 1);
+ const percent = Math.min(Math.max(colorList[i][0], 0), 1);
endAngle = startAngle + angleRangeSpan * percent;
- let sector = new graphic.Sector({
+ const sector = new graphic.Sector({
shape: {
startAngle: prevEndAngle,
endAngle: endAngle,
@@ -139,7 +139,7 @@ class GaugeView extends ChartView {
prevEndAngle = endAngle;
}
- let getColor = function (percent: number) {
+ const getColor = function (percent: number) {
// Less than 0
if (percent <= 0) {
return colorList[0][1];
@@ -157,7 +157,7 @@ class GaugeView extends ChartView {
};
if (!clockwise) {
- let tmp = startAngle;
+ const tmp = startAngle;
startAngle = endAngle;
endAngle = tmp;
}
@@ -190,34 +190,34 @@ class GaugeView extends ChartView {
endAngle: number,
clockwise: boolean
) {
- let group = this.group;
- let cx = posInfo.cx;
- let cy = posInfo.cy;
- let r = posInfo.r;
+ const group = this.group;
+ const cx = posInfo.cx;
+ const cy = posInfo.cy;
+ const r = posInfo.r;
- let minVal = +seriesModel.get('min');
- let maxVal = +seriesModel.get('max');
+ const minVal = +seriesModel.get('min');
+ const maxVal = +seriesModel.get('max');
- let splitLineModel = seriesModel.getModel('splitLine');
- let tickModel = seriesModel.getModel('axisTick');
- let labelModel = seriesModel.getModel('axisLabel');
+ const splitLineModel = seriesModel.getModel('splitLine');
+ const tickModel = seriesModel.getModel('axisTick');
+ const labelModel = seriesModel.getModel('axisLabel');
- let splitNumber = seriesModel.get('splitNumber');
- let subSplitNumber = tickModel.get('splitNumber');
+ const splitNumber = seriesModel.get('splitNumber');
+ const subSplitNumber = tickModel.get('splitNumber');
- let splitLineLen = parsePercent(
+ const splitLineLen = parsePercent(
splitLineModel.get('length'), r
);
- let tickLen = parsePercent(
+ const tickLen = parsePercent(
tickModel.get('length'), r
);
let angle = startAngle;
- let step = (endAngle - startAngle) / splitNumber;
- let subStep = step / subSplitNumber;
+ const step = (endAngle - startAngle) / splitNumber;
+ const subStep = step / subSplitNumber;
- let splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();
- let tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();
+ const splitLineStyle = splitLineModel.getModel('lineStyle').getLineStyle();
+ const tickLineStyle = tickModel.getModel('lineStyle').getLineStyle();
let unitX;
let unitY;
@@ -227,7 +227,7 @@ class GaugeView extends ChartView {
unitY = Math.sin(angle);
// Split line
if (splitLineModel.get('show')) {
- let splitLine = new graphic.Line({
+ const splitLine = new graphic.Line({
shape: {
x1: unitX * r + cx,
y1: unitY * r + cy,
@@ -248,12 +248,12 @@ class GaugeView extends ChartView {
// Label
if (labelModel.get('show')) {
- let label = formatLabel(
+ const label = formatLabel(
round(i / splitNumber * (maxVal - minVal) + minVal),
labelModel.get('formatter')
);
- let distance = labelModel.get('distance');
- let autoColor = getColor(i / splitNumber);
+ const distance = labelModel.get('distance');
+ const autoColor = getColor(i / splitNumber);
group.add(new graphic.Text({
style: graphic.createTextStyle(labelModel, {
@@ -272,7 +272,7 @@ class GaugeView extends ChartView {
for (let j = 0; j <= subSplitNumber; j++) {
unitX = Math.cos(angle);
unitY = Math.sin(angle);
- let tickLine = new graphic.Line({
+ const tickLine = new graphic.Line({
shape: {
x1: unitX * r + cx,
y1: unitY * r + cy,
@@ -311,8 +311,8 @@ class GaugeView extends ChartView {
clockwise: boolean
) {
- let group = this.group;
- let oldData = this._data;
+ const group = this.group;
+ const oldData = this._data;
if (!seriesModel.get(['pointer', 'show'])) {
// Remove old element
@@ -322,15 +322,15 @@ class GaugeView extends ChartView {
return;
}
- let valueExtent = [+seriesModel.get('min'), +seriesModel.get('max')];
- let angleExtent = [startAngle, endAngle];
+ const valueExtent = [+seriesModel.get('min'), +seriesModel.get('max')];
+ const angleExtent = [startAngle, endAngle];
- let data = seriesModel.getData();
- let valueDim = data.mapDimension('value');
+ const data = seriesModel.getData();
+ const valueDim = data.mapDimension('value');
data.diff(oldData)
.add(function (idx) {
- let pointer = new PointerPath({
+ const pointer = new PointerPath({
shape: {
angle: startAngle
}
@@ -346,7 +346,7 @@ class GaugeView extends ChartView {
data.setItemGraphicEl(idx, pointer);
})
.update(function (newIdx, oldIdx) {
- let pointer = oldData.getItemGraphicEl(oldIdx) as PointerPath;
+ const pointer = oldData.getItemGraphicEl(oldIdx) as PointerPath;
graphic.updateProps(pointer, {
shape: {
@@ -358,14 +358,14 @@ class GaugeView extends ChartView {
data.setItemGraphicEl(newIdx, pointer);
})
.remove(function (idx) {
- let pointer = oldData.getItemGraphicEl(idx);
+ const pointer = oldData.getItemGraphicEl(idx);
group.remove(pointer);
})
.execute();
data.eachItemGraphicEl(function (pointer: PointerPath, idx) {
- let itemModel = data.getItemModel<GaugeDataItemOption>(idx);
- let pointerModel = itemModel.getModel('pointer');
+ const itemModel = data.getItemModel<GaugeDataItemOption>(idx);
+ const pointerModel = itemModel.getModel('pointer');
pointer.setShape({
x: posInfo.cx,
@@ -399,18 +399,18 @@ class GaugeView extends ChartView {
getColor: (percent: number) => ColorString,
posInfo: PosInfo
) {
- let data = seriesModel.getData();
- let valueDim = data.mapDimension('value');
- let titleModel = seriesModel.getModel('title');
+ const data = seriesModel.getData();
+ const valueDim = data.mapDimension('value');
+ const titleModel = seriesModel.getModel('title');
if (titleModel.get('show')) {
- let offsetCenter = titleModel.get('offsetCenter');
- let x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);
- let y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);
-
- let minVal = +seriesModel.get('min');
- let maxVal = +seriesModel.get('max');
- let value = seriesModel.getData().get(valueDim, 0) as number;
- let autoColor = getColor(
+ const offsetCenter = titleModel.get('offsetCenter');
+ const x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);
+ const y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);
+
+ const minVal = +seriesModel.get('min');
+ const maxVal = +seriesModel.get('max');
+ const value = seriesModel.getData().get(valueDim, 0) as number;
+ const autoColor = getColor(
linearMap(value, [minVal, maxVal], [0, 1], true)
);
@@ -435,18 +435,18 @@ class GaugeView extends ChartView {
getColor: (percent: number) => ColorString,
posInfo: PosInfo
) {
- let detailModel = seriesModel.getModel('detail');
- let minVal = +seriesModel.get('min');
- let maxVal = +seriesModel.get('max');
+ const detailModel = seriesModel.getModel('detail');
+ const minVal = +seriesModel.get('min');
+ const maxVal = +seriesModel.get('max');
if (detailModel.get('show')) {
- let offsetCenter = detailModel.get('offsetCenter');
- let x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);
- let y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);
- let width = parsePercent(detailModel.get('width'), posInfo.r);
- let height = parsePercent(detailModel.get('height'), posInfo.r);
- let data = seriesModel.getData();
- let value = data.get(data.mapDimension('value'), 0) as number;
- let autoColor = getColor(
+ const offsetCenter = detailModel.get('offsetCenter');
+ const x = posInfo.cx + parsePercent(offsetCenter[0], posInfo.r);
+ const y = posInfo.cy + parsePercent(offsetCenter[1], posInfo.r);
+ const width = parsePercent(detailModel.get('width'), posInfo.r);
+ const height = parsePercent(detailModel.get('height'), posInfo.r);
+ const data = seriesModel.getData();
+ const value = data.get(data.mapDimension('value'), 0) as number;
+ const autoColor = getColor(
linearMap(value, [minVal, maxVal], [0, 1], true)
);
diff --git a/src/chart/gauge/PointerPath.ts b/src/chart/gauge/PointerPath.ts
index 5eac5dc..e0f03b1 100644
--- a/src/chart/gauge/PointerPath.ts
+++ b/src/chart/gauge/PointerPath.ts
@@ -46,14 +46,14 @@ export default class PointerPath extends Path<PointerPathProps> {
}
buildPath(ctx: CanvasRenderingContext2D, shape: PointerShape) {
- let mathCos = Math.cos;
- let mathSin = Math.sin;
+ const mathCos = Math.cos;
+ const mathSin = Math.sin;
- let r = shape.r;
- let width = shape.width;
+ const r = shape.r;
+ const width = shape.width;
let angle = shape.angle;
- let x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);
- let y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);
+ const x = shape.x - mathCos(angle) * width * (width >= r / 3 ? 1 : 2);
+ const y = shape.y - mathSin(angle) * width * (width >= r / 3 ? 1 : 2);
angle = shape.angle - Math.PI / 2;
ctx.moveTo(x, y);
diff --git a/src/chart/graph/GraphSeries.ts b/src/chart/graph/GraphSeries.ts
index fa713f3..bac92d4 100644
--- a/src/chart/graph/GraphSeries.ts
+++ b/src/chart/graph/GraphSeries.ts
@@ -227,7 +227,7 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
init(option: GraphSeriesOption) {
super.init.apply(this, arguments as any);
- let self = this;
+ const self = this;
function getCategoriesData() {
return self._categoriesData;
}
@@ -255,9 +255,9 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
}
getInitialData(option: GraphSeriesOption, ecModel: GlobalModel) {
- let edges = option.edges || option.links || [];
- let nodes = option.data || option.nodes || [];
- let self = this;
+ const edges = option.edges || option.links || [];
+ const nodes = option.data || option.nodes || [];
+ const self = this;
if (nodes && edges) {
return createGraphFromNodeEdge(nodes, edges, this, true, beforeLink).data;
@@ -266,9 +266,9 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
function beforeLink(nodeData: List, edgeData: List) {
// Overwrite nodeData.getItemModel to
nodeData.wrapMethod('getItemModel', function (model) {
- let categoriesModels = self._categoriesModels;
- let categoryIdx = model.getShallow('category');
- let categoryModel = categoriesModels[categoryIdx];
+ const categoriesModels = self._categoriesModels;
+ const categoryIdx = model.getShallow('category');
+ const categoryModel = categoriesModels[categoryIdx];
if (categoryModel) {
categoryModel.parentModel = model.parentModel;
model.parentModel = categoryModel;
@@ -276,15 +276,15 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
return model;
});
- let edgeLabelModel = self.getModel('edgeLabel');
+ const edgeLabelModel = self.getModel('edgeLabel');
// For option `edgeLabel` can be found by label.xxx.xxx on item mode.
- let fakeSeriesModel = new Model(
+ const fakeSeriesModel = new Model(
{label: edgeLabelModel.option},
edgeLabelModel.parentModel,
ecModel
);
- let emphasisEdgeLabelModel = self.getModel(['emphasis', 'edgeLabel']);
- let emphasisFakeSeriesModel = new Model(
+ const emphasisEdgeLabelModel = self.getModel(['emphasis', 'edgeLabel']);
+ const emphasisFakeSeriesModel = new Model(
{emphasis: {label: emphasisEdgeLabelModel.option}},
emphasisEdgeLabelModel.parentModel,
ecModel
@@ -323,13 +323,13 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
*/
formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: string) {
if (dataType === 'edge') {
- let nodeData = this.getData();
- let params = this.getDataParams(dataIndex, dataType);
- let edge = nodeData.graph.getEdgeByIndex(dataIndex);
- let sourceName = nodeData.getName(edge.node1.dataIndex);
- let targetName = nodeData.getName(edge.node2.dataIndex);
+ const nodeData = this.getData();
+ const params = this.getDataParams(dataIndex, dataType);
+ const edge = nodeData.graph.getEdgeByIndex(dataIndex);
+ const sourceName = nodeData.getName(edge.node1.dataIndex);
+ const targetName = nodeData.getName(edge.node2.dataIndex);
- let html = [];
+ const html = [];
sourceName != null && html.push(sourceName);
targetName != null && html.push(targetName);
let htmlStr = encodeHTML(html.join(' > '));
@@ -345,13 +345,13 @@ class GraphSeriesModel extends SeriesModel<GraphSeriesOption> {
}
_updateCategoriesData() {
- let categories = zrUtil.map(this.option.categories || [], function (category) {
+ const categories = zrUtil.map(this.option.categories || [], function (category) {
// Data must has value
return category.value != null ? category : zrUtil.extend({
value: 0
}, category);
});
- let categoriesData = new List(['value'], this);
+ const categoriesData = new List(['value'], this);
categoriesData.initData(categories);
this._categoriesData = categoriesData;
diff --git a/src/chart/graph/GraphView.ts b/src/chart/graph/GraphView.ts
index 269637d..d19fd8a 100644
--- a/src/chart/graph/GraphView.ts
+++ b/src/chart/graph/GraphView.ts
@@ -58,7 +58,7 @@ function getItemOpacity(
item: GraphNode | GraphEdge,
opacityPath: typeof nodeOpacityPath | typeof lineOpacityPath
): number {
- let opacity = item.getVisual('opacity');
+ const opacity = item.getVisual('opacity');
return opacity != null
? opacity : item.getModel<any>().get(opacityPath);
}
@@ -68,7 +68,7 @@ function fadeOutItem(
opacityPath: typeof nodeOpacityPath | typeof lineOpacityPath,
opacityRatio?: number
) {
- let el = item.getGraphicEl() as Symbol; // TODO Symbol?
+ const el = item.getGraphicEl() as Symbol; // TODO Symbol?
let opacity = getItemOpacity(item, opacityPath);
if (opacityRatio != null) {
@@ -92,8 +92,8 @@ function fadeInItem(
item: GraphNode | GraphEdge,
opacityPath: typeof nodeOpacityPath | typeof lineOpacityPath
) {
- let opacity = getItemOpacity(item, opacityPath);
- let el = item.getGraphicEl() as Symbol;
+ const opacity = getItemOpacity(item, opacityPath);
+ const el = item.getGraphicEl() as Symbol;
// Should go back to normal opacity first, consider hoverLayer,
// where current state is copied to elMirror, and support
// emphasis opacity here.
@@ -124,9 +124,9 @@ class GraphView extends ChartView {
private _layouting: boolean;
init(ecModel: GlobalModel, api: ExtensionAPI) {
- let symbolDraw = new SymbolDraw();
- let lineDraw = new LineDraw();
- let group = this.group;
+ const symbolDraw = new SymbolDraw();
+ const lineDraw = new LineDraw();
+ const group = this.group;
this._controller = new RoamController(api.getZr());
this._controllerHost = {
@@ -143,18 +143,18 @@ class GraphView extends ChartView {
}
render(seriesModel: GraphSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let graphView = this;
- let coordSys = seriesModel.coordinateSystem;
+ const graphView = this;
+ const coordSys = seriesModel.coordinateSystem;
this._model = seriesModel;
- let symbolDraw = this._symbolDraw;
- let lineDraw = this._lineDraw;
+ const symbolDraw = this._symbolDraw;
+ const lineDraw = this._lineDraw;
- let group = this.group;
+ const group = this.group;
if (isViewCoordSys(coordSys)) {
- let groupNewProp = {
+ const groupNewProp = {
position: coordSys.position,
scale: coordSys.scale
};
@@ -168,10 +168,10 @@ class GraphView extends ChartView {
// Fix edge contact point with node
adjustEdge(seriesModel.getGraph(), getNodeGlobalScale(seriesModel));
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
symbolDraw.updateData(data);
- let edgeData = seriesModel.getEdgeData();
+ const edgeData = seriesModel.getEdgeData();
lineDraw.updateData(edgeData);
this._updateNodeAndLinkScale();
@@ -179,17 +179,17 @@ class GraphView extends ChartView {
this._updateController(seriesModel, ecModel, api);
clearTimeout(this._layoutTimeout);
- let forceLayout = seriesModel.forceLayout;
- let layoutAnimation = seriesModel.get(['force', 'layoutAnimation']);
+ const forceLayout = seriesModel.forceLayout;
+ const layoutAnimation = seriesModel.get(['force', 'layoutAnimation']);
if (forceLayout) {
this._startForceLayoutIteration(forceLayout, layoutAnimation);
}
data.eachItemGraphicEl((el: Symbol, idx) => {
- let itemModel = data.getItemModel(idx) as Model<GraphNodeItemOption>;
+ const itemModel = data.getItemModel(idx) as Model<GraphNodeItemOption>;
// Update draggable
el.off('drag').off('dragend');
- let draggable = itemModel.get('draggable');
+ const draggable = itemModel.get('draggable');
if (draggable) {
el.on('drag', () => {
if (forceLayout) {
@@ -228,7 +228,7 @@ class GraphView extends ChartView {
});
data.graph.eachEdge(function (edge) {
- let el = edge.getGraphicEl();
+ const el = edge.getGraphicEl();
(el as any)[FOCUS_ADJACENCY] && el.off('mouseover', (el as any)[FOCUS_ADJACENCY]);
(el as any)[UNFOCUS_ADJACENCY] && el.off('mouseout', (el as any)[UNFOCUS_ADJACENCY]);
@@ -248,25 +248,25 @@ class GraphView extends ChartView {
}
});
- let circularRotateLabel = seriesModel.get('layout') === 'circular'
+ const circularRotateLabel = seriesModel.get('layout') === 'circular'
&& seriesModel.get(['circular', 'rotateLabel']);
- let cx = data.getLayout('cx');
- let cy = data.getLayout('cy');
+ const cx = data.getLayout('cx');
+ const cy = data.getLayout('cy');
data.eachItemGraphicEl(function (el: Symbol, idx) {
- let itemModel = data.getItemModel<GraphNodeItemOption>(idx);
+ const itemModel = data.getItemModel<GraphNodeItemOption>(idx);
let labelRotate = itemModel.get(['label', 'rotate']) || 0;
- let symbolPath = el.getSymbolPath();
+ const symbolPath = el.getSymbolPath();
if (circularRotateLabel) {
- let pos = data.getItemLayout(idx);
+ const pos = data.getItemLayout(idx);
let rad = Math.atan2(pos[1] - cy, pos[0] - cx);
if (rad < 0) {
rad = Math.PI * 2 + rad;
}
- let isLeft = pos[0] < cx;
+ const isLeft = pos[0] < cx;
if (isLeft) {
rad = rad - Math.PI;
}
- let textPosition = isLeft ? 'left' as const : 'right' as const;
+ const textPosition = isLeft ? 'left' as const : 'right' as const;
symbolPath.setTextConfig({
rotation: -rad,
@@ -295,7 +295,7 @@ class GraphView extends ChartView {
}
_dispatchUnfocus(api: ExtensionAPI) {
- let self = this;
+ const self = this;
this._clearTimer();
this._unfocusDelayTimer = setTimeout(function () {
self._unfocusDelayTimer = null;
@@ -320,13 +320,13 @@ class GraphView extends ChartView {
api: ExtensionAPI,
payload: FocusNodePayload
) {
- let data = seriesModel.getData();
- let graph = data.graph;
- let dataIndex = payload.dataIndex;
- let edgeDataIndex = payload.edgeDataIndex;
+ const data = seriesModel.getData();
+ const graph = data.graph;
+ const dataIndex = payload.dataIndex;
+ const edgeDataIndex = payload.edgeDataIndex;
- let node = graph.getNodeByIndex(dataIndex);
- let edge = graph.getEdgeByIndex(edgeDataIndex);
+ const node = graph.getNodeByIndex(dataIndex);
+ const edge = graph.getEdgeByIndex(edgeDataIndex);
if (!node && !edge) {
return;
@@ -360,7 +360,7 @@ class GraphView extends ChartView {
unfocusNodeAdjacency(
seriesModel: GraphSeriesModel
) {
- let graph = seriesModel.getData().graph;
+ const graph = seriesModel.getData().graph;
graph.eachNode(function (node) {
fadeOutItem(node, nodeOpacityPath);
@@ -374,7 +374,7 @@ class GraphView extends ChartView {
forceLayout: GraphSeriesModel['forceLayout'],
layoutAnimation?: boolean
) {
- let self = this;
+ const self = this;
(function step() {
forceLayout.step(function (stopped) {
self.updateLayout(self._model);
@@ -392,12 +392,12 @@ class GraphView extends ChartView {
ecModel: GlobalModel,
api: ExtensionAPI
) {
- let controller = this._controller;
- let controllerHost = this._controllerHost;
- let group = this.group;
+ const controller = this._controller;
+ const controllerHost = this._controllerHost;
+ const group = this.group;
controller.setPointerChecker(function (e, x, y) {
- let rect = group.getBoundingRect();
+ const rect = group.getBoundingRect();
rect.applyTransform(group.transform);
return rect.contain(x, y)
&& !onIrrelevantElement(e, api, seriesModel);
@@ -439,11 +439,11 @@ class GraphView extends ChartView {
}
_updateNodeAndLinkScale() {
- let seriesModel = this._model;
- let data = seriesModel.getData();
+ const seriesModel = this._model;
+ const data = seriesModel.getData();
- let nodeScale = getNodeGlobalScale(seriesModel);
- let invScale = [nodeScale, nodeScale];
+ const nodeScale = getNodeGlobalScale(seriesModel);
+ const invScale = [nodeScale, nodeScale];
data.eachItemGraphicEl(function (el, idx) {
el.attr('scale', invScale);
diff --git a/src/chart/graph/adjustEdge.ts b/src/chart/graph/adjustEdge.ts
index 1186ee2..28243ab 100644
--- a/src/chart/graph/adjustEdge.ts
+++ b/src/chart/graph/adjustEdge.ts
@@ -33,19 +33,19 @@ function intersectCurveCircle(
center: number[],
radius: number
) {
- let p0 = curvePoints[0];
- let p1 = curvePoints[1];
- let p2 = curvePoints[2];
+ const p0 = curvePoints[0];
+ const p1 = curvePoints[1];
+ const p2 = curvePoints[2];
let d = Infinity;
let t;
- let radiusSquare = radius * radius;
+ const radiusSquare = radius * radius;
let interval = 0.1;
for (let _t = 0.1; _t <= 0.9; _t += 0.1) {
v1[0] = quadraticAt(p0[0], p1[0], p2[0], _t);
v1[1] = quadraticAt(p0[1], p1[1], p2[1], _t);
- let diff = mathAbs(v2DistSquare(v1, center) - radiusSquare);
+ const diff = mathAbs(v2DistSquare(v1, center) - radiusSquare);
if (diff < d) {
d = diff;
t = _t;
@@ -56,7 +56,7 @@ function intersectCurveCircle(
// At most 32 iteration
for (let i = 0; i < 32; i++) {
// let prev = t - interval;
- let next = t + interval;
+ const next = t + interval;
// v1[0] = quadraticAt(p0[0], p1[0], p2[0], prev);
// v1[1] = quadraticAt(p0[1], p1[1], p2[1], prev);
v2[0] = quadraticAt(p0[0], p1[0], p2[0], t);
@@ -64,13 +64,13 @@ function intersectCurveCircle(
v3[0] = quadraticAt(p0[0], p1[0], p2[0], next);
v3[1] = quadraticAt(p0[1], p1[1], p2[1], next);
- let diff = v2DistSquare(v2, center) - radiusSquare;
+ const diff = v2DistSquare(v2, center) - radiusSquare;
if (mathAbs(diff) < 1e-2) {
break;
}
// let prevDiff = v2DistSquare(v1, center) - radiusSquare;
- let nextDiff = v2DistSquare(v3, center) - radiusSquare;
+ const nextDiff = v2DistSquare(v3, center) - radiusSquare;
interval /= 2;
if (diff < 0) {
@@ -96,17 +96,17 @@ function intersectCurveCircle(
// Adjust edge to avoid
export default function (graph: Graph, scale: number) {
- let tmp0: number[] = [];
- let quadraticSubdivide = curveTool.quadraticSubdivide;
- let pts: number[][] = [[], [], []];
- let pts2: number[][] = [[], []];
- let v: number[] = [];
+ const tmp0: number[] = [];
+ const quadraticSubdivide = curveTool.quadraticSubdivide;
+ const pts: number[][] = [[], [], []];
+ const pts2: number[][] = [[], []];
+ const v: number[] = [];
scale /= 2;
graph.eachEdge(function (edge, idx) {
- let linePoints = edge.getLayout();
- let fromSymbol = edge.getVisual('fromSymbol');
- let toSymbol = edge.getVisual('toSymbol');
+ const linePoints = edge.getLayout();
+ const fromSymbol = edge.getVisual('fromSymbol');
+ const toSymbol = edge.getVisual('toSymbol');
if (!linePoints.__original) {
linePoints.__original = [
@@ -117,16 +117,16 @@ export default function (graph: Graph, scale: number) {
linePoints.__original.push(vec2.clone(linePoints[2]));
}
}
- let originalPoints = linePoints.__original;
+ const originalPoints = linePoints.__original;
// Quadratic curve
if (linePoints[2] != null) {
vec2.copy(pts[0], originalPoints[0]);
vec2.copy(pts[1], originalPoints[2]);
vec2.copy(pts[2], originalPoints[1]);
if (fromSymbol && fromSymbol !== 'none') {
- let symbolSize = getSymbolSize(edge.node1);
+ const symbolSize = getSymbolSize(edge.node1);
- let t = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale);
+ const t = intersectCurveCircle(pts, originalPoints[0], symbolSize * scale);
// Subdivide and get the second
quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);
pts[0][0] = tmp0[3];
@@ -136,9 +136,9 @@ export default function (graph: Graph, scale: number) {
pts[1][1] = tmp0[4];
}
if (toSymbol && toSymbol !== 'none') {
- let symbolSize = getSymbolSize(edge.node2);
+ const symbolSize = getSymbolSize(edge.node2);
- let t = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale);
+ const t = intersectCurveCircle(pts, originalPoints[1], symbolSize * scale);
// Subdivide and get the first
quadraticSubdivide(pts[0][0], pts[1][0], pts[2][0], t, tmp0);
pts[1][0] = tmp0[1];
@@ -161,12 +161,12 @@ export default function (graph: Graph, scale: number) {
vec2.normalize(v, v);
if (fromSymbol && fromSymbol !== 'none') {
- let symbolSize = getSymbolSize(edge.node1);
+ const symbolSize = getSymbolSize(edge.node1);
vec2.scaleAndAdd(pts2[0], pts2[0], v, symbolSize * scale);
}
if (toSymbol && toSymbol !== 'none') {
- let symbolSize = getSymbolSize(edge.node2);
+ const symbolSize = getSymbolSize(edge.node2);
vec2.scaleAndAdd(pts2[1], pts2[1], v, -symbolSize * scale);
}
diff --git a/src/chart/graph/categoryFilter.ts b/src/chart/graph/categoryFilter.ts
index 08916fb..ef477df 100644
--- a/src/chart/graph/categoryFilter.ts
+++ b/src/chart/graph/categoryFilter.ts
@@ -22,21 +22,21 @@ import GraphSeriesModel, { GraphNodeItemOption } from './GraphSeries';
import type LegendModel from '../../component/legend/LegendModel';
export default function (ecModel: GlobalModel) {
- let legendModels = ecModel.findComponents({
+ const legendModels = ecModel.findComponents({
mainType: 'legend'
}) as LegendModel[];
if (!legendModels || !legendModels.length) {
return;
}
ecModel.eachSeriesByType('graph', function (graphSeries: GraphSeriesModel) {
- let categoriesData = graphSeries.getCategoriesData();
- let graph = graphSeries.getGraph();
- let data = graph.data;
+ const categoriesData = graphSeries.getCategoriesData();
+ const graph = graphSeries.getGraph();
+ const data = graph.data;
- let categoryNames = categoriesData.mapArray(categoriesData.getName);
+ const categoryNames = categoriesData.mapArray(categoriesData.getName);
data.filterSelf(function (idx) {
- let model = data.getItemModel<GraphNodeItemOption>(idx);
+ const model = data.getItemModel<GraphNodeItemOption>(idx);
let category = model.getShallow('category');
if (category != null) {
if (typeof category === 'number') {
diff --git a/src/chart/graph/categoryVisual.ts b/src/chart/graph/categoryVisual.ts
index 330e36c..1775d44 100644
--- a/src/chart/graph/categoryVisual.ts
+++ b/src/chart/graph/categoryVisual.ts
@@ -23,32 +23,32 @@ import { Dictionary, ColorString } from '../../util/types';
export default function (ecModel: GlobalModel) {
- let paletteScope: Dictionary<ColorString> = {};
+ const paletteScope: Dictionary<ColorString> = {};
ecModel.eachSeriesByType('graph', function (seriesModel: GraphSeriesModel) {
- let categoriesData = seriesModel.getCategoriesData();
- let data = seriesModel.getData();
+ const categoriesData = seriesModel.getCategoriesData();
+ const data = seriesModel.getData();
- let categoryNameIdxMap: Dictionary<number> = {};
+ const categoryNameIdxMap: Dictionary<number> = {};
categoriesData.each(function (idx) {
- let name = categoriesData.getName(idx);
+ const name = categoriesData.getName(idx);
// Add prefix to avoid conflict with Object.prototype.
categoryNameIdxMap['ec-' + name] = idx;
- let itemModel = categoriesData.getItemModel<GraphNodeItemOption>(idx);
+ const itemModel = categoriesData.getItemModel<GraphNodeItemOption>(idx);
- let color = itemModel.get(['itemStyle', 'color'])
+ const color = itemModel.get(['itemStyle', 'color'])
|| seriesModel.getColorFromPalette(name, paletteScope);
categoriesData.setItemVisual(idx, 'color', color);
- let opacity = itemModel.get(['itemStyle', 'opacity']);
+ const opacity = itemModel.get(['itemStyle', 'opacity']);
if (opacity != null) {
categoriesData.setItemVisual(idx, 'opacity', opacity);
}
- let symbolVisualList = ['symbol', 'symbolSize', 'symbolKeepAspect'] as const;
+ const symbolVisualList = ['symbol', 'symbolSize', 'symbolKeepAspect'] as const;
for (let i = 0; i < symbolVisualList.length; i++) {
- let symbolVisual = itemModel.getShallow(symbolVisualList[i], true);
+ const symbolVisual = itemModel.getShallow(symbolVisualList[i], true);
if (symbolVisual != null) {
categoriesData.setItemVisual(idx, symbolVisualList[i], symbolVisual);
}
@@ -58,14 +58,14 @@ export default function (ecModel: GlobalModel) {
// Assign category color to visual
if (categoriesData.count()) {
data.each(function (idx) {
- let model = data.getItemModel<GraphNodeItemOption>(idx);
+ const model = data.getItemModel<GraphNodeItemOption>(idx);
let category = model.getShallow('category');
if (category != null) {
if (typeof category === 'string') {
category = categoryNameIdxMap['ec-' + category];
}
- let visualList = ['color', 'opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'] as const;
+ const visualList = ['color', 'opacity', 'symbol', 'symbolSize', 'symbolKeepAspect'] as const;
for (let i = 0; i < visualList.length; i++) {
if (data.getItemVisual(idx, visualList[i], true) == null) {
diff --git a/src/chart/graph/circularLayoutHelper.ts b/src/chart/graph/circularLayoutHelper.ts
index 8dc4b1c..4364763 100644
--- a/src/chart/graph/circularLayoutHelper.ts
+++ b/src/chart/graph/circularLayoutHelper.ts
@@ -51,20 +51,20 @@ export function circularLayout(
seriesModel: GraphSeriesModel,
basedOn: 'value' | 'symbolSize'
) {
- let coordSys = seriesModel.coordinateSystem;
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys && coordSys.type !== 'view') {
return;
}
- let rect = coordSys.getBoundingRect();
+ const rect = coordSys.getBoundingRect();
- let nodeData = seriesModel.getData();
- let graph = nodeData.graph;
+ const nodeData = seriesModel.getData();
+ const graph = nodeData.graph;
- let cx = rect.width / 2 + rect.x;
- let cy = rect.height / 2 + rect.y;
- let r = Math.min(rect.width, rect.height) / 2;
- let count = nodeData.count();
+ const cx = rect.width / 2 + rect.x;
+ const cy = rect.height / 2 + rect.y;
+ const r = Math.min(rect.width, rect.height) / 2;
+ const count = nodeData.count();
nodeData.setLayout({
cx: cx,
@@ -79,11 +79,11 @@ export function circularLayout(
graph.eachEdge(function (edge) {
let curveness = edge.getModel<GraphEdgeItemOption>().get(['lineStyle', 'curveness']) || 0;
- let p1 = vec2.clone(edge.node1.getLayout());
- let p2 = vec2.clone(edge.node2.getLayout());
+ const p1 = vec2.clone(edge.node1.getLayout());
+ const p2 = vec2.clone(edge.node2.getLayout());
let cp1;
- let x12 = (p1[0] + p2[0]) / 2;
- let y12 = (p1[1] + p2[1]) / 2;
+ const x12 = (p1[0] + p2[0]) / 2;
+ const y12 = (p1[1] + p2[1]) / 2;
if (+curveness) {
curveness *= 3;
cp1 = [
@@ -111,12 +111,12 @@ const _layoutNodesBasedOn: Record<'value' | 'symbolSize', LayoutNode> = {
value(seriesModel, graph, nodeData, r, cx, cy, count) {
let angle = 0;
- let sum = nodeData.getSum('value');
- let unitAngle = Math.PI * 2 / (sum || count);
+ const sum = nodeData.getSum('value');
+ const unitAngle = Math.PI * 2 / (sum || count);
graph.eachNode(function (node) {
- let value = node.getValue('value') as number;
- let radianHalf = unitAngle * (sum ? value : 1) / 2;
+ const value = node.getValue('value') as number;
+ const radianHalf = unitAngle * (sum ? value : 1) / 2;
angle += radianHalf;
node.setLayout([
@@ -131,7 +131,7 @@ const _layoutNodesBasedOn: Record<'value' | 'symbolSize', LayoutNode> = {
let sumRadian = 0;
_symbolRadiansHalf.length = count;
- let nodeScale = getNodeGlobalScale(seriesModel);
+ const nodeScale = getNodeGlobalScale(seriesModel);
graph.eachNode(function (node) {
let symbolSize = getSymbolSize(node);
@@ -150,11 +150,11 @@ const _layoutNodesBasedOn: Record<'value' | 'symbolSize', LayoutNode> = {
sumRadian += symbolRadianHalf * 2;
});
- let halfRemainRadian = (2 * PI - sumRadian) / count / 2;
+ const halfRemainRadian = (2 * PI - sumRadian) / count / 2;
let angle = 0;
graph.eachNode(function (node) {
- let radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];
+ const radianHalf = halfRemainRadian + _symbolRadiansHalf[node.dataIndex];
angle += radianHalf;
node.setLayout([
diff --git a/src/chart/graph/createView.ts b/src/chart/graph/createView.ts
index 51a942e..213749a 100644
--- a/src/chart/graph/createView.ts
+++ b/src/chart/graph/createView.ts
@@ -27,7 +27,7 @@ import GlobalModel from '../../model/Global';
import { extend } from 'zrender/src/core/util';
function getViewRect(seriesModel: GraphSeriesModel, api: ExtensionAPI, aspect: number) {
- let option = extend(seriesModel.getBoxLayoutParams(), {
+ const option = extend(seriesModel.getBoxLayoutParams(), {
aspect: aspect
});
return getLayoutRect(option, {
@@ -37,14 +37,14 @@ function getViewRect(seriesModel: GraphSeriesModel, api: ExtensionAPI, aspect: n
}
export default function (ecModel: GlobalModel, api: ExtensionAPI) {
- let viewList: View[] = [];
+ const viewList: View[] = [];
ecModel.eachSeriesByType('graph', function (seriesModel: GraphSeriesModel) {
- let coordSysType = seriesModel.get('coordinateSystem');
+ const coordSysType = seriesModel.get('coordinateSystem');
if (!coordSysType || coordSysType === 'view') {
- let data = seriesModel.getData();
- let positions = data.mapArray(function (idx) {
- let itemModel = data.getItemModel<GraphNodeItemOption>(idx);
+ const data = seriesModel.getData();
+ const positions = data.mapArray(function (idx) {
+ const itemModel = data.getItemModel<GraphNodeItemOption>(idx);
return [+itemModel.get('x'), +itemModel.get('y')];
});
@@ -62,22 +62,22 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
max[1] += 1;
min[1] -= 1;
}
- let aspect = (max[0] - min[0]) / (max[1] - min[1]);
+ const aspect = (max[0] - min[0]) / (max[1] - min[1]);
// FIXME If get view rect after data processed?
- let viewRect = getViewRect(seriesModel, api, aspect);
+ const viewRect = getViewRect(seriesModel, api, aspect);
// Position may be NaN, use view rect instead
if (isNaN(aspect)) {
min = [viewRect.x, viewRect.y];
max = [viewRect.x + viewRect.width, viewRect.y + viewRect.height];
}
- let bbWidth = max[0] - min[0];
- let bbHeight = max[1] - min[1];
+ const bbWidth = max[0] - min[0];
+ const bbHeight = max[1] - min[1];
- let viewWidth = viewRect.width;
- let viewHeight = viewRect.height;
+ const viewWidth = viewRect.width;
+ const viewHeight = viewRect.height;
- let viewCoordSys = seriesModel.coordinateSystem = new View();
+ const viewCoordSys = seriesModel.coordinateSystem = new View();
viewCoordSys.zoomLimit = seriesModel.get('scaleLimit');
viewCoordSys.setBoundingRect(
diff --git a/src/chart/graph/edgeVisual.ts b/src/chart/graph/edgeVisual.ts
index 8b78149..85b88ba 100644
--- a/src/chart/graph/edgeVisual.ts
+++ b/src/chart/graph/edgeVisual.ts
@@ -29,13 +29,13 @@ function normalize(a: string | number | (string | number)[]): (string | number)[
export default function (ecModel: GlobalModel) {
ecModel.eachSeriesByType('graph', function (seriesModel: GraphSeriesModel) {
- let graph = seriesModel.getGraph();
- let edgeData = seriesModel.getEdgeData();
- let symbolType = normalize(seriesModel.get('edgeSymbol'));
- let symbolSize = normalize(seriesModel.get('edgeSymbolSize'));
+ const graph = seriesModel.getGraph();
+ const edgeData = seriesModel.getEdgeData();
+ const symbolType = normalize(seriesModel.get('edgeSymbol'));
+ const symbolSize = normalize(seriesModel.get('edgeSymbolSize'));
- let colorQuery = ['lineStyle', 'color'] as const;
- let opacityQuery = ['lineStyle', 'opacity'] as const;
+ const colorQuery = ['lineStyle', 'color'] as const;
+ const opacityQuery = ['lineStyle', 'opacity'] as const;
edgeData.setVisual('fromSymbol', symbolType && symbolType[0]);
edgeData.setVisual('toSymbol', symbolType && symbolType[1]);
@@ -45,13 +45,13 @@ export default function (ecModel: GlobalModel) {
edgeData.setVisual('opacity', seriesModel.get(opacityQuery));
edgeData.each(function (idx) {
- let itemModel = edgeData.getItemModel<GraphEdgeItemOption>(idx);
- let edge = graph.getEdgeByIndex(idx);
- let symbolType = normalize(itemModel.getShallow('symbol', true));
- let symbolSize = normalize(itemModel.getShallow('symbolSize', true));
+ const itemModel = edgeData.getItemModel<GraphEdgeItemOption>(idx);
+ const edge = graph.getEdgeByIndex(idx);
+ const symbolType = normalize(itemModel.getShallow('symbol', true));
+ const symbolSize = normalize(itemModel.getShallow('symbolSize', true));
// Edge visual must after node visual
let color = itemModel.get(colorQuery);
- let opacity = itemModel.get(opacityQuery);
+ const opacity = itemModel.get(opacityQuery);
switch (color) {
case 'source':
color = edge.node1.getVisual('color');
diff --git a/src/chart/graph/forceHelper.ts b/src/chart/graph/forceHelper.ts
index bf5c983..5e83a9b 100644
--- a/src/chart/graph/forceHelper.ts
+++ b/src/chart/graph/forceHelper.ts
@@ -76,14 +76,14 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
inEdges: E[],
opts: LayoutCfg
) {
- let nodes = inNodes as LayoutNode[];
- let edges = inEdges as LayoutEdge[];
- let rect = opts.rect;
- let width = rect.width;
- let height = rect.height;
- let center = [rect.x + width / 2, rect.y + height / 2];
+ const nodes = inNodes as LayoutNode[];
+ const edges = inEdges as LayoutEdge[];
+ const rect = opts.rect;
+ const width = rect.width;
+ const height = rect.height;
+ const center = [rect.x + width / 2, rect.y + height / 2];
// let scale = opts.scale || 1;
- let gravity = opts.gravity == null ? 0.1 : opts.gravity;
+ const gravity = opts.gravity == null ? 0.1 : opts.gravity;
// for (let i = 0; i < edges.length; i++) {
// let e = edges[i];
@@ -96,7 +96,7 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
// }
// Init position
for (let i = 0; i < nodes.length; i++) {
- let n = nodes[i] as LayoutNode;
+ const n = nodes[i] as LayoutNode;
if (!n.p) {
n.p = vec2.create(
width * (Math.random() - 0.5) + center[0],
@@ -111,7 +111,7 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
// let k = scale * Math.sqrt(width * height / nodes.length);
// let k2 = k * k;
- let initialFriction = opts.friction == null ? 0.6 : opts.friction;
+ const initialFriction = opts.friction == null ? 0.6 : opts.friction;
let friction = initialFriction;
let beforeStepCallback: (nodes: N[], edges: E[]) => void;
@@ -152,18 +152,18 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
step: function (cb?: (finished: boolean) => void) {
beforeStepCallback && beforeStepCallback(nodes as N[], edges as E[]);
- let v12: number[] = [];
- let nLen = nodes.length;
+ const v12: number[] = [];
+ const nLen = nodes.length;
for (let i = 0; i < edges.length; i++) {
- let e = edges[i];
+ const e = edges[i];
if (e.ignoreForceLayout) {
continue;
}
- let n1 = e.n1;
- let n2 = e.n2;
+ const n1 = e.n1;
+ const n2 = e.n2;
vec2.sub(v12, n2.p, n1.p);
- let d = vec2.len(v12) - e.d;
+ const d = vec2.len(v12) - e.d;
let w = n2.w / (n1.w + n2.w);
if (isNaN(w)) {
@@ -177,7 +177,7 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
}
// Gravity
for (let i = 0; i < nLen; i++) {
- let n = nodes[i];
+ const n = nodes[i];
if (!n.fixed) {
vec2.sub(v12, center, n.p);
// let d = vec2.len(v12);
@@ -190,9 +190,9 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
// Repulsive
// PENDING
for (let i = 0; i < nLen; i++) {
- let n1 = nodes[i];
+ const n1 = nodes[i];
for (let j = i + 1; j < nLen; j++) {
- let n2 = nodes[j];
+ const n2 = nodes[j];
vec2.sub(v12, n2.p, n1.p);
let d = vec2.len(v12);
if (d === 0) {
@@ -200,14 +200,14 @@ export function forceLayout<N extends InputNode, E extends InputEdge>(
vec2.set(v12, Math.random() - 0.5, Math.random() - 0.5);
d = 1;
}
- let repFact = (n1.rep + n2.rep) / d / d;
+ const repFact = (n1.rep + n2.rep) / d / d;
!n1.fixed && scaleAndAdd(n1.pp, n1.pp, v12, repFact);
!n2.fixed && scaleAndAdd(n2.pp, n2.pp, v12, -repFact);
}
}
- let v: number[] = [];
+ const v: number[] = [];
for (let i = 0; i < nLen; i++) {
- let n = nodes[i];
+ const n = nodes[i];
if (!n.fixed) {
vec2.sub(v, n.p, n.pp);
scaleAndAdd(n.p, n.p, v, friction);
diff --git a/src/chart/graph/forceLayout.ts b/src/chart/graph/forceLayout.ts
index e592821..1fbbed8 100644
--- a/src/chart/graph/forceLayout.ts
+++ b/src/chart/graph/forceLayout.ts
@@ -41,15 +41,15 @@ export default function (ecModel: GlobalModel) {
return;
}
if (graphSeries.get('layout') === 'force') {
- let preservedPoints = graphSeries.preservedPoints || {};
- let graph = graphSeries.getGraph();
- let nodeData = graph.data;
- let edgeData = graph.edgeData;
- let forceModel = graphSeries.getModel('force');
- let initLayout = forceModel.get('initLayout');
+ const preservedPoints = graphSeries.preservedPoints || {};
+ const graph = graphSeries.getGraph();
+ const nodeData = graph.data;
+ const edgeData = graph.edgeData;
+ const forceModel = graphSeries.getModel('force');
+ const initLayout = forceModel.get('initLayout');
if (graphSeries.preservedPoints) {
nodeData.each(function (idx) {
- let id = nodeData.getId(idx);
+ const id = nodeData.getId(idx);
nodeData.setItemLayout(idx, preservedPoints[id] || [NaN, NaN]);
});
}
@@ -60,12 +60,12 @@ export default function (ecModel: GlobalModel) {
circularLayout(graphSeries, 'value');
}
- let nodeDataExtent = nodeData.getDataExtent('value');
- let edgeDataExtent = edgeData.getDataExtent('value');
+ const nodeDataExtent = nodeData.getDataExtent('value');
+ const edgeDataExtent = edgeData.getDataExtent('value');
// let edgeDataExtent = edgeData.getDataExtent('value');
- let repulsion = forceModel.get('repulsion');
- let edgeLength = forceModel.get('edgeLength');
- let repulsionArr = zrUtil.isArray(repulsion)
+ const repulsion = forceModel.get('repulsion');
+ const edgeLength = forceModel.get('edgeLength');
+ const repulsionArr = zrUtil.isArray(repulsion)
? repulsion : [repulsion, repulsion];
let edgeLengthArr = zrUtil.isArray(edgeLength)
? edgeLength : [edgeLength, edgeLength];
@@ -73,8 +73,8 @@ export default function (ecModel: GlobalModel) {
// Larger value has smaller length
edgeLengthArr = [edgeLengthArr[1], edgeLengthArr[0]];
- let nodes = nodeData.mapArray('value', function (value: number, idx) {
- let point = nodeData.getItemLayout(idx) as number[];
+ const nodes = nodeData.mapArray('value', function (value: number, idx) {
+ const point = nodeData.getItemLayout(idx) as number[];
let rep = linearMap(value, nodeDataExtent, repulsionArr);
if (isNaN(rep)) {
rep = (repulsionArr[0] + repulsionArr[1]) / 2;
@@ -86,13 +86,13 @@ export default function (ecModel: GlobalModel) {
p: (!point || isNaN(point[0]) || isNaN(point[1])) ? null : point
};
});
- let edges = edgeData.mapArray('value', function (value: number, idx) {
- let edge = graph.getEdgeByIndex(idx);
+ const edges = edgeData.mapArray('value', function (value: number, idx) {
+ const edge = graph.getEdgeByIndex(idx);
let d = linearMap(value, edgeDataExtent, edgeLengthArr);
if (isNaN(d)) {
d = (edgeLengthArr[0] + edgeLengthArr[1]) / 2;
}
- let edgeModel = edge.getModel<GraphEdgeItemOption>();
+ const edgeModel = edge.getModel<GraphEdgeItemOption>();
return {
n1: nodes[edge.node1.dataIndex],
n2: nodes[edge.node2.dataIndex],
@@ -103,8 +103,8 @@ export default function (ecModel: GlobalModel) {
});
// let coordSys = graphSeries.coordinateSystem;
- let rect = coordSys.getBoundingRect();
- let forceInstance = forceLayout(nodes, edges, {
+ const rect = coordSys.getBoundingRect();
+ const forceInstance = forceLayout(nodes, edges, {
rect: rect,
gravity: forceModel.get('gravity'),
friction: forceModel.get('friction')
@@ -128,10 +128,10 @@ export default function (ecModel: GlobalModel) {
preservedPoints[nodeData.getId(i)] = nodes[i].p;
}
for (let i = 0, l = edges.length; i < l; i++) {
- let e = edges[i];
- let edge = graph.getEdgeByIndex(i);
- let p1 = e.n1.p;
- let p2 = e.n2.p;
+ const e = edges[i];
+ const edge = graph.getEdgeByIndex(i);
+ const p1 = e.n1.p;
+ const p2 = e.n2.p;
let points = edge.getLayout() as number[][];
points = points ? points.slice() : [];
points[0] = points[0] || [];
diff --git a/src/chart/graph/graphAction.ts b/src/chart/graph/graphAction.ts
index d05e716..87350dc 100644
--- a/src/chart/graph/graphAction.ts
+++ b/src/chart/graph/graphAction.ts
@@ -43,9 +43,9 @@ echarts.registerAction(actionInfo, function (payload: RoamPaylod, ecModel: Globa
ecModel.eachComponent({
mainType: 'series', query: payload
}, function (seriesModel: GraphSeriesModel) {
- let coordSys = seriesModel.coordinateSystem as View;
+ const coordSys = seriesModel.coordinateSystem as View;
- let res = updateCenterAndZoom(coordSys, payload);
+ const res = updateCenterAndZoom(coordSys, payload);
seriesModel.setCenter
&& seriesModel.setCenter(res.center);
diff --git a/src/chart/graph/graphHelper.ts b/src/chart/graph/graphHelper.ts
index 39dd954..362ce9d 100644
--- a/src/chart/graph/graphHelper.ts
+++ b/src/chart/graph/graphHelper.ts
@@ -22,18 +22,18 @@ import View from '../../coord/View';
import { GraphNode } from '../../data/Graph';
export function getNodeGlobalScale(seriesModel: GraphSeriesModel) {
- let coordSys = seriesModel.coordinateSystem as View;
+ const coordSys = seriesModel.coordinateSystem as View;
if (coordSys.type !== 'view') {
return 1;
}
- let nodeScaleRatio = seriesModel.option.nodeScaleRatio;
+ const nodeScaleRatio = seriesModel.option.nodeScaleRatio;
- let groupScale = coordSys.scale;
- let groupZoom = (groupScale && groupScale[0]) || 1;
+ const groupScale = coordSys.scale;
+ const groupZoom = (groupScale && groupScale[0]) || 1;
// Scale node when zoom changes
- let roamZoom = coordSys.getZoom();
- let nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
+ const roamZoom = coordSys.getZoom();
+ const nodeScale = (roamZoom - 1) * nodeScaleRatio + 1;
return nodeScale / groupZoom;
}
diff --git a/src/chart/graph/simpleLayout.ts b/src/chart/graph/simpleLayout.ts
index 4c83925..d947f96 100644
--- a/src/chart/graph/simpleLayout.ts
+++ b/src/chart/graph/simpleLayout.ts
@@ -25,10 +25,10 @@ import GraphSeriesModel from './GraphSeries';
export default function (ecModel: GlobalModel, api: ExtensionAPI) {
ecModel.eachSeriesByType('graph', function (seriesModel: GraphSeriesModel) {
- let layout = seriesModel.get('layout');
- let coordSys = seriesModel.coordinateSystem;
+ const layout = seriesModel.get('layout');
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys && coordSys.type !== 'view') {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
let dimensions: string[] = [];
each(coordSys.dimensions, function (coordDim) {
@@ -36,10 +36,10 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
});
for (let dataIndex = 0; dataIndex < data.count(); dataIndex++) {
- let value = [];
+ const value = [];
let hasValue = false;
for (let i = 0; i < dimensions.length; i++) {
- let val = data.get(dimensions[i], dataIndex) as number;
+ const val = data.get(dimensions[i], dataIndex) as number;
if (!isNaN(val)) {
hasValue = true;
}
diff --git a/src/chart/graph/simpleLayoutHelper.ts b/src/chart/graph/simpleLayoutHelper.ts
index d00fbb7..723f153 100644
--- a/src/chart/graph/simpleLayoutHelper.ts
+++ b/src/chart/graph/simpleLayoutHelper.ts
@@ -22,14 +22,14 @@ import GraphSeriesModel, { GraphNodeItemOption, GraphEdgeItemOption } from './Gr
import Graph from '../../data/Graph';
export function simpleLayout(seriesModel: GraphSeriesModel) {
- let coordSys = seriesModel.coordinateSystem;
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys && coordSys.type !== 'view') {
return;
}
- let graph = seriesModel.getGraph();
+ const graph = seriesModel.getGraph();
graph.eachNode(function (node) {
- let model = node.getModel<GraphNodeItemOption>();
+ const model = node.getModel<GraphNodeItemOption>();
node.setLayout([+model.get('x'), +model.get('y')]);
});
@@ -38,10 +38,10 @@ export function simpleLayout(seriesModel: GraphSeriesModel) {
export function simpleLayoutEdge(graph: Graph) {
graph.eachEdge(function (edge, idx) {
- let curveness = edge.getModel<GraphEdgeItemOption>().get(['lineStyle', 'curveness']) || 0;
- let p1 = vec2.clone(edge.node1.getLayout());
- let p2 = vec2.clone(edge.node2.getLayout());
- let points = [p1, p2];
+ const curveness = edge.getModel<GraphEdgeItemOption>().get(['lineStyle', 'curveness']) || 0;
+ const p1 = vec2.clone(edge.node1.getLayout());
+ const p2 = vec2.clone(edge.node2.getLayout());
+ const points = [p1, p2];
if (+curveness) {
points.push([
(p1[0] + p2[0]) / 2 - (p1[1] - p2[1]) * curveness,
diff --git a/src/chart/heatmap/HeatmapLayer.ts b/src/chart/heatmap/HeatmapLayer.ts
index 62e842e..f851301 100644
--- a/src/chart/heatmap/HeatmapLayer.ts
+++ b/src/chart/heatmap/HeatmapLayer.ts
@@ -43,7 +43,7 @@ class HeatmapLayer {
};
constructor() {
- let canvas = zrUtil.createCanvas();
+ const canvas = zrUtil.createCanvas();
this.canvas = canvas;
}
@@ -61,24 +61,24 @@ class HeatmapLayer {
colorFunc: Record<ColorState, ColorFunc>,
isInRange?: (grad?: number) => boolean
) {
- let brush = this._getBrush();
- let gradientInRange = this._getGradient(colorFunc, 'inRange');
- let gradientOutOfRange = this._getGradient(colorFunc, 'outOfRange');
- let r = this.pointSize + this.blurSize;
-
- let canvas = this.canvas;
- let ctx = canvas.getContext('2d');
- let len = data.length;
+ const brush = this._getBrush();
+ const gradientInRange = this._getGradient(colorFunc, 'inRange');
+ const gradientOutOfRange = this._getGradient(colorFunc, 'outOfRange');
+ const r = this.pointSize + this.blurSize;
+
+ const canvas = this.canvas;
+ const ctx = canvas.getContext('2d');
+ const len = data.length;
canvas.width = width;
canvas.height = height;
for (let i = 0; i < len; ++i) {
- let p = data[i];
- let x = p[0];
- let y = p[1];
- let value = p[2];
+ const p = data[i];
+ const x = p[0];
+ const y = p[1];
+ const value = p[2];
// calculate alpha using value
- let alpha = normalize(value);
+ const alpha = normalize(value);
// draw with the circle brush with alpha
ctx.globalAlpha = alpha;
@@ -92,21 +92,21 @@ class HeatmapLayer {
}
// colorize the canvas using alpha value and set with gradient
- let imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+ const imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
- let pixels = imageData.data;
+ const pixels = imageData.data;
let offset = 0;
- let pixelLen = pixels.length;
- let minOpacity = this.minOpacity;
- let maxOpacity = this.maxOpacity;
- let diffOpacity = maxOpacity - minOpacity;
+ const pixelLen = pixels.length;
+ const minOpacity = this.minOpacity;
+ const maxOpacity = this.maxOpacity;
+ const diffOpacity = maxOpacity - minOpacity;
while (offset < pixelLen) {
let alpha = pixels[offset + 3] / 256;
- let gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4;
+ const gradientOffset = Math.floor(alpha * (GRADIENT_LEVELS - 1)) * 4;
// Simple optimize to ignore the empty data
if (alpha > 0) {
- let gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange;
+ const gradient = isInRange(alpha) ? gradientInRange : gradientOutOfRange;
// Any alpha > 0 will be mapped to [minOpacity, maxOpacity]
alpha > 0 && (alpha = alpha * diffOpacity + minOpacity);
pixels[offset++] = gradient[gradientOffset];
@@ -127,14 +127,14 @@ class HeatmapLayer {
* get canvas of a black circle brush used for canvas to draw later
*/
_getBrush() {
- let brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil.createCanvas());
+ const brushCanvas = this._brushCanvas || (this._brushCanvas = zrUtil.createCanvas());
// set brush size
- let r = this.pointSize + this.blurSize;
- let d = r * 2;
+ const r = this.pointSize + this.blurSize;
+ const d = r * 2;
brushCanvas.width = d;
brushCanvas.height = d;
- let ctx = brushCanvas.getContext('2d');
+ const ctx = brushCanvas.getContext('2d');
ctx.clearRect(0, 0, d, d);
// in order to render shadow without the distinct circle,
@@ -159,9 +159,9 @@ class HeatmapLayer {
* @private
*/
_getGradient(colorFunc: Record<ColorState, ColorFunc>, state: ColorState) {
- let gradientPixels = this._gradientPixels;
- let pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));
- let color = [0, 0, 0, 0];
+ const gradientPixels = this._gradientPixels;
+ const pixelsSingleState = gradientPixels[state] || (gradientPixels[state] = new Uint8ClampedArray(256 * 4));
+ const color = [0, 0, 0, 0];
let off = 0;
for (let i = 0; i < 256; i++) {
colorFunc[state](i / 255, true, color);
diff --git a/src/chart/heatmap/HeatmapSeries.ts b/src/chart/heatmap/HeatmapSeries.ts
index 8123877..0cfe55f 100644
--- a/src/chart/heatmap/HeatmapSeries.ts
+++ b/src/chart/heatmap/HeatmapSeries.ts
@@ -87,7 +87,7 @@ class HeatmapSeriesModel extends SeriesModel<HeatmapSeriesOption> {
}
preventIncremental() {
- let coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));
+ const coordSysCreator = CoordinateSystem.get(this.get('coordinateSystem'));
if (coordSysCreator && coordSysCreator.dimensions) {
return coordSysCreator.dimensions[0] === 'lng' && coordSysCreator.dimensions[1] === 'lat';
}
diff --git a/src/chart/heatmap/HeatmapView.ts b/src/chart/heatmap/HeatmapView.ts
index cd11208..ed96906 100644
--- a/src/chart/heatmap/HeatmapView.ts
+++ b/src/chart/heatmap/HeatmapView.ts
@@ -44,7 +44,7 @@ function getIsInPiecewiseRange(
pieceList: ReturnType<PiecewiseModel['getPieceList']>,
selected: Dictionary<boolean>
) {
- let dataSpan = dataExtent[1] - dataExtent[0];
+ const dataSpan = dataExtent[1] - dataExtent[0];
pieceList = zrUtil.map(pieceList, function (piece) {
return {
interval: [
@@ -53,14 +53,14 @@ function getIsInPiecewiseRange(
]
};
});
- let len = pieceList.length;
+ const len = pieceList.length;
let lastIndex = 0;
return function (val: number) {
let i;
// Try to find in the location of the last found
for (i = lastIndex; i < len; i++) {
- let interval = pieceList[i].interval;
+ const interval = pieceList[i].interval;
if (interval[0] <= val && val <= interval[1]) {
lastIndex = i;
break;
@@ -68,7 +68,7 @@ function getIsInPiecewiseRange(
}
if (i === len) { // Not found, back interation
for (i = lastIndex - 1; i >= 0; i--) {
- let interval = pieceList[i].interval;
+ const interval = pieceList[i].interval;
if (interval[0] <= val && val <= interval[1]) {
lastIndex = i;
break;
@@ -80,7 +80,7 @@ function getIsInPiecewiseRange(
}
function getIsInContinuousRange(dataExtent: number[], range: number[]) {
- let dataSpan = dataExtent[1] - dataExtent[0];
+ const dataSpan = dataExtent[1] - dataExtent[0];
range = [
(range[0] - dataExtent[0]) / dataSpan,
(range[1] - dataExtent[0]) / dataSpan
@@ -91,7 +91,7 @@ function getIsInContinuousRange(dataExtent: number[], range: number[]) {
}
function isGeoCoordSys(coordSys: CoordinateSystem): coordSys is GeoLikeCoordSys {
- let dimensions = coordSys.dimensions;
+ const dimensions = coordSys.dimensions;
// Not use coorSys.type === 'geo' because coordSys maybe extended
return dimensions[0] === 'lng' && dimensions[1] === 'lat';
}
@@ -125,7 +125,7 @@ class HeatmapView extends ChartView {
this._incrementalDisplayable = null;
- let coordSys = seriesModel.coordinateSystem;
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys.type === 'cartesian2d' || coordSys.type === 'calendar') {
this._renderOnCartesianAndCalendar(seriesModel, api, 0, seriesModel.getData().count());
}
@@ -146,7 +146,7 @@ class HeatmapView extends ChartView {
ecModel: GlobalModel,
api: ExtensionAPI
) {
- let coordSys = seriesModel.coordinateSystem;
+ const coordSys = seriesModel.coordinateSystem;
if (coordSys) {
this._renderOnCartesianAndCalendar(seriesModel, api, params.start, params.end, true);
}
@@ -160,13 +160,13 @@ class HeatmapView extends ChartView {
incremental?: boolean
) {
- let coordSys = seriesModel.coordinateSystem as Cartesian2D | Calendar;
+ const coordSys = seriesModel.coordinateSystem as Cartesian2D | Calendar;
let width;
let height;
if (isCoordinateSystemType<Cartesian2D>(coordSys, 'cartesian2d')) {
- let xAxis = coordSys.getAxis('x');
- let yAxis = coordSys.getAxis('y');
+ const xAxis = coordSys.getAxis('x');
+ const yAxis = coordSys.getAxis('y');
if (__DEV__) {
if (!(xAxis.type === 'category' && yAxis.type === 'category')) {
@@ -181,15 +181,15 @@ class HeatmapView extends ChartView {
height = yAxis.getBandWidth();
}
- let group = this.group;
- let data = seriesModel.getData();
+ const group = this.group;
+ const data = seriesModel.getData();
let style = seriesModel.getModel('itemStyle').getItemStyle(['color']);
let hoverStl = seriesModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
let labelModel = seriesModel.getModel('label');
let hoverLabelModel = seriesModel.getModel(['emphasis', 'label']);
- let dataDims = isCoordinateSystemType<Cartesian2D>(coordSys, 'cartesian2d')
+ const dataDims = isCoordinateSystemType<Cartesian2D>(coordSys, 'cartesian2d')
? [
data.mapDimension('x'),
data.mapDimension('y'),
@@ -209,7 +209,7 @@ class HeatmapView extends ChartView {
continue;
}
- let point = coordSys.dataToPoint([
+ const point = coordSys.dataToPoint([
data.get(dataDims[0], idx),
data.get(dataDims[1], idx)
]);
@@ -243,7 +243,7 @@ class HeatmapView extends ChartView {
});
}
- let itemModel = data.getItemModel<HeatmapDataItemOption>(idx);
+ const itemModel = data.getItemModel<HeatmapDataItemOption>(idx);
// Optimization for large datset
if (data.hasItemOption) {
@@ -253,7 +253,7 @@ class HeatmapView extends ChartView {
hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
}
- let rawValue = seriesModel.getRawValue(idx) as OptionDataValue[];
+ const rawValue = seriesModel.getRawValue(idx) as OptionDataValue[];
let defaultText = '-';
if (rawValue && rawValue[2] != null) {
defaultText = rawValue[2] + '';
@@ -289,47 +289,47 @@ class HeatmapView extends ChartView {
visualMapModel: VisualMapModel,
api: ExtensionAPI
) {
- let inRangeVisuals = visualMapModel.targetVisuals.inRange;
- let outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange;
+ const inRangeVisuals = visualMapModel.targetVisuals.inRange;
+ const outOfRangeVisuals = visualMapModel.targetVisuals.outOfRange;
// if (!visualMapping) {
// throw new Error('Data range must have color visuals');
// }
- let data = seriesModel.getData();
- let hmLayer = this._hmLayer || (this._hmLayer || new HeatmapLayer());
+ const data = seriesModel.getData();
+ const hmLayer = this._hmLayer || (this._hmLayer || new HeatmapLayer());
hmLayer.blurSize = seriesModel.get('blurSize');
hmLayer.pointSize = seriesModel.get('pointSize');
hmLayer.minOpacity = seriesModel.get('minOpacity');
hmLayer.maxOpacity = seriesModel.get('maxOpacity');
- let rect = geo.getViewRect().clone();
- let roamTransform = geo.getRoamTransform();
+ const rect = geo.getViewRect().clone();
+ const roamTransform = geo.getRoamTransform();
rect.applyTransform(roamTransform);
// Clamp on viewport
- let x = Math.max(rect.x, 0);
- let y = Math.max(rect.y, 0);
- let x2 = Math.min(rect.width + rect.x, api.getWidth());
- let y2 = Math.min(rect.height + rect.y, api.getHeight());
- let width = x2 - x;
- let height = y2 - y;
-
- let dims = [
+ const x = Math.max(rect.x, 0);
+ const y = Math.max(rect.y, 0);
+ const x2 = Math.min(rect.width + rect.x, api.getWidth());
+ const y2 = Math.min(rect.height + rect.y, api.getHeight());
+ const width = x2 - x;
+ const height = y2 - y;
+
+ const dims = [
data.mapDimension('lng'),
data.mapDimension('lat'),
data.mapDimension('value')
];
- let points = data.mapArray(dims, function (lng: number, lat: number, value: number) {
- let pt = geo.dataToPoint([lng, lat]);
+ const points = data.mapArray(dims, function (lng: number, lat: number, value: number) {
+ const pt = geo.dataToPoint([lng, lat]);
pt[0] -= x;
pt[1] -= y;
pt.push(value);
return pt;
});
- let dataExtent = visualMapModel.getExtent();
- let isInRange = visualMapModel.type === 'visualMap.continuous'
+ const dataExtent = visualMapModel.getExtent();
+ const isInRange = visualMapModel.type === 'visualMap.continuous'
? getIsInContinuousRange(dataExtent, (visualMapModel as ContinuousModel).option.range)
: getIsInPiecewiseRange(
dataExtent,
@@ -346,7 +346,7 @@ class HeatmapView extends ChartView {
},
isInRange
);
- let img = new graphic.Image({
+ const img = new graphic.Image({
style: {
width: width,
height: height,
diff --git a/src/chart/helper/EffectLine.ts b/src/chart/helper/EffectLine.ts
index 81b758c..65e555f 100644
--- a/src/chart/helper/EffectLine.ts
+++ b/src/chart/helper/EffectLine.ts
@@ -60,14 +60,14 @@ class EffectLine extends graphic.Group {
}
_updateEffectSymbol(lineData: List, idx: number) {
- let itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
- let effectModel = itemModel.getModel('effect');
+ const itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
+ const effectModel = itemModel.getModel('effect');
let size = effectModel.get('symbolSize');
- let symbolType = effectModel.get('symbol');
+ const symbolType = effectModel.get('symbol');
if (!zrUtil.isArray(size)) {
size = [size, size];
}
- let color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');
+ const color = effectModel.get('color') || lineData.getItemVisual(idx, 'color');
let symbol = this.childAt(1) as ECSymbolOnEffectLine;
if (this._symbolType !== symbolType) {
@@ -109,19 +109,19 @@ class EffectLine extends graphic.Group {
idx: number
) {
- let symbol = this.childAt(1) as ECSymbolOnEffectLine;
+ const symbol = this.childAt(1) as ECSymbolOnEffectLine;
if (!symbol) {
return;
}
- let self = this;
+ const self = this;
- let points = lineData.getItemLayout(idx);
+ const points = lineData.getItemLayout(idx);
let period = effectModel.get('period') * 1000;
- let loop = effectModel.get('loop');
- let constantSpeed = effectModel.get('constantSpeed');
- let delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {
+ const loop = effectModel.get('loop');
+ const constantSpeed = effectModel.get('constantSpeed');
+ const delayExpr = zrUtil.retrieve(effectModel.get('delay'), function (idx) {
return idx / lineData.count() * period / 3;
});
@@ -149,7 +149,7 @@ class EffectLine extends graphic.Group {
delayNum = -period * symbol.__t;
}
symbol.__t = 0;
- let animator = symbol.animate('', loop)
+ const animator = symbol.animate('', loop)
.when(period, {
__t: 1
})
@@ -190,26 +190,26 @@ class EffectLine extends graphic.Group {
}
updateSymbolPosition(symbol: ECSymbolOnEffectLine) {
- let p1 = symbol.__p1;
- let p2 = symbol.__p2;
- let cp1 = symbol.__cp1;
- let t = symbol.__t;
- let pos = symbol.position;
- let lastPos = [pos[0], pos[1]];
- let quadraticAt = curveUtil.quadraticAt;
- let quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;
+ const p1 = symbol.__p1;
+ const p2 = symbol.__p2;
+ const cp1 = symbol.__cp1;
+ const t = symbol.__t;
+ const pos = symbol.position;
+ const lastPos = [pos[0], pos[1]];
+ const quadraticAt = curveUtil.quadraticAt;
+ const quadraticDerivativeAt = curveUtil.quadraticDerivativeAt;
pos[0] = quadraticAt(p1[0], cp1[0], p2[0], t);
pos[1] = quadraticAt(p1[1], cp1[1], p2[1], t);
// Tangent
- let tx = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);
- let ty = quadraticDerivativeAt(p1[1], cp1[1], p2[1], t);
+ const tx = quadraticDerivativeAt(p1[0], cp1[0], p2[0], t);
+ const ty = quadraticDerivativeAt(p1[1], cp1[1], p2[1], t);
symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
// enable continuity trail for 'line', 'rect', 'roundRect' symbolType
if (this._symbolType === 'line' || this._symbolType === 'rect' || this._symbolType === 'roundRect') {
if (symbol.__lastT !== undefined && symbol.__lastT < symbol.__t) {
- let scaleY = vec2.dist(lastPos, pos) * 1.05;
+ const scaleY = vec2.dist(lastPos, pos) * 1.05;
symbol.attr('scale', [symbol.scale[0], scaleY]);
// make sure the last segment render within endPoint
if (t === 1) {
@@ -219,7 +219,7 @@ class EffectLine extends graphic.Group {
}
else if (symbol.__lastT === 1) {
// After first loop, symbol.__t does NOT start with 0, so connect p1 to pos directly.
- let scaleY = 2 * vec2.dist(p1, pos);
+ const scaleY = 2 * vec2.dist(p1, pos);
symbol.attr('scale', [symbol.scale[0], scaleY ]);
}
else {
@@ -234,7 +234,7 @@ class EffectLine extends graphic.Group {
updateLayout(lineData: List, idx: number) {
(this.childAt(0) as Line).updateLayout(lineData, idx);
- let effectModel = lineData.getItemModel<LineDrawModelOption>(idx).getModel('effect');
+ const effectModel = lineData.getItemModel<LineDrawModelOption>(idx).getModel('effect');
this._updateEffectAnimation(lineData, effectModel, idx);
}
}
diff --git a/src/chart/helper/EffectPolyline.ts b/src/chart/helper/EffectPolyline.ts
index c31dae4..11ad927 100644
--- a/src/chart/helper/EffectPolyline.ts
+++ b/src/chart/helper/EffectPolyline.ts
@@ -40,11 +40,11 @@ class EffectPolyline extends EffectLine {
// Override
protected updateAnimationPoints(symbol: ECSymbolOnEffectLine, points: number[][]) {
this._points = points;
- let accLenArr = [0];
+ const accLenArr = [0];
let len = 0;
for (let i = 1; i < points.length; i++) {
- let p1 = points[i - 1];
- let p2 = points[i];
+ const p1 = points[i - 1];
+ const p2 = points[i];
len += vec2.dist(p1, p2);
accLenArr.push(len);
}
@@ -66,23 +66,23 @@ class EffectPolyline extends EffectLine {
// Override
updateSymbolPosition(symbol: ECSymbolOnEffectLine) {
- let t = symbol.__t;
- let points = this._points;
- let offsets = this._offsets;
- let len = points.length;
+ const t = symbol.__t;
+ const points = this._points;
+ const offsets = this._offsets;
+ const len = points.length;
if (!offsets) {
// Has length 0
return;
}
- let lastFrame = this._lastFrame;
+ const lastFrame = this._lastFrame;
let frame: number;
if (t < this._lastFramePercent) {
// Start from the next frame
// PENDING start from lastFrame ?
- let start = Math.min(lastFrame + 1, len - 1);
+ const start = Math.min(lastFrame + 1, len - 1);
for (frame = start; frame >= 0; frame--) {
if (offsets[frame] <= t) {
break;
@@ -105,8 +105,8 @@ class EffectPolyline extends EffectLine {
(t - offsets[frame]) / (offsets[frame + 1] - offsets[frame])
);
- let tx = points[frame + 1][0] - points[frame][0];
- let ty = points[frame + 1][1] - points[frame][1];
+ const tx = points[frame + 1][0] - points[frame][0];
+ const ty = points[frame + 1][1] - points[frame][1];
symbol.rotation = -Math.atan2(ty, tx) - Math.PI / 2;
this._lastFrame = frame;
diff --git a/src/chart/helper/EffectSymbol.ts b/src/chart/helper/EffectSymbol.ts
index 3edab7c..4abf1de 100644
--- a/src/chart/helper/EffectSymbol.ts
+++ b/src/chart/helper/EffectSymbol.ts
@@ -50,7 +50,7 @@ function normalizeSymbolSize(symbolSize: number | number[]): number[] {
}
function updateRipplePath(rippleGroup: Group, effectCfg: RippleEffectCfg) {
- let color = effectCfg.rippleEffectColor || effectCfg.color;
+ const color = effectCfg.rippleEffectColor || effectCfg.color;
rippleGroup.eachChild(function (ripplePath: Displayable) {
ripplePath.attr({
z: effectCfg.z,
@@ -70,8 +70,8 @@ class EffectSymbol extends Group {
constructor(data: List, idx: number) {
super();
- let symbol = new SymbolClz(data, idx);
- let rippleGroup = new Group();
+ const symbol = new SymbolClz(data, idx);
+ const rippleGroup = new Group();
this.add(symbol);
this.add(rippleGroup);
@@ -84,15 +84,15 @@ class EffectSymbol extends Group {
}
startEffectAnimation(effectCfg: RippleEffectCfg) {
- let symbolType = effectCfg.symbolType;
- let color = effectCfg.color;
- let rippleGroup = this.childAt(1) as Group;
+ const symbolType = effectCfg.symbolType;
+ const color = effectCfg.color;
+ const rippleGroup = this.childAt(1) as Group;
for (let i = 0; i < EFFECT_RIPPLE_NUMBER; i++) {
// If width/height are set too small (e.g., set to 1) on ios10
// and macOS Sierra, a circle stroke become a rect, no matter what
// the scale is set. So we set width/height as 2. See #4136.
- let ripplePath = createSymbol(
+ const ripplePath = createSymbol(
symbolType, -1, -1, 2, 2, color
);
ripplePath.attr({
@@ -104,7 +104,7 @@ class EffectSymbol extends Group {
scale: [0.5, 0.5]
});
- let delay = -i / EFFECT_RIPPLE_NUMBER * effectCfg.period + effectCfg.effectOffset;
+ const delay = -i / EFFECT_RIPPLE_NUMBER * effectCfg.period + effectCfg.effectOffset;
// TODO Configurable effectCfg.period
ripplePath.animate('', true)
.when(effectCfg.period, {
@@ -129,13 +129,13 @@ class EffectSymbol extends Group {
* Update effect symbol
*/
updateEffectAnimation(effectCfg: RippleEffectCfg) {
- let oldEffectCfg = this._effectCfg;
- let rippleGroup = this.childAt(1) as Group;
+ const oldEffectCfg = this._effectCfg;
+ const rippleGroup = this.childAt(1) as Group;
// Must reinitialize effect if following configuration changed
- let DIFFICULT_PROPS = ['symbolType', 'period', 'rippleScale'] as const;
+ const DIFFICULT_PROPS = ['symbolType', 'period', 'rippleScale'] as const;
for (let i = 0; i < DIFFICULT_PROPS.length; i++) {
- let propName = DIFFICULT_PROPS[i];
+ const propName = DIFFICULT_PROPS[i];
if (oldEffectCfg[propName] !== effectCfg[propName]) {
this.stopEffectAnimation();
this.startEffectAnimation(effectCfg);
@@ -164,15 +164,15 @@ class EffectSymbol extends Group {
* Update symbol properties
*/
updateData(data: List, idx: number) {
- let seriesModel = data.hostModel;
+ const seriesModel = data.hostModel;
(this.childAt(0) as SymbolClz).updateData(data, idx);
- let rippleGroup = this.childAt(1);
- let itemModel = data.getItemModel<SymbolDrawItemModelOption>(idx);
- let symbolType = data.getItemVisual(idx, 'symbol');
- let symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));
- let color = data.getItemVisual(idx, 'color');
+ const rippleGroup = this.childAt(1);
+ const itemModel = data.getItemModel<SymbolDrawItemModelOption>(idx);
+ const symbolType = data.getItemVisual(idx, 'symbol');
+ const symbolSize = normalizeSymbolSize(data.getItemVisual(idx, 'symbolSize'));
+ const color = data.getItemVisual(idx, 'color');
rippleGroup.attr('scale', symbolSize);
@@ -180,15 +180,15 @@ class EffectSymbol extends Group {
ripplePath.setStyle('fill', color);
});
- let symbolOffset = itemModel.getShallow('symbolOffset');
+ const symbolOffset = itemModel.getShallow('symbolOffset');
if (symbolOffset) {
- let pos = rippleGroup.position;
+ const pos = rippleGroup.position;
pos[0] = parsePercent(symbolOffset[0], symbolSize[0]);
pos[1] = parsePercent(symbolOffset[1], symbolSize[1]);
}
rippleGroup.rotation = (itemModel.getShallow('symbolRotate') || 0) * Math.PI / 180 || 0;
- let effectCfg: RippleEffectCfg = {};
+ const effectCfg: RippleEffectCfg = {};
effectCfg.showEffectOn = seriesModel.get('showEffectOn');
effectCfg.rippleScale = itemModel.get(['rippleEffect', 'scale']);
@@ -215,14 +215,14 @@ class EffectSymbol extends Group {
this._effectCfg = null;
this.stopEffectAnimation();
- let symbol = this.childAt(0) as SymbolClz;
- let onEmphasis = function (this: EffectSymbol) {
+ const symbol = this.childAt(0) as SymbolClz;
+ const onEmphasis = function (this: EffectSymbol) {
symbol.highlight();
if (effectCfg.showEffectOn !== 'render') {
this.startEffectAnimation(effectCfg);
}
};
- let onNormal = function (this: EffectSymbol) {
+ const onNormal = function (this: EffectSymbol) {
symbol.downplay();
if (effectCfg.showEffectOn !== 'render') {
this.stopEffectAnimation();
diff --git a/src/chart/helper/LargeLineDraw.ts b/src/chart/helper/LargeLineDraw.ts
index 8d5d061..761a21f 100644
--- a/src/chart/helper/LargeLineDraw.ts
+++ b/src/chart/helper/LargeLineDraw.ts
@@ -73,12 +73,12 @@ class LargeLinesPath extends graphic.Path {
}
buildPath(ctx: CanvasRenderingContext2D, shape: LargeLinesPathShape) {
- let segs = shape.segs;
- let curveness = shape.curveness;
+ const segs = shape.segs;
+ const curveness = shape.curveness;
if (shape.polyline) {
for (let i = 0; i < segs.length;) {
- let count = segs[i++];
+ const count = segs[i++];
if (count > 0) {
ctx.moveTo(segs[i++], segs[i++]);
for (let k = 1; k < count; k++) {
@@ -89,14 +89,14 @@ class LargeLinesPath extends graphic.Path {
}
else {
for (let i = 0; i < segs.length;) {
- let x0 = segs[i++];
- let y0 = segs[i++];
- let x1 = segs[i++];
- let y1 = segs[i++];
+ const x0 = segs[i++];
+ const y0 = segs[i++];
+ const x1 = segs[i++];
+ const y1 = segs[i++];
ctx.moveTo(x0, y0);
if (curveness > 0) {
- let x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
- let y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+ const x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+ const y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
ctx.quadraticCurveTo(x2, y2, x1, y1);
}
else {
@@ -108,21 +108,21 @@ class LargeLinesPath extends graphic.Path {
findDataIndex(x: number, y: number) {
- let shape = this.shape;
- let segs = shape.segs;
- let curveness = shape.curveness;
- let lineWidth = this.style.lineWidth;
+ const shape = this.shape;
+ const segs = shape.segs;
+ const curveness = shape.curveness;
+ const lineWidth = this.style.lineWidth;
if (shape.polyline) {
let dataIndex = 0;
for (let i = 0; i < segs.length;) {
- let count = segs[i++];
+ const count = segs[i++];
if (count > 0) {
- let x0 = segs[i++];
- let y0 = segs[i++];
+ const x0 = segs[i++];
+ const y0 = segs[i++];
for (let k = 1; k < count; k++) {
- let x1 = segs[i++];
- let y1 = segs[i++];
+ const x1 = segs[i++];
+ const y1 = segs[i++];
if (lineContain.containStroke(x0, y0, x1, y1, lineWidth, x, y)) {
return dataIndex;
}
@@ -135,13 +135,13 @@ class LargeLinesPath extends graphic.Path {
else {
let dataIndex = 0;
for (let i = 0; i < segs.length;) {
- let x0 = segs[i++];
- let y0 = segs[i++];
- let x1 = segs[i++];
- let y1 = segs[i++];
+ const x0 = segs[i++];
+ const y0 = segs[i++];
+ const x1 = segs[i++];
+ const y1 = segs[i++];
if (curveness > 0) {
- let x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
- let y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
+ const x2 = (x0 + x1) / 2 - (y0 - y1) * curveness;
+ const y2 = (y0 + y1) / 2 - (x1 - x0) * curveness;
if (quadraticContain.containStroke(
x0, y0, x2, y2, x1, y1, lineWidth, x, y
@@ -180,7 +180,7 @@ class LargeLineDraw {
updateData(data: LargeLinesData) {
this.group.removeAll();
- let lineEl = new LargeLinesPath({
+ const lineEl = new LargeLinesPath({
rectHover: true,
cursor: 'default'
});
@@ -221,7 +221,7 @@ class LargeLineDraw {
* @override
*/
incrementalUpdate(taskParams: StageHandlerProgressParams, data: LargeLinesData) {
- let lineEl = new LargeLinesPath();
+ const lineEl = new LargeLinesPath();
lineEl.setShape({
segs: data.getLayout('linesPoints')
});
@@ -249,7 +249,7 @@ class LargeLineDraw {
};
_setCommon(lineEl: LargeLinesPath, data: LargeLinesData, isIncremental?: boolean) {
- let hostModel = data.hostModel;
+ const hostModel = data.hostModel;
lineEl.setShape({
polyline: hostModel.get('polyline'),
@@ -261,20 +261,20 @@ class LargeLineDraw {
);
lineEl.style.strokeNoScale = true;
- let visualColor = data.getVisual('color');
+ const visualColor = data.getVisual('color');
if (visualColor) {
lineEl.setStyle('stroke', visualColor);
}
lineEl.setStyle('fill', null);
if (!isIncremental) {
- let ecData = graphic.getECData(lineEl);
+ const ecData = graphic.getECData(lineEl);
// Enable tooltip
// PENDING May have performance issue when path is extremely large
ecData.seriesIndex = hostModel.seriesIndex;
lineEl.on('mousemove', function (e) {
ecData.dataIndex = null;
- let dataIndex = lineEl.findDataIndex(e.offsetX, e.offsetY);
+ const dataIndex = lineEl.findDataIndex(e.offsetX, e.offsetY);
if (dataIndex > 0) {
// Provide dataIndex for tooltip
ecData.dataIndex = dataIndex + lineEl.__startIndex;
@@ -284,7 +284,7 @@ class LargeLineDraw {
};
_clearIncremental() {
- let incremental = this._incremental;
+ const incremental = this._incremental;
if (incremental) {
incremental.clearDisplaybles();
}
diff --git a/src/chart/helper/LargeSymbolDraw.ts b/src/chart/helper/LargeSymbolDraw.ts
index dea6dde..ef30a1f 100644
--- a/src/chart/helper/LargeSymbolDraw.ts
+++ b/src/chart/helper/LargeSymbolDraw.ts
@@ -70,15 +70,15 @@ class LargeSymbolPath extends graphic.Path<LargeSymbolPathProps> {
setColor: ECSymbol['setColor'];
buildPath(path: PathProxy | CanvasRenderingContext2D, shape: LargeSymbolPathShape) {
- let points = shape.points;
- let size = shape.size;
+ const points = shape.points;
+ const size = shape.size;
- let symbolProxy = this.symbolProxy;
- let symbolProxyShape = symbolProxy.shape;
- let ctx = (path as PathProxy).getContext
+ const symbolProxy = this.symbolProxy;
+ const symbolProxyShape = symbolProxy.shape;
+ const ctx = (path as PathProxy).getContext
? (path as PathProxy).getContext()
: path as CanvasRenderingContext2D;
- let canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD;
+ const canBoost = ctx && size[0] < BOOST_SIZE_THRESHOLD;
// Do draw in afterBrush.
if (canBoost) {
@@ -89,8 +89,8 @@ class LargeSymbolPath extends graphic.Path<LargeSymbolPathProps> {
this._ctx = null;
for (let i = 0; i < points.length;) {
- let x = points[i++];
- let y = points[i++];
+ const x = points[i++];
+ const y = points[i++];
if (isNaN(x) || isNaN(y)) {
continue;
@@ -109,10 +109,10 @@ class LargeSymbolPath extends graphic.Path<LargeSymbolPathProps> {
}
afterBrush() {
- let shape = this.shape;
- let points = shape.points;
- let size = shape.size;
- let ctx = this._ctx;
+ const shape = this.shape;
+ const points = shape.points;
+ const size = shape.size;
+ const ctx = this._ctx;
if (!ctx) {
return;
@@ -120,8 +120,8 @@ class LargeSymbolPath extends graphic.Path<LargeSymbolPathProps> {
// PENDING If style or other canvas status changed?
for (let i = 0; i < points.length;) {
- let x = points[i++];
- let y = points[i++];
+ const x = points[i++];
+ const y = points[i++];
if (isNaN(x) || isNaN(y)) {
continue;
}
@@ -141,20 +141,20 @@ class LargeSymbolPath extends graphic.Path<LargeSymbolPathProps> {
// TODO ???
// Consider transform
- let shape = this.shape;
- let points = shape.points;
- let size = shape.size;
+ const shape = this.shape;
+ const points = shape.points;
+ const size = shape.size;
- let w = Math.max(size[0], 4);
- let h = Math.max(size[1], 4);
+ const w = Math.max(size[0], 4);
+ const h = Math.max(size[1], 4);
// Not consider transform
// Treat each element as a rect
// top down traverse
for (let idx = points.length / 2 - 1; idx >= 0; idx--) {
- let i = idx * 2;
- let x0 = points[i] - w / 2;
- let y0 = points[i + 1] - h / 2;
+ const i = idx * 2;
+ const x0 = points[i] - w / 2;
+ const y0 = points[i + 1] - h / 2;
if (x >= x0 && y >= y0 && x <= x0 + w && y <= y0 + h) {
return idx;
}
@@ -183,7 +183,7 @@ class LargeSymbolDraw {
*/
updateData(data: List, opt?: UpdateOpt) {
this.group.removeAll();
- let symbolEl = new LargeSymbolPath({
+ const symbolEl = new LargeSymbolPath({
rectHover: true,
cursor: 'default'
});
@@ -205,8 +205,8 @@ class LargeSymbolDraw {
let points = data.getLayout('symbolPoints');
this.group.eachChild(function (child: LargeSymbolPath) {
if (child.startIndex != null) {
- let len = (child.endIndex - child.startIndex) * 2;
- let byteOffset = child.startIndex * 4 * 2;
+ const len = (child.endIndex - child.startIndex) * 2;
+ const byteOffset = child.startIndex * 4 * 2;
points = new Float32Array(points.buffer, byteOffset, len);
}
child.setShape('points', points);
@@ -261,7 +261,7 @@ class LargeSymbolDraw {
isIncremental: boolean,
opt: UpdateOpt
) {
- let hostModel = data.hostModel;
+ const hostModel = data.hostModel;
opt = opt || {};
// TODO
@@ -275,7 +275,7 @@ class LargeSymbolDraw {
// ));
// }
// else {
- let size = data.getVisual('symbolSize');
+ const size = data.getVisual('symbolSize');
symbolEl.setShape('size', (size instanceof Array) ? size : [size, size]);
// }
@@ -287,7 +287,7 @@ class LargeSymbolDraw {
// Use symbolProxy setColor method
symbolEl.setColor = symbolEl.symbolProxy.setColor;
- let extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD;
+ const extrudeShadow = symbolEl.shape.size[0] < BOOST_SIZE_THRESHOLD;
symbolEl.useStyle(
// Draw shadow when doing fillRect is extremely slow.
hostModel.getModel('itemStyle').getItemStyle(
@@ -295,19 +295,19 @@ class LargeSymbolDraw {
)
);
- let visualColor = data.getVisual('color');
+ const visualColor = data.getVisual('color');
if (visualColor) {
symbolEl.setColor(visualColor);
}
if (!isIncremental) {
- let ecData = graphic.getECData(symbolEl);
+ const ecData = graphic.getECData(symbolEl);
// Enable tooltip
// PENDING May have performance issue when path is extremely large
ecData.seriesIndex = (hostModel as SeriesModel).seriesIndex;
symbolEl.on('mousemove', function (e) {
ecData.dataIndex = null;
- let dataIndex = symbolEl.findDataIndex(e.offsetX, e.offsetY);
+ const dataIndex = symbolEl.findDataIndex(e.offsetX, e.offsetY);
if (dataIndex >= 0) {
// Provide dataIndex for tooltip
ecData.dataIndex = dataIndex + (symbolEl.startIndex || 0);
@@ -323,7 +323,7 @@ class LargeSymbolDraw {
}
_clearIncremental() {
- let incremental = this._incremental;
+ const incremental = this._incremental;
if (incremental) {
incremental.clearDisplaybles();
}
diff --git a/src/chart/helper/Line.ts b/src/chart/helper/Line.ts
index 8d13c3d..c1c7ee6 100644
--- a/src/chart/helper/Line.ts
+++ b/src/chart/helper/Line.ts
@@ -52,8 +52,8 @@ function makeSymbolTypeKey(symbolCategory: string) {
* @inner
*/
function createSymbol(name: string, lineData: List, idx: number) {
- let color = lineData.getItemVisual(idx, 'color');
- let symbolType = lineData.getItemVisual(idx, name);
+ const color = lineData.getItemVisual(idx, 'color');
+ const symbolType = lineData.getItemVisual(idx, name);
let symbolSize = lineData.getItemVisual(idx, name + 'Size');
if (!symbolType || symbolType === 'none') {
@@ -63,7 +63,7 @@ function createSymbol(name: string, lineData: List, idx: number) {
if (!zrUtil.isArray(symbolSize)) {
symbolSize = [symbolSize, symbolSize];
}
- let symbolPath = symbolUtil.createSymbol(
+ const symbolPath = symbolUtil.createSymbol(
symbolType, -symbolSize[0] / 2, -symbolSize[1] / 2,
symbolSize[0], symbolSize[1], color
);
@@ -74,7 +74,7 @@ function createSymbol(name: string, lineData: List, idx: number) {
}
function createLine(points: number[][]) {
- let line = new ECLinePath({
+ const line = new ECLinePath({
name: 'line',
subPixelOptimize: true
});
@@ -94,7 +94,7 @@ function setLinePoints(targetShape: ECLinePath['shape'], points: number[][]) {
targetShape.y2 = points[1][1];
targetShape.percent = 1;
- let cp1 = points[2];
+ const cp1 = points[2];
if (cp1) {
(targetShape as CurveShape).cpx1 = cp1[0];
(targetShape as CurveShape).cpy1 = cp1[1];
@@ -117,9 +117,9 @@ class Line extends graphic.Group {
}
_createLine(lineData: List, idx: number, seriesScope?: LineDrawSeriesScope) {
- let seriesModel = lineData.hostModel;
- let linePoints = lineData.getItemLayout(idx);
- let line = createLine(linePoints);
+ const seriesModel = lineData.hostModel;
+ const linePoints = lineData.getItemLayout(idx);
+ const line = createLine(linePoints);
line.shape.percent = 0;
graphic.initProps(line, {
shape: {
@@ -129,7 +129,7 @@ class Line extends graphic.Group {
this.add(line);
- let label = new graphic.Text({
+ const label = new graphic.Text({
name: 'label'
}) as InnerLineLabel;
// FIXME
@@ -139,7 +139,7 @@ class Line extends graphic.Group {
this.add(label);
zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {
- let symbol = createSymbol(symbolCategory, lineData, idx);
+ const symbol = createSymbol(symbolCategory, lineData, idx);
// symbols must added after line to make sure
// it will be updated after line#update.
// Or symbol position and rotation update in line#beforeUpdate will be one frame slow
@@ -151,11 +151,11 @@ class Line extends graphic.Group {
}
updateData(lineData: List, idx: number, seriesScope: LineDrawSeriesScope) {
- let seriesModel = lineData.hostModel;
+ const seriesModel = lineData.hostModel;
- let line = this.childOfName('line') as ECLinePath;
- let linePoints = lineData.getItemLayout(idx);
- let target = {
+ const line = this.childOfName('line') as ECLinePath;
+ const linePoints = lineData.getItemLayout(idx);
+ const target = {
shape: {} as ECLinePath['shape']
};
@@ -163,12 +163,12 @@ class Line extends graphic.Group {
graphic.updateProps(line, target, seriesModel, idx);
zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {
- let symbolType = lineData.getItemVisual(idx, symbolCategory);
- let key = makeSymbolTypeKey(symbolCategory);
+ const symbolType = lineData.getItemVisual(idx, symbolCategory);
+ const key = makeSymbolTypeKey(symbolCategory);
// Symbol changed
if (this[key] !== symbolType) {
this.remove(this.childOfName(symbolCategory));
- let symbol = createSymbol(symbolCategory, lineData, idx);
+ const symbol = createSymbol(symbolCategory, lineData, idx);
this.add(symbol);
}
this[key] = symbolType;
@@ -178,9 +178,9 @@ class Line extends graphic.Group {
};
_updateCommonStl(lineData: List, idx: number, seriesScope?: LineDrawSeriesScope) {
- let seriesModel = lineData.hostModel as SeriesModel;
+ const seriesModel = lineData.hostModel as SeriesModel;
- let line = this.childOfName('line') as ECLinePath;
+ const line = this.childOfName('line') as ECLinePath;
let lineStyle = seriesScope && seriesScope.lineStyle;
let hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
@@ -189,7 +189,7 @@ class Line extends graphic.Group {
// Optimization for large dataset
if (!seriesScope || lineData.hasItemOption) {
- let itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
+ const itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
lineStyle = itemModel.getModel('lineStyle').getLineStyle();
hoverLineStyle = itemModel.getModel(['emphasis', 'lineStyle']).getLineStyle();
@@ -198,8 +198,8 @@ class Line extends graphic.Group {
hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
}
- let visualColor = lineData.getItemVisual(idx, 'color');
- let visualOpacity = zrUtil.retrieve3(
+ const visualColor = lineData.getItemVisual(idx, 'color');
+ const visualOpacity = zrUtil.retrieve3(
lineData.getItemVisual(idx, 'opacity'),
lineStyle.opacity,
1
@@ -219,7 +219,7 @@ class Line extends graphic.Group {
// Update symbol
zrUtil.each(SYMBOL_CATEGORIES, function (symbolCategory) {
- let symbol = this.childOfName(symbolCategory) as ECSymbol;
+ const symbol = this.childOfName(symbolCategory) as ECSymbol;
if (symbol) {
symbol.setColor(visualColor);
symbol.setStyle({
@@ -228,10 +228,10 @@ class Line extends graphic.Group {
}
}, this);
- let showLabel = labelModel.getShallow('show');
- let hoverShowLabel = hoverLabelModel.getShallow('show');
+ const showLabel = labelModel.getShallow('show');
+ const hoverShowLabel = hoverLabelModel.getShallow('show');
- let label = this.childOfName('label') as InnerLineLabel;
+ const label = this.childOfName('label') as InnerLineLabel;
let defaultLabelColor;
let baseText;
@@ -241,7 +241,7 @@ class Line extends graphic.Group {
baseText = seriesModel.getFormattedLabel(idx, 'normal', lineData.dataType);
if (baseText == null) {
- let rawVal = seriesModel.getRawValue(idx) as number;
+ const rawVal = seriesModel.getRawValue(idx) as number;
baseText = rawVal == null
? lineData.getName(idx)
: isFinite(rawVal)
@@ -249,8 +249,8 @@ class Line extends graphic.Group {
: rawVal;
}
}
- let normalText = showLabel ? baseText : null;
- let emphasisText = hoverShowLabel
+ const normalText = showLabel ? baseText : null;
+ const emphasisText = hoverShowLabel
? zrUtil.retrieve2(
seriesModel.getFormattedLabel(idx, 'emphasis', lineData.dataType),
baseText
@@ -315,16 +315,16 @@ class Line extends graphic.Group {
}
setLinePoints(points: number[][]) {
- let linePath = this.childOfName('line') as ECLinePath;
+ const linePath = this.childOfName('line') as ECLinePath;
setLinePoints(linePath.shape, points);
linePath.dirty();
}
beforeUpdate() {
- let lineGroup = this;
- let symbolFrom = lineGroup.childOfName('fromSymbol') as ECSymbol;
- let symbolTo = lineGroup.childOfName('toSymbol') as ECSymbol;
- let label = lineGroup.childOfName('label') as InnerLineLabel;
+ const lineGroup = this;
+ const symbolFrom = lineGroup.childOfName('fromSymbol') as ECSymbol;
+ const symbolTo = lineGroup.childOfName('toSymbol') as ECSymbol;
+ const label = lineGroup.childOfName('label') as InnerLineLabel;
// Quick reject
if (!symbolFrom && !symbolTo && label.ignore) {
return;
@@ -339,23 +339,23 @@ class Line extends graphic.Group {
parentNode = parentNode.parent;
}
- let line = lineGroup.childOfName('line') as ECLinePath;
+ const line = lineGroup.childOfName('line') as ECLinePath;
// If line not changed
// FIXME Parent scale changed
if (!this.__dirty && !line.__dirty) {
return;
}
- let percent = line.shape.percent;
- let fromPos = line.pointAt(0);
- let toPos = line.pointAt(percent);
+ const percent = line.shape.percent;
+ const fromPos = line.pointAt(0);
+ const toPos = line.pointAt(percent);
- let d = vector.sub([], toPos, fromPos);
+ const d = vector.sub([], toPos, fromPos);
vector.normalize(d, d);
if (symbolFrom) {
symbolFrom.attr('position', fromPos);
- let tangent = line.tangentAt(0);
+ const tangent = line.tangentAt(0);
symbolFrom.attr('rotation', Math.PI / 2 - Math.atan2(
tangent[1], tangent[0]
));
@@ -363,7 +363,7 @@ class Line extends graphic.Group {
}
if (symbolTo) {
symbolTo.attr('position', toPos);
- let tangent = line.tangentAt(1);
+ const tangent = line.tangentAt(1);
symbolTo.attr('rotation', -Math.PI / 2 - Math.atan2(
tangent[1], tangent[0]
));
@@ -378,18 +378,18 @@ class Line extends graphic.Group {
let textVerticalAlign: ZRTextVerticalAlign;
let textOrigin;
- let distance = label.__labelDistance;
- let distanceX = distance[0] * invScale;
- let distanceY = distance[1] * invScale;
- let halfPercent = percent / 2;
- let tangent = line.tangentAt(halfPercent);
- let n = [tangent[1], -tangent[0]];
- let cp = line.pointAt(halfPercent);
+ const distance = label.__labelDistance;
+ const distanceX = distance[0] * invScale;
+ const distanceY = distance[1] * invScale;
+ const halfPercent = percent / 2;
+ const tangent = line.tangentAt(halfPercent);
+ const n = [tangent[1], -tangent[0]];
+ const cp = line.pointAt(halfPercent);
if (n[1] > 0) {
n[0] = -n[0];
n[1] = -n[1];
}
- let dir = tangent[0] < 0 ? -1 : 1;
+ const dir = tangent[0] < 0 ? -1 : 1;
if (label.__position !== 'start' && label.__position !== 'end') {
let rotation = -Math.atan2(tangent[1], tangent[0]);
diff --git a/src/chart/helper/LineDraw.ts b/src/chart/helper/LineDraw.ts
index 9881435..18e6857 100644
--- a/src/chart/helper/LineDraw.ts
+++ b/src/chart/helper/LineDraw.ts
@@ -102,10 +102,10 @@ class LineDraw {
};
updateData(lineData: ListForLineDraw) {
- let lineDraw = this;
- let group = lineDraw.group;
+ const lineDraw = this;
+ const group = lineDraw.group;
- let oldLineData = lineDraw._lineData;
+ const oldLineData = lineDraw._lineData;
lineDraw._lineData = lineData;
// There is no oldLineData only when first rendering or switching from
@@ -114,7 +114,7 @@ class LineDraw {
group.removeAll();
}
- let seriesScope = makeSeriesScope(lineData);
+ const seriesScope = makeSeriesScope(lineData);
lineData.diff(oldLineData)
.add((idx) => {
@@ -130,7 +130,7 @@ class LineDraw {
};
updateLayout() {
- let lineData = this._lineData;
+ const lineData = this._lineData;
// Do not support update layout in incremental mode.
if (!lineData) {
@@ -156,10 +156,10 @@ class LineDraw {
}
for (let idx = taskParams.start; idx < taskParams.end; idx++) {
- let itemLayout = lineData.getItemLayout(idx);
+ const itemLayout = lineData.getItemLayout(idx);
if (lineNeedsDraw(itemLayout)) {
- let el = new this._LineCtor(lineData, idx, this._seriesScope);
+ const el = new this._LineCtor(lineData, idx, this._seriesScope);
el.traverse(updateIncrementalAndHover);
this.group.add(el);
@@ -177,13 +177,13 @@ class LineDraw {
idx: number,
seriesScope: LineDrawSeriesScope
) {
- let itemLayout = lineData.getItemLayout(idx);
+ const itemLayout = lineData.getItemLayout(idx);
if (!lineNeedsDraw(itemLayout)) {
return;
}
- let el = new this._LineCtor(lineData, idx, seriesScope);
+ const el = new this._LineCtor(lineData, idx, seriesScope);
lineData.setItemGraphicEl(idx, el);
this.group.add(el);
}
@@ -215,7 +215,7 @@ class LineDraw {
}
function makeSeriesScope(lineData: ListForLineDraw) {
- let hostModel = lineData.hostModel;
+ const hostModel = lineData.hostModel;
return {
lineStyle: hostModel.getModel('lineStyle').getLineStyle(),
hoverLineStyle: hostModel.getModel(['emphasis', 'lineStyle']).getLineStyle(),
diff --git a/src/chart/helper/LinePath.ts b/src/chart/helper/LinePath.ts
index f81e61a..af7b2ca 100644
--- a/src/chart/helper/LinePath.ts
+++ b/src/chart/helper/LinePath.ts
@@ -92,8 +92,8 @@ class ECLinePath extends graphic.Path<ECLineProps> {
}
tangentAt(t: number) {
- let shape = this.shape;
- let p = isStraightLine(shape)
+ const shape = this.shape;
+ const p = isStraightLine(shape)
? [shape.x2 - shape.x1, shape.y2 - shape.y1]
: bezierCurveProto.tangentAt.call(this, t);
return vec2.normalize(p, p);
diff --git a/src/chart/helper/Polyline.ts b/src/chart/helper/Polyline.ts
index 01ae543..49df307 100644
--- a/src/chart/helper/Polyline.ts
+++ b/src/chart/helper/Polyline.ts
@@ -30,9 +30,9 @@ class Polyline extends graphic.Group {
private _createPolyline(lineData: List, idx: number, seriesScope: LineDrawSeriesScope) {
// let seriesModel = lineData.hostModel;
- let points = lineData.getItemLayout(idx);
+ const points = lineData.getItemLayout(idx);
- let line = new graphic.Polyline({
+ const line = new graphic.Polyline({
shape: {
points: points
}
@@ -44,10 +44,10 @@ class Polyline extends graphic.Group {
};
updateData(lineData: List, idx: number, seriesScope: LineDrawSeriesScope) {
- let seriesModel = lineData.hostModel;
+ const seriesModel = lineData.hostModel;
- let line = this.childAt(0) as graphic.Polyline;
- let target = {
+ const line = this.childAt(0) as graphic.Polyline;
+ const target = {
shape: {
points: lineData.getItemLayout(idx) as number[][]
}
@@ -58,10 +58,10 @@ class Polyline extends graphic.Group {
};
_updateCommonStl(lineData: List, idx: number, seriesScope: LineDrawSeriesScope) {
- let line = this.childAt(0) as graphic.Polyline;
- let itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
+ const line = this.childAt(0) as graphic.Polyline;
+ const itemModel = lineData.getItemModel<LineDrawModelOption>(idx);
- let visualColor = lineData.getItemVisual(idx, 'color');
+ const visualColor = lineData.getItemVisual(idx, 'color');
let lineStyle = seriesScope && seriesScope.lineStyle;
let hoverLineStyle = seriesScope && seriesScope.hoverLineStyle;
@@ -86,7 +86,7 @@ class Polyline extends graphic.Group {
};
updateLayout(lineData: List, idx: number) {
- let polyline = this.childAt(0) as graphic.Polyline;
+ const polyline = this.childAt(0) as graphic.Polyline;
polyline.setShape('points', lineData.getItemLayout(idx));
};
diff --git a/src/chart/helper/Symbol.ts b/src/chart/helper/Symbol.ts
index f219ca2..56be9d8 100644
--- a/src/chart/helper/Symbol.ts
+++ b/src/chart/helper/Symbol.ts
@@ -61,7 +61,7 @@ class Symbol extends graphic.Group {
// Remove paths created before
this.removeAll();
- let color = data.getItemVisual(idx, 'color');
+ const color = data.getItemVisual(idx, 'color');
// let symbolPath = createSymbol(
// symbolType, -0.5, -0.5, 1, 1, color
@@ -69,7 +69,7 @@ class Symbol extends graphic.Group {
// If width/height are set too small (e.g., set to 1) on ios10
// and macOS Sierra, a circle stroke become a rect, no matter what
// the scale is set. So we set width/height as 2. See #4150.
- let symbolPath = createSymbol(
+ const symbolPath = createSymbol(
symbolType, -1, -1, 2, 2, color, keepAspect
);
@@ -134,13 +134,13 @@ class Symbol extends graphic.Group {
* @param {number} z
*/
setZ(zlevel: number, z: number) {
- let symbolPath = this.childAt(0) as ECSymbol;
+ const symbolPath = this.childAt(0) as ECSymbol;
symbolPath.zlevel = zlevel;
symbolPath.z = z;
}
setDraggable(draggable: boolean) {
- let symbolPath = this.childAt(0) as ECSymbol;
+ const symbolPath = this.childAt(0) as ECSymbol;
symbolPath.draggable = draggable;
symbolPath.cursor = draggable ? 'move' : symbolPath.cursor;
}
@@ -151,13 +151,13 @@ class Symbol extends graphic.Group {
updateData(data: List, idx: number, seriesScope?: SymbolDrawSeriesScope) {
this.silent = false;
- let symbolType = data.getItemVisual(idx, 'symbol') || 'circle';
- let seriesModel = data.hostModel as SeriesModel;
- let symbolSize = Symbol.getSymbolSize(data, idx);
- let isInit = symbolType !== this._symbolType;
+ const symbolType = data.getItemVisual(idx, 'symbol') || 'circle';
+ const seriesModel = data.hostModel as SeriesModel;
+ const symbolSize = Symbol.getSymbolSize(data, idx);
+ const isInit = symbolType !== this._symbolType;
if (isInit) {
- let keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');
+ const keepAspect = data.getItemVisual(idx, 'symbolKeepAspect');
this._createSymbol(symbolType, data, idx, symbolSize, keepAspect);
}
else {
@@ -172,9 +172,9 @@ class Symbol extends graphic.Group {
if (isInit) {
const symbolPath = this.childAt(0) as ECSymbol;
- let fadeIn = seriesScope && seriesScope.fadeIn;
+ const fadeIn = seriesScope && seriesScope.fadeIn;
- let target: PathProps = {
+ const target: PathProps = {
scale: symbolPath.scale.slice()
};
fadeIn && (target.style = {
@@ -196,9 +196,9 @@ class Symbol extends graphic.Group {
symbolSize: number[],
seriesScope?: SymbolDrawSeriesScope
) {
- let symbolPath = this.childAt(0) as ECSymbol;
- let seriesModel = data.hostModel as SeriesModel;
- let color = data.getItemVisual(idx, 'color');
+ const symbolPath = this.childAt(0) as ECSymbol;
+ const seriesModel = data.hostModel as SeriesModel;
+ const color = data.getItemVisual(idx, 'color');
// Reset style
if (symbolPath.type !== 'image') {
@@ -226,7 +226,7 @@ class Symbol extends graphic.Group {
let cursorStyle = seriesScope && seriesScope.cursorStyle;
if (!seriesScope || data.hasItemOption) {
- let itemModel = (seriesScope && seriesScope.itemModel)
+ const itemModel = (seriesScope && seriesScope.itemModel)
? seriesScope.itemModel : data.getItemModel<SymbolDrawItemModelOption>(idx);
// Color must be excluded.
@@ -246,7 +246,7 @@ class Symbol extends graphic.Group {
hoverItemStyle = zrUtil.extend({}, hoverItemStyle);
}
- let elStyle = symbolPath.style;
+ const elStyle = symbolPath.style;
symbolPath.attr('rotation', (symbolRotate || 0) * Math.PI / 180 || 0);
@@ -264,13 +264,13 @@ class Symbol extends graphic.Group {
symbolPath.setStyle(itemStyle);
- let opacity = data.getItemVisual(idx, 'opacity');
+ const opacity = data.getItemVisual(idx, 'opacity');
if (opacity != null) {
elStyle.opacity = opacity;
}
- let liftZ = data.getItemVisual(idx, 'liftZ');
- let z2Origin = symbolPath.__z2Origin;
+ const liftZ = data.getItemVisual(idx, 'liftZ');
+ const z2Origin = symbolPath.__z2Origin;
if (liftZ != null) {
if (z2Origin == null) {
symbolPath.__z2Origin = symbolPath.z2;
@@ -282,7 +282,7 @@ class Symbol extends graphic.Group {
symbolPath.__z2Origin = null;
}
- let useNameLabel = seriesScope && seriesScope.useNameLabel;
+ const useNameLabel = seriesScope && seriesScope.useNameLabel;
graphic.setLabelStyle(
symbolPath, labelModel, hoverLabelModel,
@@ -310,7 +310,7 @@ class Symbol extends graphic.Group {
fadeOut(cb: () => void, opt?: {
keepLabel: boolean
}) {
- let symbolPath = this.childAt(0) as ECSymbol;
+ const symbolPath = this.childAt(0) as ECSymbol;
// Avoid mistaken hover when fading out
this.silent = symbolPath.silent = true;
// Not show text when animating
@@ -331,7 +331,7 @@ class Symbol extends graphic.Group {
}
static getSymbolSize(data: List, idx: number) {
- let symbolSize = data.getItemVisual(idx, 'symbolSize');
+ const symbolSize = data.getItemVisual(idx, 'symbolSize');
return symbolSize instanceof Array
? symbolSize.slice()
: [+symbolSize, +symbolSize];
@@ -346,9 +346,9 @@ function highDownOnUpdate(this: ECSymbol, fromState: DisplayState, toState: Disp
}
if (toState === 'emphasis') {
- let scale = this.__symbolOriginalScale;
- let ratio = scale[1] / scale[0];
- let emphasisOpt = {
+ const scale = this.__symbolOriginalScale;
+ const ratio = scale[1] / scale[0];
+ const emphasisOpt = {
scale: [
Math.max(scale[0] * 1.1, scale[0] + 3),
Math.max(scale[1] * 1.1, scale[1] + 3 * ratio)
diff --git a/src/chart/helper/SymbolDraw.ts b/src/chart/helper/SymbolDraw.ts
index 1ff215d..3480e35 100644
--- a/src/chart/helper/SymbolDraw.ts
+++ b/src/chart/helper/SymbolDraw.ts
@@ -109,7 +109,7 @@ export interface SymbolDrawSeriesScope {
}
function makeSeriesScope(data: List): SymbolDrawSeriesScope {
- let seriesModel = data.hostModel;
+ const seriesModel = data.hostModel;
return {
itemStyle: seriesModel.getModel('itemStyle').getItemStyle(['color']),
hoverItemStyle: seriesModel.getModel(['emphasis', 'itemStyle']).getItemStyle(),
@@ -143,12 +143,12 @@ class SymbolDraw {
updateData(data: ListForSymbolDraw, opt?: UpdateOpt) {
opt = normalizeUpdateOpt(opt);
- let group = this.group;
- let seriesModel = data.hostModel;
- let oldData = this._data;
- let SymbolCtor = this._SymbolCtor;
+ const group = this.group;
+ const seriesModel = data.hostModel;
+ const oldData = this._data;
+ const SymbolCtor = this._SymbolCtor;
- let seriesScope = makeSeriesScope(data);
+ const seriesScope = makeSeriesScope(data);
// There is no oldLineData only when first rendering or switching from
// stream mode to normal mode, where previous elements should be removed.
@@ -158,9 +158,9 @@ class SymbolDraw {
data.diff(oldData)
.add(function (newIdx) {
- let point = data.getItemLayout(newIdx) as number[];
+ const point = data.getItemLayout(newIdx) as number[];
if (symbolNeedsDraw(data, point, newIdx, opt)) {
- let symbolEl = new SymbolCtor(data, newIdx, seriesScope);
+ const symbolEl = new SymbolCtor(data, newIdx, seriesScope);
symbolEl.attr('position', point);
data.setItemGraphicEl(newIdx, symbolEl);
group.add(symbolEl);
@@ -168,7 +168,7 @@ class SymbolDraw {
})
.update(function (newIdx, oldIdx) {
let symbolEl = oldData.getItemGraphicEl(oldIdx) as SymbolLike;
- let point = data.getItemLayout(newIdx) as number[];
+ const point = data.getItemLayout(newIdx) as number[];
if (!symbolNeedsDraw(data, point, newIdx, opt)) {
group.remove(symbolEl);
return;
@@ -190,7 +190,7 @@ class SymbolDraw {
data.setItemGraphicEl(newIdx, symbolEl);
})
.remove(function (oldIdx) {
- let el = oldData.getItemGraphicEl(oldIdx) as SymbolLike;
+ const el = oldData.getItemGraphicEl(oldIdx) as SymbolLike;
el && el.fadeOut(function () {
group.remove(el);
});
@@ -205,11 +205,11 @@ class SymbolDraw {
};
updateLayout() {
- let data = this._data;
+ const data = this._data;
if (data) {
// Not use animation
data.eachItemGraphicEl(function (el, idx) {
- let point = data.getItemLayout(idx);
+ const point = data.getItemLayout(idx);
el.attr('position', point);
});
}
@@ -233,9 +233,9 @@ class SymbolDraw {
}
}
for (let idx = taskParams.start; idx < taskParams.end; idx++) {
- let point = data.getItemLayout(idx) as number[];
+ const point = data.getItemLayout(idx) as number[];
if (symbolNeedsDraw(data, point, idx, opt)) {
- let el = new this._SymbolCtor(data, idx, this._seriesScope);
+ const el = new this._SymbolCtor(data, idx, this._seriesScope);
el.traverse(updateIncrementalAndHover);
el.attr('position', point);
this.group.add(el);
@@ -245,8 +245,8 @@ class SymbolDraw {
};
remove(enableAnimation?: boolean) {
- let group = this.group;
- let data = this._data;
+ const group = this.group;
+ const data = this._data;
// Incremental model do not have this._data.
if (data && enableAnimation) {
data.eachItemGraphicEl(function (el: SymbolLike) {
diff --git a/src/chart/helper/createClipPathFromCoordSys.ts b/src/chart/helper/createClipPathFromCoordSys.ts
index febd702..2f2741b 100644
--- a/src/chart/helper/createClipPathFromCoordSys.ts
+++ b/src/chart/helper/createClipPathFromCoordSys.ts
@@ -32,22 +32,22 @@ function createGridClipPath(
hasAnimation: boolean,
seriesModel: SeriesModelWithLineWidth
) {
- let rect = cartesian.getArea();
- let isHorizontal = cartesian.getBaseAxis().isHorizontal();
+ const rect = cartesian.getArea();
+ const isHorizontal = cartesian.getBaseAxis().isHorizontal();
let x = rect.x;
let y = rect.y;
let width = rect.width;
let height = rect.height;
- let lineWidth = seriesModel.get(['lineStyle', 'width']) || 2;
+ const lineWidth = seriesModel.get(['lineStyle', 'width']) || 2;
// Expand the clip path a bit to avoid the border is clipped and looks thinner
x -= lineWidth / 2;
y -= lineWidth / 2;
width += lineWidth;
height += lineWidth;
- let clipPath = new graphic.Rect({
+ const clipPath = new graphic.Rect({
shape: {
x: x,
y: y,
@@ -74,10 +74,10 @@ function createPolarClipPath(
hasAnimation: boolean,
seriesModel: SeriesModelWithLineWidth
) {
- let sectorArea = polar.getArea();
+ const sectorArea = polar.getArea();
// Avoid float number rounding error for symbol on the edge of axis extent.
- let clipPath = new graphic.Sector({
+ const clipPath = new graphic.Sector({
shape: {
cx: round(polar.cx, 1),
cy: round(polar.cy, 1),
diff --git a/src/chart/helper/createGraphFromNodeEdge.ts b/src/chart/helper/createGraphFromNodeEdge.ts
index b59e57c..dac9dee 100644
--- a/src/chart/helper/createGraphFromNodeEdge.ts
+++ b/src/chart/helper/createGraphFromNodeEdge.ts
@@ -30,7 +30,7 @@ import createListFromArray from './createListFromArray';
export default function (nodes, edges, seriesModel, directed, beforeLink) {
// ??? TODO
// support dataset?
- let graph = new Graph(directed);
+ const graph = new Graph(directed);
for (let i = 0; i < nodes.length; i++) {
graph.addNode(zrUtil.retrieve(
// Id, name, dataIndex
@@ -38,13 +38,13 @@ export default function (nodes, edges, seriesModel, directed, beforeLink) {
), i);
}
- let linkNameList = [];
- let validEdges = [];
+ const linkNameList = [];
+ const validEdges = [];
let linkCount = 0;
for (let i = 0; i < edges.length; i++) {
- let link = edges[i];
- let source = link.source;
- let target = link.target;
+ const link = edges[i];
+ const source = link.source;
+ const target = link.target;
// addEdge may fail when source or target not exists
if (graph.addEdge(source, target, linkCount)) {
validEdges.push(link);
@@ -53,14 +53,14 @@ export default function (nodes, edges, seriesModel, directed, beforeLink) {
}
}
- let coordSys = seriesModel.get('coordinateSystem');
+ const coordSys = seriesModel.get('coordinateSystem');
let nodeData;
if (coordSys === 'cartesian2d' || coordSys === 'polar') {
nodeData = createListFromArray(nodes, seriesModel);
}
else {
- let coordSysCtor = CoordinateSystem.get(coordSys);
- let coordDimensions = (coordSysCtor && coordSysCtor.type !== 'view')
+ const coordSysCtor = CoordinateSystem.get(coordSys);
+ const coordDimensions = (coordSysCtor && coordSysCtor.type !== 'view')
? (coordSysCtor.dimensions || []) : [];
// FIXME: Some geo do not need `value` dimenson, whereas `calendar` needs
// `value` dimension, but graph need `value` dimension. It's better to
@@ -69,14 +69,14 @@ export default function (nodes, edges, seriesModel, directed, beforeLink) {
coordDimensions.concat(['value']);
}
- let dimensionNames = createDimensions(nodes, {
+ const dimensionNames = createDimensions(nodes, {
coordDimensions: coordDimensions
});
nodeData = new List(dimensionNames, seriesModel);
nodeData.initData(nodes);
}
- let edgeData = new List(['value'], seriesModel);
+ const edgeData = new List(['value'], seriesModel);
edgeData.initData(validEdges, linkNameList);
beforeLink && beforeLink(nodeData, edgeData);
diff --git a/src/chart/helper/createListFromArray.ts b/src/chart/helper/createListFromArray.ts
index 42b3e50..d55bf3b 100644
--- a/src/chart/helper/createListFromArray.ts
+++ b/src/chart/helper/createListFromArray.ts
@@ -40,21 +40,21 @@ function createListFromArray(source: Source | any[], seriesModel: SeriesModel, o
source = Source.seriesDataToSource(source);
}
- let coordSysName = seriesModel.get('coordinateSystem');
- let registeredCoordSys = CoordinateSystem.get(coordSysName);
+ const coordSysName = seriesModel.get('coordinateSystem');
+ const registeredCoordSys = CoordinateSystem.get(coordSysName);
- let coordSysInfo = getCoordSysInfoBySeries(seriesModel);
+ const coordSysInfo = getCoordSysInfoBySeries(seriesModel);
let coordSysDimDefs: DimensionDefinitionLoose[];
if (coordSysInfo) {
coordSysDimDefs = zrUtil.map(coordSysInfo.coordSysDims, function (dim) {
- let dimInfo = {
+ const dimInfo = {
name: dim
} as DimensionDefinition;
- let axisModel = coordSysInfo.axisMap.get(dim);
+ const axisModel = coordSysInfo.axisMap.get(dim);
if (axisModel) {
- let axisType = axisModel.get('type');
+ const axisType = axisModel.get('type');
dimInfo.type = getDimensionTypeByAxis(axisType);
// dimInfo.stackable = isStackable(axisType);
}
@@ -71,7 +71,7 @@ function createListFromArray(source: Source | any[], seriesModel: SeriesModel, o
)) || ['x', 'y'];
}
- let dimInfoList = createDimensions(source, {
+ const dimInfoList = createDimensions(source, {
coordDimensions: coordSysDimDefs,
generateCoord: opt.generateCoord,
encodeDefaulter: opt.useEncodeDefaulter
@@ -82,8 +82,8 @@ function createListFromArray(source: Source | any[], seriesModel: SeriesModel, o
let firstCategoryDimIndex: number;
let hasNameEncode: boolean;
coordSysInfo && zrUtil.each(dimInfoList, function (dimInfo, dimIndex) {
- let coordDim = dimInfo.coordDim;
- let categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
+ const coordDim = dimInfo.coordDim;
+ const categoryAxisModel = coordSysInfo.categoryAxisMap.get(coordDim);
if (categoryAxisModel) {
if (firstCategoryDimIndex == null) {
firstCategoryDimIndex = dimIndex;
@@ -98,13 +98,13 @@ function createListFromArray(source: Source | any[], seriesModel: SeriesModel, o
dimInfoList[firstCategoryDimIndex].otherDims.itemName = 0;
}
- let stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);
+ const stackCalculationInfo = enableDataStack(seriesModel, dimInfoList);
- let list = new List(dimInfoList, seriesModel);
+ const list = new List(dimInfoList, seriesModel);
list.setCalculationInfo(stackCalculationInfo);
- let dimValueGetter = (firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source))
+ const dimValueGetter = (firstCategoryDimIndex != null && isNeedCompleteOrdinalData(source))
? function (this: List, itemOpt: any, dimName: string, dataIndex: number, dimIndex: number) {
// Use dataIndex as ordinal value in categoryAxis
return dimIndex === firstCategoryDimIndex
@@ -121,7 +121,7 @@ function createListFromArray(source: Source | any[], seriesModel: SeriesModel, o
function isNeedCompleteOrdinalData(source: Source) {
if (source.sourceFormat === SOURCE_FORMAT_ORIGINAL) {
- let sampleItem = firstDataNotNull(source.data as ArrayLike<any> || []);
+ const sampleItem = firstDataNotNull(source.data as ArrayLike<any> || []);
return sampleItem != null
&& !zrUtil.isArray(getDataItemValue(sampleItem));
}
diff --git a/src/chart/helper/createListSimply.ts b/src/chart/helper/createListSimply.ts
index ac27f00..fb50f95 100644
--- a/src/chart/helper/createListSimply.ts
+++ b/src/chart/helper/createListSimply.ts
@@ -39,11 +39,11 @@ export default function (
): List {
opt = isArray(opt) && {coordDimensions: opt} || extend({}, opt);
- let source = seriesModel.getSource();
+ const source = seriesModel.getSource();
- let dimensionsInfo = createDimensions(source, opt as CreateDimensionsParams);
+ const dimensionsInfo = createDimensions(source, opt as CreateDimensionsParams);
- let list = new List(dimensionsInfo, seriesModel);
+ const list = new List(dimensionsInfo, seriesModel);
list.initData(source, nameList);
return list;
diff --git a/src/chart/helper/createRenderPlanner.ts b/src/chart/helper/createRenderPlanner.ts
index 15d4465..bdf564d 100644
--- a/src/chart/helper/createRenderPlanner.ts
+++ b/src/chart/helper/createRenderPlanner.ts
@@ -27,20 +27,20 @@ import { StageHandlerPlanReturn } from '../../util/types';
* @return {string} If large mode changed, return string 'reset';
*/
export default function () {
- let inner = makeInner();
+ const inner = makeInner();
return function (seriesModel: SeriesModel): StageHandlerPlanReturn {
- let fields = inner(seriesModel);
- let pipelineContext = seriesModel.pipelineContext;
+ const fields = inner(seriesModel);
+ const pipelineContext = seriesModel.pipelineContext;
- let originalLarge = fields.large;
- let originalProgressive = fields.progressiveRender;
+ const originalLarge = fields.large;
+ const originalProgressive = fields.progressiveRender;
// FIXME: if the planner works on a filtered series, `pipelineContext` does not
// exists. See #11611 . Probably we need to modify this structure, see the comment
// on `performRawSeries` in `Schedular.js`.
- let large = fields.large = pipelineContext && pipelineContext.large;
- let progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;
+ const large = fields.large = pipelineContext && pipelineContext.large;
+ const progressive = fields.progressiveRender = pipelineContext && pipelineContext.progressiveRender;
return (
!!((originalLarge ^ large as any) || (originalProgressive ^ progressive as any)) && 'reset'
diff --git a/src/chart/helper/labelHelper.ts b/src/chart/helper/labelHelper.ts
index 1273e98..595780e 100644
--- a/src/chart/helper/labelHelper.ts
+++ b/src/chart/helper/labelHelper.ts
@@ -25,17 +25,17 @@ import List from '../../data/List';
* @return label string. Not null/undefined
*/
export function getDefaultLabel(data: List, dataIndex: number): string {
- let labelDims = data.mapDimension('defaultedLabel', true);
- let len = labelDims.length;
+ const labelDims = data.mapDimension('defaultedLabel', true);
+ const len = labelDims.length;
// Simple optimization (in lots of cases, label dims length is 1)
if (len === 1) {
return retrieveRawValue(data, dataIndex, labelDims[0]);
}
else if (len) {
- let vals = [];
+ const vals = [];
for (let i = 0; i < labelDims.length; i++) {
- let val = retrieveRawValue(data, dataIndex, labelDims[i]);
+ const val = retrieveRawValue(data, dataIndex, labelDims[i]);
vals.push(val);
}
return vals.join(' ');
diff --git a/src/chart/helper/treeHelper.ts b/src/chart/helper/treeHelper.ts
index cb94b17..1a4a701 100644
--- a/src/chart/helper/treeHelper.ts
+++ b/src/chart/helper/treeHelper.ts
@@ -31,7 +31,7 @@ export function retrieveTargetInfo(
seriesModel: SeriesModel
) {
if (payload && zrUtil.indexOf(validPayloadTypes, payload.type) >= 0) {
- let root = seriesModel.getData().tree.root;
+ const root = seriesModel.getData().tree.root;
let targetNode = payload.targetNode;
if (typeof targetNode === 'string') {
@@ -44,7 +44,7 @@ export function retrieveTargetInfo(
};
}
- let targetNodeId = payload.targetNodeId;
+ const targetNodeId = payload.targetNodeId;
if (targetNodeId != null && (targetNode = root.getNodeById(targetNodeId))) {
return {
node: targetNode
@@ -55,7 +55,7 @@ export function retrieveTargetInfo(
// Not includes the given node at the last item.
export function getPathToRoot(node: TreeNode): TreeNode[] {
- let path = [];
+ const path = [];
while (node) {
node = node.parentNode;
node && path.push(node);
@@ -64,17 +64,17 @@ export function getPathToRoot(node: TreeNode): TreeNode[] {
}
export function aboveViewRoot(viewRoot: TreeNode, node: TreeNode) {
- let viewPath = getPathToRoot(viewRoot);
+ const viewPath = getPathToRoot(viewRoot);
return zrUtil.indexOf(viewPath, node) >= 0;
}
// From root to the input node (the input node will be included).
export function wrapTreePathInfo<T = unknown>(node: TreeNode, seriesModel: SeriesModel) {
- let treePathInfo = [];
+ const treePathInfo = [];
while (node) {
- let nodeDataIndex = node.dataIndex;
+ const nodeDataIndex = node.dataIndex;
treePathInfo.push({
name: node.name,
dataIndex: nodeDataIndex,
diff --git a/src/chart/helper/whiskerBoxCommon.ts b/src/chart/helper/whiskerBoxCommon.ts
index 039d1f7..31dcec9 100644
--- a/src/chart/helper/whiskerBoxCommon.ts
+++ b/src/chart/helper/whiskerBoxCommon.ts
@@ -62,10 +62,10 @@ class WhiskerBoxCommonMixin<Opts extends CommonOption> {
let ordinalMeta;
- let xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex')) as CartesianAxisModel;
- let yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex')) as CartesianAxisModel;
- let xAxisType = xAxisModel.get('type');
- let yAxisType = yAxisModel.get('type');
+ const xAxisModel = ecModel.getComponent('xAxis', this.get('xAxisIndex')) as CartesianAxisModel;
+ const yAxisModel = ecModel.getComponent('yAxis', this.get('yAxisIndex')) as CartesianAxisModel;
+ const xAxisType = xAxisModel.get('type');
+ const yAxisType = yAxisModel.get('type');
let addOrdinal;
// FIXME
@@ -85,19 +85,19 @@ class WhiskerBoxCommonMixin<Opts extends CommonOption> {
option.layout = option.layout || 'horizontal';
}
- let coordDims = ['x', 'y'];
- let baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;
- let baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
- let otherAxisDim = coordDims[1 - baseAxisDimIndex];
- let axisModels = [xAxisModel, yAxisModel];
- let baseAxisType = axisModels[baseAxisDimIndex].get('type');
- let otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');
- let data = option.data as WhiskerBoxCommonData;
+ const coordDims = ['x', 'y'];
+ const baseAxisDimIndex = option.layout === 'horizontal' ? 0 : 1;
+ const baseAxisDim = this._baseAxisDim = coordDims[baseAxisDimIndex];
+ const otherAxisDim = coordDims[1 - baseAxisDimIndex];
+ const axisModels = [xAxisModel, yAxisModel];
+ const baseAxisType = axisModels[baseAxisDimIndex].get('type');
+ const otherAxisType = axisModels[1 - baseAxisDimIndex].get('type');
+ const data = option.data as WhiskerBoxCommonData;
// ??? FIXME make a stage to perform data transfrom.
// MUST create a new data, consider setOption({}) again.
if (data && addOrdinal) {
- let newOptionData: WhiskerBoxCommonData = [];
+ const newOptionData: WhiskerBoxCommonData = [];
zrUtil.each(data, function (item, index) {
let newItem;
if (zrUtil.isArray(item)) {
@@ -116,8 +116,8 @@ class WhiskerBoxCommonMixin<Opts extends CommonOption> {
option.data = newOptionData;
}
- let defaultValueDimensions = this.defaultValueDimensions;
- let coordDimensions = [{
+ const defaultValueDimensions = this.defaultValueDimensions;
+ const coordDimensions = [{
name: baseAxisDim,
type: getDimensionTypeByAxis(baseAxisType),
ordinalMeta: ordinalMeta,
@@ -149,7 +149,7 @@ class WhiskerBoxCommonMixin<Opts extends CommonOption> {
* @override
*/
getBaseAxis(): Axis2D {
- let dim = this._baseAxisDim;
+ const dim = this._baseAxisDim;
return (this.ecModel.getComponent(
dim + 'Axis', this.get(dim + 'AxisIndex' as 'xAxisIndex' | 'yAxisIndex')
) as CartesianAxisModel).axis;
diff --git a/src/chart/line/LineSeries.ts b/src/chart/line/LineSeries.ts
index 2f268da..c53aa8c 100644
--- a/src/chart/line/LineSeries.ts
+++ b/src/chart/line/LineSeries.ts
@@ -105,7 +105,7 @@ class LineSeriesModel extends SeriesModel<LineSeriesOption> {
getInitialData(option: LineSeriesOption): List {
if (__DEV__) {
- let coordSys = option.coordinateSystem;
+ const coordSys = option.coordinateSystem;
if (coordSys !== 'polar' && coordSys !== 'cartesian2d') {
throw new Error('Line not support coordinateSystem besides cartesian and polar');
}
diff --git a/src/chart/line/LineView.ts b/src/chart/line/LineView.ts
index 0d4ef91..63e4c56 100644
--- a/src/chart/line/LineView.ts
+++ b/src/chart/line/LineView.ts
@@ -56,8 +56,8 @@ function isPointsSame(points1: number[][], points2: number[][]) {
return;
}
for (let i = 0; i < points1.length; i++) {
- let p1 = points1[i];
- let p2 = points2[i];
+ const p1 = points1[i];
+ const p2 = points2[i];
if (p1[0] !== p2[0] || p1[1] !== p2[1]) {
return;
}
@@ -78,7 +78,7 @@ function getStackedOnPoints(
return [];
}
- let points = [];
+ const points = [];
for (let idx = 0, len = data.count(); idx < len; idx++) {
points.push(getStackedOnPoint(dataCoordInfo, coordSys, data, idx));
}
@@ -91,17 +91,17 @@ function turnPointsIntoStep(
coordSys: Cartesian2D | Polar,
stepTurnAt: 'start' | 'end' | 'middle'
) {
- let baseAxis = coordSys.getBaseAxis();
- let baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;
+ const baseAxis = coordSys.getBaseAxis();
+ const baseIndex = baseAxis.dim === 'x' || baseAxis.dim === 'radius' ? 0 : 1;
- let stepPoints = [];
+ const stepPoints = [];
let i = 0;
for (; i < points.length - 1; i++) {
- let nextPt = points[i + 1];
- let pt = points[i];
+ const nextPt = points[i + 1];
+ const pt = points[i];
stepPoints.push(pt);
- let stepPt = [];
+ const stepPt = [];
switch (stepTurnAt) {
case 'end':
stepPt[baseIndex] = nextPt[baseIndex];
@@ -111,8 +111,8 @@ function turnPointsIntoStep(
break;
case 'middle':
// default is start
- let middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;
- let stepPt2 = [];
+ const middle = (pt[baseIndex] + nextPt[baseIndex]) / 2;
+ const stepPt2 = [];
stepPt[baseIndex] = stepPt2[baseIndex] = middle;
stepPt[1 - baseIndex] = pt[1 - baseIndex];
stepPt2[1 - baseIndex] = nextPt[1 - baseIndex];
@@ -135,7 +135,7 @@ function getVisualGradient(
data: List,
coordSys: Cartesian2D | Polar
) {
- let visualMetaList = data.getVisual('visualMeta') as VisualMeta[];
+ const visualMetaList = data.getVisual('visualMeta') as VisualMeta[];
if (!visualMetaList || !visualMetaList.length || !data.count()) {
// When data.count() is 0, gradient range can not be calculated.
return;
@@ -152,9 +152,9 @@ function getVisualGradient(
let visualMeta;
for (let i = visualMetaList.length - 1; i >= 0; i--) {
- let dimIndex = visualMetaList[i].dimension;
- let dimName = data.dimensions[dimIndex];
- let dimInfo = data.getDimensionInfo(dimName);
+ const dimIndex = visualMetaList[i].dimension;
+ const dimName = data.dimensions[dimIndex];
+ const dimInfo = data.getDimensionInfo(dimName);
coordDim = (dimInfo && dimInfo.coordDim) as 'x' | 'y';
// Can only be x or y
if (coordDim === 'x' || coordDim === 'y') {
@@ -177,7 +177,7 @@ function getVisualGradient(
// LinearGradient. So we can only infinitesimally extend area defined in
// LinearGradient to render `outerColors`.
- let axis = coordSys.getAxis(coordDim);
+ const axis = coordSys.getAxis(coordDim);
interface ColorStop {
offset: number
@@ -185,25 +185,25 @@ function getVisualGradient(
color: ColorString
}
// dataToCoor mapping may not be linear, but must be monotonic.
- let colorStops: ColorStop[] = zrUtil.map(visualMeta.stops, function (stop) {
+ const colorStops: ColorStop[] = zrUtil.map(visualMeta.stops, function (stop) {
return {
offset: 0,
coord: axis.toGlobalCoord(axis.dataToCoord(stop.value)),
color: stop.color
};
});
- let stopLen = colorStops.length;
- let outerColors = visualMeta.outerColors.slice();
+ const stopLen = colorStops.length;
+ const outerColors = visualMeta.outerColors.slice();
if (stopLen && colorStops[0].coord > colorStops[stopLen - 1].coord) {
colorStops.reverse();
outerColors.reverse();
}
- let tinyExtent = 10; // Arbitrary value: 10px
- let minCoord = colorStops[0].coord - tinyExtent;
- let maxCoord = colorStops[stopLen - 1].coord + tinyExtent;
- let coordSpan = maxCoord - minCoord;
+ const tinyExtent = 10; // Arbitrary value: 10px
+ const minCoord = colorStops[0].coord - tinyExtent;
+ const maxCoord = colorStops[stopLen - 1].coord + tinyExtent;
+ const coordSpan = maxCoord - minCoord;
if (coordSpan < 1e-3) {
return 'transparent';
@@ -226,7 +226,7 @@ function getVisualGradient(
// colorStop.offset = (Math.round(colorStop.offset * (end - start) + start) - start) / (end - start);
// });
- let gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, true);
+ const gradient = new graphic.LinearGradient(0, 0, 0, 0, colorStops, true);
gradient[coordDim] = minCoord;
gradient[coordDim + '2' as 'x2' | 'y2'] = maxCoord;
@@ -238,14 +238,14 @@ function getIsIgnoreFunc(
data: List,
coordSys: Cartesian2D
) {
- let showAllSymbol = seriesModel.get('showAllSymbol');
- let isAuto = showAllSymbol === 'auto';
+ const showAllSymbol = seriesModel.get('showAllSymbol');
+ const isAuto = showAllSymbol === 'auto';
if (showAllSymbol && !isAuto) {
return;
}
- let categoryAxis = coordSys.getAxesByScale('ordinal')[0];
+ const categoryAxis = coordSys.getAxesByScale('ordinal')[0];
if (!categoryAxis) {
return;
}
@@ -261,8 +261,8 @@ function getIsIgnoreFunc(
}
// Otherwise follow the label interval strategy on category axis.
- let categoryDataDim = data.mapDimension(categoryAxis.dim);
- let labelMap: Dictionary<1> = {};
+ const categoryDataDim = data.mapDimension(categoryAxis.dim);
+ const labelMap: Dictionary<1> = {};
zrUtil.each(categoryAxis.getViewLabels(), function (labelItem) {
labelMap[labelItem.tickValue] = 1;
@@ -281,13 +281,13 @@ function canShowAllSymbolForCategory(
// is close with each other. So we check the symbol size and some of the
// label size alone with the category axis to estimate whether all symbol
// can be shown without overlap.
- let axisExtent = categoryAxis.getExtent();
+ const axisExtent = categoryAxis.getExtent();
let availSize = Math.abs(axisExtent[1] - axisExtent[0]) / (categoryAxis.scale as OrdinalScale).count();
isNaN(availSize) && (availSize = 0); // 0/0 is NaN.
// Sampling some points, max 5.
- let dataLen = data.count();
- let step = Math.max(1, Math.round(dataLen / 5));
+ const dataLen = data.count();
+ const step = Math.max(1, Math.round(dataLen / 5));
for (let dataIndex = 0; dataIndex < dataLen; dataIndex += step) {
if (SymbolClz.getSymbolSize(
data, dataIndex
@@ -309,12 +309,12 @@ function createLineClipPath(
seriesModel: LineSeriesModel
) {
if (coordSys.type === 'cartesian2d') {
- let isHorizontal = coordSys.getBaseAxis().isHorizontal();
- let clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel);
+ const isHorizontal = coordSys.getBaseAxis().isHorizontal();
+ const clipPath = createGridClipPath(coordSys, hasAnimation, seriesModel);
// Expand clip shape to avoid clipping when line value exceeds axis
if (!seriesModel.get('clip', true)) {
- let rectShape = clipPath.shape;
- let expandSize = Math.max(rectShape.width, rectShape.height);
+ const rectShape = clipPath.shape;
+ const expandSize = Math.max(rectShape.width, rectShape.height);
if (isHorizontal) {
rectShape.y -= expandSize;
rectShape.height += expandSize * 2;
@@ -355,9 +355,9 @@ class LineView extends ChartView {
_data: List;
init() {
- let lineGroup = new graphic.Group();
+ const lineGroup = new graphic.Group();
- let symbolDraw = new SymbolDraw();
+ const symbolDraw = new SymbolDraw();
this.group.add(symbolDraw.group);
this._symbolDraw = symbolDraw;
@@ -365,39 +365,39 @@ class LineView extends ChartView {
}
render(seriesModel: LineSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let coordSys = seriesModel.coordinateSystem;
- let group = this.group;
- let data = seriesModel.getData();
- let lineStyleModel = seriesModel.getModel('lineStyle');
- let areaStyleModel = seriesModel.getModel('areaStyle');
+ const coordSys = seriesModel.coordinateSystem;
+ const group = this.group;
+ const data = seriesModel.getData();
+ const lineStyleModel = seriesModel.getModel('lineStyle');
+ const areaStyleModel = seriesModel.getModel('areaStyle');
let points = data.mapArray(data.getItemLayout);
- let isCoordSysPolar = coordSys.type === 'polar';
- let prevCoordSys = this._coordSys;
+ const isCoordSysPolar = coordSys.type === 'polar';
+ const prevCoordSys = this._coordSys;
- let symbolDraw = this._symbolDraw;
+ const symbolDraw = this._symbolDraw;
let polyline = this._polyline;
let polygon = this._polygon;
- let lineGroup = this._lineGroup;
+ const lineGroup = this._lineGroup;
- let hasAnimation = seriesModel.get('animation');
+ const hasAnimation = seriesModel.get('animation');
- let isAreaChart = !areaStyleModel.isEmpty();
+ const isAreaChart = !areaStyleModel.isEmpty();
- let valueOrigin = areaStyleModel.get('origin');
- let dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);
+ const valueOrigin = areaStyleModel.get('origin');
+ const dataCoordInfo = prepareDataCoordInfo(coordSys, data, valueOrigin);
let stackedOnPoints = getStackedOnPoints(coordSys, data, dataCoordInfo);
- let showSymbol = seriesModel.get('showSymbol');
+ const showSymbol = seriesModel.get('showSymbol');
- let isIgnoreFunc = showSymbol && !isCoordSysPolar
+ const isIgnoreFunc = showSymbol && !isCoordSysPolar
&& getIsIgnoreFunc(seriesModel, data, coordSys as Cartesian2D);
// Remove temporary symbols
- let oldData = this._data;
+ const oldData = this._data;
oldData && oldData.eachItemGraphicEl(function (el: SymbolExtended, idx) {
if (el.__temp) {
group.remove(el);
@@ -413,7 +413,7 @@ class LineView extends ChartView {
group.add(lineGroup);
// FIXME step not support polar
- let step = !isCoordSysPolar ? seriesModel.get('step') : false;
+ const step = !isCoordSysPolar ? seriesModel.get('step') : false;
let clipShapeForSymbol: PolarArea | Cartesian2DArea;
if (coordSys && coordSys.getArea && seriesModel.get('clip', true)) {
clipShapeForSymbol = coordSys.getArea();
@@ -512,7 +512,7 @@ class LineView extends ChartView {
}
}
- let visualColor = getVisualGradient(data, coordSys) || data.getVisual('color');
+ const visualColor = getVisualGradient(data, coordSys) || data.getVisual('color');
polyline.useStyle(zrUtil.defaults(
// Use color in lineStyle first
@@ -524,7 +524,7 @@ class LineView extends ChartView {
}
));
- let smooth = getSmooth(seriesModel.get('smooth'));
+ const smooth = getSmooth(seriesModel.get('smooth'));
polyline.setShape({
smooth: smooth,
smoothMonotone: seriesModel.get('smoothMonotone'),
@@ -532,7 +532,7 @@ class LineView extends ChartView {
});
if (polygon) {
- let stackedOnSeries = data.getCalculationInfo('stackedOnSeries');
+ const stackedOnSeries = data.getCalculationInfo('stackedOnSeries');
let stackedOnSmooth = 0;
polygon.useStyle(zrUtil.defaults(
@@ -573,14 +573,14 @@ class LineView extends ChartView {
api: ExtensionAPI,
payload: Payload
) {
- let data = seriesModel.getData();
- let dataIndex = modelUtil.queryDataIndex(data, payload);
+ const data = seriesModel.getData();
+ const dataIndex = modelUtil.queryDataIndex(data, payload);
if (!(dataIndex instanceof Array) && dataIndex != null && dataIndex >= 0) {
let symbol = data.getItemGraphicEl(dataIndex) as SymbolClz;
if (!symbol) {
// Create a temporary symbol if it is not exists
- let pt = data.getItemLayout(dataIndex) as number[];
+ const pt = data.getItemLayout(dataIndex) as number[];
if (!pt) {
// Null data
return;
@@ -620,10 +620,10 @@ class LineView extends ChartView {
api: ExtensionAPI,
payload: Payload
) {
- let data = seriesModel.getData();
- let dataIndex = modelUtil.queryDataIndex(data, payload) as number;
+ const data = seriesModel.getData();
+ const dataIndex = modelUtil.queryDataIndex(data, payload) as number;
if (dataIndex != null && dataIndex >= 0) {
- let symbol = data.getItemGraphicEl(dataIndex) as SymbolExtended;
+ const symbol = data.getItemGraphicEl(dataIndex) as SymbolExtended;
if (symbol) {
if (symbol.__temp) {
data.setItemGraphicEl(dataIndex, null);
@@ -699,11 +699,11 @@ class LineView extends ChartView {
step: LineSeriesOption['step'],
valueOrigin: LineSeriesOption['areaStyle']['origin']
) {
- let polyline = this._polyline;
- let polygon = this._polygon;
- let seriesModel = data.hostModel;
+ const polyline = this._polyline;
+ const polygon = this._polygon;
+ const seriesModel = data.hostModel;
- let diff = lineAnimationDiff(
+ const diff = lineAnimationDiff(
this._data, data,
this._stackedOnPoints, stackedOnPoints,
this._coordSys, coordSys,
@@ -746,16 +746,16 @@ class LineView extends ChartView {
}, seriesModel);
}
- let updatedDataInfo: {
+ const updatedDataInfo: {
el: SymbolExtended,
ptIdx: number
}[] = [];
- let diffStatus = diff.status;
+ const diffStatus = diff.status;
for (let i = 0; i < diffStatus.length; i++) {
- let cmd = diffStatus[i].cmd;
+ const cmd = diffStatus[i].cmd;
if (cmd === '=') {
- let el = data.getItemGraphicEl(diffStatus[i].idx1) as SymbolExtended;
+ const el = data.getItemGraphicEl(diffStatus[i].idx1) as SymbolExtended;
if (el) {
updatedDataInfo.push({
el: el,
@@ -768,7 +768,7 @@ class LineView extends ChartView {
if (polyline.animators && polyline.animators.length) {
polyline.animators[0].during(function () {
for (let i = 0; i < updatedDataInfo.length; i++) {
- let el = updatedDataInfo[i].el;
+ const el = updatedDataInfo[i].el;
el.attr('position', (polyline.shape as any).__points[updatedDataInfo[i].ptIdx]);
}
});
@@ -776,8 +776,8 @@ class LineView extends ChartView {
}
remove(ecModel: GlobalModel) {
- let group = this.group;
- let oldData = this._data;
+ const group = this.group;
+ const oldData = this._data;
this._lineGroup.removeAll();
this._symbolDraw.remove(true);
// Remove temporary created elements when highlighting
diff --git a/src/chart/line/helper.ts b/src/chart/line/helper.ts
index 916e953..edaccc5 100644
--- a/src/chart/line/helper.ts
+++ b/src/chart/line/helper.ts
@@ -42,22 +42,22 @@ export function prepareDataCoordInfo(
data: List,
valueOrigin?: LineSeriesOption['areaStyle']['origin']
): CoordInfo {
- let baseAxis = coordSys.getBaseAxis();
- let valueAxis = coordSys.getOtherAxis(baseAxis as any);
- let valueStart = getValueStart(valueAxis, valueOrigin);
+ const baseAxis = coordSys.getBaseAxis();
+ const valueAxis = coordSys.getOtherAxis(baseAxis as any);
+ const valueStart = getValueStart(valueAxis, valueOrigin);
- let baseAxisDim = baseAxis.dim;
- let valueAxisDim = valueAxis.dim;
- let valueDim = data.mapDimension(valueAxisDim);
- let baseDim = data.mapDimension(baseAxisDim);
- let baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;
+ const baseAxisDim = baseAxis.dim;
+ const valueAxisDim = valueAxis.dim;
+ const valueDim = data.mapDimension(valueAxisDim);
+ const baseDim = data.mapDimension(baseAxisDim);
+ const baseDataOffset = valueAxisDim === 'x' || valueAxisDim === 'radius' ? 1 : 0;
- let dims = map(coordSys.dimensions, function (coordDim) {
+ const dims = map(coordSys.dimensions, function (coordDim) {
return data.mapDimension(coordDim);
});
let stacked = false;
- let stackResultDim = data.getCalculationInfo('stackResultDimension');
+ const stackResultDim = data.getCalculationInfo('stackResultDimension');
if (isDimensionStacked(data, dims[0] /*, dims[1]*/)) { // jshint ignore:line
stacked = true;
dims[0] = stackResultDim;
@@ -82,7 +82,7 @@ export function prepareDataCoordInfo(
function getValueStart(valueAxis: Axis, valueOrigin: LineSeriesOption['areaStyle']['origin']) {
let valueStart = 0;
- let extent = valueAxis.scale.getExtent();
+ const extent = valueAxis.scale.getExtent();
if (valueOrigin === 'start') {
valueStart = extent[0];
@@ -120,8 +120,8 @@ export function getStackedOnPoint(
value = dataCoordInfo.valueStart;
}
- let baseDataOffset = dataCoordInfo.baseDataOffset;
- let stackedData = [];
+ const baseDataOffset = dataCoordInfo.baseDataOffset;
+ const stackedData = [];
stackedData[baseDataOffset] = data.get(dataCoordInfo.baseDim, idx);
stackedData[1 - baseDataOffset] = value;
diff --git a/src/chart/line/lineAnimationDiff.ts b/src/chart/line/lineAnimationDiff.ts
index f003b99..9e164ef 100644
--- a/src/chart/line/lineAnimationDiff.ts
+++ b/src/chart/line/lineAnimationDiff.ts
@@ -30,7 +30,7 @@ interface DiffItem {
}
function diffData(oldData: List, newData: List) {
- let diffResult: DiffItem[] = [];
+ const diffResult: DiffItem[] = [];
newData.diff(oldData)
.add(function (idx) {
@@ -54,7 +54,7 @@ export default function (
oldValueOrigin: LineSeriesOption['areaStyle']['origin'],
newValueOrigin: LineSeriesOption['areaStyle']['origin']
) {
- let diff = diffData(oldData, newData);
+ const diff = diffData(oldData, newData);
// let newIdList = newData.mapArray(newData.getId);
// let oldIdList = oldData.mapArray(oldData.getId);
@@ -64,21 +64,21 @@ export default function (
// // FIXME One data ?
// diff = arrayDiff(oldIdList, newIdList);
- let currPoints: number[][] = [];
- let nextPoints: number[][] = [];
+ const currPoints: number[][] = [];
+ const nextPoints: number[][] = [];
// Points for stacking base line
- let currStackedPoints: number[][] = [];
- let nextStackedPoints: number[][] = [];
+ const currStackedPoints: number[][] = [];
+ const nextStackedPoints: number[][] = [];
- let status = [];
- let sortedIndices: number[] = [];
- let rawIndices: number[] = [];
+ const status = [];
+ const sortedIndices: number[] = [];
+ const rawIndices: number[] = [];
- let newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);
- let oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);
+ const newDataOldCoordInfo = prepareDataCoordInfo(oldCoordSys, newData, oldValueOrigin);
+ const oldDataNewCoordInfo = prepareDataCoordInfo(newCoordSys, oldData, newValueOrigin);
for (let i = 0; i < diff.length; i++) {
- let diffItem = diff[i];
+ const diffItem = diff[i];
let pointAdded = true;
// FIXME, animation is not so perfect when dataZoom window moves fast
@@ -86,7 +86,7 @@ export default function (
switch (diffItem.cmd) {
case '=':
let currentPt = oldData.getItemLayout(diffItem.idx) as number[];
- let nextPt = newData.getItemLayout(diffItem.idx1) as number[];
+ const nextPt = newData.getItemLayout(diffItem.idx1) as number[];
// If previous data is NaN, use next point directly
if (isNaN(currentPt[0]) || isNaN(currentPt[1])) {
currentPt = nextPt.slice();
@@ -100,7 +100,7 @@ export default function (
rawIndices.push(newData.getRawIndex(diffItem.idx1));
break;
case '+':
- let idxAdd = diffItem.idx;
+ const idxAdd = diffItem.idx;
currPoints.push(
oldCoordSys.dataToPoint([
newData.get(newDataOldCoordInfo.dataDimsForPoint[0], idxAdd),
@@ -118,8 +118,8 @@ export default function (
rawIndices.push(newData.getRawIndex(idxAdd));
break;
case '-':
- let idxMinus = diffItem.idx;
- let rawIndex = oldData.getRawIndex(idxMinus);
+ const idxMinus = diffItem.idx;
+ const rawIndex = oldData.getRawIndex(idxMinus);
// Data is replaced. In the case of dynamic data queue
// FIXME FIXME FIXME
if (rawIndex !== idxMinus) {
@@ -154,15 +154,15 @@ export default function (
return rawIndices[a] - rawIndices[b];
});
- let sortedCurrPoints = [];
- let sortedNextPoints = [];
+ const sortedCurrPoints = [];
+ const sortedNextPoints = [];
- let sortedCurrStackedPoints = [];
- let sortedNextStackedPoints = [];
+ const sortedCurrStackedPoints = [];
+ const sortedNextStackedPoints = [];
- let sortedStatus = [];
+ const sortedStatus = [];
for (let i = 0; i < sortedIndices.length; i++) {
- let idx = sortedIndices[i];
+ const idx = sortedIndices[i];
sortedCurrPoints[i] = currPoints[idx];
sortedNextPoints[i] = nextPoints[idx];
diff --git a/src/chart/line/poly.ts b/src/chart/line/poly.ts
index 1a6ba3f..adb61eb 100644
--- a/src/chart/line/poly.ts
+++ b/src/chart/line/poly.ts
@@ -122,7 +122,7 @@ function drawMono(
let idx = start;
let k = 0;
for (; k < segLen; k++) {
- let p = points[idx];
+ const p = points[idx];
if (idx >= allLen || idx < 0) {
break;
}
@@ -139,11 +139,11 @@ function drawMono(
}
else {
if (smooth > 0) {
- let prevP = points[prevIdx];
- let dim = smoothMonotone === 'y' ? 1 : 0;
+ const prevP = points[prevIdx];
+ const dim = smoothMonotone === 'y' ? 1 : 0;
// Length of control point to p, either in x or y, but not both
- let ctrlLen = (p[dim] - prevP[dim]) * smooth;
+ const ctrlLen = (p[dim] - prevP[dim]) * smooth;
v2Copy(cp0, prevP);
cp0[dim] = prevP[dim] + ctrlLen;
@@ -191,7 +191,7 @@ function drawNonMono(
let idx = start;
let k = 0;
for (; k < segLen; k++) {
- let p = points[idx];
+ const p = points[idx];
if (idx >= allLen || idx < 0) {
break;
}
@@ -220,7 +220,7 @@ function drawNonMono(
}
let ratioNextSeg = 0.5;
- let prevP = points[prevIdx];
+ const prevP = points[prevIdx];
nextP = points[nextIdx];
// Last point
if (!nextP || isPointNull(nextP)) {
@@ -237,7 +237,7 @@ function drawNonMono(
let lenPrevSeg;
let lenNextSeg;
if (smoothMonotone === 'x' || smoothMonotone === 'y') {
- let dim = smoothMonotone === 'x' ? 0 : 1;
+ const dim = smoothMonotone === 'x' ? 0 : 1;
lenPrevSeg = Math.abs(p[dim] - prevP[dim]);
lenNextSeg = Math.abs(p[dim] - nextP[dim]);
}
@@ -278,11 +278,11 @@ function drawNonMono(
}
function getBoundingBox(points: number[][], smoothConstraint?: boolean) {
- let ptMin = [Infinity, Infinity];
- let ptMax = [-Infinity, -Infinity];
+ const ptMin = [Infinity, Infinity];
+ const ptMax = [-Infinity, -Infinity];
if (smoothConstraint) {
for (let i = 0; i < points.length; i++) {
- let pt = points[i];
+ const pt = points[i];
if (pt[0] < ptMin[0]) {
ptMin[0] = pt[0];
}
@@ -337,12 +337,12 @@ export class ECPolyline extends Path<ECPolylineProps> {
}
buildPath(ctx: CanvasRenderingContext2D, shape: ECPolylineShape) {
- let points = shape.points;
+ const points = shape.points;
let i = 0;
let len = points.length;
- let result = getBoundingBox(points, shape.smoothConstraint);
+ const result = getBoundingBox(points, shape.smoothConstraint);
if (shape.connectNulls) {
// Must remove first and last null values avoid draw error in polygon
@@ -390,14 +390,14 @@ export class ECPolygon extends Path {
}
buildPath(ctx: CanvasRenderingContext2D, shape: ECPolygonShape) {
- let points = shape.points;
- let stackedOnPoints = shape.stackedOnPoints;
+ const points = shape.points;
+ const stackedOnPoints = shape.stackedOnPoints;
let i = 0;
let len = points.length;
- let smoothMonotone = shape.smoothMonotone;
- let bbox = getBoundingBox(points, shape.smoothConstraint);
- let stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);
+ const smoothMonotone = shape.smoothMonotone;
+ const bbox = getBoundingBox(points, shape.smoothConstraint);
+ const stackedOnBBox = getBoundingBox(stackedOnPoints, shape.smoothConstraint);
if (shape.connectNulls) {
// Must remove first and last null values avoid draw error in polygon
@@ -413,7 +413,7 @@ export class ECPolygon extends Path {
}
}
while (i < len) {
- let k = drawSegment(
+ const k = drawSegment(
ctx, points, i, len, len,
1, bbox.min, bbox.max, shape.smooth,
smoothMonotone, shape.connectNulls
diff --git a/src/chart/lines/LinesSeries.ts b/src/chart/lines/LinesSeries.ts
index 785aeb9..7618169 100644
--- a/src/chart/lines/LinesSeries.ts
+++ b/src/chart/lines/LinesSeries.ts
@@ -43,17 +43,17 @@ const Uint32Arr = typeof Uint32Array === 'undefined' ? Array : Uint32Array;
const Float64Arr = typeof Float64Array === 'undefined' ? Array : Float64Array;
function compatEc2(seriesOpt: LinesSeriesOption) {
- let data = seriesOpt.data;
+ const data = seriesOpt.data;
if (data && data[0] && (data as LegacyDataItemOption[][])[0][0] && (data as LegacyDataItemOption[][])[0][0].coord) {
if (__DEV__) {
console.warn('Lines data configuration has been changed to'
+ ' { coords:[[1,2],[2,3]] }');
}
seriesOpt.data = map(data as LegacyDataItemOption[][], function (itemOpt) {
- let coords = [
+ const coords = [
itemOpt[0].coord, itemOpt[1].coord
];
- let target: LinesDataItemOption = {
+ const target: LinesDataItemOption = {
coords: coords
};
if (itemOpt[0].name) {
@@ -161,7 +161,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
// Not using preprocessor because mergeOption may not have series.type
compatEc2(option);
- let result = this._processFlatCoordsArray(option.data);
+ const result = this._processFlatCoordsArray(option.data);
this._flatCoords = result.flatCoords;
this._flatCoordsOffset = result.flatCoordsOffset;
if (result.flatCoords) {
@@ -179,7 +179,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
if (option.data) {
// Only update when have option data to merge.
- let result = this._processFlatCoordsArray(option.data);
+ const result = this._processFlatCoordsArray(option.data);
this._flatCoords = result.flatCoords;
this._flatCoordsOffset = result.flatCoordsOffset;
if (result.flatCoords) {
@@ -191,7 +191,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
appendData(params: Pick<LinesSeriesOption, 'data'>) {
- let result = this._processFlatCoordsArray(params.data);
+ const result = this._processFlatCoordsArray(params.data);
if (result.flatCoords) {
if (!this._flatCoords) {
this._flatCoords = result.flatCoords;
@@ -208,8 +208,8 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
_getCoordsFromItemModel(idx: number) {
- let itemModel = this.getData().getItemModel<LinesDataItemOption>(idx);
- let coords = (itemModel.option instanceof Array)
+ const itemModel = this.getData().getItemModel<LinesDataItemOption>(idx);
+ const coords = (itemModel.option instanceof Array)
? itemModel.option : itemModel.getShallow('coords');
if (__DEV__) {
@@ -233,8 +233,8 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
getLineCoords(idx: number, out: number[][]) {
if (this._flatCoordsOffset) {
- let offset = this._flatCoordsOffset[idx * 2];
- let len = this._flatCoordsOffset[idx * 2 + 1];
+ const offset = this._flatCoordsOffset[idx * 2];
+ const len = this._flatCoordsOffset[idx * 2 + 1];
for (let i = 0; i < len; i++) {
out[i] = out[i] || [];
out[i][0] = this._flatCoords[offset + i * 2];
@@ -243,7 +243,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
return len;
}
else {
- let coords = this._getCoordsFromItemModel(idx);
+ const coords = this._getCoordsFromItemModel(idx);
for (let i = 0; i < coords.length; i++) {
out[i] = out[i] || [];
out[i][0] = coords[i][0];
@@ -261,23 +261,23 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
// Stored as a typed array. In format
// Points Count(2) | x | y | x | y | Points Count(3) | x | y | x | y | x | y |
if (typeof data[0] === 'number') {
- let len = data.length;
+ const len = data.length;
// Store offset and len of each segment
- let coordsOffsetAndLenStorage = new Uint32Arr(len) as Uint32Array;
- let coordsStorage = new Float64Arr(len) as Float64Array;
+ const coordsOffsetAndLenStorage = new Uint32Arr(len) as Uint32Array;
+ const coordsStorage = new Float64Arr(len) as Float64Array;
let coordsCursor = 0;
let offsetCursor = 0;
let dataCount = 0;
for (let i = 0; i < len;) {
dataCount++;
- let count = data[i++] as number;
+ const count = data[i++] as number;
// Offset
coordsOffsetAndLenStorage[offsetCursor++] = coordsCursor + startOffset;
// Len
coordsOffsetAndLenStorage[offsetCursor++] = count;
for (let k = 0; k < count; k++) {
- let x = data[i++] as number;
- let y = data[i++] as number;
+ const x = data[i++] as number;
+ const y = data[i++] as number;
coordsStorage[coordsCursor++] = x;
coordsStorage[coordsCursor++] = y;
@@ -305,13 +305,13 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
getInitialData(option: LinesSeriesOption, ecModel: GlobalModel) {
if (__DEV__) {
- let CoordSys = CoordinateSystem.get(option.coordinateSystem);
+ const CoordSys = CoordinateSystem.get(option.coordinateSystem);
if (!CoordSys) {
throw new Error('Unkown coordinate system ' + option.coordinateSystem);
}
}
- let lineData = new List(['value'], this);
+ const lineData = new List(['value'], this);
lineData.hasItemOption = false;
lineData.initData(option.data, [], function (dataItem, dimName, dataIndex, dimIndex) {
@@ -321,7 +321,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
else {
lineData.hasItemOption = true;
- let value = dataItem.value;
+ const value = dataItem.value;
if (value != null) {
return value instanceof Array ? value[dimIndex] : value;
}
@@ -332,15 +332,15 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
formatTooltip(dataIndex: number) {
- let data = this.getData();
- let itemModel = data.getItemModel<LinesDataItemOption>(dataIndex);
- let name = itemModel.get('name');
+ const data = this.getData();
+ const itemModel = data.getItemModel<LinesDataItemOption>(dataIndex);
+ const name = itemModel.get('name');
if (name) {
return name;
}
- let fromName = itemModel.get('fromName');
- let toName = itemModel.get('toName');
- let html = [];
+ const fromName = itemModel.get('fromName');
+ const toName = itemModel.get('toName');
+ const html = [];
fromName != null && html.push(fromName);
toName != null && html.push(toName);
@@ -352,7 +352,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
getProgressive() {
- let progressive = this.option.progressive;
+ const progressive = this.option.progressive;
if (progressive == null) {
return this.option.large ? 1e4 : this.get('progressive');
}
@@ -360,7 +360,7 @@ class LinesSeriesModel extends SeriesModel<LinesSeriesOption> {
}
getProgressiveThreshold() {
- let progressiveThreshold = this.option.progressiveThreshold;
+ const progressiveThreshold = this.option.progressiveThreshold;
if (progressiveThreshold == null) {
return this.option.large ? 2e4 : this.get('progressiveThreshold');
}
diff --git a/src/chart/lines/LinesView.ts b/src/chart/lines/LinesView.ts
index 378b95d..f89254b 100644
--- a/src/chart/lines/LinesView.ts
+++ b/src/chart/lines/LinesView.ts
@@ -51,18 +51,18 @@ class LinesView extends ChartView {
private _isLargeDraw: boolean;
render(seriesModel: LinesSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
- let lineDraw = this._updateLineDraw(data, seriesModel);
+ const lineDraw = this._updateLineDraw(data, seriesModel);
- let zlevel = seriesModel.get('zlevel');
- let trailLength = seriesModel.get(['effect', 'trailLength']);
+ const zlevel = seriesModel.get('zlevel');
+ const trailLength = seriesModel.get(['effect', 'trailLength']);
- let zr = api.getZr();
+ const zr = api.getZr();
// Avoid the drag cause ghost shadow
// FIXME Better way ?
// SVG doesn't support
- let isSvg = zr.painter.getType() === 'svg';
+ const isSvg = zr.painter.getType() === 'svg';
if (!isSvg) {
(zr.painter as CanvasPainter).getLayer(zlevel).clear(true);
}
@@ -93,7 +93,7 @@ class LinesView extends ChartView {
lineDraw.updateData(data as List);
- let clipPath = seriesModel.get('clip', true) && createClipPath(
+ const clipPath = seriesModel.get('clip', true) && createClipPath(
(seriesModel.coordinateSystem as Polar | Cartesian2D), false, seriesModel
);
if (clipPath) {
@@ -109,9 +109,9 @@ class LinesView extends ChartView {
}
incrementalPrepareRender(seriesModel: LinesSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
- let lineDraw = this._updateLineDraw(data, seriesModel);
+ const lineDraw = this._updateLineDraw(data, seriesModel);
lineDraw.incrementalPrepareUpdate(data);
@@ -131,8 +131,8 @@ class LinesView extends ChartView {
}
updateTransform(seriesModel: LinesSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
- let pipelineContext = seriesModel.pipelineContext;
+ const data = seriesModel.getData();
+ const pipelineContext = seriesModel.pipelineContext;
if (!this._finished || pipelineContext.large || pipelineContext.progressiveRender) {
// TODO Don't have to do update in large mode. Only do it when there are millions of data.
@@ -143,7 +143,7 @@ class LinesView extends ChartView {
else {
// TODO Use same logic with ScatterView.
// Manually update layout
- let res = linesLayout.reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
+ const res = linesLayout.reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
if (res.progress) {
res.progress({
start: 0,
@@ -159,10 +159,10 @@ class LinesView extends ChartView {
_updateLineDraw(data: List, seriesModel: LinesSeriesModel) {
let lineDraw = this._lineDraw;
- let hasEffect = this._showEffect(seriesModel);
- let isPolyline = !!seriesModel.get('polyline');
- let pipelineContext = seriesModel.pipelineContext;
- let isLargeDraw = pipelineContext.large;
+ const hasEffect = this._showEffect(seriesModel);
+ const isPolyline = !!seriesModel.get('polyline');
+ const pipelineContext = seriesModel.pipelineContext;
+ const isLargeDraw = pipelineContext.large;
if (__DEV__) {
if (hasEffect && isLargeDraw) {
@@ -201,8 +201,8 @@ class LinesView extends ChartView {
_clearLayer(api: ExtensionAPI) {
// Not use motion when dragging or zooming
- let zr = api.getZr();
- let isSvg = zr.painter.getType() === 'svg';
+ const zr = api.getZr();
+ const isSvg = zr.painter.getType() === 'svg';
if (!isSvg && this._lastZlevel != null) {
(zr.painter as CanvasPainter).getLayer(this._lastZlevel).clear(true);
}
diff --git a/src/chart/lines/linesLayout.ts b/src/chart/lines/linesLayout.ts
index fcba67f..4156d14 100644
--- a/src/chart/lines/linesLayout.ts
+++ b/src/chart/lines/linesLayout.ts
@@ -29,15 +29,15 @@ const linesLayout: StageHandler = {
plan: createRenderPlanner(),
reset: function (seriesModel: LinesSeriesModel) {
- let coordSys = seriesModel.coordinateSystem;
- let isPolyline = seriesModel.get('polyline');
- let isLarge = seriesModel.pipelineContext.large;
+ const coordSys = seriesModel.coordinateSystem;
+ const isPolyline = seriesModel.get('polyline');
+ const isLarge = seriesModel.pipelineContext.large;
return {
progress(params, lineData) {
- let lineCoords: number[][] = [];
+ const lineCoords: number[][] = [];
if (isLarge) {
let points;
- let segCount = params.end - params.start;
+ const segCount = params.end - params.start;
if (isPolyline) {
let totalCoordsCount = 0;
for (let i = params.start; i < params.end; i++) {
@@ -52,7 +52,7 @@ const linesLayout: StageHandler = {
let offset = 0;
let pt: number[] = [];
for (let i = params.start; i < params.end; i++) {
- let len = seriesModel.getLineCoords(i, lineCoords);
+ const len = seriesModel.getLineCoords(i, lineCoords);
if (isPolyline) {
points[offset++] = len;
}
@@ -67,10 +67,10 @@ const linesLayout: StageHandler = {
}
else {
for (let i = params.start; i < params.end; i++) {
- let itemModel = lineData.getItemModel<LinesDataItemOption>(i);
- let len = seriesModel.getLineCoords(i, lineCoords);
+ const itemModel = lineData.getItemModel<LinesDataItemOption>(i);
+ const len = seriesModel.getLineCoords(i, lineCoords);
- let pts = [];
+ const pts = [];
if (isPolyline) {
for (let j = 0; j < len; j++) {
pts.push(coordSys.dataToPoint(lineCoords[j]));
@@ -80,7 +80,7 @@ const linesLayout: StageHandler = {
pts[0] = coordSys.dataToPoint(lineCoords[0]);
pts[1] = coordSys.dataToPoint(lineCoords[1]);
- let curveness = itemModel.get(['lineStyle', 'curveness']);
+ const curveness = itemModel.get(['lineStyle', 'curveness']);
if (+curveness) {
pts[2] = [
(pts[0][0] + pts[1][0]) / 2 - (pts[0][1] - pts[1][1]) * curveness,
diff --git a/src/chart/lines/linesVisual.ts b/src/chart/lines/linesVisual.ts
index 5882909..0f37f93 100644
--- a/src/chart/lines/linesVisual.ts
+++ b/src/chart/lines/linesVisual.ts
@@ -36,9 +36,9 @@ const opacityQuery = ['lineStyle', 'opacity'] as const;
const linesVisual: StageHandler = {
seriesType: 'lines',
reset(seriesModel: LinesSeriesModel) {
- let symbolType = normalize(seriesModel.get('symbol'));
- let symbolSize = normalize(seriesModel.get('symbolSize'));
- let data = seriesModel.getData();
+ const symbolType = normalize(seriesModel.get('symbol'));
+ const symbolSize = normalize(seriesModel.get('symbolSize'));
+ const data = seriesModel.getData();
data.setVisual('fromSymbol', symbolType && symbolType[0]);
data.setVisual('toSymbol', symbolType && symbolType[1]);
@@ -47,10 +47,10 @@ const linesVisual: StageHandler = {
data.setVisual('opacity', seriesModel.get(opacityQuery));
function dataEach(data: List<LinesSeriesModel>, idx: number): void {
- let itemModel = data.getItemModel(idx) as Model<LinesDataItemOption>;
- let symbolType = normalize(itemModel.getShallow('symbol', true));
- let symbolSize = normalize(itemModel.getShallow('symbolSize', true));
- let opacity = itemModel.get(opacityQuery);
+ const itemModel = data.getItemModel(idx) as Model<LinesDataItemOption>;
+ const symbolType = normalize(itemModel.getShallow('symbol', true));
+ const symbolSize = normalize(itemModel.getShallow('symbolSize', true));
+ const opacity = itemModel.get(opacityQuery);
symbolType[0] && data.setItemVisual(idx, 'fromSymbol', symbolType[0]);
symbolType[1] && data.setItemVisual(idx, 'toSymbol', symbolType[1]);
diff --git a/src/chart/map/MapSeries.ts b/src/chart/map/MapSeries.ts
index d461f1d..037540d 100644
--- a/src/chart/map/MapSeries.ts
+++ b/src/chart/map/MapSeries.ts
@@ -122,17 +122,17 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
getInitialData(option: MapSeriesOption): List {
- let data = createListSimply(this, {
+ const data = createListSimply(this, {
coordDimensions: ['value'],
encodeDefaulter: zrUtil.curry(makeSeriesEncodeForNameBased, this)
});
- let valueDim = data.mapDimension('value');
- let dataNameMap = zrUtil.createHashMap();
- let selectTargetList = [];
- let toAppendNames = [] as string[];
+ const valueDim = data.mapDimension('value');
+ const dataNameMap = zrUtil.createHashMap();
+ const selectTargetList = [];
+ const toAppendNames = [] as string[];
for (let i = 0, len = data.count(); i < len; i++) {
- let name = data.getName(i);
+ const name = data.getName(i);
dataNameMap.set(name, true);
selectTargetList.push({
name: name,
@@ -141,9 +141,9 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
});
}
- let geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap);
+ const geoSource = geoSourceManager.load(this.getMapType(), this.option.nameMap);
zrUtil.each(geoSource.regions, function (region) {
- let name = region.name;
+ const name = region.name;
if (!dataNameMap.get(name)) {
selectTargetList.push({name: name});
toAppendNames.push(name);
@@ -165,7 +165,7 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
* inner exclusive geo model.
*/
getHostGeoModel(): GeoModel {
- let geoIndex = this.option.geoIndex;
+ const geoIndex = this.option.geoIndex;
return geoIndex != null
? this.dependentModels.geo[geoIndex] as GeoModel
: null;
@@ -187,7 +187,7 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
getRawValue(dataIndex: number): ParsedValue {
// Use value stored in data instead because it is calculated from multiple series
// FIXME Provide all value of multiple series ?
- let data = this.getData();
+ const data = this.getData();
return data.get(data.mapDimension('value'), dataIndex);
}
@@ -195,7 +195,7 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
* Get model of region
*/
getRegionModel(regionName: string): Model<MapDataItemOption> {
- let data = this.getData();
+ const data = this.getData();
return data.getItemModel(data.indexOfName(regionName));
}
@@ -204,15 +204,15 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
*/
formatTooltip(dataIndex: number): string {
// FIXME orignalData and data is a bit confusing
- let data = this.getData();
- let formattedValue = addCommas(this.getRawValue(dataIndex));
- let name = data.getName(dataIndex);
+ const data = this.getData();
+ const formattedValue = addCommas(this.getRawValue(dataIndex));
+ const name = data.getName(dataIndex);
- let seriesGroup = this.seriesGroup;
- let seriesNames = [];
+ const seriesGroup = this.seriesGroup;
+ const seriesNames = [];
for (let i = 0; i < seriesGroup.length; i++) {
- let otherIndex = seriesGroup[i].originalData.indexOfName(name);
- let valueDim = data.mapDimension('value');
+ const otherIndex = seriesGroup[i].originalData.indexOfName(name);
+ const valueDim = data.mapDimension('value');
if (!isNaN(seriesGroup[i].originalData.get(valueDim, otherIndex) as number)) {
seriesNames.push(
encodeHTML(seriesGroup[i].name)
@@ -226,9 +226,9 @@ class MapSeries extends SeriesModel<MapSeriesOption> {
getTooltipPosition = function (this: MapSeries, dataIndex: number): number[] {
if (dataIndex != null) {
- let name = this.getData().getName(dataIndex);
- let geo = this.coordinateSystem;
- let region = geo.getRegion(name);
+ const name = this.getData().getName(dataIndex);
+ const geo = this.coordinateSystem;
+ const region = geo.getRegion(name);
return region && geo.dataToPoint(region.center);
}
diff --git a/src/chart/map/MapView.ts b/src/chart/map/MapView.ts
index 1326c09..87ded60 100644
--- a/src/chart/map/MapView.ts
+++ b/src/chart/map/MapView.ts
@@ -69,7 +69,7 @@ class MapView extends ChartView {
return;
}
- let group = this.group;
+ const group = this.group;
group.removeAll();
if (mapModel.getHostGeoModel()) {
@@ -83,7 +83,7 @@ class MapView extends ChartView {
)
) {
if (mapModel.needsDrawMap) {
- let mapDraw = this._mapDraw || new MapDraw(api, true);
+ const mapDraw = this._mapDraw || new MapDraw(api, true);
group.add(mapDraw.group);
mapDraw.draw(mapModel, ecModel, api, this, payload);
@@ -97,7 +97,7 @@ class MapView extends ChartView {
}
}
else {
- let mapDraw = this._mapDraw;
+ const mapDraw = this._mapDraw;
mapDraw && group.add(mapDraw.group);
}
@@ -117,25 +117,25 @@ class MapView extends ChartView {
}
private _renderSymbols(mapModel: MapSeries, ecModel: GlobalModel, api: ExtensionAPI): void {
- let originalData = mapModel.originalData;
- let group = this.group;
+ const originalData = mapModel.originalData;
+ const group = this.group;
originalData.each(originalData.mapDimension('value'), function (value, originalDataIndex) {
if (isNaN(value as number)) {
return;
}
- let layout = originalData.getItemLayout(originalDataIndex);
+ const layout = originalData.getItemLayout(originalDataIndex);
if (!layout || !layout.point) {
// Not exists in map
return;
}
- let point = layout.point;
- let offset = layout.offset;
+ const point = layout.point;
+ const offset = layout.offset;
- let circle = new graphic.Circle({
+ const circle = new graphic.Circle({
style: {
// Because the special of map draw.
// Which needs statistic of multiple series and draw on one map.
@@ -165,16 +165,16 @@ class MapView extends ChartView {
// settings on series `X` but render label `C` by the settings on series `Y`.
if (!offset) {
- let fullData = mapModel.mainSeries.getData();
- let name = originalData.getName(originalDataIndex);
+ const fullData = mapModel.mainSeries.getData();
+ const name = originalData.getName(originalDataIndex);
- let fullIndex = fullData.indexOfName(name);
+ const fullIndex = fullData.indexOfName(name);
- let itemModel = originalData.getItemModel<MapDataItemOption>(originalDataIndex);
- let labelModel = itemModel.getModel('label');
- let hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
+ const itemModel = originalData.getItemModel<MapDataItemOption>(originalDataIndex);
+ const labelModel = itemModel.getModel('label');
+ const hoverLabelModel = itemModel.getModel(['emphasis', 'label']);
- let regionGroup = fullData.getItemGraphicEl(fullIndex) as RegionGroupExtend;
+ const regionGroup = fullData.getItemGraphicEl(fullIndex) as RegionGroupExtend;
// `getFormattedLabel` needs to use `getData` inside. Here
// `mapModel.getData()` is shallow cloned from `mainSeries.getData()`.
@@ -183,17 +183,17 @@ class MapView extends ChartView {
// set on original data item will never get. But it has been working
// like that from the begining, and this scenario is rarely encountered.
// So it won't be fixed until have to.
- let normalText = zrUtil.retrieve2(
+ const normalText = zrUtil.retrieve2(
mapModel.getFormattedLabel(fullIndex, 'normal'),
name
);
- let emphasisText = zrUtil.retrieve2(
+ const emphasisText = zrUtil.retrieve2(
mapModel.getFormattedLabel(fullIndex, 'emphasis'),
normalText
);
let highDownRecord = regionGroup[HIGH_DOWN_PROP];
- let recordVersion = Math.random();
+ const recordVersion = Math.random();
// Prevent from register listeners duplicatedly when roaming.
if (!highDownRecord) {
diff --git a/src/chart/map/backwardCompat.ts b/src/chart/map/backwardCompat.ts
index e31a192..cd5026c 100644
--- a/src/chart/map/backwardCompat.ts
+++ b/src/chart/map/backwardCompat.ts
@@ -22,7 +22,7 @@ import { ECUnitOption, SeriesOption } from '../../util/types';
export default function (option: ECUnitOption) {
// Save geoCoord
- let mapSeries = [];
+ const mapSeries = [];
zrUtil.each(option.series, function (seriesOpt: SeriesOption) {
if (seriesOpt && seriesOpt.type === 'map') {
mapSeries.push(seriesOpt);
diff --git a/src/chart/map/mapDataStatistic.ts b/src/chart/map/mapDataStatistic.ts
index fb70a38..d986094 100644
--- a/src/chart/map/mapDataStatistic.ts
+++ b/src/chart/map/mapDataStatistic.ts
@@ -25,12 +25,12 @@ import GlobalModel from '../../model/Global';
// FIXME 公用?
function dataStatistics(datas: List[], statisticType: MapValueCalculationType): List {
- let dataNameMap = {} as {[mapKey: string]: number[]};
+ const dataNameMap = {} as {[mapKey: string]: number[]};
zrUtil.each(datas, function (data) {
data.each(data.mapDimension('value'), function (value: number, idx) {
// Add prefix to avoid conflict with Object.prototype.
- let mapKey = 'ec-' + data.getName(idx);
+ const mapKey = 'ec-' + data.getName(idx);
dataNameMap[mapKey] = dataNameMap[mapKey] || [];
if (!isNaN(value)) {
dataNameMap[mapKey].push(value);
@@ -39,11 +39,11 @@ function dataStatistics(datas: List[], statisticType: MapValueCalculationType):
});
return datas[0].map(datas[0].mapDimension('value'), function (value, idx) {
- let mapKey = 'ec-' + datas[0].getName(idx);
+ const mapKey = 'ec-' + datas[0].getName(idx);
let sum = 0;
let min = Infinity;
let max = -Infinity;
- let len = dataNameMap[mapKey].length;
+ const len = dataNameMap[mapKey].length;
for (let i = 0; i < len; i++) {
min = Math.min(min, dataNameMap[mapKey][i]);
max = Math.max(max, dataNameMap[mapKey][i]);
@@ -67,15 +67,15 @@ function dataStatistics(datas: List[], statisticType: MapValueCalculationType):
}
export default function (ecModel: GlobalModel): void {
- let seriesGroups = {} as {[key: string]: MapSeries[]};
+ const seriesGroups = {} as {[key: string]: MapSeries[]};
ecModel.eachSeriesByType('map', function (seriesModel: MapSeries) {
- let hostGeoModel = seriesModel.getHostGeoModel();
- let key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();
+ const hostGeoModel = seriesModel.getHostGeoModel();
+ const key = hostGeoModel ? 'o' + hostGeoModel.id : 'i' + seriesModel.getMapType();
(seriesGroups[key] = seriesGroups[key] || []).push(seriesModel);
});
zrUtil.each(seriesGroups, function (seriesList, key) {
- let data = dataStatistics(
+ const data = dataStatistics(
zrUtil.map(seriesList, function (seriesModel) {
return seriesModel.getData();
}),
diff --git a/src/chart/map/mapSymbolLayout.ts b/src/chart/map/mapSymbolLayout.ts
index 56f3003..671c9fb 100644
--- a/src/chart/map/mapSymbolLayout.ts
+++ b/src/chart/map/mapSymbolLayout.ts
@@ -25,23 +25,23 @@ import { Dictionary } from '../../util/types';
export default function (ecModel: GlobalModel) {
- let processedMapType = {} as {[mapType: string]: boolean};
+ const processedMapType = {} as {[mapType: string]: boolean};
ecModel.eachSeriesByType('map', function (mapSeries: MapSeries) {
- let mapType = mapSeries.getMapType();
+ const mapType = mapSeries.getMapType();
if (mapSeries.getHostGeoModel() || processedMapType[mapType]) {
return;
}
- let mapSymbolOffsets = {} as Dictionary<number>;
+ const mapSymbolOffsets = {} as Dictionary<number>;
zrUtil.each(mapSeries.seriesGroup, function (subMapSeries) {
- let geo = subMapSeries.coordinateSystem;
- let data = subMapSeries.originalData;
+ const geo = subMapSeries.coordinateSystem;
+ const data = subMapSeries.originalData;
if (subMapSeries.get('showLegendSymbol') && ecModel.getComponent('legend')) {
data.each(data.mapDimension('value'), function (value, idx) {
- let name = data.getName(idx);
- let region = geo.getRegion(name);
+ const name = data.getName(idx);
+ const region = geo.getRegion(name);
// If input series.data is [11, 22, '-'/null/undefined, 44],
// it will be filled with NaN: [11, 22, NaN, 44] and NaN will
@@ -50,9 +50,9 @@ export default function (ecModel: GlobalModel) {
return;
}
- let offset = mapSymbolOffsets[name] || 0;
+ const offset = mapSymbolOffsets[name] || 0;
- let point = geo.dataToPoint(region.center);
+ const point = geo.dataToPoint(region.center);
mapSymbolOffsets[name] = offset + 1;
@@ -65,10 +65,10 @@ export default function (ecModel: GlobalModel) {
});
// Show label of those region not has legendSymbol(which is offset 0)
- let data = mapSeries.getData();
+ const data = mapSeries.getData();
data.each(function (idx) {
- let name = data.getName(idx);
- let layout = data.getItemLayout(idx) || {};
+ const name = data.getName(idx);
+ const layout = data.getItemLayout(idx) || {};
layout.showLabel = !mapSymbolOffsets[name];
data.setItemLayout(idx, layout);
});
diff --git a/src/chart/map/mapVisual.ts b/src/chart/map/mapVisual.ts
index 461a3c7..031d40c 100644
--- a/src/chart/map/mapVisual.ts
+++ b/src/chart/map/mapVisual.ts
@@ -24,11 +24,11 @@ import { ZRColor } from '../../util/types';
export default function (ecModel: GlobalModel) {
ecModel.eachSeriesByType('map', function (seriesModel: MapSeries) {
- let colorList = seriesModel.get('color') as ZRColor[];
- let itemStyleModel = seriesModel.getModel('itemStyle');
+ const colorList = seriesModel.get('color') as ZRColor[];
+ const itemStyleModel = seriesModel.getModel('itemStyle');
- let areaColor = itemStyleModel.get('areaColor');
- let color = itemStyleModel.get('color')
+ const areaColor = itemStyleModel.get('areaColor');
+ const color = itemStyleModel.get('color')
|| colorList[seriesModel.seriesIndex % colorList.length];
seriesModel.getData().setVisual({
diff --git a/src/chart/parallel/ParallelSeries.ts b/src/chart/parallel/ParallelSeries.ts
index 3254757..879d22f 100644
--- a/src/chart/parallel/ParallelSeries.ts
+++ b/src/chart/parallel/ParallelSeries.ts
@@ -91,7 +91,7 @@ class ParallelSeriesModel extends SeriesModel<ParallelSeriesOption> {
getInitialData(option: ParallelSeriesOption, ecModel: GlobalModel): List {
- let source = this.getSource();
+ const source = this.getSource();
setEncodeAndDimensions(source, this);
@@ -104,9 +104,9 @@ class ParallelSeriesModel extends SeriesModel<ParallelSeriesOption> {
* @return Raw indices
*/
getRawIndicesByActiveState(activeState: ParallelActiveState): number[] {
- let coordSys = this.coordinateSystem;
- let data = this.getData();
- let indices = [] as number[];
+ const coordSys = this.coordinateSystem;
+ const data = this.getData();
+ const indices = [] as number[];
coordSys.eachActiveState(data, function (theActiveState, dataIndex) {
if (activeState === theActiveState) {
@@ -164,16 +164,16 @@ function setEncodeAndDimensions(source: Source, seriesModel: ParallelSeriesModel
return;
}
- let parallelModel = seriesModel.ecModel.getComponent(
+ const parallelModel = seriesModel.ecModel.getComponent(
'parallel', seriesModel.get('parallelIndex')
) as ParallelModel;
if (!parallelModel) {
return;
}
- let encodeDefine = source.encodeDefine = createHashMap();
+ const encodeDefine = source.encodeDefine = createHashMap();
each(parallelModel.dimensions, function (axisDim) {
- let dataDimIndex = convertDimNameToNumber(axisDim);
+ const dataDimIndex = convertDimNameToNumber(axisDim);
encodeDefine.set(axisDim, dataDimIndex);
});
}
diff --git a/src/chart/parallel/ParallelView.ts b/src/chart/parallel/ParallelView.ts
index e995669..d5e2873 100644
--- a/src/chart/parallel/ParallelView.ts
+++ b/src/chart/parallel/ParallelView.ts
@@ -59,12 +59,12 @@ class ParallelView extends ChartView {
animation?: boolean
}
) {
- let dataGroup = this._dataGroup;
- let data = seriesModel.getData();
- let oldData = this._data;
- let coordSys = seriesModel.coordinateSystem;
- let dimensions = coordSys.dimensions;
- let seriesScope = makeSeriesScope(seriesModel);
+ const dataGroup = this._dataGroup;
+ const data = seriesModel.getData();
+ const oldData = this._data;
+ const coordSys = seriesModel.coordinateSystem;
+ const dimensions = coordSys.dimensions;
+ const seriesScope = makeSeriesScope(seriesModel);
data.diff(oldData)
.add(add)
@@ -73,29 +73,29 @@ class ParallelView extends ChartView {
.execute();
function add(newDataIndex: number) {
- let line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);
+ const line = addEl(data, dataGroup, newDataIndex, dimensions, coordSys);
updateElCommon(line, data, newDataIndex, seriesScope);
}
function update(newDataIndex: number, oldDataIndex: number) {
- let line = oldData.getItemGraphicEl(oldDataIndex) as graphic.Polyline;
- let points = createLinePoints(data, newDataIndex, dimensions, coordSys);
+ const line = oldData.getItemGraphicEl(oldDataIndex) as graphic.Polyline;
+ const points = createLinePoints(data, newDataIndex, dimensions, coordSys);
data.setItemGraphicEl(newDataIndex, line);
- let animationModel = (payload && payload.animation === false) ? null : seriesModel;
+ const animationModel = (payload && payload.animation === false) ? null : seriesModel;
graphic.updateProps(line, {shape: {points: points}}, animationModel, newDataIndex);
updateElCommon(line, data, newDataIndex, seriesScope);
}
function remove(oldDataIndex: number) {
- let line = oldData.getItemGraphicEl(oldDataIndex);
+ const line = oldData.getItemGraphicEl(oldDataIndex);
dataGroup.remove(line);
}
// First create
if (!this._initialized) {
this._initialized = true;
- let clipPath = createGridClipShape(
+ const clipPath = createGridClipShape(
coordSys, seriesModel, function () {
// Callback will be invoked immediately if there is no animation
setTimeout(function () {
@@ -116,13 +116,13 @@ class ParallelView extends ChartView {
}
incrementalRender(taskParams: StageHandlerProgressParams, seriesModel: ParallelSeriesModel, ecModel: GlobalModel) {
- let data = seriesModel.getData();
- let coordSys = seriesModel.coordinateSystem;
- let dimensions = coordSys.dimensions;
- let seriesScope = makeSeriesScope(seriesModel);
+ const data = seriesModel.getData();
+ const coordSys = seriesModel.coordinateSystem;
+ const dimensions = coordSys.dimensions;
+ const seriesScope = makeSeriesScope(seriesModel);
for (let dataIndex = taskParams.start; dataIndex < taskParams.end; dataIndex++) {
- let line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);
+ const line = addEl(data, this._dataGroup, dataIndex, dimensions, coordSys);
line.incremental = true;
updateElCommon(line, data, dataIndex, seriesScope);
}
@@ -138,9 +138,9 @@ class ParallelView extends ChartView {
}
function createGridClipShape(coordSys: Parallel, seriesModel: ParallelSeriesModel, cb: () => void) {
- let parallelModel = coordSys.model;
- let rect = coordSys.getRect();
- let rectEl = new graphic.Rect({
+ const parallelModel = coordSys.model;
+ const rect = coordSys.getRect();
+ const rectEl = new graphic.Rect({
shape: {
x: rect.x,
y: rect.y,
@@ -149,7 +149,7 @@ function createGridClipShape(coordSys: Parallel, seriesModel: ParallelSeriesMode
}
});
- let dim = parallelModel.get('layout') === 'horizontal' ? 'width' as const : 'height' as const;
+ const dim = parallelModel.get('layout') === 'horizontal' ? 'width' as const : 'height' as const;
rectEl.setShape(dim, 0);
graphic.initProps(rectEl, {
shape: {
@@ -161,10 +161,10 @@ function createGridClipShape(coordSys: Parallel, seriesModel: ParallelSeriesMode
}
function createLinePoints(data: List, dataIndex: number, dimensions: string[], coordSys: Parallel) {
- let points = [];
+ const points = [];
for (let i = 0; i < dimensions.length; i++) {
- let dimName = dimensions[i];
- let value = data.get(data.mapDimension(dimName), dataIndex);
+ const dimName = dimensions[i];
+ const value = data.get(data.mapDimension(dimName), dataIndex);
if (!isEmptyValue(value, coordSys.getAxis(dimName).type)) {
points.push(coordSys.dataToPoint(value, dimName));
}
@@ -173,8 +173,8 @@ function createLinePoints(data: List, dataIndex: number, dimensions: string[], c
}
function addEl(data: List, dataGroup: graphic.Group, dataIndex: number, dimensions: string[], coordSys: Parallel) {
- let points = createLinePoints(data, dataIndex, dimensions, coordSys);
- let line = new graphic.Polyline({
+ const points = createLinePoints(data, dataIndex, dimensions, coordSys);
+ const line = new graphic.Polyline({
shape: {points: points},
silent: true,
z2: 10
@@ -203,14 +203,14 @@ function updateElCommon(
let lineStyle = seriesScope.lineStyle;
if (data.hasItemOption) {
- let lineStyleModel = data.getItemModel<ParallelSeriesDataItemOption>(dataIndex)
+ const lineStyleModel = data.getItemModel<ParallelSeriesDataItemOption>(dataIndex)
.getModel('lineStyle');
lineStyle = lineStyleModel.getLineStyle();
}
el.useStyle(lineStyle);
- let elStyle = el.style;
+ const elStyle = el.style;
elStyle.fill = null;
// lineStyle.color have been set to itemVisual in module:echarts/visual/seriesColor.
elStyle.stroke = data.getItemVisual(dataIndex, 'color');
diff --git a/src/chart/parallel/parallelVisual.ts b/src/chart/parallel/parallelVisual.ts
index 4b20b39..4aa88a6 100644
--- a/src/chart/parallel/parallelVisual.ts
+++ b/src/chart/parallel/parallelVisual.ts
@@ -31,20 +31,20 @@ const parallelVisual: StageHandler = {
reset: function (seriesModel: ParallelSeriesModel, ecModel) {
// let itemStyleModel = seriesModel.getModel('itemStyle');
- let lineStyleModel = seriesModel.getModel('lineStyle');
- let globalColors = ecModel.get('color');
+ const lineStyleModel = seriesModel.getModel('lineStyle');
+ const globalColors = ecModel.get('color');
- let color = lineStyleModel.get('color')
+ const color = lineStyleModel.get('color')
// || itemStyleModel.get('color')
|| globalColors[seriesModel.seriesIndex % globalColors.length];
- let inactiveOpacity = seriesModel.get('inactiveOpacity');
- let activeOpacity = seriesModel.get('activeOpacity');
- let lineStyle = seriesModel.getModel('lineStyle').getLineStyle();
+ const inactiveOpacity = seriesModel.get('inactiveOpacity');
+ const activeOpacity = seriesModel.get('activeOpacity');
+ const lineStyle = seriesModel.getModel('lineStyle').getLineStyle();
- let coordSys = seriesModel.coordinateSystem;
- let data = seriesModel.getData();
+ const coordSys = seriesModel.coordinateSystem;
+ const data = seriesModel.getData();
- let opacityMap = {
+ const opacityMap = {
normal: lineStyle.opacity,
active: activeOpacity,
inactive: inactiveOpacity
@@ -57,7 +57,7 @@ const parallelVisual: StageHandler = {
coordSys.eachActiveState(data, function (activeState, dataIndex) {
let opacity = opacityMap[activeState];
if (activeState === 'normal' && data.hasItemOption) {
- let itemOpacity = data.getItemModel<ParallelSeriesOption>(dataIndex).get(
+ const itemOpacity = data.getItemModel<ParallelSeriesOption>(dataIndex).get(
opacityAccessPath, true
);
itemOpacity != null && (opacity = itemOpacity);
diff --git a/src/chart/pie/PieSeries.ts b/src/chart/pie/PieSeries.ts
index 8c08c5b..bae1cdd 100644
--- a/src/chart/pie/PieSeries.ts
+++ b/src/chart/pie/PieSeries.ts
@@ -149,9 +149,9 @@ class PieSeriesModel extends SeriesModel<PieSeriesOption> {
}
private _createSelectableList(): SelectableTarget[] {
- let data = this.getRawData();
- let valueDim = data.mapDimension('value');
- let targetList = [];
+ const data = this.getRawData();
+ const valueDim = data.mapDimension('value');
+ const targetList = [];
for (let i = 0, len = data.count(); i < len; i++) {
targetList.push({
name: data.getName(i),
@@ -166,11 +166,11 @@ class PieSeriesModel extends SeriesModel<PieSeriesOption> {
* @overwrite
*/
getDataParams(dataIndex: number): CallbackDataParams {
- let data = this.getData();
- let params = super.getDataParams(dataIndex);
+ const data = this.getData();
+ const params = super.getDataParams(dataIndex);
// FIXME toFixed?
- let valueList: number[] = [];
+ const valueList: number[] = [];
data.each(data.mapDimension('value'), function (value: number) {
valueList.push(value);
});
@@ -189,8 +189,8 @@ class PieSeriesModel extends SeriesModel<PieSeriesOption> {
// Extend labelLine emphasis
modelUtil.defaultEmphasis(option, 'labelLine', ['show']);
- let labelLineNormalOpt = option.labelLine;
- let labelLineEmphasisOpt = option.emphasis.labelLine;
+ const labelLineNormalOpt = option.labelLine;
+ const labelLineEmphasisOpt = option.emphasis.labelLine;
// Not show label line if `label.normal.show = false`
labelLineNormalOpt.show = labelLineNormalOpt.show
&& option.label.show;
diff --git a/src/chart/pie/PieView.ts b/src/chart/pie/PieView.ts
index e9217e1..386d07d 100644
--- a/src/chart/pie/PieView.ts
+++ b/src/chart/pie/PieView.ts
@@ -37,10 +37,10 @@ function updateDataSelected(
hasAnimation: boolean,
api: ExtensionAPI
): void {
- let data = seriesModel.getData();
- let dataIndex = graphic.getECData(this).dataIndex;
- let name = data.getName(dataIndex);
- let selectedOffset = seriesModel.get('selectedOffset');
+ const data = seriesModel.getData();
+ const dataIndex = graphic.getECData(this).dataIndex;
+ const name = data.getName(dataIndex);
+ const selectedOffset = seriesModel.get('selectedOffset');
api.dispatchAction({
type: 'pieToggleSelect',
@@ -67,13 +67,13 @@ function toggleItemSelected(
selectedOffset: number,
hasAnimation: boolean
): void {
- let midAngle = (layout.startAngle + layout.endAngle) / 2;
+ const midAngle = (layout.startAngle + layout.endAngle) / 2;
- let dx = Math.cos(midAngle);
- let dy = Math.sin(midAngle);
+ const dx = Math.cos(midAngle);
+ const dy = Math.sin(midAngle);
- let offset = isSelected ? selectedOffset : 0;
- let position = [dx * offset, dy * offset];
+ const offset = isSelected ? selectedOffset : 0;
+ const position = [dx * offset, dy * offset];
hasAnimation
// animateTo will stop revious animation like update transition
@@ -93,12 +93,12 @@ class PiePiece extends graphic.Group {
constructor(data: List, idx: number) {
super();
- let sector = new graphic.Sector({
+ const sector = new graphic.Sector({
z2: 2
});
- let polyline = new graphic.Polyline();
- let text = new graphic.Text();
+ const polyline = new graphic.Polyline();
+ const text = new graphic.Text();
this.add(sector);
this.add(polyline);
@@ -108,22 +108,22 @@ class PiePiece extends graphic.Group {
}
updateData(data: List, idx: number, firstCreate?: boolean): void {
- let sector = this.childAt(0) as graphic.Sector;
+ const sector = this.childAt(0) as graphic.Sector;
- let seriesModel = data.hostModel as PieSeriesModel;
- let itemModel = data.getItemModel<PieDataItemOption>(idx);
- let layout = data.getItemLayout(idx);
- let sectorShape = zrUtil.extend({}, layout);
+ const seriesModel = data.hostModel as PieSeriesModel;
+ const itemModel = data.getItemModel<PieDataItemOption>(idx);
+ const layout = data.getItemLayout(idx);
+ const sectorShape = zrUtil.extend({}, layout);
// Not animate label
sectorShape.label = null;
sectorShape.viewRect = null;
- let animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');
+ const animationTypeUpdate = seriesModel.getShallow('animationTypeUpdate');
if (firstCreate) {
sector.setShape(sectorShape);
- let animationType = seriesModel.getShallow('animationType');
+ const animationType = seriesModel.getShallow('animationType');
if (animationType === 'scale') {
sector.shape.r = layout.r0;
graphic.initProps(sector, {
@@ -157,7 +157,7 @@ class PiePiece extends graphic.Group {
}
// Update common style
- let visualColor = data.getItemVisual(idx, 'color');
+ const visualColor = data.getItemVisual(idx, 'color');
sector.useStyle(
zrUtil.defaults(
@@ -171,7 +171,7 @@ class PiePiece extends graphic.Group {
const sectorEmphasisState = sector.ensureState('emphasis');
sectorEmphasisState.style = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
- let cursorStyle = itemModel.getShallow('cursor');
+ const cursorStyle = itemModel.getShallow('cursor');
cursorStyle && sector.attr('cursor', cursorStyle);
// Toggle selected
@@ -184,7 +184,7 @@ class PiePiece extends graphic.Group {
);
// Label and text animation should be applied only for transition type animation when update
- let withAnimation = !firstCreate && animationTypeUpdate === 'transition';
+ const withAnimation = !firstCreate && animationTypeUpdate === 'transition';
this._updateLabel(data, idx, withAnimation);
(this as ECElement).highDownOnUpdate = (itemModel.get('hoverAnimation') && seriesModel.isAnimationEnabled())
@@ -234,18 +234,18 @@ class PiePiece extends graphic.Group {
return;
}
- let targetLineShape: {
+ const targetLineShape: {
points: number[][]
} = {
points: labelLayout.linePoints || [
[labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y], [labelLayout.x, labelLayout.y]
]
};
- let labelModel = itemModel.getModel('label');
- let labelHoverModel = itemModel.getModel(['emphasis', 'label']);
- let labelLineModel = itemModel.getModel('labelLine');
- let labelLineHoverModel = itemModel.getModel(['emphasis', 'labelLine']);
- let visualColor = data.getItemVisual(idx, 'color');
+ const labelModel = itemModel.getModel('label');
+ const labelHoverModel = itemModel.getModel(['emphasis', 'label']);
+ const labelLineModel = itemModel.getModel('labelLine');
+ const labelLineHoverModel = itemModel.getModel(['emphasis', 'labelLine']);
+ const visualColor = data.getItemVisual(idx, 'color');
graphic.setLabelStyle(
labelText,
@@ -272,7 +272,7 @@ class PiePiece extends graphic.Group {
outsideFill: visualColor
});
- let targetTextStyle = {
+ const targetTextStyle = {
x: labelLayout.x,
y: labelLayout.y
};
@@ -338,7 +338,7 @@ class PieView extends ChartView {
private _data: List;
init(): void {
- let sectorGroup = new graphic.Group();
+ const sectorGroup = new graphic.Group();
this._sectorGroup = sectorGroup;
}
@@ -347,23 +347,23 @@ class PieView extends ChartView {
return;
}
- let data = seriesModel.getData();
- let oldData = this._data;
- let group = this.group;
+ const data = seriesModel.getData();
+ const oldData = this._data;
+ const group = this.group;
- let hasAnimation = ecModel.get('animation');
- let isFirstRender = !oldData;
- let animationType = seriesModel.get('animationType');
- let animationTypeUpdate = seriesModel.get('animationTypeUpdate');
+ const hasAnimation = ecModel.get('animation');
+ const isFirstRender = !oldData;
+ const animationType = seriesModel.get('animationType');
+ const animationTypeUpdate = seriesModel.get('animationTypeUpdate');
- let onSectorClick = zrUtil.curry(
+ const onSectorClick = zrUtil.curry(
updateDataSelected, this.uid, seriesModel, hasAnimation, api
);
- let selectedMode = seriesModel.get('selectedMode');
+ const selectedMode = seriesModel.get('selectedMode');
data.diff(oldData)
.add(function (idx) {
- let piePiece = new PiePiece(data, idx);
+ const piePiece = new PiePiece(data, idx);
// Default expansion animation
if (isFirstRender && animationType !== 'scale') {
piePiece.eachChild(function (child) {
@@ -378,7 +378,7 @@ class PieView extends ChartView {
group.add(piePiece);
})
.update(function (newIdx, oldIdx) {
- let piePiece = oldData.getItemGraphicEl(oldIdx) as PiePiece;
+ const piePiece = oldData.getItemGraphicEl(oldIdx) as PiePiece;
if (!isFirstRender && animationTypeUpdate !== 'transition') {
piePiece.eachChild(function (child) {
@@ -394,7 +394,7 @@ class PieView extends ChartView {
data.setItemGraphicEl(newIdx, piePiece);
})
.remove(function (idx) {
- let piePiece = oldData.getItemGraphicEl(idx);
+ const piePiece = oldData.getItemGraphicEl(idx);
group.remove(piePiece);
})
.execute();
@@ -408,9 +408,9 @@ class PieView extends ChartView {
shape = data.getItemLayout(s);
}
- let r = Math.max(api.getWidth(), api.getHeight()) / 2;
+ const r = Math.max(api.getWidth(), api.getHeight()) / 2;
- let removeClipPath = zrUtil.bind(group.removeClipPath, group);
+ const removeClipPath = zrUtil.bind(group.removeClipPath, group);
group.setClipPath(this._createClipPath(
shape.cx, shape.cy, r, shape.startAngle, shape.clockwise, removeClipPath, seriesModel, isFirstRender
));
@@ -432,7 +432,7 @@ class PieView extends ChartView {
cb,
seriesModel: PieSeriesModel, isFirstRender: boolean
): graphic.Sector {
- let clipPath = new graphic.Sector({
+ const clipPath = new graphic.Sector({
shape: {
cx: cx,
cy: cy,
@@ -444,7 +444,7 @@ class PieView extends ChartView {
}
});
- let initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;
+ const initOrUpdate = isFirstRender ? graphic.initProps : graphic.updateProps;
initOrUpdate(clipPath, {
shape: {
endAngle: startAngle + (clockwise ? 1 : -1) * Math.PI * 2
@@ -455,12 +455,12 @@ class PieView extends ChartView {
}
containPoint(point: number[], seriesModel: PieSeriesModel): boolean {
- let data = seriesModel.getData();
- let itemLayout = data.getItemLayout(0);
+ const data = seriesModel.getData();
+ const itemLayout = data.getItemLayout(0);
if (itemLayout) {
- let dx = point[0] - itemLayout.cx;
- let dy = point[1] - itemLayout.cy;
- let radius = Math.sqrt(dx * dx + dy * dy);
+ const dx = point[0] - itemLayout.cx;
+ const dy = point[1] - itemLayout.cy;
+ const radius = Math.sqrt(dx * dx + dy * dy);
return radius <= itemLayout.r && radius >= itemLayout.r0;
}
}
diff --git a/src/chart/pie/labelLayout.ts b/src/chart/pie/labelLayout.ts
index e967900..04542b5 100644
--- a/src/chart/pie/labelLayout.ts
+++ b/src/chart/pie/labelLayout.ts
@@ -116,9 +116,9 @@ function adjustSingleSide(
continue;
}
- let deltaY = Math.abs(list[i].y - cy);
- let length = list[i].len;
- let length2 = list[i].len2;
+ const deltaY = Math.abs(list[i].y - cy);
+ const length = list[i].len;
+ const length2 = list[i].len2;
let deltaX = (deltaY < r + length)
? Math.sqrt(
(r + length + length2) * (r + length + length2)
@@ -141,12 +141,12 @@ function adjustSingleSide(
let lastY = 0;
let delta;
- let len = list.length;
- let upList = [];
- let downList = [];
+ const len = list.length;
+ const upList = [];
+ const downList = [];
for (let i = 0; i < len; i++) {
if (list[i].position === 'outer' && list[i].labelAlignTo === 'labelLine') {
- let dx = list[i].x - farthestX;
+ const dx = list[i].x - farthestX;
list[i].linePoints[1][0] += dx;
list[i].x = farthestX;
}
@@ -182,8 +182,8 @@ function avoidOverlap(
viewLeft: number,
viewTop: number
) {
- let leftList = [];
- let rightList = [];
+ const leftList = [];
+ const rightList = [];
let leftmostX = Number.MAX_VALUE;
let rightmostX = -Number.MAX_VALUE;
for (let i = 0; i < labelLayoutList.length; i++) {
@@ -204,14 +204,14 @@ function avoidOverlap(
adjustSingleSide(leftList, cx, cy, r, -1, viewWidth, viewHeight, viewLeft, viewTop, leftmostX);
for (let i = 0; i < labelLayoutList.length; i++) {
- let layout = labelLayoutList[i];
+ const layout = labelLayoutList[i];
if (isPositionCenter(layout)) {
continue;
}
- let linePoints = layout.linePoints;
+ const linePoints = layout.linePoints;
if (linePoints) {
- let isAlignToEdge = layout.labelAlignTo === 'edge';
+ const isAlignToEdge = layout.labelAlignTo === 'edge';
let realTextWidth = layout.textRect.width;
let targetTextWidth;
@@ -241,7 +241,7 @@ function avoidOverlap(
}
}
- let dist = linePoints[1][0] - linePoints[2][0];
+ const dist = linePoints[1][0] - linePoints[2][0];
if (isAlignToEdge) {
if (layout.x < cx) {
linePoints[2][0] = viewLeft + layout.labelMargin + realTextWidth + layout.labelDistance;
@@ -278,27 +278,27 @@ export default function (
viewLeft: number,
viewTop: number
) {
- let data = seriesModel.getData();
- let labelLayoutList: LabelLayout[] = [];
+ const data = seriesModel.getData();
+ const labelLayoutList: LabelLayout[] = [];
let cx;
let cy;
let hasLabelRotate = false;
- let minShowLabelRadian = (seriesModel.get('minShowLabelAngle') || 0) * RADIAN;
+ const minShowLabelRadian = (seriesModel.get('minShowLabelAngle') || 0) * RADIAN;
data.each(function (idx) {
- let layout = data.getItemLayout(idx);
+ const layout = data.getItemLayout(idx);
- let itemModel = data.getItemModel<PieDataItemOption>(idx);
- let labelModel = itemModel.getModel('label');
+ const itemModel = data.getItemModel<PieDataItemOption>(idx);
+ const labelModel = itemModel.getModel('label');
// Use position in normal or emphasis
- let labelPosition = labelModel.get('position') || itemModel.get(['emphasis', 'label', 'position']);
- let labelDistance = labelModel.get('distanceToLabelLine');
- let labelAlignTo = labelModel.get('alignTo');
- let labelMargin = parsePercent(labelModel.get('margin'), viewWidth);
- let bleedMargin = labelModel.get('bleedMargin');
- let font = labelModel.getFont();
-
- let labelLineModel = itemModel.getModel('labelLine');
+ const labelPosition = labelModel.get('position') || itemModel.get(['emphasis', 'label', 'position']);
+ const labelDistance = labelModel.get('distanceToLabelLine');
+ const labelAlignTo = labelModel.get('alignTo');
+ const labelMargin = parsePercent(labelModel.get('margin'), viewWidth);
+ const bleedMargin = labelModel.get('bleedMargin');
+ const font = labelModel.getFont();
+
+ const labelLineModel = itemModel.getModel('labelLine');
let labelLineLen = labelLineModel.get('length');
labelLineLen = parsePercent(labelLineLen, viewWidth);
let labelLineLen2 = labelLineModel.get('length2');
@@ -308,9 +308,9 @@ export default function (
return;
}
- let midAngle = (layout.startAngle + layout.endAngle) / 2;
- let dx = Math.cos(midAngle);
- let dy = Math.sin(midAngle);
+ const midAngle = (layout.startAngle + layout.endAngle) / 2;
+ const dx = Math.cos(midAngle);
+ const dy = Math.sin(midAngle);
let textX;
let textY;
@@ -320,29 +320,29 @@ export default function (
cx = layout.cx;
cy = layout.cy;
- let text = seriesModel.getFormattedLabel(idx, 'normal')
+ const text = seriesModel.getFormattedLabel(idx, 'normal')
|| data.getName(idx);
- let textRect = textContain.getBoundingRect(text, font, textAlign, 'top');
+ const textRect = textContain.getBoundingRect(text, font, textAlign, 'top');
- let isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';
+ const isLabelInside = labelPosition === 'inside' || labelPosition === 'inner';
if (labelPosition === 'center') {
textX = layout.cx;
textY = layout.cy;
textAlign = 'center';
}
else {
- let x1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dx : layout.r * dx) + cx;
- let y1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dy : layout.r * dy) + cy;
+ const x1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dx : layout.r * dx) + cx;
+ const y1 = (isLabelInside ? (layout.r + layout.r0) / 2 * dy : layout.r * dy) + cy;
textX = x1 + dx * 3;
textY = y1 + dy * 3;
if (!isLabelInside) {
// For roseType
- let x2 = x1 + dx * (labelLineLen + r - layout.r);
- let y2 = y1 + dy * (labelLineLen + r - layout.r);
- let x3 = x2 + ((dx < 0 ? -1 : 1) * labelLineLen2);
- let y3 = y2;
+ const x2 = x1 + dx * (labelLineLen + r - layout.r);
+ const y2 = y1 + dy * (labelLineLen + r - layout.r);
+ const x3 = x2 + ((dx < 0 ? -1 : 1) * labelLineLen2);
+ const y3 = y2;
if (labelAlignTo === 'edge') {
// Adjust textX because text align of edge is opposite
@@ -365,7 +365,7 @@ export default function (
}
let labelRotate;
- let rotate = labelModel.get('rotate');
+ const rotate = labelModel.get('rotate');
if (typeof rotate === 'number') {
labelRotate = rotate * (Math.PI / 180);
}
diff --git a/src/chart/pie/pieLayout.ts b/src/chart/pie/pieLayout.ts
index 8ff6d29..5925c17 100644
--- a/src/chart/pie/pieLayout.ts
+++ b/src/chart/pie/pieLayout.ts
@@ -43,9 +43,9 @@ export default function (
api: ExtensionAPI
) {
ecModel.eachSeriesByType(seriesType, function (seriesModel: PieSeriesModel) {
- let data = seriesModel.getData();
- let valueDim = data.mapDimension('value');
- let viewRect = getViewRect(seriesModel, api);
+ const data = seriesModel.getData();
+ const valueDim = data.mapDimension('value');
+ const viewRect = getViewRect(seriesModel, api);
let center = seriesModel.get('center');
let radius = seriesModel.get('radius');
@@ -57,34 +57,34 @@ export default function (
center = [center, center];
}
- let width = parsePercent(viewRect.width, api.getWidth());
- let height = parsePercent(viewRect.height, api.getHeight());
- let size = Math.min(width, height);
- let cx = parsePercent(center[0], width) + viewRect.x;
- let cy = parsePercent(center[1], height) + viewRect.y;
- let r0 = parsePercent(radius[0], size / 2);
- let r = parsePercent(radius[1], size / 2);
+ const width = parsePercent(viewRect.width, api.getWidth());
+ const height = parsePercent(viewRect.height, api.getHeight());
+ const size = Math.min(width, height);
+ const cx = parsePercent(center[0], width) + viewRect.x;
+ const cy = parsePercent(center[1], height) + viewRect.y;
+ const r0 = parsePercent(radius[0], size / 2);
+ const r = parsePercent(radius[1], size / 2);
- let startAngle = -seriesModel.get('startAngle') * RADIAN;
+ const startAngle = -seriesModel.get('startAngle') * RADIAN;
- let minAngle = seriesModel.get('minAngle') * RADIAN;
+ const minAngle = seriesModel.get('minAngle') * RADIAN;
let validDataCount = 0;
data.each(valueDim, function (value: number) {
!isNaN(value) && validDataCount++;
});
- let sum = data.getSum(valueDim);
+ const sum = data.getSum(valueDim);
// Sum may be 0
let unitRadian = Math.PI / (sum || validDataCount) * 2;
- let clockwise = seriesModel.get('clockwise');
+ const clockwise = seriesModel.get('clockwise');
- let roseType = seriesModel.get('roseType');
- let stillShowZeroSum = seriesModel.get('stillShowZeroSum');
+ const roseType = seriesModel.get('roseType');
+ const stillShowZeroSum = seriesModel.get('stillShowZeroSum');
// [0...max]
- let extent = data.getDataExtent(valueDim);
+ const extent = data.getDataExtent(valueDim);
extent[0] = 0;
// In the case some sector angle is smaller than minAngle
@@ -92,7 +92,7 @@ export default function (
let valueSumLargerThanMinAngle = 0;
let currentAngle = startAngle;
- let dir = clockwise ? 1 : -1;
+ const dir = clockwise ? 1 : -1;
data.each(valueDim, function (value: number, idx: number) {
let angle;
@@ -130,7 +130,7 @@ export default function (
valueSumLargerThanMinAngle += value;
}
- let endAngle = currentAngle + dir * angle;
+ const endAngle = currentAngle + dir * angle;
data.setItemLayout(idx, {
angle: angle,
startAngle: currentAngle,
@@ -154,10 +154,10 @@ export default function (
// Average the angle if rest angle is not enough after all angles is
// Constrained by minAngle
if (restAngle <= 1e-3) {
- let angle = PI2 / validDataCount;
+ const angle = PI2 / validDataCount;
data.each(valueDim, function (value: number, idx: number) {
if (!isNaN(value)) {
- let layout = data.getItemLayout(idx);
+ const layout = data.getItemLayout(idx);
layout.angle = angle;
layout.startAngle = startAngle + dir * idx * angle;
layout.endAngle = startAngle + dir * (idx + 1) * angle;
@@ -169,8 +169,8 @@ export default function (
currentAngle = startAngle;
data.each(valueDim, function (value: number, idx: number) {
if (!isNaN(value)) {
- let layout = data.getItemLayout(idx);
- let angle = layout.angle === minAngle
+ const layout = data.getItemLayout(idx);
+ const angle = layout.angle === minAngle
? minAngle : value * unitRadian;
layout.startAngle = currentAngle;
layout.endAngle = currentAngle + dir * angle;
diff --git a/src/chart/radar/RadarSeries.ts b/src/chart/radar/RadarSeries.ts
index 7612999..0403b8d 100644
--- a/src/chart/radar/RadarSeries.ts
+++ b/src/chart/radar/RadarSeries.ts
@@ -102,13 +102,13 @@ class RadarSeriesModel extends SeriesModel<RadarSeriesOption> {
}
formatTooltip(dataIndex: number) {
- let data = this.getData();
- let coordSys = this.coordinateSystem;
- let indicatorAxes = coordSys.getIndicatorAxes();
- let name = this.getData().getName(dataIndex);
+ const data = this.getData();
+ const coordSys = this.coordinateSystem;
+ const indicatorAxes = coordSys.getIndicatorAxes();
+ const name = this.getData().getName(dataIndex);
return encodeHTML(name === '' ? this.name : name) + '<br/>'
+ zrUtil.map(indicatorAxes, function (axis, idx) {
- let val = data.get(data.mapDimension(axis.dim), dataIndex);
+ const val = data.get(data.mapDimension(axis.dim), dataIndex);
return encodeHTML(axis.name + ' : ' + val);
}).join('<br />');
}
@@ -118,9 +118,9 @@ class RadarSeriesModel extends SeriesModel<RadarSeriesOption> {
*/
getTooltipPosition(dataIndex: number) {
if (dataIndex != null) {
- let data = this.getData();
- let coordSys = this.coordinateSystem;
- let values = data.getValues(
+ const data = this.getData();
+ const coordSys = this.coordinateSystem;
+ const values = data.getValues(
zrUtil.map(coordSys.dimensions, function (dim) {
return data.mapDimension(dim);
}), dataIndex
@@ -128,7 +128,7 @@ class RadarSeriesModel extends SeriesModel<RadarSeriesOption> {
for (let i = 0, len = values.length; i < len; i++) {
if (!isNaN(values[i] as number)) {
- let indicatorAxes = coordSys.getIndicatorAxes();
+ const indicatorAxes = coordSys.getIndicatorAxes();
return coordSys.coordToPoint(indicatorAxes[i].dataToCoord(values[i]), i);
}
}
diff --git a/src/chart/radar/RadarView.ts b/src/chart/radar/RadarView.ts
index cf02d4b..804fb2a 100644
--- a/src/chart/radar/RadarView.ts
+++ b/src/chart/radar/RadarView.ts
@@ -46,22 +46,22 @@ class RadarView extends ChartView {
private _data: List<RadarSeriesModel>;
render(seriesModel: RadarSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let polar = seriesModel.coordinateSystem;
- let group = this.group;
+ const polar = seriesModel.coordinateSystem;
+ const group = this.group;
- let data = seriesModel.getData();
- let oldData = this._data;
+ const data = seriesModel.getData();
+ const oldData = this._data;
function createSymbol(data: List<RadarSeriesModel>, idx: number) {
- let symbolType = data.getItemVisual(idx, 'symbol') as string || 'circle';
- let color = data.getItemVisual(idx, 'color') as ZRColor;
+ const symbolType = data.getItemVisual(idx, 'symbol') as string || 'circle';
+ const color = data.getItemVisual(idx, 'color') as ZRColor;
if (symbolType === 'none') {
return;
}
- let symbolSize = normalizeSymbolSize(
+ const symbolSize = normalizeSymbolSize(
data.getItemVisual(idx, 'symbolSize')
);
- let symbolPath = symbolUtil.createSymbol(
+ const symbolPath = symbolUtil.createSymbol(
symbolType, -1, -1, 2, 2, color
);
symbolPath.attr({
@@ -85,7 +85,7 @@ class RadarView extends ChartView {
// Simply rerender all
symbolGroup.removeAll();
for (let i = 0; i < newPoints.length - 1; i++) {
- let symbolPath = createSymbol(data, idx);
+ const symbolPath = createSymbol(data, idx);
if (symbolPath) {
symbolPath.__dimIdx = i;
if (oldPoints[i]) {
@@ -111,13 +111,13 @@ class RadarView extends ChartView {
}
data.diff(oldData)
.add(function (idx) {
- let points = data.getItemLayout(idx);
+ const points = data.getItemLayout(idx);
if (!points) {
return;
}
- let polygon = new graphic.Polygon();
- let polyline = new graphic.Polyline();
- let target = {
+ const polygon = new graphic.Polygon();
+ const polyline = new graphic.Polyline();
+ const target = {
shape: {
points: points
}
@@ -128,8 +128,8 @@ class RadarView extends ChartView {
graphic.initProps(polygon, target, seriesModel, idx);
graphic.initProps(polyline, target, seriesModel, idx);
- let itemGroup = new graphic.Group();
- let symbolGroup = new graphic.Group();
+ const itemGroup = new graphic.Group();
+ const symbolGroup = new graphic.Group();
itemGroup.add(polyline);
itemGroup.add(polygon);
itemGroup.add(symbolGroup);
@@ -141,11 +141,11 @@ class RadarView extends ChartView {
data.setItemGraphicEl(idx, itemGroup);
})
.update(function (newIdx, oldIdx) {
- let itemGroup = oldData.getItemGraphicEl(oldIdx) as graphic.Group;
- let polyline = itemGroup.childAt(0) as graphic.Polyline;
- let polygon = itemGroup.childAt(1) as graphic.Polygon;
- let symbolGroup = itemGroup.childAt(2) as graphic.Group;
- let target = {
+ const itemGroup = oldData.getItemGraphicEl(oldIdx) as graphic.Group;
+ const polyline = itemGroup.childAt(0) as graphic.Polyline;
+ const polygon = itemGroup.childAt(1) as graphic.Polygon;
+ const symbolGroup = itemGroup.childAt(2) as graphic.Group;
+ const target = {
shape: {
points: data.getItemLayout(newIdx)
}
@@ -174,11 +174,11 @@ class RadarView extends ChartView {
.execute();
data.eachItemGraphicEl(function (itemGroup: graphic.Group, idx) {
- let itemModel = data.getItemModel<RadarSeriesDataItemOption>(idx);
- let polyline = itemGroup.childAt(0) as graphic.Polyline;
- let polygon = itemGroup.childAt(1) as graphic.Polygon;
- let symbolGroup = itemGroup.childAt(2) as graphic.Group;
- let color = data.getItemVisual(idx, 'color');
+ const itemModel = data.getItemModel<RadarSeriesDataItemOption>(idx);
+ const polyline = itemGroup.childAt(0) as graphic.Polyline;
+ const polygon = itemGroup.childAt(1) as graphic.Polygon;
+ const symbolGroup = itemGroup.childAt(2) as graphic.Group;
+ const color = data.getItemVisual(idx, 'color');
group.add(itemGroup);
@@ -194,9 +194,9 @@ class RadarView extends ChartView {
const polylineEmphasisState = polyline.ensureState('emphasis');
polylineEmphasisState.style = itemModel.getModel(['emphasis', 'lineStyle']).getLineStyle();
- let areaStyleModel = itemModel.getModel('areaStyle');
- let hoverAreaStyleModel = itemModel.getModel(['emphasis', 'areaStyle']);
- let polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();
+ const areaStyleModel = itemModel.getModel('areaStyle');
+ const hoverAreaStyleModel = itemModel.getModel(['emphasis', 'areaStyle']);
+ const polygonIgnore = areaStyleModel.isEmpty() && areaStyleModel.parentModel.isEmpty();
let hoverPolygonIgnore = hoverAreaStyleModel.isEmpty() && hoverAreaStyleModel.parentModel.isEmpty();
hoverPolygonIgnore = hoverPolygonIgnore && polygonIgnore;
@@ -214,10 +214,10 @@ class RadarView extends ChartView {
const polygonEmphasisState = polygon.ensureState('emphasis');
polygonEmphasisState.style = hoverAreaStyleModel.getAreaStyle();
- let itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
- let itemHoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
- let labelModel = itemModel.getModel('label');
- let labelHoverModel = itemModel.getModel(['emphasis', 'label']);
+ const itemStyle = itemModel.getModel('itemStyle').getItemStyle(['color']);
+ const itemHoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
+ const labelModel = itemModel.getModel('label');
+ const labelHoverModel = itemModel.getModel(['emphasis', 'label']);
symbolGroup.eachChild(function (symbolPath: RadarSymbol) {
symbolPath.setStyle(itemStyle);
const pathEmphasisState = symbolPath.ensureState('emphasis');
diff --git a/src/chart/radar/backwardCompat.ts b/src/chart/radar/backwardCompat.ts
index 4bf46b7..7898dce 100644
--- a/src/chart/radar/backwardCompat.ts
+++ b/src/chart/radar/backwardCompat.ts
@@ -28,7 +28,7 @@ export default function (option) {
if (!zrUtil.isArray(polarOptArr)) {
polarOptArr = [polarOptArr];
}
- let polarNotRadar = [];
+ const polarNotRadar = [];
zrUtil.each(polarOptArr, function (polarOpt, idx) {
if (polarOpt.indicator) {
if (polarOpt.type && !polarOpt.shape) {
diff --git a/src/chart/radar/radarLayout.ts b/src/chart/radar/radarLayout.ts
index 38d8d9d..b02439a 100644
--- a/src/chart/radar/radarLayout.ts
+++ b/src/chart/radar/radarLayout.ts
@@ -25,19 +25,19 @@ import Radar from '../../coord/radar/Radar';
type Point = number[];
export default function (ecModel: GlobalModel) {
ecModel.eachSeriesByType('radar', function (seriesModel: RadarSeriesModel) {
- let data = seriesModel.getData();
- let points: Point[][] = [];
- let coordSys = seriesModel.coordinateSystem;
+ const data = seriesModel.getData();
+ const points: Point[][] = [];
+ const coordSys = seriesModel.coordinateSystem;
if (!coordSys) {
return;
}
- let axes = coordSys.getIndicatorAxes();
+ const axes = coordSys.getIndicatorAxes();
zrUtil.each(axes, function (axis, axisIndex) {
data.each(data.mapDimension(axes[axisIndex].dim), function (val, dataIndex) {
points[dataIndex] = points[dataIndex] || [];
- let point = coordSys.dataToPoint(val, axisIndex);
+ const point = coordSys.dataToPoint(val, axisIndex);
points[dataIndex][axisIndex] = isValidPoint(point)
? point : getValueMissingPoint(coordSys);
});
@@ -48,7 +48,7 @@ export default function (ecModel: GlobalModel) {
// TODO
// Is it appropriate to connect to the next data when some data is missing?
// Or, should trade it like `connectNull` in line chart?
- let firstPoint = zrUtil.find(points[idx], function (point) {
+ const firstPoint = zrUtil.find(points[idx], function (point) {
return isValidPoint(point);
}) || getValueMissingPoint(coordSys);
diff --git a/src/chart/sankey/SankeySeries.ts b/src/chart/sankey/SankeySeries.ts
index 6bb7b4c..21ea491 100644
--- a/src/chart/sankey/SankeySeries.ts
+++ b/src/chart/sankey/SankeySeries.ts
@@ -156,11 +156,11 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
* @return {module:echarts/data/List} storage initial data
*/
getInitialData(option: SankeySeriesOption, ecModel: GlobalModel) {
- let links = option.edges || option.links;
- let nodes = option.data || option.nodes;
- let levels = option.levels;
+ const links = option.edges || option.links;
+ const nodes = option.data || option.nodes;
+ const levels = option.levels;
this.levelModels = [];
- let levelModels = this.levelModels;
+ const levelModels = this.levelModels;
for (let i = 0; i < levels.length; i++) {
if (levels[i].depth != null && levels[i].depth >= 0) {
@@ -173,15 +173,15 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
}
}
if (nodes && links) {
- let graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);
+ const graph = createGraphFromNodeEdge(nodes, links, this, true, beforeLink);
return graph.data;
}
function beforeLink(nodeData: List, edgeData: List) {
nodeData.wrapMethod('getItemModel', function (model, idx) {
model.customizeGetParent(function (this: Model, path: string | string[]) {
- let parentModel = this.parentModel as SankeySeriesModel;
- let nodeDepth = parentModel.getData().getItemLayout(idx).depth;
- let levelModel = parentModel.levelModels[nodeDepth];
+ const parentModel = this.parentModel as SankeySeriesModel;
+ const nodeDepth = parentModel.getData().getItemLayout(idx).depth;
+ const levelModel = parentModel.levelModels[nodeDepth];
return levelModel || this.parentModel;
});
return model;
@@ -189,10 +189,10 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
edgeData.wrapMethod('getItemModel', function (model, idx) {
model.customizeGetParent(function (this: Model, path: string | string[]) {
- let parentModel = this.parentModel as SankeySeriesModel;
- let edge = parentModel.getGraph().getEdgeByIndex(idx);
- let depth = edge.node1.getLayout().depth;
- let levelModel = parentModel.levelModels[depth];
+ const parentModel = this.parentModel as SankeySeriesModel;
+ const edge = parentModel.getGraph().getEdgeByIndex(idx);
+ const depth = edge.node1.getLayout().depth;
+ const levelModel = parentModel.levelModels[depth];
return levelModel || this.parentModel;
});
return model;
@@ -201,7 +201,7 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
}
setNodePosition(dataIndex: number, localPosition: number[]) {
- let dataItem = this.option.data[dataIndex];
+ const dataItem = this.option.data[dataIndex];
dataItem.localX = localPosition[0];
dataItem.localY = localPosition[1];
}
@@ -230,8 +230,8 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
formatTooltip(dataIndex: number, multipleSeries: boolean, dataType: 'node' | 'edge') {
// dataType === 'node' or empty do not show tooltip by default
if (dataType === 'edge') {
- let params = this.getDataParams(dataIndex, dataType);
- let rawDataOpt = params.data;
+ const params = this.getDataParams(dataIndex, dataType);
+ const rawDataOpt = params.data;
let html = rawDataOpt.source + ' -- ' + rawDataOpt.target;
if (params.value) {
html += ' : ' + params.value;
@@ -239,17 +239,17 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
return encodeHTML(html);
}
else if (dataType === 'node') {
- let node = this.getGraph().getNodeByIndex(dataIndex);
- let value = node.getLayout().value;
- let name = this.getDataParams(dataIndex, dataType).data.name;
- let html = value ? name + ' : ' + value : '';
+ const node = this.getGraph().getNodeByIndex(dataIndex);
+ const value = node.getLayout().value;
+ const name = this.getDataParams(dataIndex, dataType).data.name;
+ const html = value ? name + ' : ' + value : '';
return encodeHTML(html);
}
return super.formatTooltip(dataIndex, multipleSeries);
}
optionUpdated() {
- let option = this.option;
+ const option = this.option;
if (option.focusNodeAdjacency === true) {
option.focusNodeAdjacency = 'allEdges';
}
@@ -257,10 +257,10 @@ class SankeySeriesModel extends SeriesModel<SankeySeriesOption> {
// Override Series.getDataParams()
getDataParams(dataIndex: number, dataType: 'node' | 'edge') {
- let params = super.getDataParams(dataIndex, dataType);
+ const params = super.getDataParams(dataIndex, dataType);
if (params.value == null && dataType === 'node') {
- let node = this.getGraph().getNodeByIndex(dataIndex);
- let nodeValue = node.getLayout().value;
+ const node = this.getGraph().getNodeByIndex(dataIndex);
+ const nodeValue = node.getLayout().value;
params.value = nodeValue;
}
return params;
diff --git a/src/chart/sankey/SankeyView.ts b/src/chart/sankey/SankeyView.ts
index b8c3d6a..4785914 100644
--- a/src/chart/sankey/SankeyView.ts
+++ b/src/chart/sankey/SankeyView.ts
@@ -62,7 +62,7 @@ function fadeOutItem(
opacityPath: readonly string[],
opacityRatio?: number
) {
- let el = item.getGraphicEl() as SankeyEl;
+ const el = item.getGraphicEl() as SankeyEl;
let opacity = getItemOpacity(item, opacityPath);
if (opacityRatio != null) {
@@ -83,8 +83,8 @@ function fadeInItem(
item: GraphNode | GraphEdge,
opacityPath: readonly string[]
) {
- let opacity = getItemOpacity(item, opacityPath);
- let el = item.getGraphicEl() as SankeyEl;
+ const opacity = getItemOpacity(item, opacityPath);
+ const el = item.getGraphicEl() as SankeyEl;
// Support emphasis here.
el.highlight && el.highlight();
@@ -129,7 +129,7 @@ class SankeyPath extends graphic.Path<SankeyPathProps> {
}
buildPath(ctx: CanvasRenderingContext2D, shape: SankeyPathShape) {
- let extent = shape.extent;
+ const extent = shape.extent;
ctx.moveTo(shape.x1, shape.y1);
ctx.bezierCurveTo(
shape.cpx1, shape.cpy1,
@@ -178,17 +178,17 @@ class SankeyView extends ChartView {
private _unfocusDelayTimer: number;
render(seriesModel: SankeySeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let sankeyView = this;
- let graph = seriesModel.getGraph();
- let group = this.group;
- let layoutInfo = seriesModel.layoutInfo;
+ const sankeyView = this;
+ const graph = seriesModel.getGraph();
+ const group = this.group;
+ const layoutInfo = seriesModel.layoutInfo;
// view width
- let width = layoutInfo.width;
+ const width = layoutInfo.width;
// view height
- let height = layoutInfo.height;
- let nodeData = seriesModel.getData();
- let edgeData = seriesModel.getData('edge');
- let orient = seriesModel.get('orient');
+ const height = layoutInfo.height;
+ const nodeData = seriesModel.getData();
+ const edgeData = seriesModel.getData('edge');
+ const orient = seriesModel.get('orient');
this._model = seriesModel;
@@ -198,8 +198,8 @@ class SankeyView extends ChartView {
// generate a bezire Curve for each edge
graph.eachEdge(function (edge) {
- let curve = new SankeyPath();
- let ecData = graphic.getECData(curve);
+ const curve = new SankeyPath();
+ const ecData = graphic.getECData(curve);
ecData.dataIndex = edge.dataIndex;
ecData.seriesIndex = seriesModel.seriesIndex;
ecData.dataType = 'edge';
@@ -282,14 +282,14 @@ class SankeyView extends ChartView {
// Generate a rect for each node
graph.eachNode(function (node) {
- let layout = node.getLayout();
- let itemModel = node.getModel<SankeyNodeItemOption>();
- let dragX = itemModel.get('localX');
- let dragY = itemModel.get('localY');
- let labelModel = itemModel.getModel('label');
- let labelHoverModel = itemModel.getModel(['emphasis', 'label']);
-
- let rect = new graphic.Rect({
+ const layout = node.getLayout();
+ const itemModel = node.getModel<SankeyNodeItemOption>();
+ const dragX = itemModel.get('localX');
+ const dragY = itemModel.get('localY');
+ const labelModel = itemModel.getModel('label');
+ const labelHoverModel = itemModel.getModel(['emphasis', 'label']);
+
+ const rect = new graphic.Rect({
shape: {
x: dragX != null ? dragX * width : layout.x,
y: dragY != null ? dragY * height : layout.y,
@@ -299,7 +299,7 @@ class SankeyView extends ChartView {
style: itemModel.getModel('itemStyle').getItemStyle()
});
- let hoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
+ const hoverStyle = itemModel.getModel(['emphasis', 'itemStyle']).getItemStyle();
graphic.setLabelStyle(
rect, labelModel, labelHoverModel,
@@ -322,7 +322,7 @@ class SankeyView extends ChartView {
});
nodeData.eachItemGraphicEl(function (el: graphic.Rect & SankeyEl, dataIndex: number) {
- let itemModel = nodeData.getItemModel<SankeyNodeItemOption>(dataIndex);
+ const itemModel = nodeData.getItemModel<SankeyNodeItemOption>(dataIndex);
if (itemModel.get('draggable')) {
el.drift = function (this: typeof el, dx, dy) {
sankeyView._focusAdjacencyDisabled = true;
@@ -376,7 +376,7 @@ class SankeyView extends ChartView {
});
edgeData.eachItemGraphicEl(function (el: SankeyPath & SankeyEl, dataIndex) {
- let edgeModel = edgeData.getItemModel<GraphEdgeItemOption>(dataIndex);
+ const edgeModel = edgeData.getItemModel<GraphEdgeItemOption>(dataIndex);
el.focusNodeAdjHandler && el.off('mouseover', el.focusNodeAdjHandler);
el.unfocusNodeAdjHandler && el.off('mouseout', el.unfocusNodeAdjHandler);
@@ -415,7 +415,7 @@ class SankeyView extends ChartView {
}
_dispatchUnfocus(api: ExtensionAPI) {
- let self = this;
+ const self = this;
this._clearTimer();
this._unfocusDelayTimer = setTimeout(function () {
self._unfocusDelayTimer = null;
@@ -439,17 +439,17 @@ class SankeyView extends ChartView {
api: ExtensionAPI,
payload: FocusNodeAdjacencyPayload
) {
- let data = seriesModel.getData();
- let graph = data.graph;
- let dataIndex = payload.dataIndex;
- let itemModel = data.getItemModel<SankeyNodeItemOption>(dataIndex);
- let edgeDataIndex = payload.edgeDataIndex;
+ const data = seriesModel.getData();
+ const graph = data.graph;
+ const dataIndex = payload.dataIndex;
+ const itemModel = data.getItemModel<SankeyNodeItemOption>(dataIndex);
+ const edgeDataIndex = payload.edgeDataIndex;
if (dataIndex == null && edgeDataIndex == null) {
return;
}
- let node = graph.getNodeByIndex(dataIndex);
- let edge = graph.getEdgeByIndex(edgeDataIndex);
+ const node = graph.getNodeByIndex(dataIndex);
+ const edge = graph.getEdgeByIndex(edgeDataIndex);
graph.eachNode(function (node) {
fadeOutItem(node, nodeOpacityPath, 0.1);
@@ -460,7 +460,7 @@ class SankeyView extends ChartView {
if (node) {
fadeInItem(node, hoverNodeOpacityPath);
- let focusNodeAdj = itemModel.get('focusNodeAdjacency');
+ const focusNodeAdj = itemModel.get('focusNodeAdjacency');
if (focusNodeAdj === 'outEdges') {
zrUtil.each(node.outEdges, function (edge) {
if (edge.dataIndex < 0) {
@@ -500,7 +500,7 @@ class SankeyView extends ChartView {
unfocusNodeAdjacency(
seriesModel: SankeySeriesModel
) {
- let graph = seriesModel.getGraph();
+ const graph = seriesModel.getGraph();
graph.eachNode(function (node) {
fadeOutItem(node, nodeOpacityPath);
@@ -513,7 +513,7 @@ class SankeyView extends ChartView {
// Add animation to the view
function createGridClipShape(rect: RectLike, seriesModel: SankeySeriesModel, cb: () => void) {
- let rectEl = new graphic.Rect({
+ const rectEl = new graphic.Rect({
shape: {
x: rect.x - 10,
y: rect.y - 10,
diff --git a/src/chart/sankey/sankeyLayout.ts b/src/chart/sankey/sankeyLayout.ts
index 6411eb9..473d1ff 100644
--- a/src/chart/sankey/sankeyLayout.ts
+++ b/src/chart/sankey/sankeyLayout.ts
@@ -30,32 +30,32 @@ export default function (ecModel: GlobalModel, api: ExtensionAPI) {
ecModel.eachSeriesByType('sankey', function (seriesModel: SankeySeriesModel) {
- let nodeWidth = seriesModel.get('nodeWidth');
- let nodeGap = seriesModel.get('nodeGap');
+ const nodeWidth = seriesModel.get('nodeWidth');
+ const nodeGap = seriesModel.get('nodeGap');
- let layoutInfo = getViewRect(seriesModel, api);
+ const layoutInfo = getViewRect(seriesModel, api);
seriesModel.layoutInfo = layoutInfo;
- let width = layoutInfo.width;
- let height = layoutInfo.height;
+ const width = layoutInfo.width;
+ const height = layoutInfo.height;
- let graph = seriesModel.getGraph();
+ const graph = seriesModel.getGraph();
- let nodes = graph.nodes;
- let edges = graph.edges;
+ const nodes = graph.nodes;
+ const edges = graph.edges;
computeNodeValues(nodes);
- let filteredNodes = zrUtil.filter(nodes, function (node) {
+ const filteredNodes = zrUtil.filter(nodes, function (node) {
return node.getLayout().value === 0;
});
- let iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get('layoutIterations');
+ const iterations = filteredNodes.length !== 0 ? 0 : seriesModel.get('layoutIterations');
- let orient = seriesModel.get('orient');
+ const orient = seriesModel.get('orient');
- let nodeAlign = seriesModel.get('nodeAlign');
+ const nodeAlign = seriesModel.get('nodeAlign');
layoutSankey(nodes, edges, nodeWidth, nodeGap, width, height, iterations, orient, nodeAlign);
});
@@ -94,10 +94,10 @@ function layoutSankey(
*/
function computeNodeValues(nodes: GraphNode[]) {
zrUtil.each(nodes, function (node) {
- let value1 = sum(node.outEdges, getEdgeValue);
- let value2 = sum(node.inEdges, getEdgeValue);
- let nodeRawValue = node.getValue() as number || 0;
- let value = Math.max(value1, value2, nodeRawValue);
+ const value1 = sum(node.outEdges, getEdgeValue);
+ const value2 = sum(node.inEdges, getEdgeValue);
+ const nodeRawValue = node.getValue() as number || 0;
+ const value = Math.max(value1, value2, nodeRawValue);
node.setLayout({value: value}, true);
});
}
@@ -119,9 +119,9 @@ function computeNodeBreadths(
) {
// Used to mark whether the edge is deleted. if it is deleted,
// the value is 0, otherwise it is 1.
- let remainEdges = [];
+ const remainEdges = [];
// Storage each node's indegree.
- let indegreeArr = [];
+ const indegreeArr = [];
//Used to storage the node with indegree is equal to 0.
let zeroIndegrees: GraphNode[] = [];
let nextTargetNode: GraphNode[] = [];
@@ -143,9 +143,9 @@ function computeNodeBreadths(
// position of the nodes.
while (zeroIndegrees.length) {
for (let idx = 0; idx < zeroIndegrees.length; idx++) {
- let node = zeroIndegrees[idx];
- let item = node.hostGraph.data.getRawDataItem(node.dataIndex) as SankeyNodeItemOption;
- let isItemDepth = item.depth != null && item.depth >= 0;
+ const node = zeroIndegrees[idx];
+ const item = node.hostGraph.data.getRawDataItem(node.dataIndex) as SankeyNodeItemOption;
+ const isItemDepth = item.depth != null && item.depth >= 0;
if (isItemDepth && item.depth > maxNodeDepth) {
maxNodeDepth = item.depth;
}
@@ -155,11 +155,11 @@ function computeNodeBreadths(
: node.setLayout({dx: nodeWidth}, true);
for (let edgeIdx = 0; edgeIdx < node.outEdges.length; edgeIdx++) {
- let edge = node.outEdges[edgeIdx];
- let indexEdge = edges.indexOf(edge);
+ const edge = node.outEdges[edgeIdx];
+ const indexEdge = edges.indexOf(edge);
remainEdges[indexEdge] = 0;
- let targetNode = edge.node2;
- let nodeIndex = nodes.indexOf(targetNode);
+ const targetNode = edge.node2;
+ const nodeIndex = nodes.indexOf(targetNode);
if (--indegreeArr[nodeIndex] === 0 && nextTargetNode.indexOf(targetNode) < 0) {
nextTargetNode.push(targetNode);
}
@@ -176,11 +176,11 @@ function computeNodeBreadths(
}
}
- let maxDepth = maxNodeDepth > x - 1 ? maxNodeDepth : x - 1;
+ const maxDepth = maxNodeDepth > x - 1 ? maxNodeDepth : x - 1;
if (nodeAlign && nodeAlign !== 'left') {
adjustNodeWithNodeAlign(nodes, nodeAlign, orient, maxDepth);
}
- let kx = orient === 'vertical'
+ const kx = orient === 'vertical'
? (height - nodeWidth) / maxDepth
: (width - nodeWidth) / maxDepth;
@@ -188,7 +188,7 @@ function computeNodeBreadths(
}
function isNodeDepth(node: GraphNode) {
- let item = node.hostGraph.data.getRawDataItem(node.dataIndex) as SankeyNodeItemOption;
+ const item = node.hostGraph.data.getRawDataItem(node.dataIndex) as SankeyNodeItemOption;
return item.depth != null && item.depth >= 0;
}
@@ -204,10 +204,10 @@ function adjustNodeWithNodeAlign(
let nodeHeight = 0;
while (remainNodes.length) {
for (let i = 0; i < remainNodes.length; i++) {
- let node = remainNodes[i];
+ const node = remainNodes[i];
node.setLayout({skNodeHeight: nodeHeight}, true);
for (let j = 0; j < node.inEdges.length; j++) {
- let edge = node.inEdges[j];
+ const edge = node.inEdges[j];
if (nextSourceNode.indexOf(edge.node1) < 0) {
nextSourceNode.push(edge.node1);
}
@@ -252,7 +252,7 @@ function moveSinksRight(nodes: GraphNode[], maxDepth: number) {
*/
function scaleNodeBreadths(nodes: GraphNode[], kx: number, orient: LayoutOrient) {
zrUtil.each(nodes, function (node) {
- let nodeDepth = node.getLayout().depth * kx;
+ const nodeDepth = node.getLayout().depth * kx;
orient === 'vertical'
? node.setLayout({y: nodeDepth}, true)
: node.setLayout({x: nodeDepth}, true);
@@ -278,7 +278,7 @@ function computeNodeDepths(
iterations: number,
orient: LayoutOrient
) {
- let nodesByBreadth = prepareNodesByBreadth(nodes, orient);
+ const nodesByBreadth = prepareNodesByBreadth(nodes, orient);
initializeNodeDepth(nodesByBreadth, edges, height, width, nodeGap, orient);
resolveCollisions(nodesByBreadth, nodeGap, height, width, orient);
@@ -295,10 +295,10 @@ function computeNodeDepths(
}
function prepareNodesByBreadth(nodes: GraphNode[], orient: LayoutOrient) {
- let nodesByBreadth: GraphNode[][] = [];
- let keyAttr = orient === 'vertical' ? 'y' : 'x';
+ const nodesByBreadth: GraphNode[][] = [];
+ const keyAttr = orient === 'vertical' ? 'y' : 'x';
- let groupResult = groupData(nodes, function (node) {
+ const groupResult = groupData(nodes, function (node) {
return node.getLayout()[keyAttr] as number;
});
groupResult.keys.sort(function (a, b) {
@@ -324,12 +324,12 @@ function initializeNodeDepth(
) {
let minKy = Infinity;
zrUtil.each(nodesByBreadth, function (nodes) {
- let n = nodes.length;
+ const n = nodes.length;
let sum = 0;
zrUtil.each(nodes, function (node) {
sum += node.getLayout().value;
});
- let ky = orient === 'vertical'
+ const ky = orient === 'vertical'
? (width - (n - 1) * nodeGap) / sum
: (height - (n - 1) * nodeGap) / sum;
@@ -340,7 +340,7 @@ function initializeNodeDepth(
zrUtil.each(nodesByBreadth, function (nodes) {
zrUtil.each(nodes, function (node, i) {
- let nodeDy = node.getLayout().value * minKy;
+ const nodeDy = node.getLayout().value * minKy;
if (orient === 'vertical') {
node.setLayout({x: i}, true);
node.setLayout({dx: nodeDy}, true);
@@ -353,7 +353,7 @@ function initializeNodeDepth(
});
zrUtil.each(edges, function (edge) {
- let edgeDy = +edge.getValue() * minKy;
+ const edgeDy = +edge.getValue() * minKy;
edge.setLayout({dy: edgeDy}, true);
});
}
@@ -368,7 +368,7 @@ function resolveCollisions(
width: number,
orient: LayoutOrient
) {
- let keyAttr = orient === 'vertical' ? 'x' : 'y';
+ const keyAttr = orient === 'vertical' ? 'x' : 'y';
zrUtil.each(nodesByBreadth, function (nodes) {
nodes.sort(function (a, b) {
return a.getLayout()[keyAttr] - b.getLayout()[keyAttr];
@@ -377,8 +377,8 @@ function resolveCollisions(
let node;
let dy;
let y0 = 0;
- let n = nodes.length;
- let nodeDyAttr = orient === 'vertical' ? 'dx' : 'dy';
+ const n = nodes.length;
+ const nodeDyAttr = orient === 'vertical' ? 'dx' : 'dy';
for (let i = 0; i < n; i++) {
node = nodes[i];
dy = y0 - node.getLayout()[keyAttr];
@@ -390,7 +390,7 @@ function resolveCollisions(
}
y0 = node.getLayout()[keyAttr] + node.getLayout()[nodeDyAttr] + nodeGap;
}
- let viewWidth = orient === 'vertical' ? width : height;
+ const viewWidth = orient === 'vertical' ? width : height;
// If the bottommost node goes outside the bounds, push it back up
dy = y0 - nodeGap - viewWidth;
if (dy > 0) {
@@ -428,14 +428,14 @@ function relaxRightToLeft(
zrUtil.each(nodesByBreadth.slice().reverse(), function (nodes) {
zrUtil.each(nodes, function (node) {
if (node.outEdges.length) {
- let y = sum(node.outEdges, weightedTarget, orient)
+ const y = sum(node.outEdges, weightedTarget, orient)
/ sum(node.outEdges, getEdgeValue);
if (orient === 'vertical') {
- let nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;
+ const nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;
node.setLayout({x: nodeX}, true);
}
else {
- let nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;
+ const nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;
node.setLayout({y: nodeY}, true);
}
}
@@ -463,10 +463,10 @@ function getEdgeValue(edge: GraphEdge) {
function sum<T>(array: T[], cb: (item: T, orient?: LayoutOrient) => number, orient?: LayoutOrient) {
let sum = 0;
- let len = array.length;
+ const len = array.length;
let i = -1;
while (++i < len) {
- let value = +cb(array[i], orient);
+ const value = +cb(array[i], orient);
if (!isNaN(value)) {
sum += value;
}
@@ -481,14 +481,14 @@ function relaxLeftToRight(nodesByBreadth: GraphNode[][], alpha: number, orient:
zrUtil.each(nodesByBreadth, function (nodes) {
zrUtil.each(nodes, function (node) {
if (node.inEdges.length) {
- let y = sum(node.inEdges, weightedSource, orient)
+ const y = sum(node.inEdges, weightedSource, orient)
/ sum(node.inEdges, getEdgeValue);
if (orient === 'vertical') {
- let nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;
+ const nodeX = node.getLayout().x + (y - center(node, orient)) * alpha;
node.setLayout({x: nodeX}, true);
}
else {
- let nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;
+ const nodeY = node.getLayout().y + (y - center(node, orient)) * alpha;
node.setLayout({y: nodeY}, true);
}
}
@@ -500,7 +500,7 @@ function relaxLeftToRight(nodesByBreadth: GraphNode[][], alpha: number, orient:
* Compute the depth(y-position) of each edge
*/
function computeEdgeDepths(nodes: GraphNode[], orient: LayoutOrient) {
- let keyAttr = orient === 'vertical' ? 'x' : 'y';
+ const keyAttr = orient === 'vertical' ? 'x' : 'y';
zrUtil.each(nodes, function (node) {
node.outEdges.sort(function (a, b) {
return a.node2.getLayout()[keyAttr] - b.node2.getLayout()[keyAttr];
diff --git a/src/chart/sankey/sankeyVisual.ts b/src/chart/sankey/sankeyVisual.ts
index 2e6fc14..5e1b2b6 100644
--- a/src/chart/sankey/sankeyVisual.ts
+++ b/src/chart/sankey/sankeyVisual.ts
@@ -24,13 +24,13 @@ import SankeySeriesModel, { SankeyNodeItemOption } from './SankeySeries';
export default function (ecModel: GlobalModel) {
ecModel.eachSeriesByType('sankey', function (seriesModel: SankeySeriesModel) {
- let graph = seriesModel.getGraph();
- let nodes = graph.nodes;
+ const graph = seriesModel.getGraph();
+ const nodes = graph.nodes;
if (nodes.length) {
let minValue = Infinity;
let maxValue = -Infinity;
zrUtil.each(nodes, function (node) {
- let nodeValue = node.getLayout().value;
+ const nodeValue = node.getLayout().value;
if (nodeValue < minValue) {
minValue = nodeValue;
}
@@ -40,15 +40,15 @@ export default function (ecModel: GlobalModel) {
});
zrUtil.each(nodes, function (node) {
- let mapping = new VisualMapping({
+ const mapping = new VisualMapping({
type: 'color',
mappingMethod: 'linear',
dataExtent: [minValue, maxValue],
visual: seriesModel.get('color')
});
- let mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);
- let customColor = node.getModel<SankeyNodeItemOption>().get(['itemStyle', 'color']);
+ const mapValueToColor = mapping.mapValueToVisual(node.getLayout().value);
+ const customColor = node.getModel<SankeyNodeItemOption>().get(['itemStyle', 'color']);
customColor != null
? node.setVisual('color', customColor)
: node.setVisual('color', mapValueToColor);
diff --git a/src/chart/scatter/ScatterSeries.ts b/src/chart/scatter/ScatterSeries.ts
index 86cd0aa..d1c58b2 100644
--- a/src/chart/scatter/ScatterSeries.ts
+++ b/src/chart/scatter/ScatterSeries.ts
@@ -94,7 +94,7 @@ class ScatterSeriesModel extends SeriesModel<ScatterSeriesOption> {
getProgressive() {
- let progressive = this.option.progressive;
+ const progressive = this.option.progressive;
if (progressive == null) {
// PENDING
return this.option.large ? 5e3 : this.get('progressive');
@@ -103,7 +103,7 @@ class ScatterSeriesModel extends SeriesModel<ScatterSeriesOption> {
}
getProgressiveThreshold() {
- let progressiveThreshold = this.option.progressiveThreshold;
+ const progressiveThreshold = this.option.progressiveThreshold;
if (progressiveThreshold == null) {
// PENDING
return this.option.large ? 1e4 : this.get('progressiveThreshold');
diff --git a/src/chart/scatter/ScatterView.ts b/src/chart/scatter/ScatterView.ts
index cc90582..2885329 100644
--- a/src/chart/scatter/ScatterView.ts
+++ b/src/chart/scatter/ScatterView.ts
@@ -40,9 +40,9 @@ class ScatterView extends ChartView {
_symbolDraw: SymbolDraw | LargeSymbolDraw;
render(seriesModel: ScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
- let symbolDraw = this._updateSymbolDraw(data, seriesModel);
+ const symbolDraw = this._updateSymbolDraw(data, seriesModel);
symbolDraw.updateData(data, {
// TODO
@@ -56,8 +56,8 @@ class ScatterView extends ChartView {
}
incrementalPrepareRender(seriesModel: ScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
- let data = seriesModel.getData();
- let symbolDraw = this._updateSymbolDraw(data, seriesModel);
+ const data = seriesModel.getData();
+ const symbolDraw = this._updateSymbolDraw(data, seriesModel);
symbolDraw.incrementalPrepareUpdate(data);
@@ -73,7 +73,7 @@ class ScatterView extends ChartView {
}
updateTransform(seriesModel: ScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI): void | { update: true } {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
// Must mark group dirty and make sure the incremental layer will be cleared
// PENDING
this.group.dirty();
@@ -84,7 +84,7 @@ class ScatterView extends ChartView {
};
}
else {
- let res = pointsLayout().reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
+ const res = pointsLayout().reset(seriesModel, ecModel, api) as StageHandlerProgressExecutor;
if (res.progress) {
res.progress({ start: 0, end: data.count(), count: data.count() }, data);
}
@@ -94,15 +94,15 @@ class ScatterView extends ChartView {
}
_getClipShape(seriesModel: ScatterSeriesModel) {
- let coordSys = seriesModel.coordinateSystem;
- let clipArea = coordSys && coordSys.getArea && coordSys.getArea();
+ const coordSys = seriesModel.coordinateSystem;
+ const clipArea = coordSys && coordSys.getArea && coordSys.getArea();
return seriesModel.get('clip', true) ? clipArea : null;
}
_updateSymbolDraw(data: List, seriesModel: ScatterSeriesModel) {
let symbolDraw = this._symbolDraw;
- let pipelineContext = seriesModel.pipelineContext;
- let isLargeDraw = pipelineContext.large;
+ const pipelineContext = seriesModel.pipelineContext;
+ const isLargeDraw = pipelineContext.large;
if (!symbolDraw || isLargeDraw !== this._isLargeDraw) {
symbolDraw && symbolDraw.remove();
diff --git a/src/chart/sunburst/SunburstPiece.ts b/src/chart/sunburst/SunburstPiece.ts
index fd4ca41..dba74f5 100644
--- a/src/chart/sunburst/SunburstPiece.ts
+++ b/src/chart/sunburst/SunburstPiece.ts
@@ -51,7 +51,7 @@ class SunburstPiece extends graphic.Group {
constructor(node: TreeNode, seriesModel: SunburstSeriesModel, ecModel: GlobalModel) {
super();
- let sector = new graphic.Sector({
+ const sector = new graphic.Sector({
z2: DEFAULT_SECTOR_Z,
textConfig: {
inside: true
@@ -60,7 +60,7 @@ class SunburstPiece extends graphic.Group {
this.add(sector);
graphic.getECData(sector).seriesIndex = seriesModel.seriesIndex;
- let text = new graphic.Text({
+ const text = new graphic.Text({
z2: DEFAULT_TEXT_Z,
silent: node.getModel<SunburstSeriesNodeOption>().get(['label', 'silent'])
});
@@ -95,28 +95,28 @@ class SunburstPiece extends graphic.Group {
seriesModel = seriesModel || this._seriesModel;
ecModel = ecModel || this._ecModel;
- let sector = this.childAt(0) as graphic.Sector;
+ const sector = this.childAt(0) as graphic.Sector;
graphic.getECData(sector).dataIndex = node.dataIndex;
- let itemModel = node.getModel<SunburstSeriesNodeOption>();
- let layout = node.getLayout();
+ const itemModel = node.getModel<SunburstSeriesNodeOption>();
+ const layout = node.getLayout();
// if (!layout) {
// console.log(node.getLayout());
// }
- let sectorShape = zrUtil.extend({}, layout);
+ const sectorShape = zrUtil.extend({}, layout);
sectorShape.label = null;
- let visualColor = getNodeColor(node, seriesModel, ecModel);
+ const visualColor = getNodeColor(node, seriesModel, ecModel);
fillDefaultColor(node, seriesModel, visualColor);
- let normalStyle = itemModel.getModel('itemStyle').getItemStyle();
+ const normalStyle = itemModel.getModel('itemStyle').getItemStyle();
let style;
if (state === 'normal') {
style = normalStyle;
}
else {
- let stateStyle = itemModel.getModel([state, 'itemStyle'])
+ const stateStyle = itemModel.getModel([state, 'itemStyle'])
.getItemStyle();
style = zrUtil.merge(stateStyle, normalStyle);
}
@@ -162,11 +162,11 @@ class SunburstPiece extends graphic.Group {
this._updateLabel(seriesModel, visualColor, state);
- let cursorStyle = itemModel.getShallow('cursor');
+ const cursorStyle = itemModel.getShallow('cursor');
cursorStyle && sector.attr('cursor', cursorStyle);
if (firstCreate) {
- let highlightPolicy = seriesModel.getShallow('highlightPolicy');
+ const highlightPolicy = seriesModel.getShallow('highlightPolicy');
this._initEvents(sector, node, seriesModel, highlightPolicy);
}
@@ -175,7 +175,7 @@ class SunburstPiece extends graphic.Group {
}
onEmphasis(highlightPolicy: AllPropTypes<typeof NodeHighlightPolicy>) {
- let that = this;
+ const that = this;
this.node.hostTree.root.eachNode(function (n: DrawTreeNode) {
if (n.piece) {
if (that.node === n) {
@@ -212,12 +212,12 @@ class SunburstPiece extends graphic.Group {
visualColor: ColorString,
state: 'emphasis' | 'normal' | 'highlight' | 'downplay'
) {
- let itemModel = this.node.getModel<SunburstSeriesNodeOption>();
- let normalModel = itemModel.getModel('label');
- let labelModel = state === 'normal' || state === 'emphasis'
+ const itemModel = this.node.getModel<SunburstSeriesNodeOption>();
+ const normalModel = itemModel.getModel('label');
+ const labelModel = state === 'normal' || state === 'emphasis'
? normalModel
: itemModel.getModel([state, 'label']);
- let labelHoverModel = itemModel.getModel(['emphasis', 'label']);
+ const labelHoverModel = itemModel.getModel(['emphasis', 'label']);
let text = zrUtil.retrieve(
seriesModel.getFormattedLabel(
@@ -229,20 +229,20 @@ class SunburstPiece extends graphic.Group {
text = '';
}
- let layout = this.node.getLayout();
+ const layout = this.node.getLayout();
let labelMinAngle = labelModel.get('minAngle');
if (labelMinAngle == null) {
labelMinAngle = normalModel.get('minAngle');
}
labelMinAngle = labelMinAngle / 180 * Math.PI;
- let angle = layout.endAngle - layout.startAngle;
+ const angle = layout.endAngle - layout.startAngle;
if (labelMinAngle != null && Math.abs(angle) < labelMinAngle) {
// Not displaying text when angle is too small
text = '';
}
- let sector = this.childAt(0);
- let label = sector.getTextContent();
+ const sector = this.childAt(0);
+ const label = sector.getTextContent();
graphic.setLabelStyle(
label, normalModel, labelHoverModel,
@@ -258,13 +258,13 @@ class SunburstPiece extends graphic.Group {
outsideFill: visualColor
});
- let midAngle = (layout.startAngle + layout.endAngle) / 2;
- let dx = Math.cos(midAngle);
- let dy = Math.sin(midAngle);
+ const midAngle = (layout.startAngle + layout.endAngle) / 2;
+ const dx = Math.cos(midAngle);
+ const dy = Math.sin(midAngle);
let r;
- let labelPosition = getLabelAttr('position');
- let labelPadding = getLabelAttr('distance') || 0;
+ const labelPosition = getLabelAttr('position');
+ const labelPadding = getLabelAttr('distance') || 0;
let textAlign = getLabelAttr('align');
if (labelPosition === 'outside') {
r = layout.r + labelPadding;
@@ -296,11 +296,11 @@ class SunburstPiece extends graphic.Group {
opacity: getLabelAttr('opacity')
});
- let textX = r * dx + layout.cx;
- let textY = r * dy + layout.cy;
+ const textX = r * dx + layout.cx;
+ const textY = r * dy + layout.cy;
label.attr('position', [textX, textY]);
- let rotateType = getLabelAttr('rotate');
+ const rotateType = getLabelAttr('rotate');
let rotate = 0;
if (rotateType === 'radial') {
rotate = -midAngle;
@@ -324,7 +324,7 @@ class SunburstPiece extends graphic.Group {
type LabelOption = SunburstSeriesNodeOption['label'];
function getLabelAttr<T extends keyof LabelOption>(name: T): LabelOption[T] {
- let stateAttr = labelModel.get(name);
+ const stateAttr = labelModel.get(name);
if (stateAttr == null) {
return normalModel.get(name);
}
@@ -342,17 +342,17 @@ class SunburstPiece extends graphic.Group {
) {
sector.off('mouseover').off('mouseout').off('emphasis').off('normal');
- let that = this;
- let onEmphasis = function () {
+ const that = this;
+ const onEmphasis = function () {
that.onEmphasis(highlightPolicy);
};
- let onNormal = function () {
+ const onNormal = function () {
that.onNormal();
};
- let onDownplay = function () {
+ const onDownplay = function () {
that.onDownplay();
};
- let onHighlight = function () {
+ const onHighlight = function () {
that.onHighlight();
};
@@ -383,7 +383,7 @@ function getNodeColor(
) {
// Color from visualMap
let visualColor = node.getVisual('color');
- let visualMetaList = node.getVisual('visualMeta');
+ const visualMetaList = node.getVisual('visualMeta');
if (!visualMetaList || visualMetaList.length === 0) {
// Use first-generation color if has no visualMap
visualColor = null;
@@ -404,7 +404,7 @@ function getNodeColor(
}
else {
// First-generation color
- let length = ecModel.option.color.length;
+ const length = ecModel.option.color.length;
color = ecModel.option.color[getRootId(node) % length];
}
return color;
@@ -422,7 +422,7 @@ function getRootId(node: TreeNode) {
ancestor = ancestor.parentNode;
}
- let virtualRoot = node.getAncestors()[0];
+ const virtualRoot = node.getAncestors()[0];
return zrUtil.indexOf(virtualRoot.children, ancestor);
}
@@ -447,6 +447,6 @@ function isNodeHighlighted(
// Fix tooltip callback function params.color incorrect when pick a default color
function fillDefaultColor(node: TreeNode, seriesModel: SunburstSeriesModel, color: ZRColor) {
- let data = seriesModel.getData();
+ const data = seriesModel.getData();
data.setItemVisual(node.dataIndex, 'color', color);
}
diff --git a/src/chart/sunburst/SunburstSeries.ts b/src/chart/sunburst/SunburstSeries.ts
index 1fd10c0..6211e01 100644
--- a/src/chart/sunburst/SunburstSeries.ts
+++ b/src/chart/sunburst/SunburstSeries.ts
@@ -154,15 +154,15 @@ class SunburstSeriesModel extends SeriesModel<SunburstSeriesOption> {
getInitialData(option: SunburstSeriesOption, ecModel: GlobalModel) {
// Create a virtual root.
- let root = { name: option.name, children: option.data };
+ const root = { name: option.name, children: option.data };
completeTreeValue(root);
- let levels = option.levels || [];
+ const levels = option.levels || [];
// levels = option.levels = setDefault(levels, ecModel);
- let treeOption = {
+ const treeOption = {
levels: levels
};
@@ -180,9 +180,9 @@ class SunburstSeriesModel extends SeriesModel<SunburstSeriesOption> {
* @override
*/
getDataParams(dataIndex: number) {
- let params = super.getDataParams.apply(this, arguments as any) as SunburstDataParams;
+ const params = super.getDataParams.apply(this, arguments as any) as SunburstDataParams;
- let node = this.getData().tree.getNodeByDataIndex(dataIndex);
+ const node = this.getData().tree.getNodeByDataIndex(dataIndex);
params.treePathInfo = wrapTreePathInfo<SunburstSeriesNodeOption['value']>(node, this);
return params;
@@ -280,7 +280,7 @@ class SunburstSeriesModel extends SeriesModel<SunburstSeriesOption> {
? (this._viewRoot = viewRoot)
: (viewRoot = this._viewRoot);
- let root = this.getRawData().tree.root;
+ const root = this.getRawData().tree.root;
if (!viewRoot
|| (viewRoot !== root && !root.contains(viewRoot))
diff --git a/src/chart/sunburst/SunburstView.ts b/src/chart/sunburst/SunburstView.ts
index c804170..b5ce867 100644
--- a/src/chart/sunburst/SunburstView.ts
+++ b/src/chart/sunburst/SunburstView.ts
@@ -53,33 +53,33 @@ class SunburstView extends ChartView {
// @ts-ignore
payload
) {
- let self = this;
+ const self = this;
this.seriesModel = seriesModel;
this.api = api;
this.ecModel = ecModel;
- let data = seriesModel.getData();
- let virtualRoot = data.tree.root as DrawTreeNode;
+ const data = seriesModel.getData();
+ const virtualRoot = data.tree.root as DrawTreeNode;
- let newRoot = seriesModel.getViewRoot() as DrawTreeNode;
+ const newRoot = seriesModel.getViewRoot() as DrawTreeNode;
... 24927 lines suppressed ...
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org