You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by sh...@apache.org on 2018/05/29 05:31:17 UTC

[incubator-echarts] branch master updated: [tree] fix transform wrong after update

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 56d7822  [tree] fix transform wrong after update
56d7822 is described below

commit 56d7822ec9a0f5d929fe2a89f9f6eb7c76261acd
Author: pissang <bm...@gmail.com>
AuthorDate: Tue May 29 13:30:58 2018 +0800

    [tree] fix transform wrong after update
---
 src/chart/tree.js            | 21 +--------------------
 src/chart/tree/TreeSeries.js |  8 ++++++++
 src/chart/tree/TreeView.js   | 14 +++++++++++---
 src/chart/tree/treeAction.js | 19 +++++++++++++++++++
 4 files changed, 39 insertions(+), 23 deletions(-)

diff --git a/src/chart/tree.js b/src/chart/tree.js
index 55ab0d6..01a7e26 100644
--- a/src/chart/tree.js
+++ b/src/chart/tree.js
@@ -18,7 +18,6 @@
 */
 
 import * as echarts from '../echarts';
-import {updateCenterAndZoom} from '../action/roamHelper';
 
 import './tree/TreeSeries';
 import './tree/TreeView';
@@ -28,22 +27,4 @@ import visualSymbol from '../visual/symbol';
 import treeLayout from './tree/treeLayout';
 
 echarts.registerVisual(visualSymbol('tree', 'circle'));
-echarts.registerLayout(treeLayout);
-
-echarts.registerAction({
-    type: 'treeRoam',
-    event: 'treeRoam',
-    update: 'none'
-}, function (payload, ecModel) {
-    ecModel.eachComponent({mainType: 'series', query: payload}, function (seriesModel) {
-        var coordSys = seriesModel.coordinateSystem;
-
-        var res = updateCenterAndZoom(coordSys, payload);
-
-        seriesModel.setCenter
-            && seriesModel.setCenter(res.center);
-
-        seriesModel.setZoom
-            && seriesModel.setZoom(res.zoom);
-    });
-});
\ No newline at end of file
+echarts.registerLayout(treeLayout);
\ No newline at end of file
diff --git a/src/chart/tree/TreeSeries.js b/src/chart/tree/TreeSeries.js
index 5261a4e..e10b484 100644
--- a/src/chart/tree/TreeSeries.js
+++ b/src/chart/tree/TreeSeries.js
@@ -92,6 +92,14 @@ export default SeriesModel.extend({
         return orient;
     },
 
+    setZoom: function (zoom) {
+        this.option.zoom = zoom;
+    },
+
+    setCenter: function (center) {
+        this.option.center = center;
+    },
+
     /**
      * @override
      * @param {number} dataIndex
diff --git a/src/chart/tree/TreeView.js b/src/chart/tree/TreeView.js
index 56eb057..fbc56f7 100644
--- a/src/chart/tree/TreeView.js
+++ b/src/chart/tree/TreeView.js
@@ -147,9 +147,12 @@ export default echarts.extendChartView({
 
     _updateViewCoordSys: function (seriesModel) {
         var data = seriesModel.getData();
-        var points = data.mapArray(function (idx) {
-            var layout = data.getItemLayout(idx) || {};
-            return [+layout.x, +layout.y];
+        var points = [];
+        data.each(function (idx) {
+            var layout = data.getItemLayout(idx);
+            if (layout && !isNaN(layout.x) && !isNaN(layout.y)) {
+                points.push([+layout.x, +layout.y]);
+            }
         });
         var min = [];
         var max = [];
@@ -172,6 +175,11 @@ export default echarts.extendChartView({
         viewCoordSys.setCenter(seriesModel.get('center'));
         viewCoordSys.setZoom(seriesModel.get('zoom'));
 
+        this.group.attr({
+            position: viewCoordSys.position,
+            scale: viewCoordSys.scale
+        });
+
         this._viewCoordSys = viewCoordSys;
     },
 
diff --git a/src/chart/tree/treeAction.js b/src/chart/tree/treeAction.js
index 27ee8c9..186d6c4 100644
--- a/src/chart/tree/treeAction.js
+++ b/src/chart/tree/treeAction.js
@@ -18,6 +18,7 @@
 */
 
 import * as echarts from '../../echarts';
+import {updateCenterAndZoom} from '../../action/roamHelper';
 
 echarts.registerAction({
     type: 'treeExpandAndCollapse',
@@ -32,3 +33,21 @@ echarts.registerAction({
 
     });
 });
+
+echarts.registerAction({
+    type: 'treeRoam',
+    event: 'treeRoam',
+    update: 'none'
+}, function (payload, ecModel) {
+    ecModel.eachComponent({mainType: 'series', query: payload}, function (seriesModel) {
+        var coordSys = seriesModel.coordinateSystem;
+
+        var res = updateCenterAndZoom(coordSys, payload);
+
+        seriesModel.setCenter
+            && seriesModel.setCenter(res.center);
+
+        seriesModel.setZoom
+            && seriesModel.setZoom(res.zoom);
+    });
+});
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
shenyi@apache.org.

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@echarts.apache.org
For additional commands, e-mail: commits-help@echarts.apache.org