提交 f72c9e27 编写于 作者: S susiwen8

Feat(effectScatter): add clip for effectScatter

上级 09ddced7
...@@ -71,6 +71,7 @@ export interface EffectScatterSeriesOption extends SeriesOption<EffectScatterSta ...@@ -71,6 +71,7 @@ export interface EffectScatterSeriesOption extends SeriesOption<EffectScatterSta
* When to show the effect * When to show the effect
*/ */
showEffectOn?: 'render' | 'emphasis' showEffectOn?: 'render' | 'emphasis'
clip?: boolean
/** /**
* Ripple effect config * Ripple effect config
...@@ -107,6 +108,7 @@ class EffectScatterSeriesModel extends SeriesModel<EffectScatterSeriesOption> { ...@@ -107,6 +108,7 @@ class EffectScatterSeriesModel extends SeriesModel<EffectScatterSeriesOption> {
// When to show the effect, option: 'render'|'emphasis' // When to show the effect, option: 'render'|'emphasis'
showEffectOn: 'render', showEffectOn: 'render',
clip: true,
// Ripple effect config // Ripple effect config
rippleEffect: { rippleEffect: {
......
...@@ -41,10 +41,16 @@ class EffectScatterView extends ChartView { ...@@ -41,10 +41,16 @@ class EffectScatterView extends ChartView {
render(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) { render(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
const data = seriesModel.getData(); const data = seriesModel.getData();
const effectSymbolDraw = this._symbolDraw; const effectSymbolDraw = this._symbolDraw;
effectSymbolDraw.updateData(data); effectSymbolDraw.updateData(data, {clipShape: this._getClipShape(seriesModel)});
this.group.add(effectSymbolDraw.group); 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) { updateTransform(seriesModel: EffectScatterSeriesModel, ecModel: GlobalModel, api: ExtensionAPI) {
const data = seriesModel.getData(); const data = seriesModel.getData();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册