import { ShapeAttrs } from '@antv/g2'; import { ButtonCfg } from './button'; export type Interaction = { readonly type: string; readonly cfg?: Record; /** 是否开启交互, 默认开启 */ readonly enable?: boolean; }; /** brush 交互 */ export type BrushCfg = { /** * @title 是否启用 * @description 是否启用 brush 交互 */ readonly enabled?: boolean; /** * @title brush 类型 * @description '矩形', 'x 方向' 和 'y 方向', 'circle', 'path'(不规则矩形). 默认: 'rect'. * @default "rect" */ readonly type?: 'rect' | 'x-rect' | 'y-rect' | 'circle' | 'path'; /** * @title brush 操作 * @description '筛选过滤' 和 '高亮强调'. 默认: 'filter'. 目前只在 type 为 'rect' 的情况下生效 * @default "filter" */ readonly action?: 'filter' | 'highlight'; /** * @title mask * @description brush mask 的配置 */ readonly mask?: { /** * @title mask 样式 * @description mask 蒙层样式 */ style?: ShapeAttrs; }; /** * @title button 配置 * @description brush button 的配置, 只在 action: 'filter' 的情况下适用 */ readonly button?: ButtonCfg; /** * @title 是否允许 brush 交互开始的回调 * @description 是否允许 brush 交互开始的回调 */ readonly isStartEnable?: (context: any) => boolean; };