5d040bfd6fa96534bc0a579b12efe35eae6ba908874d23659f276f21bff9dabeefb56fa37bdcfcc25430c0f0ebd6e77a15dd8d60205ff85d2d5d5e241e54ab 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import SeriesModel from '../../model/Series.js';
  2. import { SeriesOption, SeriesOnPolarOptionMixin, SeriesOnCartesianOptionMixin, SeriesOnCalendarOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin, OptionDataValue, ItemStyleOption, SeriesLabelOption, StatesOptionMixin, SeriesEncodeOptionMixin, CallbackDataParams, DefaultEmphasisFocus } from '../../util/types.js';
  3. import GlobalModel from '../../model/Global.js';
  4. import SeriesData from '../../data/SeriesData.js';
  5. import type { SymbolDrawItemModelOption } from '../helper/SymbolDraw.js';
  6. import { BrushCommonSelectorsForSeries } from '../../component/brush/selector.js';
  7. declare type ScatterDataValue = OptionDataValue | OptionDataValue[];
  8. interface EffectScatterStatesOptionMixin {
  9. emphasis?: {
  10. focus?: DefaultEmphasisFocus;
  11. scale?: boolean | number;
  12. };
  13. }
  14. export interface EffectScatterStateOption<TCbParams = never> {
  15. itemStyle?: ItemStyleOption<TCbParams>;
  16. label?: SeriesLabelOption;
  17. }
  18. export interface EffectScatterDataItemOption extends SymbolOptionMixin, EffectScatterStateOption, StatesOptionMixin<EffectScatterStateOption, EffectScatterStatesOptionMixin> {
  19. name?: string;
  20. value?: ScatterDataValue;
  21. rippleEffect?: SymbolDrawItemModelOption['rippleEffect'];
  22. }
  23. export interface EffectScatterSeriesOption extends SeriesOption<EffectScatterStateOption<CallbackDataParams>, EffectScatterStatesOptionMixin>, EffectScatterStateOption<CallbackDataParams>, SeriesOnCartesianOptionMixin, SeriesOnPolarOptionMixin, SeriesOnCalendarOptionMixin, SeriesOnGeoOptionMixin, SeriesOnSingleOptionMixin, SymbolOptionMixin<CallbackDataParams>, SeriesEncodeOptionMixin {
  24. type?: 'effectScatter';
  25. coordinateSystem?: string;
  26. effectType?: 'ripple';
  27. /**
  28. * When to show the effect
  29. */
  30. showEffectOn?: 'render' | 'emphasis';
  31. clip?: boolean;
  32. /**
  33. * Ripple effect config
  34. */
  35. rippleEffect?: SymbolDrawItemModelOption['rippleEffect'];
  36. data?: (EffectScatterDataItemOption | ScatterDataValue)[];
  37. }
  38. declare class EffectScatterSeriesModel extends SeriesModel<EffectScatterSeriesOption> {
  39. static readonly type = "series.effectScatter";
  40. type: string;
  41. static readonly dependencies: string[];
  42. hasSymbolVisual: boolean;
  43. getInitialData(option: EffectScatterSeriesOption, ecModel: GlobalModel): SeriesData;
  44. brushSelector(dataIndex: number, data: SeriesData, selectors: BrushCommonSelectorsForSeries): boolean;
  45. static defaultOption: EffectScatterSeriesOption;
  46. }
  47. export default EffectScatterSeriesModel;