From d11b53e713ae3218fa8af02f1dd098e946c5292f Mon Sep 17 00:00:00 2001 From: plainheart Date: Thu, 2 Apr 2020 10:30:56 +0800 Subject: [PATCH 1/4] fix(tree): the symbols of image type do not display at the first rendering. close apache#12279. --- src/chart/tree/TreeView.js | 5 +- test/tree-image2.html | 98 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 test/tree-image2.html diff --git a/src/chart/tree/TreeView.js b/src/chart/tree/TreeView.js index 6662eaca88..b8d8eaaa78 100644 --- a/src/chart/tree/TreeView.js +++ b/src/chart/tree/TreeView.js @@ -376,9 +376,8 @@ function updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) symbolEl = new SymbolClz(data, dataIndex, seriesScope); symbolEl.attr('position', [sourceOldLayout.x, sourceOldLayout.y]); } - else { - symbolEl.updateData(data, dataIndex, seriesScope); - } + + symbolEl.updateData(data, dataIndex, seriesScope); symbolEl.__radialOldRawX = symbolEl.__radialRawX; symbolEl.__radialOldRawY = symbolEl.__radialRawY; diff --git a/test/tree-image2.html b/test/tree-image2.html new file mode 100644 index 0000000000..87aa373a3d --- /dev/null +++ b/test/tree-image2.html @@ -0,0 +1,98 @@ + + + + + + + + + + + + + + + + +
+ + + \ No newline at end of file From df815b339df6a714b46f43581b4673b69c362c4f Mon Sep 17 00:00:00 2001 From: plainheart Date: Thu, 2 Apr 2020 11:05:16 +0800 Subject: [PATCH 2/4] fix(tree): optimize code. --- src/chart/tree/TreeView.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/chart/tree/TreeView.js b/src/chart/tree/TreeView.js index b8d8eaaa78..80cafe7e02 100644 --- a/src/chart/tree/TreeView.js +++ b/src/chart/tree/TreeView.js @@ -375,9 +375,17 @@ function updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) if (isInit) { symbolEl = new SymbolClz(data, dataIndex, seriesScope); symbolEl.attr('position', [sourceOldLayout.x, sourceOldLayout.y]); - } - symbolEl.updateData(data, dataIndex, seriesScope); + // Fix #12279. + // if the type of symbol is image, + // update symbol's data immediately but not wait until the next update rendering. + var symbolType = symbolEl._symbolType; + symbolType.indexOf('image://') === 0 + && symbolEl.updateData(data, dataIndex, seriesScope); + } + else { + symbolEl.updateData(data, dataIndex, seriesScope); + } symbolEl.__radialOldRawX = symbolEl.__radialRawX; symbolEl.__radialOldRawY = symbolEl.__radialRawY; From 6176bd22024cd290ada34c45c6b104f898ebdec5 Mon Sep 17 00:00:00 2001 From: plainheart Date: Sat, 16 May 2020 00:38:35 +0800 Subject: [PATCH 3/4] fix(tree): tweak access way to the type of symbolEl. --- src/chart/tree/TreeView.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/chart/tree/TreeView.js b/src/chart/tree/TreeView.js index 80cafe7e02..750647919d 100644 --- a/src/chart/tree/TreeView.js +++ b/src/chart/tree/TreeView.js @@ -379,9 +379,8 @@ function updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) // Fix #12279. // if the type of symbol is image, // update symbol's data immediately but not wait until the next update rendering. - var symbolType = symbolEl._symbolType; - symbolType.indexOf('image://') === 0 - && symbolEl.updateData(data, dataIndex, seriesScope); + var symbolType = symbolEl.getSymbolPath().type; + symbolType === 'image' && symbolEl.updateData(data, dataIndex, seriesScope); } else { symbolEl.updateData(data, dataIndex, seriesScope); @@ -644,4 +643,4 @@ function getEdgeShape(seriesScope, sourceLayout, targetLayout) { cpy2: cpy2 }; -} \ No newline at end of file +} From 48d54d8b604418b97b74e4da688c6a9699084d61 Mon Sep 17 00:00:00 2001 From: plainheart Date: Sun, 31 May 2020 20:44:12 +0800 Subject: [PATCH 4/4] fix(tree): fix invalid opacity configuration for symbolPath. --- src/chart/helper/Symbol.js | 4 ++-- src/chart/tree/TreeView.js | 6 ------ 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/chart/helper/Symbol.js b/src/chart/helper/Symbol.js index 8d6943fd25..8499c44196 100644 --- a/src/chart/helper/Symbol.js +++ b/src/chart/helper/Symbol.js @@ -238,7 +238,7 @@ symbolProto._updateCommon = function (data, idx, symbolSize, seriesScope) { } else { symbolPath.setStyle({ - opacity: null, + opacity: 1, shadowBlur: null, shadowOffsetX: null, shadowOffsetY: null, @@ -394,4 +394,4 @@ symbolProto.fadeOut = function (cb, opt) { zrUtil.inherits(SymbolClz, graphic.Group); -export default SymbolClz; \ No newline at end of file +export default SymbolClz; diff --git a/src/chart/tree/TreeView.js b/src/chart/tree/TreeView.js index 750647919d..9dbf2af1e5 100644 --- a/src/chart/tree/TreeView.js +++ b/src/chart/tree/TreeView.js @@ -375,12 +375,6 @@ function updateNode(data, dataIndex, symbolEl, group, seriesModel, seriesScope) if (isInit) { symbolEl = new SymbolClz(data, dataIndex, seriesScope); symbolEl.attr('position', [sourceOldLayout.x, sourceOldLayout.y]); - - // Fix #12279. - // if the type of symbol is image, - // update symbol's data immediately but not wait until the next update rendering. - var symbolType = symbolEl.getSymbolPath().type; - symbolType === 'image' && symbolEl.updateData(data, dataIndex, seriesScope); } else { symbolEl.updateData(data, dataIndex, seriesScope);