@logicflow/core
Version:
LogicFlow, help you quickly create flowcharts
49 lines (48 loc) • 1.75 kB
TypeScript
import { Model } from '../model';
import EventEmitter from '../event/eventEmitter';
export type IDragParams = {
deltaX: number;
deltaY: number;
event?: MouseEvent;
[key: string]: unknown;
};
export type ICreateDragParams = {
onDragStart?: (params: Partial<IDragParams>) => void;
onDragging?: (param: IDragParams) => void;
onDragEnd?: (param: Partial<IDragParams>) => void;
step?: number;
isStopPropagation?: boolean;
};
export type IStepperDragProps = {
eventType?: 'NODE' | 'BLANK' | 'SELECTION' | 'ADJUST_POINT' | 'TEXT' | 'LABEL' | '';
eventCenter?: EventEmitter;
model?: Model.BaseModel | unknown;
data?: Record<string, unknown>;
[key: string]: unknown;
} & Partial<ICreateDragParams>;
export declare class StepDrag {
onDragStart: (params: Partial<IDragParams>) => void;
onDragging: (params: IDragParams) => void;
onDragEnd: (params: Partial<IDragParams>) => void;
step: number;
isStopPropagation: boolean;
eventType: 'NODE' | 'BLANK' | 'SELECTION' | 'ADJUST_POINT' | 'TEXT' | 'LABEL' | '';
eventCenter?: EventEmitter;
model?: Model.BaseModel | any;
data?: Record<string, unknown>;
isDragging: boolean;
isStartDragging: boolean;
startX: number;
startY: number;
sumDeltaX: number;
sumDeltaY: number;
startTime?: number;
constructor({ onDragStart, onDragging, onDragEnd, eventType, eventCenter, step, isStopPropagation, model, data, }: IStepperDragProps);
setStep(step: number): void;
setModel(model: Model.BaseModel): void;
handleMouseDown: (e: MouseEvent) => void;
handleMouseMove: (e: MouseEvent) => void;
handleMouseUp: (e: MouseEvent) => void;
cancelDrag: () => void;
destroy: () => void;
}