UNPKG

@alilc/lowcode-shell

Version:

Shell Layer for AliLowCodeEngine

60 lines (59 loc) 2.02 kB
import { IDragon, INode } from '@alilc/lowcode-designer'; import { dragonSymbol, nodeSymbol } from '../symbols'; import { IPublicModelDragon, IPublicModelLocateEvent, IPublicModelDragObject, IPublicTypeDragNodeDataObject, IPublicModelNode, IPublicTypeDragObject } from '@alilc/lowcode-types'; export declare const innerDragonSymbol: unique symbol; export declare class Dragon implements IPublicModelDragon { readonly workspaceMode: boolean; private readonly [innerDragonSymbol]; constructor(innerDragon: IDragon, workspaceMode: boolean); get [dragonSymbol](): IDragon; static create(dragon: IDragon | null, workspaceMode: boolean): IPublicModelDragon | null; /** * is dragging or not */ get dragging(): boolean; /** * 绑定 dragstart 事件 * @param func * @returns */ onDragstart(func: (e: IPublicModelLocateEvent) => any): () => void; /** * 绑定 drag 事件 * @param func * @returns */ onDrag(func: (e: IPublicModelLocateEvent) => any): () => void; /** * 绑定 dragend 事件 * @param func * @returns */ onDragend(func: (o: { dragObject: IPublicModelDragObject; copy?: boolean; }) => any): () => void; /** * 设置拖拽监听的区域 shell,以及自定义拖拽转换函数 boost * @param shell 拖拽监听的区域 * @param boost 拖拽转换函数 */ from(shell: Element, boost: (e: MouseEvent) => IPublicTypeDragNodeDataObject | null): any; /** * boost your dragObject for dragging(flying) 发射拖拽对象 * * @param dragObject 拖拽对象 * @param boostEvent 拖拽初始时事件 */ boost(dragObject: IPublicTypeDragObject, boostEvent: MouseEvent | DragEvent, fromRglNode?: IPublicModelNode & { [nodeSymbol]: INode; }): void; /** * 添加投放感应区 */ addSensor(sensor: any): void; /** * 移除投放感应 */ removeSensor(sensor: any): void; }