| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- import * as graphic from '../../util/graphic.js';
- import SeriesData from '../../data/SeriesData.js';
- import { StageHandlerProgressParams, LabelOption, SymbolOptionMixin, ItemStyleOption, ZRColor, AnimationOptionMixin, ZRStyleProps, StatesOptionMixin, BlurScope, DisplayState, DefaultEmphasisFocus } from '../../util/types.js';
- import { CoordinateSystemClipArea } from '../../coord/CoordinateSystem.js';
- import Model from '../../model/Model.js';
- import Element from 'zrender/lib/Element.js';
- import SeriesModel from '../../model/Series.js';
- interface UpdateOpt {
- isIgnore?(idx: number): boolean;
- clipShape?: CoordinateSystemClipArea;
- getSymbolPoint?(idx: number): number[];
- disableAnimation?: boolean;
- }
- interface SymbolLike extends graphic.Group {
- updateData(data: SeriesData, idx: number, scope?: SymbolDrawSeriesScope, opt?: UpdateOpt): void;
- fadeOut?(cb: () => void, seriesModel: SeriesModel): void;
- }
- interface SymbolLikeCtor {
- new (data: SeriesData, idx: number, scope?: SymbolDrawSeriesScope, opt?: UpdateOpt): SymbolLike;
- }
- interface RippleEffectOption {
- period?: number;
- /**
- * Scale of ripple
- */
- scale?: number;
- brushType?: 'fill' | 'stroke';
- color?: ZRColor;
- /**
- * ripple number
- */
- number?: number;
- }
- interface SymbolDrawStateOption {
- itemStyle?: ItemStyleOption;
- label?: LabelOption;
- }
- export interface SymbolDrawItemModelOption extends SymbolOptionMixin<object>, StatesOptionMixin<SymbolDrawStateOption, {
- emphasis?: {
- focus?: DefaultEmphasisFocus;
- scale?: boolean | number;
- };
- }>, SymbolDrawStateOption {
- cursor?: string;
- rippleEffect?: RippleEffectOption;
- }
- export interface SymbolDrawSeriesScope {
- emphasisItemStyle?: ZRStyleProps;
- blurItemStyle?: ZRStyleProps;
- selectItemStyle?: ZRStyleProps;
- focus?: DefaultEmphasisFocus;
- blurScope?: BlurScope;
- emphasisDisabled?: boolean;
- labelStatesModels: Record<DisplayState, Model<LabelOption>>;
- itemModel?: Model<SymbolDrawItemModelOption>;
- hoverScale?: boolean | number;
- cursorStyle?: string;
- fadeIn?: boolean;
- }
- export declare type ListForSymbolDraw = SeriesData<Model<SymbolDrawItemModelOption & AnimationOptionMixin>>;
- declare class SymbolDraw {
- group: graphic.Group;
- private _data;
- private _SymbolCtor;
- private _seriesScope;
- private _getSymbolPoint;
- private _progressiveEls;
- constructor(SymbolCtor?: SymbolLikeCtor);
- /**
- * Update symbols draw by new data
- */
- updateData(data: ListForSymbolDraw, opt?: UpdateOpt): void;
- updateLayout(): void;
- incrementalPrepareUpdate(data: ListForSymbolDraw): void;
- /**
- * Update symbols draw by new data
- */
- incrementalUpdate(taskParams: StageHandlerProgressParams, data: ListForSymbolDraw, opt?: UpdateOpt): void;
- eachRendered(cb: (el: Element) => boolean | void): void;
- remove(enableAnimation?: boolean): void;
- }
- export default SymbolDraw;
|