From f72c9e27b0ac548597b0c4de38fd96be8c10f8f7 Mon Sep 17 00:00:00 2001 From: susiwen8 Date: Thu, 1 Apr 2021 15:28:45 +0800 Subject: [PATCH] Feat(effectScatter): add clip for effectScatter --- src/chart/effectScatter/EffectScatterSeries.ts | 2 ++ src/chart/effectScatter/EffectScatterView.ts | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/chart/effectScatter/EffectScatterSeries.ts b/src/chart/effectScatter/EffectScatterSeries.ts index f0340fb9a..e6f88303c 100644 --- a/src/chart/effectScatter/EffectScatterSeries.ts +++ b/src/chart/effectScatter/EffectScatterSeries.ts @@ -71,6 +71,7 @@ export interface EffectScatterSeriesOption extends SeriesOption { // When to show the effect, option: 'render'|'emphasis' showEffectOn: 'render', + clip: true, // Ripple effect config rippleEffect: { diff --git a/src/chart/effectScatter/EffectScatterView.ts b/src/chart/effectScatter/EffectScatterView.ts index 722073140..ac56824a1 100644 --- a/src/chart/effectScatter/EffectScatterView.ts +++ b/src/chart/effectScatter/EffectScatterView.ts @@ -41,10 +41,16 @@ class EffectScatterView extends ChartView { render(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) { const data = seriesModel.getData(); const effectSymbolDraw = this._symbolDraw; - effectSymbolDraw.updateData(data); + effectSymbolDraw.updateData(data, {clipShape: this._getClipShape(seriesModel)}); this.group.add(effectSymbolDraw.group); } + _getClipShape(seriesModel: EffectScatterSeriesModel) { + const coordSys = seriesModel.coordinateSystem; + const clipArea = coordSys && coordSys.getArea && coordSys.getArea(); + return seriesModel.get('clip', true) ? clipArea : null; + } + updateTransform(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) { const data = seriesModel.getData(); -- GitLab