UNPKG

@logicflow/core

Version:

LogicFlow, help you quickly create flowcharts

52 lines (51 loc) 1.84 kB
import { Model } from '../model'; import EventEmitter from '../event/eventEmitter'; export type IDragParams = { deltaX: number; deltaY: number; event: MouseEvent | null; [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; data?: Record<string, unknown>; [key: string]: unknown; } & Partial<ICreateDragParams>; /** * 支持拖拽时按步长进行移动 * REMIND:在绘制的过程中因为放大缩小,移动的真实 step 是变化的 */ export declare class StepperDrag { 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; data?: Record<string, unknown>; isDragging: boolean; isStartDrag: boolean; startX: number; startY: number; totalDeltaX: number; totalDeltaY: number; startTime?: number; constructor({ onDragStart, onDragging, onDragEnd, step, eventType, isStopPropagation, eventCenter, model, data, }: IStepperDragProps); setStep(step: number): void; handleMouseMove: (e: MouseEvent) => void; handleMouseUp: (e: MouseEvent) => void; handleMouseDown: (e: MouseEvent) => void; cancelDrag: () => void; } export default StepperDrag;