You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@echarts.apache.org by wa...@apache.org on 2023/06/08 11:53:47 UTC

[echarts] 03/03: fix(sankey): prevent `edgeLabel` formatter from inheriting `label.formatter`.

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

wangzx pushed a commit to branch fix/sankey-label-formatter
in repository https://gitbox.apache.org/repos/asf/echarts.git

commit 8df887b15431ec7acc9b3cb2ffc475004635ef87
Author: plainheart <yh...@all-my-life.cn>
AuthorDate: Thu Jun 8 19:29:08 2023 +0800

    fix(sankey): prevent `edgeLabel` formatter from inheriting `label.formatter`.
---
 src/chart/sankey/SankeyView.ts | 16 +++++++++++++---
 test/sankey-labelValue.html    |  7 ++++++-
 2 files changed, 19 insertions(+), 4 deletions(-)

diff --git a/src/chart/sankey/SankeyView.ts b/src/chart/sankey/SankeyView.ts
index 573e12fe3..20e236b65 100644
--- a/src/chart/sankey/SankeyView.ts
+++ b/src/chart/sankey/SankeyView.ts
@@ -29,7 +29,7 @@ import SeriesData from '../../data/SeriesData';
 import { RectLike } from 'zrender/src/core/BoundingRect';
 import { setLabelStyle, getLabelStatesModels } from '../../label/labelStyle';
 import { getECData } from '../../util/innerStore';
-import { isString } from 'zrender/src/core/util';
+import { isString, retrieve3 } from 'zrender/src/core/util';
 
 class SankeyPathShape {
     x1 = 0;
@@ -220,13 +220,23 @@ class SankeyView extends ChartView {
                     }
             }
 
+            const edgeLabelStateModels = getLabelStatesModels(edgeModel, 'edgeLabel');
+
             setLabelStyle(
-                curve, getLabelStatesModels(edgeModel, 'edgeLabel'),
+                curve, edgeLabelStateModels,
                 {
                     labelFetcher: {
                         getFormattedLabel(dataIndex, stateName, dataType, labelDimIndex, formatter, extendParams) {
                             return seriesModel.getFormattedLabel(
-                                dataIndex, stateName, 'edge', labelDimIndex, formatter, extendParams
+                                dataIndex, stateName, 'edge',
+                                labelDimIndex,
+                                // disable inheritance from `label.formatter` and use edgeLabel formatter
+                                retrieve3(
+                                    formatter,
+                                    edgeLabelStateModels[stateName].get('formatter'),
+                                    edgeLabelStateModels.normal.get('formatter')
+                                ),
+                                extendParams
                             );
                         }
                     },
diff --git a/test/sankey-labelValue.html b/test/sankey-labelValue.html
index 2b2b67332..272c1198e 100644
--- a/test/sankey-labelValue.html
+++ b/test/sankey-labelValue.html
@@ -80,7 +80,12 @@ under the License.
                             formatter: (params) => {
                                 return params.name + ': ' + params.value;
                             },
-                            // formatter: '{c}'
+                            // formatter: 'value: {c}'
+                        },
+                        emphasis: {
+                            edgeLabel: {
+                                // formatter: 'emphasis----{c}'
+                            }
                         }
                     }],
                     tooltip: {trigger: 'item', triggerOn: 'mousemove'}


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