UNPKG

@antv/f6-plugin

Version:
85 lines (84 loc) 2.27 kB
import { GraphData, ShapeStyle } from '@antv/f6-core'; import Base from '../base'; interface LegendConfig { data: GraphData; position?: 'top' | 'top-left' | 'top-right' | 'right' | 'right-top' | 'right-bottom' | 'left' | 'left-top' | 'left-bottom' | 'bottom' | 'bottom-left' | 'bottom-right'; padding?: number | number[]; margin?: number | number[]; offsetX?: number; offsetY?: number; containerStyle?: ShapeStyle; layout?: 'vertical' | 'horizontal'; width?: number; height?: number; align?: 'center' | 'right' | 'left'; title?: string; titleConfig?: { position?: 'center' | 'right' | 'left'; offsetX?: number; offsetY?: number; [key: string]: unknown; }; itemConfig?: { width?: number; height?: number; fontSize?: number; margin?: 'string'; }; filter?: { enable?: boolean; multiple?: boolean; trigger?: 'click'; legendStateStyles?: { active?: ShapeStyle; inactive?: ShapeStyle; }; graphActiveState?: string; graphInactiveState?: string; filterFunctions?: { [key: string]: (d: any) => boolean; }; }; } /** * 不支持mouseenter */ export default class Legend extends Base { active: any[]; inActive: any[]; constructor(config?: LegendConfig); getDefaultCfgs(): LegendConfig; init(): void; protected getContainerPos(size?: number[]): any; bindEvents(): void; /** * 更新 legend 数据,开放给用户控制 * @param param */ changeData(data: GraphData): void; goActive(node: any): void; goDefault(node: any): void; goInActive(node: any): void; activateLegend(node: any): void; clearActiveLegend(): void; /** * 高亮和置灰图例,并过滤主图元素 * @param param */ filterData(activeNode: any): void; /** * 清除主图相关状态 * @param param */ clearFilter(): void; /** * 渲染 legend 图 * @param param */ protected render(): number[]; protected processData(): void; protected formatArray(key: string): any; private getStyle; destroy(): void; } export {};