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 12:03:24 UTC
[echarts] 01/01: 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 9ee9b91ca6a0625e0d07a3c9e8f766950e2ed94f
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 | 20 ++++++++++++++++----
test/sankey-labelValue.html | 7 ++++++-
2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/src/chart/sankey/SankeyView.ts b/src/chart/sankey/SankeyView.ts
index 573e12fe3..260790ced 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,18 +220,30 @@ class SankeyView extends ChartView {
}
}
+ const defaultEdgeLabelText = `${edgeModel.get('value')}`;
+ 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,
+ // ensure edgeLabel formatter is provided
+ // to prevent the inheritance from `label.formatter` of the series
+ retrieve3(
+ formatter,
+ edgeLabelStateModels.normal && edgeLabelStateModels.normal.get('formatter'),
+ defaultEdgeLabelText
+ ),
+ extendParams
);
}
},
labelDataIndex: edge.dataIndex,
- defaultText: `${edgeModel.get('value')}`
+ defaultText: defaultEdgeLabelText
}
);
curve.setTextConfig({ position: 'inside' });
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