@logicflow/extension
Version:
LogicFlow Extensions
59 lines (58 loc) • 1.7 kB
TypeScript
import LogicFlow from '@logicflow/core';
export interface SelectionConfig {
exclusiveMode?: boolean;
}
export declare class SelectionSelect {
static pluginName: string;
private container?;
private wrapper?;
private lf;
private startPoint?;
private endPoint?;
private disabled;
private isWholeNode;
private isWholeEdge;
exclusiveMode: boolean;
private mouseDownInfo;
private originalStopMoveGraph;
constructor({ lf, options }: LogicFlow.IExtensionProps);
render(_: LogicFlow, domContainer: HTMLElement): void;
/**
* 清理选区状态
*/
private cleanupSelectionState;
/**
* 切换框选模式
* @param exclusive 是否为独占模式。true 表示只能进行框选操作,false 表示可以同时进行其他画布操作
*/
setExclusiveMode(exclusive?: boolean): void;
private addEventListeners;
private removeEventListeners;
/**
* 处理画布空白处鼠标按下事件(非独占模式)
*/
private handleBlankMouseDown;
/**
* 处理鼠标按下事件
*/
private handleMouseDown;
/**
* 设置选中的灵敏度
* @param isWholeEdge 是否要边的起点终点都在选区范围才算选中。默认true
* @param isWholeNode 是否要节点的全部点都在选区范围才算选中。默认true
*/
setSelectionSense(isWholeEdge?: boolean, isWholeNode?: boolean): void;
/**
* 开启选区
*/
openSelectionSelect(): void;
/**
* 关闭选区
*/
closeSelectionSelect(): void;
private draw;
private drawOff;
private open;
private close;
}
export default SelectionSelect;