From 4ffc328b75cbfe72efe1f60306d34c7ffd9343fd Mon Sep 17 00:00:00 2001 From: sushuang Date: Fri, 19 Apr 2019 15:58:38 +0800 Subject: [PATCH] tweak comment --- src/util/graphic.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/util/graphic.js b/src/util/graphic.js index 7952aa759..74dfabaed 100644 --- a/src/util/graphic.js +++ b/src/util/graphic.js @@ -312,9 +312,13 @@ function singleEnterEmphasis(el) { // where properties of `emphasis` may not appear in `normal`. We previously use // module:echarts/util/model#defaultEmphasis to merge `normal` to `emphasis`. // But consider rich text and setOption in merge mode, it is impossible to cover - // all properties in merge. So we use merge mode when setting style here, where - // only properties that is not `null/undefined` can be set. The disadventage: - // null/undefined can not be used to remove style any more in `emphasis`. + // all properties in merge. So we use merge mode when setting style here. + // But we choose the merge strategy that only properties that is not `null/undefined`. + // Because when making a textStyle (espacially rich text), it is not easy to distinguish + // `hasOwnProperty` and `null/undefined` in code, so we trade them as the same for simplicity. + // But this strategy brings a trouble that `null/undefined` can not be used to remove + // style any more in `emphasis`. Users can both set properties directly on normal and + // emphasis to avoid this issue, or we might support `'none'` for this case if required. targetStyle.extendFrom(hoverStl); setDefaultHoverFillStroke(targetStyle, hoverStl, 'fill'); @@ -356,8 +360,6 @@ function singleEnterNormal(el) { var normalStl = el.__cachedNormalStl; if (normalStl) { rollbackDefaultTextStyle(style); - // Consider null/undefined value, should use - // `setStyle` but not `extendFrom(stl, true)`. el.setStyle(normalStl); applyDefaultTextStyle(style); } -- GitLab