forked from alibaba/lowcode-engine
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsensor.ts
More file actions
45 lines (38 loc) · 939 Bytes
/
sensor.ts
File metadata and controls
45 lines (38 loc) · 939 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
import { IPublicTypeNodeInstance } from '../type/node-instance';
import {
IPublicModelLocateEvent,
IPublicModelDropLocation,
IPublicTypeComponentInstance,
IPublicModelNode,
} from '..';
/**
* 拖拽敏感板
*/
export interface IPublicModelSensor<
Node = IPublicModelNode
> {
/**
* 是否可响应,比如面板被隐藏,可设置该值 false
*/
readonly sensorAvailable: boolean;
/**
* 给事件打补丁
*/
fixEvent(e: IPublicModelLocateEvent): IPublicModelLocateEvent;
/**
* 定位并激活
*/
locate(e: IPublicModelLocateEvent): IPublicModelDropLocation | undefined | null;
/**
* 是否进入敏感板区域
*/
isEnter(e: IPublicModelLocateEvent): boolean;
/**
* 取消激活
*/
deactiveSensor(): void;
/**
* 获取节点实例
*/
getNodeInstanceFromElement?: (e: Element | null) => IPublicTypeNodeInstance<IPublicTypeComponentInstance, Node> | null;
}